@charset "utf-8";
/* 서브페이지 본문 */

.doc-lead {display: flex; flex-direction: column; justify-content: center; padding: 38px 38px 38px 58px; border-radius: 17px; min-height: 365px; background: #dceafc url("../images/lead-about.jpg") right bottom / cover no-repeat; }
.doc-lead.is-green {min-height: 0; padding: 33px var(--space-36); border-left: 5px solid #289268; border-radius: 15px; background-image: linear-gradient(90deg, #edf5f0 0%, rgba(237, 245, 240, 0.94) 32%, rgba(237, 245, 240, 0.22) 64%, transparent 80%), url("../images/lead-business.png"); background-repeat: no-repeat; background-size: auto, cover; background-position: left center, center calc(50% - 40px); }
.doc-kicker {margin-bottom: var(--space-10); color: #878787; font-size: var(--font-size-12); font-weight: 700; }
.doc-lead h3 {font-size: var(--font-size-32); font-weight: 700; line-height: 1.3; }
.doc-lead h3 em {font-style: normal; color: var(--color-primary); }
.doc-lead.is-green h3 em {color: var(--color-secondary); }
.doc-lead p {margin-top: var(--space-28); color: #505050; font-size: var(--font-size-16); line-height: 1.6; }
.doc-lead .doc-kicker {margin-top: 0; font-size: var(--font-size-12); }

.doc-block {padding-top: var(--space-55); }
.doc-block + .doc-block {padding-top: var(--space-100); }
.sub-visual.is-business ~ #container .doc-block {padding-top: var(--space-100); }
.doc-block > h3 {margin-bottom: 13px; font-size: var(--font-size-28); }
.doc-block > h3 .num {color: var(--color-primary); font-size: var(--font-size-13); margin-right: var(--space-12); }
.doc-block > p {color: #505050; font-size: var(--font-size-20); line-height: 1.6; }

.value-grid,
.activity-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-15); margin-top: 23px; }
.activity-grid {grid-template-columns: 1fr 1fr; gap: 17px; }
.value-grid li {padding: 34px var(--space-24); border-radius: 12px; background: #fff; text-align: center; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); }
.activity-grid li {padding: var(--space-25); border: 1px solid var(--color-line); border-radius: 12px; background: #fff; }
.value-grid b,
.activity-grid b {display: block; color: var(--color-secondary); font-size: var(--font-size-12); }
.value-grid .value-ico {display: block; width: 88px; height: 88px; margin: 0 auto var(--space-8); object-fit: contain; }
.value-grid strong {display: block; margin: 0 0 var(--space-8); font-size: var(--font-size-22); font-weight: 600; }
.activity-grid strong {display: block; margin: var(--space-10) 0; font-size: var(--font-size-18); }
.value-grid p {color: #878787; font-size: var(--font-size-18); line-height: 1.5; }
.activity-grid p {color: #505050; font-size: var(--font-size-14); }

.service-dl > div {display: grid; grid-template-columns: minmax(280px, 38%) 1fr; gap: var(--space-12) var(--space-20); align-items: center; padding: var(--space-14) 0; border-bottom: 1px solid var(--color-line); }
.service-dl dt {display: flex; align-items: center; gap: var(--space-14); font-size: var(--font-size-20); font-weight: 700; line-height: 1.35; }
.service-dl dt .value-ico {width: 80px; height: 80px; flex: 0 0 80px; object-fit: contain; }
.service-dl dd {color: #505050; font-size: var(--font-size-20); line-height: 1.55; }
.info-table {margin: 0; border-top: 1px solid var(--color-ink); }
.info-table > div {display: grid; grid-template-columns: 130px 1fr; border-bottom: 1px solid var(--color-line); font-size: var(--font-size-14); }
.info-table dt {padding: var(--space-18); background: #f6f8fa; font-weight: 600; }
.info-table dd {margin: 0; padding: var(--space-18); color: #505050; }

.inquiry-box {display: flex; gap: var(--space-50); margin-top: var(--space-25); padding: var(--space-25); border-radius: 10px; background: #eff5fb; }
.inquiry-box span {display: block; color: #697b86; font-size: var(--font-size-12); }
.inquiry-box a {font-size: var(--font-size-23); font-weight: 700; color: var(--color-primary); }
.doc-block .btn-pill {display: flex; width: fit-content; margin-top: var(--space-25); margin-left: auto; border: 1px solid #dddddd; background: #fff; color: var(--color-ink); }
.doc-block .btn-pill:hover,
.doc-block .btn-pill:focus-visible {border-color: var(--color-primary); background: var(--color-primary); color: #fff; }

/* doc.css는 디자인페이지 스타일을 정의합니다. *//* Institution pages: existing Wanted Sans / regional colors / 1320px grid. */
.about-intro-extra {margin-top: var(--space-110); padding-top: var(--space-110); }
.purpose-statement {margin-bottom: var(--space-70); }
.purpose-statement > span {display: block; margin-bottom: var(--space-22); color: #1357aa; font-size: var(--font-size-18); font-weight: 700; }
.purpose-statement > p {font-size: var(--font-size-30); font-weight: 600; line-height: 1.6; }
.vision-stories {display: grid; gap: var(--space-110); }
.vision-story {display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: var(--space-80); }
.vision-story figure {overflow: hidden; border-radius: 24px; background: #f3f6f8; }
.vision-story figure img {display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; }
.vision-story.is-reverse figure {grid-column: 2; grid-row: 1; }
.vision-story.is-reverse .vision-story-copy {grid-column: 1; grid-row: 1; padding: 0 var(--space-12) 0 var(--space-30); }
.vision-label {display: flex; align-items: baseline; gap: var(--space-15); margin-bottom: var(--space-26); }
.vision-label > span {color: var(--color-primary); font-size: var(--font-size-18); font-weight: 700; }
.vision-story-copy h5 {font-size: var(--font-size-32); font-weight: 700; line-height: 1.45; margin-bottom: var(--space-25); }
.vision-story-copy > p {color: #505050; font-size: var(--font-size-20); line-height: 1.85; }
.vision-story-copy > .vision-note {border-top: 1px solid #ddd; padding-top: 23px; margin-top: var(--space-28); font-size: var(--font-size-22); color: var(--color-secondary); font-weight: 600; }
.history-region {--region-color: var(--color-primary); }
.history-region.is-north {--region-color: var(--color-secondary); }
.history-region.is-south {margin-top: var(--space-150); }
.history-photo {display: block; width: 100%; height: auto; aspect-ratio: 2400 / 686; min-height: 200px; object-fit: cover; border-radius: 24px; }
.history-region.is-north .history-photo-wrap {position: relative; border-radius: 24px; overflow: hidden; }
.history-region.is-north .history-photo-wrap::after {content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.01); pointer-events: none; }
.history-region.is-north .history-photo-wrap .history-photo {border-radius: 0; }
.history-layout {display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: var(--space-90); align-items: start; padding: 0 0 0 38px; }
.history-summary {position: relative; margin-top: -95px; padding: var(--space-48); border-radius: 24px; background: var(--region-color); color: #fff; }
.history-summary > span {display: block; margin-bottom: var(--space-26); font-size: var(--font-size-17); font-weight: 600; opacity: .85; }
.history-summary h4 {font-size: var(--font-size-30); font-weight: 700; line-height: 1.4; }
.history-summary p {margin-top: var(--space-28); padding-top: var(--space-25); border-top: 1px solid rgba(255,255,255,.4); font-size: var(--font-size-18); line-height: 1.75; }
.history-years {padding-top: 58px; }
.history-year {display: grid; grid-template-columns: 84px minmax(0,1fr); gap: var(--space-36); }
.history-year + .history-year {margin-top: 44px; padding-top: var(--space-36); }
.history-year h5 {font-size: var(--font-size-32); font-weight: 700; line-height: 1.3; }
.history-year ul {padding-top: var(--space-6); }
.history-year li {display: grid; grid-template-columns: 4em minmax(0,1fr); gap: var(--space-18); font-size: var(--font-size-18); line-height: 1.65; }
.history-year li + li {margin-top: var(--space-22); }
.history-year li .history-month {color: #121212; font-weight: 600; font-size: var(--font-size-18); white-space: nowrap; }
.history-month > span {margin-left: 0; font-size: inherit; }
.history-year p {color: #505050; }
.history-region.is-north .history-layout {grid-template-columns: minmax(0,1fr) 420px; padding: 0 38px 0 0; }
.history-region.is-north .history-summary {grid-column: 2; grid-row: 1; }
.history-region.is-north .history-years {grid-column: 1; grid-row: 1; }
.organization-chart {padding: var(--space-15) 0 var(--space-20); }
.org-root {position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 240px; height: 240px; margin: 0 auto var(--space-100); border-radius: 50%; background: #fff; box-shadow: 0 12px 45px rgba(32,57,74,.12); border: 1px solid #f1f3f5; }
.org-symbol {display: block; width: 83px; height: 32px; overflow: hidden; margin-bottom: var(--space-22); }
.org-symbol img {display: block; width: 83px; height: auto; max-width: none; }
.org-root h4 {text-align: center; font-size: var(--font-size-23); font-weight: 700; line-height: 1.45; }
.org-root::after {position: absolute; content: ''; width: 1px; height: 51px; top: 100%; left: 50%; background: #d5dce0; }
.org-branches {position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-60); }
.org-branches::before {content: ''; position: absolute; height: 1px; left: calc(25% - 15px); right: calc(25% - 15px); top: -50px; background: #d5dce0; }
.org-branch {--region-color: var(--color-primary); --region-wash: #edf4fc; position: relative; }
.org-branch.is-north {--region-color: var(--color-secondary); --region-wash: #edf6f0; }
.org-branch::before {content: ''; position: absolute; height: 50px; width: 1px; left: 50%; top: -50px; background: #d5dce0; }
.org-region {position: relative; text-align: center; border: 1px solid #e1e7ea; border-top: 4px solid var(--region-color); border-radius: 20px; padding: var(--space-25) var(--space-20) var(--space-30); background: #fff; }
.org-region img {display: block; width: 88px; height: 88px; object-fit: contain; margin: 0 auto var(--space-10); }
.org-region > span {font-size: var(--font-size-28); font-weight: 700; line-height: 1.3; color: var(--region-color); }
.org-region h5 {font-size: var(--font-size-19); font-weight: 500; margin-top: 5px; }
.org-teams {--org-cols: 3; --org-gap: var(--space-12); display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--org-gap); position: relative; margin-top: 44px; }
.org-teams::before {content: ''; position: absolute; left: calc((100% - (var(--org-cols) - 1) * var(--org-gap)) / var(--org-cols) / 2); right: calc((100% - (var(--org-cols) - 1) * var(--org-gap)) / var(--org-cols) / 2); top: -22px; height: 1px; background: #d5dce0; }
.org-region::after {content: ''; position: absolute; height: 23px; width: 1px; background: #d5dce0; top: 100%; left: 50%; transform: translateX(-50%); }
.org-teams li {display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 86px; padding: var(--space-15) var(--space-8); border: 1px solid #d8e5f2; border-radius: 12px; background: var(--region-wash); font-size: var(--font-size-17); font-weight: 600; text-align: center; color: var(--region-color); position: relative; }
.org-teams li::before {content: ''; position: absolute; height: 23px; width: 1px; background: #d5dce0; bottom: 100%; left: 50%; transform: translateX(-50%); }
.org-teams-north {--org-cols: 5; --org-gap: 9px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.org-teams-north li {color: #63717c; background: #fafbfc; border-color: #e0e5e8; font-size: var(--font-size-16); }
.org-teams-north li.is-current {color: var(--region-color); background: var(--region-wash); border-color: var(--region-color); }
.org-teams small {font-size: var(--font-size-12); font-weight: 400; margin-top: 3px; }
.region-tabs {display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); max-width: 440px; margin: 0 auto var(--space-60); padding: var(--space-6); border-radius: 999px; background: #f2f3f5; }
.region-tabs button {min-height: 52px; padding: 0 var(--space-20); border: 0; border-radius: 999px; background: transparent; color: #878787; font-size: var(--font-size-18); font-weight: 600; cursor: pointer; transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease; }
.region-tabs button:hover {color: #505050; }
.region-tabs button[aria-selected="true"] {background: var(--color-primary); color: #fff; box-shadow: 0 4px 12px rgba(19, 87, 170, 0.22); }
.region-tabs button[data-region="north"][aria-selected="true"] {background: var(--color-secondary); box-shadow: 0 4px 12px rgba(24, 128, 75, 0.22); }
.region-tabs button:focus-visible {outline: 2px solid var(--color-primary); outline-offset: 2px; }
.region-panel {--region-color: var(--color-primary); }
.region-panel.is-north {--region-color: var(--color-secondary); }
.region-panel[hidden] {display: none !important; }
.staff-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-28); }
.staff-card {border: 1px solid #ddd; border-top: 3px solid var(--region-color); border-radius: 0 0 16px 16px; padding: var(--space-36) var(--space-30); background: #fff; }
.staff-label,
.staff-card dt {display: inline-flex; align-items: center; height: 26px; padding: 0 var(--space-10); border-radius: 999px; background: #f2f3f5; color: #878787; font-size: var(--font-size-13); font-weight: 600; line-height: 1; }
.staff-card h4 {font-size: var(--font-size-26); font-weight: 700; line-height: 1.4; margin-top: 9px; }
.staff-contact {padding: var(--space-25) 0; margin-bottom: var(--space-25); border-bottom: 1px solid #eee; }
.staff-card dt {margin-bottom: var(--space-10); }
.staff-contact a {color: var(--region-color); font-size: var(--font-size-22); font-weight: 600; }
.staff-duties dd {font-size: var(--font-size-17); color: #505050; line-height: 1.7; }
.staff-duties li {position: relative; padding-left: var(--space-12); }
.staff-duties li::before {content: ''; position: absolute; width: 3px; height: 3px; left: 0; top: .8em; background: #878787; border-radius: 50%; }
.staff-duties li + li {margin-top: 9px; }
.location-overview {display: grid; grid-template-columns: minmax(0, 1fr) 435px; gap: var(--space-10); align-items: stretch; }
.location-map {position: relative; min-width: 0; min-height: 419px; background: #f4f4f4; border-radius: 16px; overflow: hidden; }
.location-map .root_daum_roughmap {width: 100% !important; height: 100% !important; padding: 0 !important; border: 0 !important; }
.location-map .root_daum_roughmap .wrap_map {height: calc(100% - 32px) !important; min-height: 387px; }
.location-map .wrap_controllers {box-sizing: border-box; }
.location-map .root_daum_roughmap .wrap_cont {display: none; }
.map-fallback {position: absolute; inset: 0; display: flex; flex-direction: column; gap: var(--space-16); align-items: center; justify-content: center; font-size: var(--font-size-16); color: #63717c; padding: var(--space-24); text-align: center; }
.map-fallback a {color: var(--region-color); text-decoration: underline; }
.location-map.is-ready .map-fallback {display: none; }
.location-address {border: 1px solid #ddd; border-radius: 16px; background: #f4f4f4; padding: 38px var(--space-36) var(--space-30); }
.location-address h4 {font-size: var(--font-size-32); line-height: 1.3; font-weight: 700; margin-bottom: 34px; }
.location-address h5 {font-size: var(--font-size-18); font-weight: 700; margin-bottom: var(--space-14); }
.location-address > div + div {margin-top: var(--space-35); }
.location-address > .location-map-actions {margin-top: 45px; }
.location-address p, .location-address dl {font-size: var(--font-size-16); line-height: 1.7; color: #505050; }
.location-address dl {display: grid; grid-template-columns: 63px minmax(0,1fr); gap: var(--space-8) var(--space-12); }
.location-address dd {font-weight: 500; color: #121212; }
.phone-number {white-space: nowrap; }
.location-map-link {display: inline-flex; align-items: center; gap: var(--space-24); margin-top: var(--space-24); font-size: var(--font-size-15); font-weight: 600; color: var(--region-color); }
.location-map-link span {font-size: var(--font-size-22); }
.location-map-actions {display: flex; flex-direction: column; gap: var(--space-10); margin-top: var(--space-24); }
.location-link {display: flex; align-items: center; justify-content: center; gap: var(--space-8); min-height: 54px; padding: var(--space-15) var(--space-20); border-radius: 8px; font-size: var(--font-size-16); font-weight: 600; letter-spacing: -0.03em; line-height: 1.3; text-decoration: none; white-space: nowrap; transition: opacity 0.2s ease; }
.location-link:hover {opacity: 0.88; }
.location-link--kakao {color: #351c1c; background: #ffe600; }
.location-link--naver {color: #fff; background: #00c73c; }
.location-link__icon {flex-shrink: 0; width: 24px; height: 24px; object-fit: contain; }
.location-link__icon--naver {width: 18px; height: 17px; }
.transport-list {margin-top: 75px; border-top: 1px solid #121212; }
.transport-row {display: grid; grid-template-columns: 140px minmax(0,1fr); border-bottom: 1px solid #ddd; padding: 38px 0; }
.transport-icon {display: flex; justify-content: center; padding-top: 7px; }
.transport-icon img {display: block; width: auto; height: auto; max-width: 150px; align-self: flex-start; }
.transport-icon:has(img[src$="car.svg"]) {padding-top: 0; margin-top: -43px; }
.transport-copy {padding-right: var(--space-24); }
.transport-copy h4 {font-size: var(--font-size-22); font-weight: 700; margin-bottom: 17px; }
.transport-copy > div {font-size: var(--font-size-17); color: #505050; line-height: 1.9; }
.transport-copy strong {color: #121212; font-weight: 600; }
.transit-detail {display: grid; grid-template-columns: 65px minmax(0,1fr); gap: var(--space-15); }
.transit-detail + .transit-detail {margin-top: var(--space-18); }
.transit-detail h5 {font-size: var(--font-size-16); color: var(--region-color); font-weight: 600; }



/* Business pages: Wanted Sans / 1320px grid / type scale follows about vision page. */
.biz-sections {display: grid; gap: 0; }
.biz-target {padding-top: var(--space-55); }
.biz-content,
.biz-flow,
.biz-papers,
.biz-contact {padding-top: var(--space-80); }
.biz-label {display: block; margin-bottom: var(--space-22); color: var(--color-primary); font-size: var(--font-size-18); font-weight: 700; }
.biz-title {margin-bottom: var(--space-40); font-size: var(--font-size-32); font-weight: 700; line-height: 1.45; }

.biz-purpose {position: relative; min-height: 380px; border-radius: 24px; overflow: hidden; background: #243038; }
.biz-purpose figure {position: absolute; inset: 0; margin: 0; }
.biz-purpose figure img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.biz-purpose::after {content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.2); pointer-events: none; }
.biz-purpose-copy {position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; min-height: 380px; max-width: 760px; padding: var(--space-56) 64px; color: #fff; }
.biz-purpose .biz-label {margin-bottom: var(--space-16); color: #fff; }
.biz-purpose-copy > p {margin: 0; color: #fff; font-size: var(--font-size-30); font-weight: 600; line-height: 1.6; word-break: keep-all; }

.biz-target > h3,
.biz-content > h3,
.biz-flow > h3,
.biz-papers > h3 {margin-bottom: 13px; font-size: var(--font-size-28); font-weight: 700; line-height: 1.45; }
.biz-target > p {margin: 0; color: #121212; font-size: var(--font-size-20); font-weight: 600; line-height: 1.6; word-break: keep-all; }
.biz-req {display: grid; gap: var(--space-8); margin: var(--space-16) 0 0; padding: 0; list-style: none; }
.biz-req li {position: relative; padding-left: var(--space-12); color: #505050; font-size: var(--font-size-18); font-weight: 500; line-height: 1.55; word-break: keep-all; }
.biz-req li::before {content: ""; position: absolute; left: 0; top: 0.8em; width: 3px; height: 3px; border-radius: 50%; background: #878787; }
.nobr {white-space: nowrap; }
.biz-note {margin: var(--space-14) 0 0; color: #505050; font-size: var(--font-size-16); line-height: 1.6; word-break: keep-all; }
.biz-note:has(.biz-note__mark) {display: flex; align-items: flex-start; gap: 0.35em; }
.biz-note__mark {flex: 0 0 auto; }
.biz-note__body {min-width: 0; }
.biz-target .biz-note {margin-top: var(--space-24); color: #878787; font-size: var(--font-size-16); font-weight: 300; }
.biz-papers .biz-note {margin-top: var(--space-24); }
.biz-content-bar__icon {color: var(--color-primary); }
.biz-steps {display: grid; gap: var(--space-12); margin: var(--space-28) 0 0; padding: 0; list-style: none; }
.biz-steps.is-4 {grid-template-columns: repeat(4, minmax(0, 1fr)); }
.biz-steps.is-5 {grid-template-columns: repeat(5, minmax(0, 1fr)); }
.biz-steps li {min-height: 118px; padding: var(--space-22) var(--space-16); border-radius: 16px; background: #f4f4f4; }
.biz-steps .num {display: block; margin-bottom: var(--space-10); color: var(--color-primary); font-size: var(--font-size-13); font-weight: 700; letter-spacing: 0.04em; }
.biz-steps strong {display: block; color: #121212; font-size: var(--font-size-16); font-weight: 700; line-height: 1.45; word-break: keep-all; }
.biz-steps.is-photo {--step-gap: var(--space-6); --arrow-col: 32px; container-type: inline-size; column-gap: var(--step-gap); row-gap: 0; align-items: start; }
.biz-steps.is-4.is-photo {--step-count: 4; --arrow-count: 3; grid-template-columns: minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr); }
.biz-steps.is-5.is-photo {--step-count: 5; --arrow-count: 4; grid-template-columns: minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr) var(--arrow-col) minmax(0, 1fr); }
.biz-steps.is-photo li {min-height: 0; padding: 0; border-radius: 0; background: none; text-align: center; }
.biz-steps.is-photo figure {margin: 0; aspect-ratio: 1200 / 896; border-radius: 16px; overflow: hidden; background: #f4f4f4; }
.biz-steps.is-photo figure img {display: block; width: 100%; height: 100%; object-fit: cover; }
.biz-steps.is-photo .num {display: inline-flex; align-items: center; height: 26px; margin: var(--space-24) 0 var(--space-8); padding: 0 var(--space-10); border-radius: 999px; background: var(--color-primary); color: #fff; font-size: var(--font-size-18); line-height: 1; letter-spacing: 0.04em; }
.biz-steps.is-photo strong {font-size: var(--font-size-18); font-weight: 600; line-height: 1.4; }
.biz-steps.is-photo .biz-step-arrow {display: grid; place-items: center; height: calc((100cqw - var(--arrow-count) * var(--arrow-col) - (var(--step-count) + var(--arrow-count) - 1) * var(--step-gap)) / var(--step-count) * 896 / 1200); color: var(--color-primary); }
.biz-steps.is-photo .biz-step-arrow .ico {--ico-size: 22px; }
.biz-docs {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-10) var(--space-16); margin: var(--space-28) 0 0; padding: 0; list-style: none; }
.biz-docs li {display: flex; align-items: center; gap: var(--space-12); padding: var(--space-16) var(--space-18); border-radius: 12px; background: #f4f4f4; color: #121212; font-size: var(--font-size-18); font-weight: 600; line-height: 1.5; word-break: keep-all; }
.biz-docs__mark {flex-shrink: 0; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: color-mix(in srgb, var(--color-primary) 14%, #fff); color: var(--color-primary); }
.biz-content-list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); margin-top: var(--space-28); list-style: none; margin-left: 0; padding: 0; }
.biz-content-bar {display: flex; align-items: flex-start; gap: var(--space-30); min-height: 120px; padding: var(--space-10); border-radius: 16px; background: #f4f4f4; }
.biz-content-bar__icon {flex-shrink: 0; align-self: center; display: grid; place-items: center; width: 100px; height: 100px; border-radius: 16px; overflow: hidden; background: #fff; }
.biz-content-bar__icon img {display: block; width: 100%; height: 100%; object-fit: contain; }
.biz-content-bar__copy {min-width: 0; flex: 1; display: flex; flex-direction: column; justify-content: flex-start; padding-right: var(--space-12); }
.biz-content-bar__copy h4 {margin: 0 0 var(--space-8); font-size: var(--font-size-20); font-weight: 700; line-height: 1.4; letter-spacing: -0.03em; color: #121212; }
.biz-content-bar__copy p {margin: 0; color: #505050; font-size: var(--font-size-18); font-weight: 400; line-height: 1.65; letter-spacing: -0.02em; word-break: keep-all; }
.biz-content-points {display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.biz-content-points li {position: relative; padding-left: 14px; color: #505050; font-size: var(--font-size-18); font-weight: 400; line-height: 1.65; letter-spacing: -0.02em; word-break: keep-all; }
.biz-content-points li::before {content: ""; position: absolute; left: 0; top: 0.72em; width: 4px; height: 4px; border-radius: 50%; background: #505050; }

.biz-contact > h3 {margin-bottom: 13px; font-size: var(--font-size-28); font-weight: 700; line-height: 1.45; }
.biz-contact-cards {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-16); margin: var(--space-28) 0 0; padding: 0; list-style: none; }
.biz-contact-card {--contact-color: var(--color-primary); display: flex; align-items: center; gap: var(--space-28); padding: var(--space-32) var(--space-36); border: 1px solid #ddd; border-radius: 16px; background: #fff; }
.biz-contact-card.is-north {--contact-color: var(--color-secondary); }
.biz-contact-card__icon {--ico-size: 26px; flex-shrink: 0; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: color-mix(in srgb, var(--contact-color) 10%, #fff); color: var(--contact-color); }
.biz-contact-card__copy {display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.biz-contact-card__copy strong {color: #505050; font-size: 18px; font-weight: 600; line-height: 1.45; letter-spacing: -0.02em; word-break: keep-all; }
.biz-contact-card__copy a {color: var(--contact-color); font-size: var(--font-size-28); font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; }

/* 프로그램 안내 */
.program-board {margin-top: var(--space-8); }
.program-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-28) var(--space-22); margin: 0; padding: 0; list-style: none; }
.program-card {display: flex; flex-direction: column; min-width: 0; border: 1px solid #e6e6e6; border-radius: 16px; background: #fff; overflow: hidden; }
.program-card .program-thumb {position: relative; display: block; aspect-ratio: 3 / 4; background: #fff; overflow: hidden; }
.program-card .program-thumb img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s ease; }
.program-card:hover .program-thumb img {transform: scale(1.06); }
.program-card.is-closed .program-thumb::after {content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.5); }
.program-card .program-body {display: flex; flex-direction: column; flex: 1; gap: var(--space-14); padding: var(--space-18) var(--space-18) var(--space-20); }
.program-state {align-self: flex-start; display: inline-flex; align-items: center; height: 28px; padding: 0 var(--space-10); border-radius: 999px; background: var(--color-primary); color: #fff; font-size: var(--font-size-13); font-weight: 700; line-height: 1; }
.program-state.is-closed {background: #878787; }
.program-card h3 {margin: 0; font-size: var(--font-size-20); font-weight: 700; line-height: 1.45; }
.program-card h3 a {color: #121212; }
.program-card h3 a:hover {color: var(--color-primary); }
.program-meta {display: grid; gap: var(--space-10); margin: 0; }
.program-meta div {display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--space-8); font-size: var(--font-size-16); line-height: 1.5; }
.program-meta dt {color: #878787; font-weight: 600; }
.program-meta dd {margin: 0; color: #333; }
.program-apply {display: flex; align-items: center; justify-content: center; min-height: 46px; margin-top: auto; border-radius: 8px; background: var(--color-primary); color: #fff; font-size: var(--font-size-16); font-weight: 700; text-decoration: none; }
.program-apply:hover {opacity: 0.9; }
.program-apply.is-disabled {background: #f4f4f4; border: 0; color: #878787; }
.program-card .program-apply.is-disabled {cursor: pointer; }
.program-apply.is-disabled:hover {opacity: 0.92; }
.program-actions .program-apply.is-disabled {pointer-events: none; cursor: default; }
.program-actions .program-apply.is-disabled:hover {opacity: 1; }
.program-detail {border-top: 2px solid #121212; }
.program-detail table {width: 100%; border-collapse: collapse; }
.program-detail th,
.program-detail td {padding: var(--space-16) var(--space-18); border-bottom: 1px solid #e6e6e6; font-size: var(--font-size-16); line-height: 1.6; text-align: left; vertical-align: top; }
.program-detail th {width: 12%; background: #f7f7f7; color: #121212; font-weight: 700; white-space: nowrap; }
.program-detail td {color: #333; }
.program-detail-photo {margin-top: var(--space-28); }
.program-detail-photo img {display: block; width: 100%; height: auto; border-radius: 16px; }
.program-actions {display: flex; justify-content: center; gap: var(--space-12); margin-top: var(--space-36); }
.program-actions a,
.program-actions .program-apply {display: inline-flex; align-items: center; justify-content: center; min-width: 160px; min-height: 52px; padding: 0 var(--space-24); border-radius: 8px; font-size: var(--font-size-16); font-weight: 700; text-decoration: none; }
.program-actions .program-apply {margin-top: 0; }
.program-apply.is-pending {pointer-events: none; cursor: default; }
.program-apply.is-pending:hover {opacity: 1; }
.program-back {border: 1px solid #121212; background: #fff; color: #121212; }
.program-back:hover {background: #fff; color: #121212; }
