
/* =====================
    소개
===================== */
@media only screen and (max-width: 767px) {
.greeting_wrap {width: 100%; padding: 70px 0 50px 0;}
.greeting_w {width: 90%; margin: 0 auto;}

.greeting_w .gl {width: 100%; height: 240px; overflow: hidden;}
.greeting_w .gl img {width: 100%;}

.greeting_w .gr {width: 100%; padding: 30px 0 0 0; box-sizing: border-box;}
.greeting_w .gr .gr_tit2 {color: #374353; font-size: 22px; font-weight: 500; margin-bottom: 30px;}
.greeting_w .gr .gr_txt li {font-size: 18px; font-weight: 500; line-height: 1.6; word-break: keep-all; margin-bottom: 25px;}


.value_w {width: 90%; margin: 0 auto; padding: 50px 0 0 0;}

.gr_tit {text-align: center; margin-bottom: 35px;}
.gr_tit2 {text-align: left;}
.cv-title {font-size: 34px; font-weight: 700; letter-spacing: 0.14em; color: #374353; margin-bottom: 10px;}
.cv-title-line {width: 46px; height: 2px; background: #b98742; margin: 22px auto 0;}

.cv-list {display: flex; flex-direction: column; gap: 26px;}
.value-card {display: flex; flex-direction: column; align-items: center; gap: 15px; padding: 30px; border: 1px solid #e7e4de; background: #fff; transition: box-shadow .35s ease, transform .35s ease, border-color .35s ease;}
.value-card:hover {transform: translateY(-3px); border-color: #d8d2c6; box-shadow: 0 18px 40px -22px rgba(28, 43, 74, 0.28);}

.icon-wrap {flex: 0 0 auto; width: 70px; height: 70px; border-radius: 50%; background: #f0eff2; display: flex; align-items: center; justify-content: center;}
.value-icon {width: 50px; height: 50px; object-fit: contain; display: block;}
.value-num {flex: 0 0 auto;  font-size: 44px; font-weight: 600; color: #c4a868; min-width: 54px; text-align: center; line-height: 1;}
.value-divider {flex: 0 0 auto; width: 100%; height: 2px; background: #e7e4de; margin: 4px 8px;}
.value-text {flex: 1;}
.value-title {font-size: 21px; font-weight: 700; color: #374353; letter-spacing: -0.04em; margin-bottom: 14px;}
.value-desc {font-size: 16px; font-weight: 400; line-height: 1.6; color: #000; word-break: keep-all; max-width: 760px;}
 
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.greeting_wrap {width: 100%; padding: 100px 0 50px 0;}
.greeting_w {width: 90%; display: flex; align-items: flex-start; margin: 0 auto;}

.greeting_w .gl {width: 320px; height: 520px; overflow: hidden; position: relative;}
.greeting_w .gl img {width: 100%; position: absolute; top: 0; }

.greeting_w .gr {width: calc(100% - 320px); padding: 0 0 0 40px; box-sizing: border-box;}
.greeting_w .gr .gr_tit2 {color: #374353; font-size: 22px; font-weight: 500; margin-bottom: 30px;}
.greeting_w .gr .gr_txt li {font-size: 18px; font-weight: 500; line-height: 1.6; word-break: keep-all; margin-bottom: 25px;}


.value_w {width: 90%; margin: 0 auto; padding: 70px 0 0 0;}

.gr_tit {text-align: center; margin-bottom: 38px;}
.gr_tit2 {text-align: left;}
.cv-title {font-size: 34px; font-weight: 700; letter-spacing: 0.14em; color: #374353; margin-bottom: 10px;}
.cv-title-line {width: 46px; height: 2px; background: #b98742; margin: 22px auto 0;}

.cv-list {display: flex; flex-direction: column; gap: 26px;}
.value-card {display: flex; align-items: center; gap: 28px; padding: 40px; border: 1px solid #e7e4de; background: #fff; transition: box-shadow .35s ease, transform .35s ease, border-color .35s ease;}
.value-card:hover {transform: translateY(-3px); border-color: #d8d2c6; box-shadow: 0 18px 40px -22px rgba(28, 43, 74, 0.28);}

.icon-wrap {flex: 0 0 auto; width: 70px; height: 70px; border-radius: 50%; background: #f0eff2; display: flex; align-items: center; justify-content: center;}
.value-icon {width: 50px; height: 50px; object-fit: contain; display: block;}
.value-num {flex: 0 0 auto;  font-size: 44px; font-weight: 600; color: #c4a868; min-width: 54px; text-align: center; line-height: 1;}
.value-divider {flex: 0 0 auto; width: 1px; align-self: stretch; background: #e7e4de; margin: 4px 8px;}
.value-text {flex: 1;}
.value-title {font-size: 22px; font-weight: 700; color: #374353; letter-spacing: 0.01em; margin-bottom: 14px;}
.value-desc {font-size: 16px; font-weight: 400; line-height: 1.6; color: #000; word-break: keep-all; max-width: 760px;}

}

@media only screen and (min-width: 1200px) {
.greeting_wrap {width: 100%; padding: 100px 0 50px 0;}
.greeting_w {width: 1200px; display: flex; align-items: flex-start; margin: 0 auto;}

.greeting_w .gl {width: 510px; height: 500px; overflow: hidden; position: relative;}
.greeting_w .gl img {width: 100%; position: absolute; top: 60%; transform: translate(0, -50%);}

.greeting_w .gr {width: calc(100% - 510px); padding: 0 0 0 70px; box-sizing: border-box;}
.greeting_w .gr .gr_tit2 {color: #374353; font-size: 26px; font-weight: 500;}
.greeting_w .gr .gr_txt li {font-size: 20px; font-weight: 500; line-height: 1.6; word-break: keep-all; margin-bottom: 40px;}


.value_w {max-width: 1200px; margin: 0 auto; padding: 100px 0 0 0;}

.gr_tit {text-align: center; margin-bottom: 56px;}
.gr_tit2 {text-align: left;}
.cv-title {font-size: 38px; font-weight: 700; letter-spacing: 0.14em; color: #374353; margin-bottom: 10px;}
.cv-title-line {width: 46px; height: 2px; background: #b98742; margin: 22px auto 0;}

.cv-list {display: flex; flex-direction: column; gap: 26px;}
.value-card {display: flex; align-items: center; gap: 38px; padding: 40px 56px; border: 1px solid #e7e4de; background: #fff; transition: box-shadow .35s ease, transform .35s ease, border-color .35s ease;}
.value-card:hover {transform: translateY(-3px); border-color: #d8d2c6; box-shadow: 0 18px 40px -22px rgba(28, 43, 74, 0.28);}

.icon-wrap {flex: 0 0 auto; width: 110px; height: 110px; border-radius: 50%; background: #f0eff2; display: flex; align-items: center; justify-content: center;}
.value-icon {width: 70px; height: 70px; object-fit: contain; display: block;}
.value-num {flex: 0 0 auto;  font-size: 44px; font-weight: 600; color: #c4a868; min-width: 54px; text-align: center; line-height: 1;}
.value-divider {flex: 0 0 auto; width: 1px; align-self: stretch; background: #e7e4de; margin: 4px 8px;}
.value-text {flex: 1;}
.value-title {font-size: 25px; font-weight: 700; color: #374353; letter-spacing: 0.01em; margin-bottom: 14px;}
.value-desc {font-size: 18px; font-weight: 400; line-height: 1.6; color: #000; word-break: keep-all; max-width: 760px;}

}

/* =====================
    구성원
===================== */
.mem-wrap {width: 100%; padding: 100px 0 50px 0;}
.mem-inner{ max-width:1200px; width: 90%; margin:0 auto; }

.mem-tabs {display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin-bottom:52px;}
.mem-tab {border:none; background:transparent; cursor:pointer;  font-size:18px; font-weight:600; color: #7c7363; padding:12px 26px; border-radius:999px; transition:color .2s ease, background .2s ease;}
.mem-tab:hover {color: #374353;}
.mem-tab.active {color:#fff; background: #374353;}

.mem-panel {display:none;}
.mem-panel.active {display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}

.member {display:flex; gap:24px; background: #fff; border:1px solid #ece3d2; border-radius:18px; padding:26px; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;}
.member:hover {transform:translateY(-4px); border-color:#e3d3ad; box-shadow:0 22px 46px -26px rgba(74,58,28,.28);}

.member-photo {flex:0 0 auto; width:118px; height:150px; border-radius:14px; overflow:hidden; background: #f1ebdd; position:relative;}
.member-photo img {position: relative; height:100%; object-fit:cover; display:block; transform: translateX(-50%); left: 50%;}
.member-photo::after {content:""; position:absolute; inset:0; border-radius:14px; border:1px solid rgba(185,135,66,.18);}

.member-info {flex:1; min-width:0; display:flex; flex-direction:column;}
.member-name {font-size:21px; font-weight:700; color: #374353; letter-spacing:-0.2px;}
.member-role {display:inline-block; margin-left:8px; font-size:14px; font-weight:600; color: #b98742;}
.member-accent {width:30px; height:2px; background: #b98742; margin:11px 0 14px;}

.member-career {list-style:none; flex:1;}
.member-career li {position:relative; padding-left:13px; margin-bottom:6px; font-size:14px; line-height:1.6; color: #7c7363; word-break:keep-all; overflow-wrap:anywhere;}
.member-career li::before {content:""; position:absolute; left:0; top:9px; width:4px; height:4px; border-radius:50%; background:#d8c49a;}

.member-more{align-self:flex-start; margin-top:16px; display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-size:14px; font-weight:600; color: #a8731f; transition:gap .2s ease, color .2s ease;}
.member-more:hover{gap:12px; color: #b98742;}
.member-more .arr{transition:transform .2s ease;}
.member-more:hover .arr{transform:translateX(3px);}


@media only screen and (max-width: 767px) {
.mem-wrap {padding: 70px 0 50px 0;}
.mem-title {font-size:28px;}
.mem-tabs {flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; margin-bottom:38px; padding-bottom:15px; scrollbar-width: thin; scrollbar-color: #d8c49a transparent;}
.mem-tabs::-webkit-scrollbar {height: 2px;}
.mem-tabs::-webkit-scrollbar-track {background: transparent;}
.mem-tabs::-webkit-scrollbar-thumb {background: #d8c49a; border-radius: 999px;}
.mem-tabs::-webkit-scrollbar-thumb:active {background: #b98742;}
.mem-tab {flex:0 0 auto; font-size:16px; padding:10px 18px;}
.mem-panel.active {display: flex; flex-direction: column; gap:16px;}
.member {gap:20px; padding:18px;}
.member-photo {width:80px; height:102px;}
.member-name {font-size:18px;}

}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.mem-wrap {padding: 100px 0 50px 0;}
.mem-title {font-size:34px;}
.mem-panel.active {display: flex; flex-wrap: wrap; gap:20px;}
.member {padding:15px; gap:20px; width: calc((100% - 20px) / 2);}
.member-photo {width:90px; height:114px;}

}


/* =====================
    구성원-자세히 보기
===================== */

/* 상단 back */
.det-back {display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-size:14px; font-weight:600; color: #7c7363; transition:color .2s ease, gap .2s ease;}
.det-back:hover {color: #b98742; gap:11px;}

/* ===== 본문 : 좌측 프로필 + 우측 카드 ===== */
.det-body {display:flex; align-items:flex-start;}

/* ----- 좌측 프로필 ----- */
.det-profile {flex:0 0 auto;}

.det-photo {position:relative; margin-bottom: 40px;}
.det-photo .img {position:relative; z-index:1; border-radius:16px; overflow:hidden; background: #f1ebdd;}
.det-photo .img img {height: 100%; position: absolute; left: 50%; transform: translateX(-50%);}
.det-photo::before {content:""; position:absolute; z-index:0; right:-16px; bottom:-16px; width:150px; height:150px; border-radius:16px; background: #b98742; opacity:.15;}

.det-name {font-weight:800; color: #374353; letter-spacing:-0.5px;}
.det-name .role {font-weight:600; color: #b98742; margin-left:9px; letter-spacing:0;}
.det-line {width:38px; height:2px; background: #b98742;}

.det-intro {line-height:1.7; color:#6b6356; word-break:keep-all;}

.det-tags {display:flex; flex-wrap:wrap; gap:8px;}
.det-tags span {font-size:13px; font-weight:600; color: #a8731f; background:#f6edda; border:1px solid #ecdcb6; padding:6px 14px; border-radius:999px;}

.det-btns {display:flex; flex-wrap:wrap; gap:10px;}
.btn {display:inline-flex; align-items:center; justify-content:center; gap:8px; text-decoration:none; font-size:15px; font-weight:600; padding:13px 26px; border-radius:10px; transition:.2s ease;}
.btn-primary {background: #374353; color:#fff; border:1px solid  #374353;}
.btn-primary:hover {background:#2a3445; color: #fff;}
.btn-ghost {background:transparent; color: #374353; border:1px solid #d8ccae;}
.btn-ghost:hover {border-color: #b98742; color: #a8731f;}

/* ----- 우측 카드 ----- */
.det-card {flex:1; min-width:0; background: #fff; border:1px solid #ece3d2; border-radius:18px;}
.sec-title {font-size:20px; font-weight:700; color: #374353; margin:4px 0 20px;}
.det-card hr {border:none; border-top:1px solid #efe6d4;}

/* 학력 */
.edu {list-style:none;}
.edu li {position:relative; padding-left:16px; margin-bottom:11px; font-size:15px; line-height:1.6; color: #3a3328; word-break:keep-all;}
.edu li:last-child {margin-bottom:30px;}
.edu li::before {content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background: #b98742;}

/* 경력 그룹 */
.career-group {margin-bottom:26px;}
.career-group:last-child {margin-bottom:0;}
.career-group .grp-label {font-size:13px; font-weight:700; letter-spacing:1px; color: #a8731f; margin-bottom:12px;}
.career {list-style:none;}
.career li {margin-bottom:10px; font-size:15px; line-height:1.6; color: #3a3328; word-break:keep-all;}
.career li:last-child {margin-bottom:0;}
.career li .mk {font-weight:700; color: #b98742; margin-right:7px;}


@media only screen and (max-width: 767px) {
.det-wrap {width: 100%; padding: 70px 0 50px 0;}
.det-inner {width:90%; margin: 0 auto;}
.det-back {margin-bottom:26px;}

.det-body {flex-direction:column; gap:36px;}

.det-profile {width:100%;}
.det-photo {width:180px; margin:0 auto; margin-bottom: 30px;}
.det-photo .img {width:180px; height:228px;}
.det-photo::before {width:100px; height:100px; right:-12px; bottom:-12px;}

.det-name {font-size:26px; text-align:center;}
.det-name .role {font-size:16px;}
.det-line {margin:14px auto 16px;}
.det-intro {font-size:14px; text-align:center; margin-bottom:18px;}
.det-tags {justify-content:center; margin-bottom:24px }
.det-btns {justify-content:center;}
.det-btns .btn {flex:1; max-width:200px;}

.det-card {width:100%; padding:28px 22px;}
.det-card hr {margin:26px 0;}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.det-wrap {width: 100%; padding: 100px 0 50px 0;}
.det-inner {width:90%; margin: 0 auto;}
.det-back {margin-bottom:30px;}

.det-body {gap:44px;}

.det-profile {width:230px;}
.det-photo .img {width:230px; height:292px;}

.det-name {font-size:26px;}
.det-name .role{font-size:16px;}
.det-line {margin:15px 0 16px;}
.det-intro {font-size:14px; margin-bottom:18px;}
.det-tags {margin-bottom:24px;}
.det-btns .btn {padding:12px 20px; font-size:14px;}

.det-card {padding:34px 32px;}
.det-card hr {margin:28px 0;}
}

@media only screen and (min-width: 1200px) {
.det-wrap {width: 100%; padding: 100px 0 50px 0;}
.det-inner {width:1200px; margin: 0 auto;}
.det-back {margin-bottom:34px;}

.det-body {gap:60px;}

.det-profile {width:260px}
.det-photo .img {width: 260px; height: 330px;}

.det-name {font-size:30px;}
.det-name .role{font-size:16px;}
.det-line {margin:16px 0 18px;}
.det-intro {font-size:14.5px; margin-bottom:20px;}
.det-tags {margin-bottom:28px;}

.det-card {padding:40px 44px;}
.det-card hr {margin:30px 0;}

}

/* =====================
    업무분야 
===================== */
/* ---------- 공통 섹션 라벨 ---------- */
.sec-label {display:flex; align-items:center; gap:14px; font-style:normal; font-size:16px; font-weight:600; color:#b98742; letter-spacing:1px;}
.sec-label:after {content:""; width:40px; height:1px; background:#b98742;}
.sec-label.center {justify-content:center;}
.sec-label.center:after {display:none;}

/* ---------- 주요 업무 ---------- */
.biz-grid {display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); align-items:stretch;} /* 좌우 컬럼 높이 맞춤 */

.biz-intro {padding-top:6px;}
.biz-headline {margin:26px 0 0;  font-weight:600; font-size:clamp(26px,2.6vw,36px); line-height:1.45; color:#374353; word-break:keep-all;}
.biz-headline:after {content:""; display:block; width:40px; height:3px; background:#b98742; margin-top:26px;} /* 타이틀 아래 짧은 가로선 */
.biz-lead {margin-top:28px; font-size:16px; line-height:1.7; color:#000; word-break:keep-all;}

.work-list {display:flex; flex-direction:column;}

.work-item {display:flex; align-items:center; gap:26px; padding:16px 26px; background:#fff; border:1px solid #f3ecdd; border-radius:6px; box-shadow:0 10px 22px -20px rgba(74,58,28,.22); transition:background .2s ease, border-color .2s ease; cursor: auto;}
.work-item:hover {background:#faf6ec; border-color:#e3d3ad;}

.work-num {flex:0 0 auto; min-width:40px; text-align:center; padding-right:24px; border-right:1px solid #eadfc7;}
.work-num span { font-size:24px; font-weight:600; color:#b98742; letter-spacing:1px; transition:color .2s ease;}
.work-item:hover .work-num span {color:#a8731f;}

.work-body {flex:1;}
.work-title {font-size:17px; font-weight:700; color:#374353; margin-bottom:5px; letter-spacing:-0.3px; word-break:keep-all;}
.work-desc {font-size:14px; line-height:1.55; color:#8a8271; word-break:keep-all;}

/* ---------- 주요 사례 (이미지 카드) ---------- */
.case-head {text-align:center;}
.case-headline {margin:22px 0 14px;  font-weight:600; font-size:clamp(26px,2.8vw,38px); line-height:1.4; color:#374353; word-break:keep-all;}
.case-sub {font-size:17px; line-height:1.6; color:#555; word-break:keep-all;}

.case-grid {display:grid; gap:20px;}
.case-card {position:relative; overflow:hidden; border-radius:6px; background:#1f2837; min-height:340px; display:flex; cursor: auto;}
.case-card__img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.65; transition:transform .4s ease, opacity .3s ease;}
.case-card:hover .case-card__img {transform:scale(1.03); opacity:.75;}
.case-card__overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,27,38,.35) 0%, rgba(20,27,38,.85) 100%);}
.case-card__body {position:relative; z-index:2; display:flex; flex-direction:column; padding:26px 24px; width:100%;}
.case-card__badge {display:inline-block; align-self:flex-start; font-style:normal; font-size:13px; font-weight:700; letter-spacing:1.5px; color:#e3c890; border:1px solid rgba(227,200,144,.6); border-radius:3px; padding:5px 10px; margin-bottom:18px;}
.case-card__title { font-size:21px; font-weight:600; line-height:1.45; color:#fff; margin-bottom:16px; word-break:keep-all;}
.case-card__desc {font-size:15px; line-height:1.7; color:#cfd6e0; word-break:keep-all; margin-top:auto;}

/* ---------- 페이지네이션 (공통) ---------- */
.list-pager {display:flex; justify-content:center; align-items:center; gap:14px; margin-top:40px;}
.list-pager button {border:0; padding:0; cursor:pointer;} /* background는 여기서 건드리지 않음 (도트 색 덮어쓰기 방지) */
.list-pager .pager-dot {width:10px; height:10px; border-radius:50%; background:#ccc; transition:background .2s ease, transform .2s ease;}
.list-pager .pager-dot.on {background:#b98742; transform:scale(1.2);}
.list-pager .pager-arrow {display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:transparent; border:1px solid #d8d2c6; color:#8b8478; transition:border-color .2s ease, color .2s ease, background .2s ease;}
.list-pager .pager-arrow:hover:not(:disabled) {border-color:#b98742; color:#b98742;}
.list-pager .pager-arrow:disabled {opacity:.35; cursor:default;}
.list-pager .pager-arrow svg {width:16px; height:16px; display:block;}

/* 페이지 전환 등장 모션 */
.pg-item.is-hidden {display:none;}
.pg-item.fade-in {animation:pgReveal .45s ease both;}
.pg-item.slide-next {animation:pgSlideNext .45s ease both;}
.pg-item.slide-prev {animation:pgSlidePrev .45s ease both;}
@keyframes pgReveal{
  from{ opacity:0; transform:translateY(18px); }
  to  { opacity:1; transform:translateY(0); }
}
@keyframes pgSlideNext{
  from{ opacity:0; transform:translateX(46px); }
  to  { opacity:1; transform:translateX(0); }
}
@keyframes pgSlidePrev{
  from{ opacity:0; transform:translateX(-46px); }
  to  { opacity:1; transform:translateX(0); }
}

/* 스와이프 가능 영역 */
.is-swipeable {cursor:grab; touch-action:pan-y;} /* 세로 스크롤은 그대로 두고 가로 스와이프만 감지 */
.is-swipeable:active {cursor:grabbing;}
.is-dragging {cursor:grabbing;}
.is-dragging, .is-dragging * {user-select:none; -webkit-user-select:none;}
.is-swipeable img {-webkit-user-drag:none; user-drag:none;} /* 이미지 드래그 고스트 방지 */

/* ---------- 하단 CTA ---------- */
.cta-box {position:relative; overflow:hidden; display:flex; align-items:center; gap:40px; background:#fbeee1; border-radius:6px;}
.cta-title { font-weight:600; color:#3a3328; line-height:1.5; word-break:keep-all;}
.cta-desc {color:#5c523d; line-height:1.7; word-break:keep-all;}
.cta-img {flex:0 0 auto; align-self:stretch; overflow:hidden;}
.cta-img img {width:100%; height:100%; object-fit:cover; display:block;}

.work_w {width: 90%; max-width: 1200px; margin: 0 auto;}
.case_w {width: 90%; max-width: 1200px; margin: 0 auto;}
.cta_wrap {width: 90%; max-width: 1200px; margin: 0 auto;}

@media only screen and (max-width: 767px) {
.work_wrap {width:100%; padding:70px 0 50px 0;}

/* 주요업무 */
.biz-grid {grid-template-columns:1fr; gap:34px;}
.work-list {gap:8px;}
.work-item {gap:14px; padding:14px 14px; border-radius:6px;}
.work-num {min-width:32px; padding-right:14px;}
.work-num span {font-size:20px;}
.work-title {font-size:16px;}
.work-desc {font-size:13px;}

/* 주요사례 */
.case_wrap {width:100%; padding:70px 0 0 0;}
.case-head {margin-bottom:36px;}
.case-grid {grid-template-columns:1fr;}
.case-card {min-height:300px;}
.list-pager {margin-top:30px;}

/* CTA */
.cta_wrap {}
.cta-box {flex-direction:column; align-items:flex-start; gap:16px; padding:34px 24px; background: #fceee1;}
.cta-title {font-size:24px;}
.cta-desc {font-size:15px;}
.cta-img {display: none;}
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.work_wrap {width:100%; padding:100px 0 50px 0;}

/* 주요업무 */
.biz-grid {grid-template-columns:1fr; gap:40px;}
.work-item {gap:22px; padding:15px 20px;}
.work-num {padding-right:20px;}
.work-num span {font-size:22px;}

/* 주요사례 */
.case_wrap {width:100%; padding:90px 0 0 0;}
.case-head {margin-bottom:44px;}
.case-grid {grid-template-columns:repeat(2,minmax(0,1fr));}

/* CTA */
.cta-box {padding:0 0 0 40px; gap:30px;}
.cta-title {flex:0 0 auto; font-size:27px; padding:40px 0;}
.cta-desc {flex:1; font-size:16px; padding:40px 0;}
.cta-img {width:220px;}
}

@media only screen and (min-width: 1200px) {
.work_wrap {width:100%; padding:100px 0 50px 0;}


/* 주요사례 */
.case_wrap {width:100%; padding:100px 0 0 0;}
.case-head {margin-bottom:50px;}
.case-grid {grid-template-columns:repeat(4,minmax(0,1fr));}

/* CTA */
.cta-box {padding:0 0 0 50px; gap:44px;}
.cta-title {flex:0 0 auto; font-size:30px; padding:44px 0;}
.cta-desc {flex:1; font-size:17px; padding:44px 0;}
.cta-img {width:280px;}
}

/* 모션 최소화 설정 사용자 배려 */
@media (prefers-reduced-motion: reduce){
    .visual-txt {transition:none;}
    .pg-item.fade-in, .pg-item.slide-next, .pg-item.slide-prev {animation:none;}
    .work-item:hover, .case-card:hover .case-card__img {transform:none;}
}

/* =====================
    업무사례
===================== */
.board-inner {max-width: 1200px; width:90%; margin: 0 auto;}
.board-tabs {display:flex; justify-content:center; flex-wrap:wrap; gap:6px;}
.board-tab {border:none; background:transparent; cursor:pointer;  font-size:16px; font-weight:600; color: #7c7363; padding:11px 22px; border-radius:999px; transition:color .2s ease, background .2s ease;}
.board-tab:hover {color:#374353;}
.board-tab.active {color:#fff; background:#374353;}

.board-toolbar {display:flex; align-items:center; justify-content:space-between; gap:16px;}
.board-count {font-size:14px; color: #7c7363;}
.board-count b {color: #a8731f; font-weight:700;}

.board-search {position:relative; flex:0 0 300px;}
.board-search input {width:100%; height:44px; border:1px solid #e3d8c2; border-radius:999px; background:#fff; padding:0 48px 0 22px;  font-size:14px; color: #3a3328; outline:none; transition:border-color .2s ease;}
.board-search input::placeholder {color: #b9ae99;}
.board-search input:focus {border-color: #b98742;}
.board-search .sch-btn {position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:none; border-radius:50%; background:transparent; cursor:pointer; color: #b98742; display:flex; align-items:center; justify-content:center;}
.board-search .sch-btn svg {display:block;}

.board-list {list-style:none; border-top:2px solid #374353;}
.board-list li {border-bottom:1px solid #e8ddc6;}
.board-list li.is-hidden {display:none;}
.board-list .list_thum {display: none;}

.board-row {display:flex; align-items:center; gap:22px; text-decoration:none; transition:background .2s ease;}
.board-row:hover {background:#fbf5e7;}

.board-badge {flex:0 0 auto; min-width:82px; text-align:center; font-size:14px; font-weight:700; color: #a8731f; background: #f6edda; border:1px solid #ecdcb6; padding:6px 13px; border-radius:999px; white-space:nowrap;}
.board-subject {flex:1; min-width:0; font-size:18px; font-weight:600; color:#374353; word-break:keep-all; transition:color .2s ease;}
.board-row:hover .board-subject {color: #a8731f;}
.board-date {flex:0 0 auto; font-size:13.5px; color: #b9ae99;}
.board-arrow {flex:0 0 auto; color: #b98742; display:inline-flex; transition:transform .2s ease;}
.board-arrow svg {display:block;}
.board-row:hover .board-arrow {transform:translateX(6px);}

.board-empty {display:none; text-align:center; padding:70px 0; font-size:15px; color: #7c7363; border-bottom:1px solid #e8ddc6;}
.board-empty.show {display:block;}

.board-paging {display:flex; align-items:center; justify-content:center; gap:8px;}
.board-paging a {display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; text-decoration:none; font-size:14px; font-weight:600; color: #7c7363; transition:background .2s ease, color .2s ease;}
.board-paging a:hover {background:#f3ecd9; color:#374353;}
.board-paging a.on {background:#374353; color:#fff;}
.board-paging a.nav {color:#c4b89c;}

@media only screen and (max-width: 767px) {
.board-wrap {width: 100%; padding: 70px 0 50px 0;}
.board-title {font-size:28px;}
.board-head {margin-bottom:34px }

.board-tabs {flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; margin-bottom:30px; padding-bottom:10px; scrollbar-width:thin; scrollbar-color:#d8c49a transparent;}
.board-tabs::-webkit-scrollbar {height:2px;}
.board-tabs::-webkit-scrollbar-track {background:transparent;}
.board-tabs::-webkit-scrollbar-thumb {background:#d8c49a; border-radius:999px;}
.board-tabs::-webkit-scrollbar-thumb:active {background: #b98742;}
.board-tab {flex:0 0 auto; font-size:15px; padding:10px 18px;}

.board-toolbar {flex-direction:column-reverse; align-items:stretch; gap:12px; margin-bottom:18px;}
.board-search {flex:none; width:100%;}
.board-count {padding-left:4px;}

.board-row {flex-wrap:wrap; gap:0; padding:16px 8px; position:relative;}
.board-badge {min-width:70px; font-size:11.5px; padding:5px 11px; margin-bottom:9px;}
.board-date {margin-left:10px; margin-bottom:9px; font-size:12.5px;}
.board-subject {flex:1 1 100%; font-size:15px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; padding-right:30px;}
.board-arrow {position:absolute; right:10px; bottom:18px;}
.board-arrow svg {width:18px; height:18px;}

.board-paging {margin-top:32px;}
    
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.board-wrap {width: 100%; padding: 100px 0 50px;}
.board-title {font-size:34px;}
.board-head {margin-bottom:40px;}
.board-tabs {margin-bottom:40px;}

.board-toolbar {margin-bottom:20px;}
.board-search {flex:0 0 260px;}

.board-row {padding:22px 10px; gap:18px;}
.board-subject {font-size:16px;}
.board-arrow svg {width:19px; height:19px;}

.board-paging {margin-top:40px;}

}

@media only screen and (min-width: 1200px) {
.board-wrap {width: 100%; padding: 100px 0 50px 0;}
.board-head {margin-bottom:44px;}
.board-tabs {margin-bottom:46px;}

.board-toolbar {margin-bottom:22px;}

.board-row {padding:26px 14px;}
.board-arrow svg {width:20px; height:20px;}

.board-paging {margin-top:50px;}

}

/* =====================
    업무사례-자세히보기
===================== */
.cd-inner {margin:0 auto; max-width: 1200px; width: 90%;}

/* 상단 back */
.cd-back {display:inline-flex; align-items:center; gap:7px; text-decoration:none; font-size:14px; font-weight:600; color: #7c7363; transition:color .2s ease, gap .2s ease;}
.cd-back:hover {color: #b98742; gap:11px;}

/* ===== 글 정보 ===== */
.cd-badge {display:inline-block; font-size:13px; font-weight:700; color: #a8731f; background:#f6edda; border:1px solid #ecdcb6; padding:6px 15px; border-radius:999px;}
.cd-title {font-weight:800; color:#374353; letter-spacing:-0.5px; word-break:keep-all;}
.cd-date {font-size:14px; color: #b9ae99;}
.cd-topline {display: block; border:none; border-top:2px solid #374353;}

/* ===== 결과 요약 박스 ===== */
.cd-result {position:relative; background:#fff; border:1px solid #e3d3ad; border-radius:16px; overflow:hidden;}
.cd-result::before {content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background: #b98742;}
.cd-result .r-label {font-size:13px; font-weight:600; letter-spacing:.3em; color: #b98742; text-transform:uppercase; margin-bottom:10px;}
.cd-result .r-text {font-weight:800; color:#374353; word-break:keep-all; line-height:1.4;}
.cd-result .r-text .em {color: #a8731f;}

/* ===== 본문 (자유 에디터 영역) ===== */
.cd-content {color: #000; font-size:16px; line-height:1.9; word-break:keep-all;  font-weight: 400;}
/* 에디터에서 들어올 일반 요소 기본 스타일 */
.cd-content p {  font-weight: 400;}
.cd-content p span {  font-weight: 400;}
.cd-content p:last-child {margin-bottom:0;}
.cd-content h3 {font-size:20px; font-weight:700; color:#374353; margin:34px 0 14px;}
.cd-content h3:first-child {margin-top:0;}
.cd-content img {max-width:100%; height:auto; border-radius:10px; margin:10px 0; display:block;}
.cd-content ul, .cd-content ol {padding-left:20px;}
.cd-content li {margin-bottom:8px;}
.cd-content strong {color:#374353;}

.promo_down {border-top: 1px solid #000;}

/* ===== 이전/다음 ===== */
.cd-nav {border-top:1px solid #e8ddc6;}
.cd-nav a {display:flex; align-items:center; gap:18px; text-decoration:none; border-bottom:1px solid #f0e8d4; transition:background .2s ease;}
.cd-nav a:hover {background:#fbf5e7;}
.cd-nav .nav-key {flex:0 0 auto; font-size:14px; font-weight:700; color: #b98742;}
.cd-nav .nav-subject {flex:1; min-width:0; font-size:14.5px; color: #7c7363; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .2s ease;}
.cd-nav a:hover .nav-subject {color:#374353;}

.cd-nav .prom_downn {display: flex; width: 100%;}
.cd-nav .prom_downn div {background: #b98742; color: #fff; padding: 10px 20px; box-sizing: border-box; font-size: 16px; width: 110px;}
.cd-nav .prom_downn a {width: 100%; padding: 0; margin: 0;}
.cd-nav .prom_downn a:hover {background: none;}

/* ===== 목록 버튼 ===== */
.cd-actions {text-align:center;}
.btn-list {display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:15px; font-weight:600; color:#374353; background:transparent; border:1px solid #d8ccae; border-radius:10px; padding:14px 38px; transition:.2s ease;}
.btn-list:hover {border-color: #b98742; color: #a8731f;}

@media (max-width: 767px) {
.cd-wrap {width: 100%; padding: 70px 0 50px 0;}
.cd-back {margin-bottom:24px; width: 100%;}

.cd-badge {font-size:12px; padding:5px 13px;}
.cd-title {font-size:22px; margin:14px 0 10px; line-height:1.4;}
.cd-date {font-size:13px;}
.cd-topline {margin:18px 0 0;}

.cd-result {padding:22px 20px; margin:26px 0 }
.cd-result .r-text {font-size:19px;}

.cd-content {font-size:16px; padding: 40px 0 0 0;}

.cd-nav {margin-top:40px;}
.cd-nav a {padding:16px 4px; gap:12px;}

.cd-actions {margin-top:30px;}
.btn-list {width:100%; padding:15px 0;}
}

@media (min-width: 768px) and (max-width: 1199px) {
.cd-wrap {width: 100%; padding: 100px 0 50px 0;}
.cd-back {margin-bottom:28px; width: 100%;}

.cd-badge {font-size:12.5px;}
.cd-title {font-size:27px; margin:16px 0 12px;}
.cd-topline {margin:22px 0 0;}

.cd-result {padding:28px 30px; margin:30px 0;}
.cd-result .r-text {font-size:22px;}

.cd-content {font-size:16px; padding: 50px 0 0 0;}

.cd-nav {margin-top:50px;}
.cd-nav a {padding:18px 6px;}

.cd-actions {margin-top:38px;}
}

@media (min-width: 1200px) {
.cd-wrap {width: 100%; padding: 100px 0 50px 0;}
.cd-back {margin-bottom:34px; width: 100%;}

.cd-title {font-size:30px; margin:18px 0 14px;}
.cd-topline {margin:26px 0 0;}

.cd-result {padding:32px 36px; margin:36px 0;}
.cd-result .r-text {font-size:24px;}

.cd-content {font-size:16px; padding: 50px 0 0 0;}

.cd-nav {margin-top:60px;}
.cd-nav a {padding:20px 8px;}

.cd-actions {margin-top:44px;}
}


/* =====================
    업무사례
===================== */
.board-inner {max-width: 1200px; width:90%; margin: 0 auto;}
.board-tabs {display:flex; justify-content:center; flex-wrap:wrap; gap:6px;}
.board-tab {border:none; background:transparent; cursor:pointer;  font-size:16px; font-weight:600; color: #7c7363; padding:11px 22px; border-radius:999px; transition:color .2s ease, background .2s ease;}
.board-tab:hover {color:#374353;}
.board-tab.active {color:#fff; background:#374353;}

.board-toolbar {display:flex; align-items:center; justify-content:space-between; gap:16px;}
.board-count {font-size:14px; color: #7c7363;}
.board-count b {color: #a8731f; font-weight:700;}

.board-search {position:relative; flex:0 0 300px;}
.board-search input {width:100%; height:44px; border:1px solid #e3d8c2; border-radius:999px; background:#fff; padding:0 48px 0 22px;  font-size:14px; color: #3a3328; outline:none; transition:border-color .2s ease;}
.board-search input::placeholder {color: #b9ae99;}
.board-search input:focus {border-color: #b98742;}
.board-search .sch-btn {position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:none; border-radius:50%; background:transparent; cursor:pointer; color: #b98742; display:flex; align-items:center; justify-content:center;}
.board-search .sch-btn svg {display:block;}

.board-list {list-style:none; border-top:2px solid #374353;}
.board-list li {border-bottom:1px solid #e8ddc6;}
.board-list li.is-hidden {display:none;}
.board-list .list_thum {display: none;}

.board-row {display:flex; align-items:center; gap:22px; text-decoration:none; transition:background .2s ease;}
.board-row:hover {background:#fbf5e7;}

.board-badge {flex:0 0 auto; min-width:82px; text-align:center; font-size:14px; font-weight:700; color: #a8731f; background: #f6edda; border:1px solid #ecdcb6; padding:6px 13px; border-radius:999px; white-space:nowrap;}
.board-subject {flex:1; min-width:0; font-size:18px; font-weight:600; color:#374353; word-break:keep-all; transition:color .2s ease;}
.board-row:hover .board-subject {color: #a8731f;}
.board-date {flex:0 0 auto; font-size:13.5px; color: #b9ae99;}
.board-arrow {flex:0 0 auto; color: #b98742; display:inline-flex; transition:transform .2s ease;}
.board-arrow svg {display:block;}
.board-row:hover .board-arrow {transform:translateX(6px);}

.board-empty {display:none; text-align:center; padding:70px 0; font-size:15px; color: #7c7363; border-bottom:1px solid #e8ddc6;}
.board-empty.show {display:block;}

.board-paging {display:flex; align-items:center; justify-content:center; gap:8px;}
.board-paging a {display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; text-decoration:none; font-size:14px; font-weight:600; color: #7c7363; transition:background .2s ease, color .2s ease;}
.board-paging a:hover {background:#f3ecd9; color:#374353;}
.board-paging a.on {background:#374353; color:#fff;}
.board-paging a.nav {color:#c4b89c;}

@media only screen and (max-width: 767px) {
.board-wrap {width: 100%; padding: 70px 0 50px 0;}
.board-title {font-size:28px;}
.board-head {margin-bottom:34px }

.board-tabs {flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; margin-bottom:30px; padding-bottom:10px; scrollbar-width:thin; scrollbar-color:#d8c49a transparent;}
.board-tabs::-webkit-scrollbar {height:2px;}
.board-tabs::-webkit-scrollbar-track {background:transparent;}
.board-tabs::-webkit-scrollbar-thumb {background:#d8c49a; border-radius:999px;}
.board-tabs::-webkit-scrollbar-thumb:active {background: #b98742;}
.board-tab {flex:0 0 auto; font-size:15px; padding:10px 18px;}

.board-toolbar {flex-direction:column-reverse; align-items:stretch; gap:12px; margin-bottom:18px;}
.board-search {flex:none; width:100%;}
.board-count {padding-left:4px;}

.board-row {flex-wrap:wrap; gap:0; padding:16px 8px; position:relative;}
.board-badge {min-width:70px; font-size:11.5px; padding:5px 11px; margin-bottom:9px;}
.board-date {margin-left:10px; margin-bottom:9px; font-size:12.5px;}
.board-subject {flex:1 1 100%; font-size:15px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; padding-right:30px;}
.board-arrow {position:absolute; right:10px; bottom:18px;}
.board-arrow svg {width:18px; height:18px;}

.board-paging {margin-top:32px;}
    
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
.board-wrap {width: 100%; padding: 100px 0 50px;}
.board-title {font-size:34px;}
.board-head {margin-bottom:40px;}
.board-tabs {margin-bottom:40px;}

.board-toolbar {margin-bottom:20px;}
.board-search {flex:0 0 260px;}

.board-row {padding:22px 10px; gap:18px;}
.board-subject {font-size:16px;}
.board-arrow svg {width:19px; height:19px;}

.board-paging {margin-top:40px;}

}

@media only screen and (min-width: 1200px) {
.board-wrap {width: 100%; padding: 100px 0 50px 0;}
.board-head {margin-bottom:44px;}
.board-tabs {margin-bottom:46px;}

.board-toolbar {margin-bottom:22px;}

.board-row {padding:26px 14px;}
.board-arrow svg {width:20px; height:20px;}

.board-paging {margin-top:50px;}

}

/* =====================
    사건상담 및 고객보호
===================== */

.cc_inner {position:relative; width:90%; max-width:1200px; margin:0 auto; display:flex; align-items:center;}

/* 좌측 정보 카드 */
.cc_info {position:relative; z-index:2; background:#fff; box-shadow:0 10px 30px rgba(0,0,0,0.08); padding:35px 40px;}
.cc_info h3 {color:#b98742; font-weight:700; margin-bottom:20px; padding-bottom:15px; border-bottom:1px solid #ddd;}
.cc_info ul li {color:#333; line-height:2.5; border-bottom: 1px solid #d8c49a;}
.cc_info ul li strong {color:#374353; font-weight:700; letter-spacing: 2.2px;}
.cc_info ul li a {color:#333; text-decoration:none;}
.cc_info ul li a:hover {text-decoration:underline;}
.cc_desc {margin-top:20px; color:#555; word-break:keep-all;}

/* 우측 이미지 */
.cc_img {flex:1; overflow:hidden; height: 330px;}
.cc_img img {display:block; width:100%; height:100%; object-fit:cover;}

@media (max-width:767px) {
.cc_inner {flex-direction:column-reverse; align-items:stretch; padding-bottom:30px; gap:0;}
.cc_info {padding:25px 20px;}
.cc_info h3 {font-size:17px;}
.cc_info ul li {font-size:14px;}
.cc_desc {font-size:13px;}
.cc_img {margin-bottom:15px;}
.cc_img img {height:220px;}
}

@media (min-width:768px) and (max-width:1199px) {
.cc_inner {align-items:stretch; padding:10px 0 40px;}
.cc_info {width:42%;}
.cc_info h3 {font-size:18px;}
.cc_info ul li {font-size:14px;}
.cc_desc {font-size:13px;}
.cc_img {margin-left:25px;}
.cc_img img {height:100%;}
}

@media (min-width:1200px) {
.cc_inner {align-items:stretch; padding:10px 0 50px;}
.cc_info {width:35%;}
.cc_info h3 {font-size:20px;}
.cc_info ul li {font-size:15px;}
.cc_desc {font-size:14px;}
.cc_img {margin-left:30px;}
.cc_img img {height:100%;}
}

/* =====================
    오시는 길
===================== */
.loc-inner {margin:0 auto; max-width: 1200px; width: 90%;}
.loc-map {width:100%; max-width:1200px; margin:0 auto; border-radius:18px; overflow:hidden; border:1px solid #ece3d2; background:#e9eef0;}
.loc-map-viewport {width:100%; overflow:hidden; display:flex; justify-content:center;}
.loc-map-viewport .root_daum_roughmap {flex:0 0 auto; margin:0 !important; border:none !important;}
.loc-map-viewport .root_daum_roughmap .wrap_map {border:none !important;}
.root_daum_roughmap .wrap_controllers, .root_daum_roughmap .cont .section_address {display: none;}

.loc-cols {display:flex; align-items:stretch; gap:24px;}
.loc-card {flex:1; min-width:0; background: #fff; border:1px solid #ece3d2; border-radius:18px;}
.card-title {font-size:20px; font-weight:700; color: #374353; margin-bottom: 20px;}
.loc-card hr {border:none; border-top:1px solid #efe6d4; margin:18px 0 4px;}

.info-row {display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid #efe6d4;}
.info-row:last-child {border-bottom:none;}
.info-ico {flex:0 0 auto; width:40px; height:40px; border-radius:50%; background:#374353; display:flex; align-items:center; justify-content:center;}
.info-ico img {width:18px; height:18px; object-fit:contain; display:block;}
.info-body {flex:1; min-width:0;}
.info-label {font-size:16px; color: #a89a80; margin-bottom:3px;}
.info-text {font-size:18px; color: #000; line-height:1.5; word-break:keep-all;}

.way-row {display:flex; align-items:flex-start; gap:14px; padding:16px 0; border-bottom:1px solid #efe6d4;}
.way-row:last-child {border-bottom:none;}
.way-badge {flex:0 0 auto; min-width:58px; text-align:center; font-size:14px; font-weight:700; color:#fff; padding:7px 0; border-radius:999px;}
.way-badge.subway {background: #374353;}
.way-badge.bus {background: #b98742;}
.way-badge.park {background:#8a8170;}
.way-body {flex:1; min-width:0; padding-top:2px;}
.way-main {font-size:18px; color: #000; line-height:1.55; word-break:keep-all;}
.way-sub {font-size:16px; color: #7c7363; line-height:1.5; margin-top:3px; word-break:keep-all;}

@media (max-width: 767px) {
  .loc-wrap {width: 100%; padding: 70px 0 50px 0;}
  .loc-head {margin-bottom:30px;}
  .loc-title {font-size:28px;}
  .loc-map {border-radius:14px;}
  .loc-cols {flex-direction:column; gap:16px; margin-top:26px;}
  .loc-card {padding:26px 22px;}
  .info-text {letter-spacing: -0.4vw;}
}

@media (min-width: 768px) and (max-width: 1199px) {
  .loc-wrap {width: 100%; padding: 100px 0 50px 0;}
  .loc-head {margin-bottom:38px;}
  .loc-title {font-size:34px;}
  .loc-cols {gap:20px; margin-top:30px;}
  .loc-card {padding:30px 28px;}
}

@media (min-width: 1200px) {
  .loc-wrap {width: 100%; padding: 100px 0 50px 0;}
  .loc-head {margin-bottom:46px;}
  .loc-cols {gap:24px; margin-top:36px;}
  .loc-card {padding:36px 38px;}
}


/* =====================
    트리니티
===================== */
.tr-wrap {max-width:1200px; width: 90%; margin:0 auto;}

.sec-line {width:46px; height:2px; background: #b98742;}
.divider {height:1px; background:#eceae3; border:none; display: block;}

/* 좌측 제목 / 우측 본문 공통 2단 */
.split {display:flex; gap:60px;}
.split .col-head {flex:0 0 300px;}
.split .col-body {flex:1; min-width:0;}

/* ================= 01. INTRO ================= */
.intro {display:flex; gap:60px; align-items:center;}
.intro .txt {flex:1; min-width:0;}
.intro h2 {color:#374353; font-size:38px;  font-weight:600; letter-spacing:-0.5px; line-height:1.3;}
.intro h2 .thin {font-weight:300;}
.intro p {color: #000; font-size:18px; line-height:1.6; margin-top:24px; font-weight: 400; word-break: keep-all;}
.intro .img {flex:0 0 540px; height:300px; border-radius:18px; background:#eef0f2 url('/images/new/tri_intro.png') center/cover no-repeat;}

/* ================= 02. 협업 구조 (다이어그램) ================= */
.collab {text-align:center;}
.collab h3 {color:#374353; font-size:38px; font-weight:700;}
.collab .sec-line {margin:18px auto 0;}

.collab-body {display:flex; align-items:center; justify-content:center; gap:50px; margin-top:30px; flex-wrap:wrap;}

/* 벤 다이어그램 */
.venn {position:relative; width:380px; height:300px; flex:0 0 auto;}
.venn .circle {position:absolute; top:42px; width:236px; height:236px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center;}
.venn .c-left {left:0; background: #222d3f; opacity:.92;
  /* 시작 위치(왼쪽 밖) + 회전 */}
.venn .c-right {right:0; background: #b98742; opacity:.82;}
.venn .c-left .t {font-size:18px; font-weight:700; line-height:1.25;}
.venn .c-left .s {font-size:12px; color:#c9d0db; margin-top:6px;}
.venn .c-right .t {font-size:16px; font-weight:700; line-height:1.25;}
.venn .c-right .s {font-size:12px; color:#f6efe0; margin-top:6px;}
/* 원 안 라벨을 바깥쪽으로 살짝 밀어 겹침 영역 비우기 */
.venn .c-left > div {transform:translateX(-40px);}
.venn .c-right > div {transform:translateX(40px);}
/* 교집합 라벨 */
.venn .inter {position:absolute; left:50%; top:160px; transform:translate(-50%,-50%); z-index:3; color:#fff; font-size:16px; font-weight:800; line-height:1.25; text-align:center; opacity:0;}

.collab .desc {flex:0 0 420px; text-align:left; word-break: keep-all;}
.collab .desc h4 {color:#1f2a3c; font-size:20px; font-weight:700;}
.collab .desc .u {width:28px; height:2px; background: #b98742; margin:10px 0 16px;}
.collab .desc p {color: #000; font-size:18px; line-height:1.6;}

/* --- 애니메이션 (보일 때 .on 부여) --- */
.venn .circle {opacity:0;}
.venn.on .c-left {animation:rollLeft 1.5s cubic-bezier(.22,.9,.3,1) forwards;}
.venn.on .c-right {animation:rollRight 1.5s cubic-bezier(.22,.9,.3,1) forwards;}
.venn.on .inter {animation:fadeUp .4s ease 1.25s forwards;}

@keyframes rollLeft{
  0%{ opacity:0; transform:translateX(-180px) rotate(-220deg); }
  100%{ opacity:.92; transform:translateX(0) rotate(0); }
}
@keyframes rollRight{
  0%{ opacity:0; transform:translateX(180px) rotate(220deg); }
  100%{ opacity:.82; transform:translateX(0) rotate(0); }
}
@keyframes fadeUp{
  0%{ opacity:0; transform:translate(-50%,-38%); }
  100%{ opacity:1; transform:translate(-50%,-50%); }
}

/* ================= 03 / 04. 리스트 섹션 ================= */
.col-head h3 {color:#374353; font-size:38px; font-weight:700; margin-bottom:18px;}
.col-head .note {color: #000; font-size:18px; line-height:1.6;}

.svc {list-style:none; border-top:1.5px solid #1f2a3c;}
.svc li {display:flex; gap:24px; align-items: flex-start; padding:22px 4px; border-bottom:1px solid #eceae3;}
.svc .no {flex:0 0 auto;  font-size:22px; font-weight:700; color: #cbb27e;}
.svc .c .t {font-size:20px; font-weight:700; color:#1f2a3c; margin-bottom:7px;}
.svc .c .d {font-size:18px; color: #000; line-height:1.6; word-break:keep-all;}

/* risk */
.risk-intro {color: #000; font-size:18px; line-height:1.4; margin-bottom:22px; word-break:keep-all;}
.risk {list-style:none;}
.risk li {display:flex; gap:14px; align-items:flex-start; padding:15px 2px; border-bottom:1px solid #f0ede5;}
.risk li:first-child {border-top:1px solid #f0ede5;}
.risk .chk {flex:0 0 auto; width:22px; height:22px; margin-top:1px;}
.risk .tx {font-size:18px; color: #000; line-height:1.5; word-break:keep-all;}

/* ================= 05. 적합한 고객 (아이콘 카드) ================= */
.clients {text-align:center;}
.clients h3 {color:#374353; font-size:38px; font-weight:700;}
.clients .sec-line {margin:18px auto 0;}
.clients .lead {color: #000; font-size:18px; margin-top:30px;}

.client-grid {display:grid; grid-template-columns:repeat(5,1fr); gap:20px; margin-top:34px;}
.client-card {background:#fff; border:1px solid #e9e6dd; border-radius:14px; padding:30px 14px; text-align:center; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.client-card:hover {transform:translateY(-4px); box-shadow:0 16px 34px -22px rgba(31,42,60,.3); border-color:#e0d6bf;}
.client-ico {width:60px; height:60px; margin:0 auto 16px; border-radius:50%; background:#f6edda; display:flex; align-items:center; justify-content:center;}
.client-ico img, .client-ico svg {width:32px; height:32px; object-fit:contain; display:block;}
.client-card .name {font-size:16px; font-weight:700; color:#1f2a3c;}

@media (max-width: 767px){
.intro {flex-direction:column; gap:28px; padding: 70px 0; align-items:flex-start;}
.intro h2 {font-size:30px;}
.intro p br {display: none;}
.intro .img {flex:none; width:100%; height:210px;}

.collab {padding: 70px 0;}
.collab h3 {font-size:34px;}
.collab-body {gap:30px; margin-top:36px;}
.venn {transform:scale(.82);}
.collab .desc {flex:1 1 100%; text-align:center;}
.collab .desc .u {margin:10px auto 16px;}

.split {flex-direction:column; gap:24px; padding: 70px 0;}
.split .col-head {flex:none;}
.col-head h3 {font-size:34px;}
.col-head .note {display:none;}

.svc li {flex-direction:row; gap:16px; padding:18px 2px;}
.svc .no {font-size:19px;}
.svc .c .t {font-size:16px;}

.clients{padding: 70px 0 50px 0;}
.clients h3 {font-size:34px;}
.client-grid {grid-template-columns:repeat(2,1fr); gap:12px;}
.client-card {padding:24px 10px;}
}

@media (min-width: 768px) and (max-width: 1199px){
.intro {padding: 100px 0 80px 0;}
.intro h2 {font-size:34px;}
.intro .img {flex:0 0 40%; height:260px;}
.collab {padding: 100px 0 80px 0;}
.collab-body {gap:40px;}
.split {padding: 100px 0 80px 0; gap:40px;}
.split .col-head {flex:0 0 240px;}
.clients {padding: 100px 0 50px 0;}
.client-grid {grid-template-columns:repeat(5,1fr); gap:14px;}
.client-card {padding:26px 8px;}
}

@media (min-width: 1200px){
.intro {padding: 100px 0 80px 0;}
.collab {padding: 100px 0 80px 0;}
.split {padding: 100px 0 80px 0;}
.clients {padding: 100px 0 50px 0;}
}

/* 모션 최소화 설정 존중 */
@media (prefers-reduced-motion: reduce){
.venn .circle {opacity:1 !important; animation:none !important; transform:none !important;}
.venn .c-left {opacity:.92 !important;}
.venn .c-right {opacity:.82 !important;}
.venn .inter {opacity:1 !important; animation:none !important;}
.client-card {transition:none;}
}


/* =====================
    메디컬
===================== */
.mc-wrap {max-width:1200px; width: 90%; margin:0 auto;}
.sec-line {width:46px; height:2px; background: #b98742;}
.sec-center {text-align:center;}
.sec-center h3 {color: #374353; font-size:38px; font-weight:700; letter-spacing:.02em;}
.sec-center .sec-line {margin:18px auto 0;}

/* ===== 01. INTRO ===== */
.intro h2 .em {color: #b98742;}
.intro2 p {word-break: keep-all;}
.intro2 .img {background:#eef0f2 url('/images/new/medi_intro.png') center/cover no-repeat;}

/* ===== 02. 지원 ===== */
.support{ }
.sup-block{ }
.sup-block2 {margin-top: 60px;}
.sup-head {display:flex; align-items:flex-start; gap:22px; margin-bottom:26px;}
.sup-ico {flex:0 0 auto; width:80px; height:80px; border-radius:50%; display:flex; align-items:center; justify-content:center;}
.sup-ico.a {background:#f6edda;}
.sup-ico.b {background: #374353;}
.sup-ico svg {width:38px; height:38px;}
.sup-head .t .name {font-size:24px; font-weight:800; color: #b98742;}
.sup-head .t .lead {font-size:19px; color: #000; padding: 10px 0 0 0; line-height: 1.4; word-break: keep-all;}
.sup-head .t .lead p{font-size: 22px; color: #374353;  line-height: 1.6; margin-bottom: 8px;}

.sup-grid {display:grid; grid-template-columns:1fr 1fr; gap:20px;}
.sup-item {background:#fff; border:1px solid #ece3d2; border-radius:12px; padding:18px 22px; display:flex; gap:13px; align-items:flex-start; transition:transform .2s ease, box-shadow .2s ease;}
.sup-item:hover {transform:translateY(-3px); box-shadow:0 14px 30px -22px rgba(31,42,60,.3);}
.sup-item .dot {flex:0 0 auto; width:7px; height:7px; border-radius:50%; background: #b98742; margin-top:7px;}
.sup-item .it {font-size:18px; font-weight:700; color: #374353; margin-bottom:5px;}
.sup-item .id {font-size:14px; color: #6f6a5e; line-height:1.5;}


/* ===== 03. 진행 절차 ===== */
.process-row {display:flex; justify-content:space-between; position:relative;}
.process-row::before{ content:""; position:absolute; top:54px; left:54px; right:54px; height:2px; background: #eceae3; z-index:0;}
.step {position:relative; z-index:1; width:23%; text-align:center;}
.step .circle {width:108px; height:108px; border-radius:50%; margin:0 auto 22px; background:#fff; border:1.5px solid #e3d3ad; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;}
.step.last .circle {background: #374353; border-color: #374353;}
.step .circle .sn { font-size:13px; font-weight:700; color: #b98742; letter-spacing:.08em;}
.step.last .circle .sn {color: #fff;}
.step .circle svg {width:30px; height:30px;}
.step .st-title {font-size:20px; font-weight:700; color: #1f2a3c; margin-bottom:9px;}
.step .st-desc {font-size:16px; color: #6f6a5e; line-height:1.5;}

.promise {list-style:none; border-top:1.5px solid  #374353;}
.promise li {display:flex; gap:24px; align-items:baseline; padding:24px 4px; border-bottom:1px solid  #eceae3;}
.promise .no {flex:0 0 auto;  font-size:22px; font-weight:700; color: #cbb27e;}
.promise .c .t {font-size:20px; font-weight:700; color: #1f2a3c; margin-bottom:7px;}
.promise .c .d {font-size:18px; color: #000; line-height:1.6; word-break:keep-all;}

/* ===== 05. 문의 안내 ===== */
.contact {display:flex; gap:60px; align-items:center;}
.contact .c-left {flex:1; min-width:0;}
.contact .c-left h3 {color: #374353; font-size:38px; font-weight:700; margin-bottom:18px;}
.contact .c-left p {color: #000; font-size:18px; line-height:1.6;}
.contact .quote {border-left:3px solid  #b98742; padding-left:18px; margin-top:24px; font-style:italic; color: #374353; font-size:14.5px; line-height:1.7;}
.contact .c-box {flex:0 0 480px; background:#fff; border:1px solid #ece3d2; border-radius:18px; padding:34px 38px;}
.c-row {display:flex; gap:22px; align-items:center; padding:18px 0;}
.c-row + .c-row {border-top:1px solid #f0ede5;}
.c-row .ico {flex:0 0 auto; width:56px; height:56px; border-radius:50%; background:#f6edda; display:flex; align-items:center; justify-content:center;}
.c-row .ico svg {width:28px; height:28px;}
.c-row .label {font-size:14px; color: #8d8674; margin-bottom:3px;}
.c-row .value {font-size:20px; font-weight:700; color: #1f2a3c;}
.c-row .sub {font-size:14px; color: #6f6a5e; margin-top:4px;}

/* =========================================================
   스크롤 등장 애니메이션
========================================================= */
.reveal {opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in {opacity:1; transform:none;}

/* 진행절차 : 스텝이 순차로 떠오름 */
.step {opacity:0; transform:translateY(26px); transition:opacity .8s ease, transform .8s ease;}
.process-row.in .step {opacity:1; transform:none;}
.process-row.in .step:nth-child(1) {transition-delay:.35s;}
.process-row.in .step:nth-child(2) {transition-delay:.5s;}
.process-row.in .step:nth-child(3) {transition-delay:.65s;}
.process-row.in .step:nth-child(4) {transition-delay:.8s;}
/* 연결선이 좌→우로 그려짐 */
.process-row::before {transform:scaleX(0); transform-origin:left center; transition:transform .9s ease .1s;}
.process-row.in::before {transform:scaleX(1);}

/* 약속 : 행이 순차로 떠오름 */
.promise li {opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease;}
.promise.in li {opacity:1; transform:none;}
.promise.in li:nth-child(1) {transition-delay:.35s;}
.promise.in li:nth-child(2) {transition-delay:.48s;}
.promise.in li:nth-child(3) {transition-delay:.61s;}

@media (prefers-reduced-motion: reduce){
.reveal,.step,.promise li {opacity:1 !important; transform:none !important; transition:none !important;}
.process-row::before {transform:scaleX(1) !important; transition:none !important;}
}

@media (max-width: 767px){
.intro2 h2 br {display: none;}
.sec-center h3 {font-size:28px;}

.support {padding:70px 0;}
.sup-ico {width:48px; height:48px;}
.sup-ico svg {width:30px; height:30px;}
.sup-head .t .name {font-size:19px;}
.sup-grid {grid-template-columns:1fr; gap:12px;}
.sup-head .t .name {font-size:20px; font-weight:800; color: #b98742;}
.sup-head .t .lead {font-size:16px; color: #000; padding: 10px 0 0 0; line-height: 1.4; word-break: keep-all;}
.sup-head .t .lead p{font-size: 18px; color: #374353;  line-height: 1.4; margin-bottom: 8px;}

.process {padding:70px 0;}
.process-row {flex-direction:column; gap:30px;}
.process-row::before {display:none;}
.step {width:100%; display:flex; align-items:center; gap:18px; text-align:left;}
.step .circle {margin:0; width:72px; height:72px; flex:0 0 auto;}
.step .circle .sn {font-size: 11px;}
.step .st-title {margin-bottom:5px;}

.promise li {padding:20px 2px; gap:16px;}

.contact {flex-direction:column; gap:28px; padding:70px 0 50px 0; align-items:stretch;}
.contact .c-box {flex:none; padding:28px 24px;}
.contact .c-left h3 {font-size:34px;}
}

@media (min-width: 768px) and (max-width: 1199px){
.support {padding:100px 0 80px 0;}
.process {padding:100px 0 80px 0;}
.step .circle {width:96px; height:96px;}
.contact {padding:100px 0 50px 0; gap:40px;}
.contact .c-box {flex:0 0 42%;}
}

@media (min-width: 1200px){
.support {padding:100px 0 80px 0;}
.process {padding:100px 0 80px 0;}
.contact {padding:100px 0 50px 0;}
}

/* =====================
    개인정보
===================== */
.term_wrap2 {float: none; width: 90%; max-width: 1200px; margin: 0 auto;}

.term_wrap2 table td {background: #fff;}

@media (max-width: 767px){
.term_wrap2 {padding: 70px 0 50px 0;}
.term_wrap2 .top-tit {font-size: 34px; font-weight: 700; margin-bottom: 40px;}
}

@media (min-width: 768px) and (max-width: 1199px){
.term_wrap2 {padding: 100px 0 50px 0;}
.term_wrap2 .top-tit {font-size: 38px; font-weight: 700; margin-bottom: 40px;}
}

@media (min-width: 1200px){
.term_wrap2 {padding: 100px 0 50px 0;}
.term_wrap2 .top-tit {font-size: 38px; font-weight: 700; margin-bottom: 40px;}
}
    