/***************** 00. Sub layout ****************/
html, body {min-width: 320px; height: 100%;}
#wrap {height: 100%; padding-top: 68px; box-sizing: border-box;}
.main #wrap {padding-top: 0;}
#container {position: relative; min-height: 100%; /*padding: 0 20px;*/}
.main #container {max-width: 100%; padding: 0;}

/******** 공통 || 서브메뉴 상단 헤더 :: header ********/
body:not(.main-page) .header {background: hsl(0, 0%, 100%); color: #333; box-shadow: 0 8px 24px rgba(0, 0, 0, .06);}
body:not(.main-page) .logo {background-image: url("../img/svg/sub_logo.svg");}
body:not(.main-page) .gnb {background: #fff;}
body:not(.main-page) .gnb .menu {color: #333;}
body:not(.main-page) .gnb .menu:hover, body:not(.main-page) .gnb .menu.is-active {color: #333;}
body:not(.main-page) .gnb::before {background: rgba(255, 255, 255, .96); border-bottom: 1px solid rgba(0, 0, 0, .08); box-shadow: 0 28px 70px rgba(0, 0, 0, .12);}
body:not(.main-page) .gnb .menu > ul > li {color: #333;}
body:not(.main-page) .gnb .menu > ul > li:hover {background: #9999991c; color: #333;}

.sub-wrap {padding: clamp(0px, 7vw, 10px) 0 140px;}


/********** 공통 || 서브 하단 영역 :: sub_footer *********/
#footer {clear: both; position: relative; background: #111;}
#footer .wrap {position: relative; width: min(100% - 40px, 1280px); margin: 0 auto; padding: 44px 0;}
#footer .left-area { margin-bottom: 36px;}
#footer .footer-logo {display: block; width: 212px; height: 22px; margin-bottom: 28px;}
#footer .footer-logo a {display: block; width: 220px; height: 100px;}
#footer .footer-logo a::before {content: ""; display: block; width: inherit; height: inherit; background-color: #fff; -webkit-mask: url("../img/svg/logo.svg") no-repeat left top / 100% auto; mask: url("../img/svg/logo.svg") no-repeat left top / 100% auto;}
#footer .external-sites {display: flex; gap: 8px; margin-bottom: 28px;}
#footer .external-sites a {display: block; overflow: hidden; width: 32px; height: 32px; background: url("../img/footer_site.png") 0 0 / 150px 32px no-repeat; text-indent: -9999px;}
#footer .external-sites .facebook a {background-position: 0 0;}
#footer .external-sites .youtube a {background-position: -79px 0;}
#footer .copyright {display: block; color: #999; font-size: 13px; line-height: 1.6;}
#footer .right-area {display: grid; grid-template-columns: 1fr; gap: 28px;}
#footer .interior-sites {text-align: left;}
#footer .interior-list-tit {display: block; margin-bottom: 14px; color: #999; font-size: 14px; line-height: 1.5;}
#footer .interior-list-item {margin-bottom: 10px;}
#footer .interior-list-item:last-child {margin-bottom: 0;}
#footer .interior-list-item a {color: #c1c1c1; font-size: 13px; line-height: 1.6;}
#footer .interior-list-item a:hover, #footer .interior-list-item a:focus {color: #fff;}
#footer .go-top {position: fixed; right: 20px; bottom: 20px; z-index: 50; width: 42px; height: 42px; border-radius: 50%; background: #202020 url("../img/btn_top.png") center / 24px 24px no-repeat; text-indent: -9999px;}
#footer .go-top:hover, #footer .go-top:focus {background-color: #424245;}
.top-btn {opacity: 0; visibility: hidden; pointer-events: none;}
.top-btn.is-show {opacity: 1; visibility: visible; pointer-events: auto;}


/*===============================================================================================================================*/
/********* 1번-1 메뉴 인사말/비전 :: intro *********/
/* 인사말 :: 섹션 01 */
.message-section {--message-text: #080808; --message-muted: #d7d7d7; --message-body: #333; --message-soft-blue: #e9fbff; --message-soft-cream: #fff2df; background: #fff; color: var(--message-text); overflow: hidden;}
.message-section__inner {width: min(100%, 1160px); margin: 0 auto;}
/*.message-heading {margin-bottom: clamp(80px, 11vw, 100px);}*/
.message-heading__title {margin: 0; font-size: clamp(34px, 4.4vw, 60px); font-weight: 900; line-height: 1.35; letter-spacing: -0.065em; word-break: keep-all;}
.message-heading__title.js-scroll-fill {--fill: 0%; color: transparent; background-image: linear-gradient(90deg, var(--message-text) 0%, var(--message-text) var(--fill), var(--message-muted) var(--fill), var(--message-muted) 100%); background-size: 100% 100%; background-repeat: no-repeat; background-clip: text; -webkit-background-clip: text;}
.message-content {display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 425px); gap: clamp(52px, 7vw, 104px); align-items: end;}
.message-text {min-width: 0;}
.message-text__lead {margin: 0 0 clamp(34px, 4vw, 54px); color: var(--message-text); font-size: clamp(23px, 2.3vw, 32px); font-weight: 900; line-height: 1.55; letter-spacing: -0.055em; word-break: keep-all;}
.message-text__body {display: grid; gap: 40px;}
.message-text__body p {margin: 0; color: var(--message-body); font-size: clamp(15px, 1.08vw, 17px); font-weight: 600; line-height: 1.78; letter-spacing: -0.045em; word-break: keep-all;}
.message-visual {position: relative; min-height: 520px; display: flex; align-items: flex-end; justify-content: center; opacity: 0; transform: translateY(36px); transition: opacity 0.75s ease, transform 0.75s ease;}
.message-visual.is-visible {opacity: 1; transform: translateY(0);}
.message-visual__image {position: relative; z-index: 2; display: block; width: min(100%, 420px); height: auto; object-fit: contain; bottom: 100px;}
.message-visual::after {content: ""; position: absolute; left: 50%; bottom: 45px; z-index: 3; width: 88%; height: 36%; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%,#fff 72%); transform: translateX(-50%); pointer-events: none;}
.message-visual__deco {position: absolute; z-index: 1; border-radius: 50%; pointer-events: none;}
.message-visual__deco--large {right: 36px; top: 48px; width: clamp(130px, 14vw, 190px); height: clamp(130px, 14vw, 190px); background: var(--message-soft-cream);}
.message-visual__deco--small {left: 48px; top: 250px; width: clamp(84px, 8vw, 120px); height: clamp(84px, 8vw, 120px); background: var(--message-soft-blue);}
.message-sign {position: absolute; left: 50%; z-index: 4; width: min(100%, 360px); transform: translateX(-50%); text-align: left;}
.message-sign p {margin: 0 0 14px; color: var(--message-text); font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -0.04em;}
.message-sign strong {display: block; color: var(--message-text); font-size: 22px; font-weight: 900; line-height: 1.3; letter-spacing: 0.12em;}

@media (prefers-reduced-motion: reduce) {
  .message-heading__title.js-scroll-fill {
    --fill: 100%;
    color: var(--message-text);
    background-image: none;
  }

  .message-visual {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* 인사말 :: 섹션 02 */
.professional-section {--pro-text: #111; --pro-muted: #555; --pro-line: #111; --pro-bg: #fff; padding: 70px 20px 140px; background: var(--pro-bg); color: var(--pro-text);}
.professional-section__inner {width: min(100%, 1180px); margin: 0 auto;}
.professional-heading {text-align: center; margin-bottom: 70px;}
.professional-heading__title {position: relative; display: inline-block; margin: 0; padding-bottom: 28px; font-size: clamp(22px, 2vw, 28px); font-weight: 800; line-height: 1.3; letter-spacing: -0.04em;}
.professional-heading__title::after {content: ""; position: absolute; left: 50%; bottom: 0; width: 22px; height: 2px; background: var(--pro-line); transform: translateX(-50%);}
.professional-list {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(40px, 6vw, 100px); margin-bottom: 140px; padding: 0; list-style: none;}
.professional-heading_h4{font-size: 24px; font-weight: 600; color: #00A0FF;}
.professional-item {min-width: 0; text-align: center; cursor: pointer;}
.professional-item__icon {display: flex; align-items: center; justify-content: center; height: 108px; margin-bottom: clamp(28px, 3vw, 38px);}
.professional-item__icon img {display: block; width: auto; max-width: 96px; max-height: 96px; object-fit: contain;}
.professional-item__title {margin: 0 0 18px; font-size: clamp(26px, 2.5vw, 29px); font-weight: 500; line-height: 1.2; letter-spacing: -0.045em;}
.professional-item__summary {margin: 0 0 24px; color: var(--pro-text); font-size: clamp(18px, 1.6vw, 24px); font-weight: 800; line-height: 1.45; letter-spacing: -0.055em; word-break: keep-all;}
.professional-item__desc {margin: 0; color: var(--pro-muted); font-size: clamp(15px, 1.1vw, 17px); font-weight: 500; line-height: 1.75; letter-spacing: -0.04em; word-break: keep-all;}

@media (hover: hover) {
  .professional-item {transition: transform 0.25s ease;}
  .professional-item__icon img {transition: transform 0.25s ease, opacity 0.25s ease;}
  .professional-item:hover {transform: translateY(-6px);}
  .professional-item:hover .professional-item__icon img {transform: scale(1.06); opacity: 0.85;}
}

/*===============================================================================================================================*/
/********* 미션/비전 :: mission_vision *********/
.mission-section {padding: 0 30px 140px; background: #fff;}
.mission-section__inner {max-width: 1180px; margin: 0 auto;}
.mission-heading__title {margin: 0 0 14px; font-size: clamp(34px, 4vw, 54px); font-weight: 600; color: #333;}
.mission-heading__desc {margin: 0; font-size: 18px; color: #555; line-height: 1.7;}
.mission-summary {margin: 56px 0 90px;}

.ai-circle-row {display: flex; justify-content: center; align-items: center; margin-bottom: 42px; position: relative;}
.ai-circle {width: 290px; height: 290px; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; text-align: center; padding: 24px; box-sizing: border-box; cursor: pointer; position: relative; overflow: hidden; box-shadow: 0 18px 45px rgba(0,160,255,.16); transition: transform .35s ease, box-shadow .35s ease;}
.ai-circle--line {border: 2px solid #00A0FF; background: #fff; z-index: 2;}
.ai-circle--empty {margin: 0 -70px; border: 1px solid #00A0FF; background: #fff; opacity: .25; z-index: 1;}
.ai-circle--fill {border: 2px solid #00A0FF; background: #00A0FF; color: #fff; z-index: 2;}
.ai-circle span {margin-bottom: 18px; color: #00A0FF; font-size: 18px; font-weight: 700;}
.ai-circle--fill span, .ai-circle strong.wh {color: #fff;}
.ai-circle strong {color: #444; font-size: 23px; font-weight: 600; line-height: 1.65; word-break: keep-all;}
.mission-activity {margin-top: 100px;}
.mission-activity__grid {display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px;}
.mission-card {min-height: 230px; padding: 30px 24px; border: 1px solid #dfe6ef; border-radius: 18px; background: #f8fbff; box-sizing: border-box;}
.mission-card span {display: block; margin-bottom: 18px; color: #00A0FF; font-size: 20px; font-weight: 800;}
.mission-card h4 {margin: 0 0 14px; color: #111; font-size: 21px; font-weight: 800; line-height: 1.4; word-break: keep-all;}
.mission-card p {margin: 0; color: #555; font-size: 15px; line-height: 1.75; word-break: keep-all;}

.ai-circle-row::before {content: ""; position: absolute; width: 720px; height: 180px; background: radial-gradient(circle, rgba(0,160,255,.18), transparent 65%); filter: blur(18px); z-index: 0;}
.ai-circle:hover {transform: translateY(-8px); box-shadow: 0 28px 60px rgba(0,160,255,.28);}
.ai-circle::after {content: ""; position: absolute; top: -60%; left: -80%; width: 55%; height: 220%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.42), transparent); transform: rotate(25deg); transition: left .7s ease;}
.ai-circle:hover::after {left: 130%;}
.ai-circle--fill {background: linear-gradient(135deg, #00A0FF, #1767d8);}
.ai-circle span, .ai-circle strong {position: relative; z-index: 2;}
.ai-circle--empty {animation: circlePulse 3s ease-in-out infinite;}

@keyframes circlePulse {
    0%, 100% {
        transform: scale(1);
        opacity: .22;
    }
    50% {
        transform: scale(1.04);
        opacity: .38;
    }
}


/*===============================================================================================================================*/
/********* 1번-2 메뉴 연혁 :: history *********/
.history-section {--history-blue: #009be6; --history-navy: #2438a8; --history-text: #2c2f35; --history-muted: #747b86; --history-line: #e5e7eb; background: #fff; color: var(--history-text);}
.history-layout {display: grid; grid-template-columns: minmax(320px, 40vw) 1fr; min-height: 100vh;}
.history-visual {position: sticky; top: 50px; height: calc(100vh - 50px); min-height: 720px; overflow: hidden; background: #eef3f7;}
.history-visual__bg {position: absolute; inset: 0; background-position: center; background-size: cover; background-repeat: no-repeat;}
.history-visual__bg::after {content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(0, 56, 120, 0.15) 0%,rgba(0, 56, 120, 0.02) 42%, rgba(0, 0, 0, 0.08) 100%);}
.history-visual__content {position: relative; z-index: 2; padding: clamp(70px, 9vw, 90px) clamp(28px, 5vw, 72px);}
.history-visual__eyebrow {margin: 0 0 8px; color: var(--history-blue); font-size: 22px; font-weight: 900; line-height: 1.2;}
.history-visual__title {margin-top: 1.9rem; color: #fff; font-size: clamp(30px, 3.1vw, 44px); font-weight: 900; line-height: 1.18; letter-spacing: -0.045em;}
.history-tabs {display: flex; align-items: center; gap: 4px; /*width: min(100%, 380px);*/ margin-top: 32px; padding: 7px; border-radius: 999px; background: rgba(255, 255, 255, 0.48); backdrop-filter: blur(8px);}
.history-tabs__link {flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 10px; border-radius: 999px; color: #fff; font-size: 16px; font-weight: 500; line-height: 1; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;}
.history-tabs__link.is-active {background: linear-gradient(90deg, var(--history-blue), var(--history-navy)); color: #fff; box-shadow: 0 8px 18px rgba(0, 155, 230, 0.28);}
.history-tabs__link:focus-visible {outline: 3px solid rgba(0, 155, 230, 0.35); outline-offset: 3px;}
.history-content {background: #fff;}
.history-content__inner {width: min(100%, 640px); margin: 0 auto; margin-bottom: 15rem;/*padding: clamp(90px, 10vw, 120px) 32px clamp(80px, 10vw, 130px);*/}
.history-decade {scroll-margin-top: 50px; margin-top: 50px;}
.history-decade + .history-decade {margin-top: clamp(64px, 8vw, 92px); padding-top: clamp(44px, 5vw, 60px); border-top: 1px solid var(--history-line);}
.history-decade__title {margin: 0 0 clamp(36px, 4vw, 48px); color: var(--history-text); font-size: clamp(42px, 4.4vw, 58px); font-weight: 900; line-height: 1; letter-spacing: -0.06em;}
.history-list {display: grid; gap: 22px;}
.history-row {display: grid; grid-template-columns: 72px 1fr; gap: 28px; align-items: start;}
.history-row__year {color: #1297f4;; font-size: 24px; font-weight: 900; line-height: 1.5; letter-spacing: -0.03em;}
.history-row__items {display: grid; gap: 8px; min-width: 0;}
.history-row__items p {display: grid; grid-template-columns: 36px 1fr; gap: 18px; margin: 0; color: var(--history-muted); font-size: 18px; font-weight: 600; line-height: 2.1; letter-spacing: -0.03em; word-break: keep-all;}
.history-row__items span {color: var(--history-text); font-size: 17px; font-weight: 900;}

@media (hover: hover) {
  .history-row {transition: transform 0.2s ease;}
  .history-row:hover {transform: translateX(4px); cursor: pointer;}
  .history-row:hover .history-row__year, .history-row:hover .history-row__items span {color: var(--history-blue);}
  .history-row:hover .history-row__items p {color: var(--history-text);}
}


/*===============================================================================================================================*/
/********* 1번-3 메뉴 고객사 :: customer *********/
.client-section {--point: #0098df; --text: #222; --muted: #667085; --line: #dfe8ef; --card-bg: #f8f8f8; background: #fff; color: var(--text);}
.client-section__inner {width: min(100%, 1216px); margin: 0 auto;}
.client-heading {text-align: center;}
.client-heading__eyebrow {margin: 0 0 8px; color: var(--point); font-size: clamp(14px, 1.2vw, 16px); font-weight: 800; line-height: 1.3;}
.client-heading__title {margin: 0; font-size: clamp(30px, 3.2vw, 42px); font-weight: 800; line-height: 1.2; letter-spacing: -0.04em;}
.client-tabs {display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); width: min(100%, 420px); margin: clamp(32px, 4vw, 40px) auto clamp(40px, 5vw, 52px); padding: 8px; border: 1px solid var(--line); border-radius: 999px; background: #fbfdff;}
.client-tabs__btn {display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: #2b2f35; font: inherit; font-size: 18px; font-weight: 500; line-height: 1.2; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;}
.client-tabs__btn.is-active {background: var(--point); color: #fff; box-shadow: 0 8px 18px rgba(0, 152, 223, 0.24);}
.client-tabs__btn:focus-visible {outline: 3px solid rgba(0, 152, 223, 0.28); outline-offset: 3px;}
.client-panel {display: none;}
.client-panel.is-active {display: block;}
.client-logo-grid {display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none;}
.client-logo-card {display: flex; align-items: center; justify-content: center; min-height: 100px; padding: 18px 22px; border-radius: 8px; background: var(--card-bg); overflow: hidden; cursor: pointer;}
.client-logo-card img {display: block; width: auto; max-width: 100%; max-height: 64px; object-fit: contain;}

@media (hover: hover) {
  .client-logo-card {transition:transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;}
  .client-logo-card:hover {transform: translateY(-3px); background: #fff; box-shadow: 0 12px 28px rgba(16, 24, 40, 0.08);}
}


/*===============================================================================================================================*/
/********* 1번-4 메뉴 조직도 :: organization *********/
.org-section {--org-primary: #111; --org-point: #9fd600; --org-point-soft: #f4fbdc; --org-line: #d7dce3; --org-card: #fff; --org-bg: #fff; --org-soft: #f7f8fa; --org-text: #111; --org-muted: #666; background: var(--org-bg); color: var(--org-text);}
.org-section__inner {width: min(100%, 1180px); margin: 0 auto;}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0);}
.org-chart {position: relative; min-height: 720px;}
.org-chart__top {position: relative; z-index: 0; display: flex; justify-content: center;}
.org-ceo {position: relative; width: 260px; height: 260px; display: flex; align-items: center; justify-content: center;}
.org-ceo::before {content: ""; position: absolute; inset: 0; border: 2px solid var(--org-point); border-radius: 50%;}
.org-ceo::after {content: ""; position: absolute; left: 46%; top: 100%; width: 1px; height: 142px; border-left: 2px dotted var(--org-line); transform: translateX(-50%);}
.org-ceo__circle {position: relative; z-index: 2; width: 214px; height: 214px; border: 10px solid rgba(159, 214, 0, 0.28); border-radius: 50%; background: var(--org-point); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; box-shadow: 0 18px 42px rgba(159, 214, 0, 0.24);}
.org-ceo__circle strong {color: #fff; font-size: clamp(24px, 2.2vw, 30px); font-weight: 900; line-height: 1.2; letter-spacing: -0.04em;}
.org-ceo__circle span {color: #fff; font-size: clamp(17px, 1.6vw, 21px); font-weight: 800; line-height: 1.3; letter-spacing: -0.04em;}
.org-chart__middle {position: absolute; top: 58px; left: 0; z-index: 4;}
.org-contact {width: 280px;}
.org-contact__title {pointer-events: none; display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 15px 18px; border: 2px solid #edf0f3; background: #fff; color: var(--org-primary); font-size: 17px; font-weight: 900; line-height: 1.3; letter-spacing: -0.04em;}
.org-contact__body {display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 108px; margin-top: 10px; padding: 22px 16px; background: var(--org-soft); border: 1px solid #edf0f3;}
.org-contact__body a {color: var(--org-text); font-size: 16px; font-weight: 600; line-height: 1.8; text-decoration: none;}
.org-contact__body a:hover {color: var(--org-point);}
.org-side {position: absolute; top: 75px; right: 0; z-index: 4;}
.org-side::before {content: ""; position: absolute; top: 50%; right: 100%; width: 180px; border-top: 2px dotted var(--org-line); transform: translateY(-50%);}
.org-side__card {position: relative; width: 280px; padding: 22px 20px; border: 2px solid var(--org-primary); background: #fff; text-align: center; box-shadow: 0 14px 34px rgba(17, 24, 39, 0.08);}
.org-side__card::before {content: ""; position: absolute; top: 50%; left: -9px; width: 12px; height: 12px; border: 3px solid var(--org-point); border-radius: 50%; background: #fff; transform: translateY(-50%);}
.org-side__card strong {display: block; color: var(--org-primary); font-size: 18px; font-weight: 900; line-height: 1.35; letter-spacing: -0.04em;}
.org-side__card span {display: block; margin-top: 8px; color: var(--org-muted); font-size: 15px; font-weight: 700;}
.org-division-wrap {position: absolute; left: 50%; bottom: 0; z-index: 6; width: 100%; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 18px; transform: translateX(-50%);}
.org-division-wrap::before {content: ""; position: absolute; left: 19%; right: 10%; top: -49px; border-top: 2px dotted var(--org-line);}
.org-division {position: relative;}
.org-division::before {content: ""; position: absolute; left: 50%; top: -48px; width: 1px; height: 48px; border-left: 2px dotted var(--org-line); transform: translateX(-50%);}
.org-division::after {content: ""; position: absolute; left: 50%; top: -10px; width: 12px; height: 12px; border: 3px solid var(--org-point); border-radius: 50%; background: #fff; transform: translateX(-50%);}
.org-division__title {display: flex; align-items: center; justify-content: center; min-height: 68px; margin: 0; padding: 16px 14px; border: 2px solid var(--org-primary); background: #fff; color: var(--org-primary); font-size: 18px; font-weight: 900; line-height: 1.3; letter-spacing: -0.04em; text-align: center;}
.org-division--yellow .org-division--green .org-division--blue, .org-division--orange {--division-color: var(--org-point);}
.org-team-list {position: relative; display: grid; gap: 12px; margin-top: 56px;}
.org-team-list--four {grid-template-columns: repeat(4, minmax(0, 1fr));}
.org-team-list--two {grid-template-columns: repeat(2, minmax(0, 1fr));}

.org-team, .org-team-group {position: relative;}
.org-team::before {content: ""; position: absolute; left: 50%; top: -57px; width: 1px; height: 57px; border-left: 2px dotted var(--org-line); transform: translateX(-50%);}
.org-team::after {content: ""; position: absolute; left: 50%; top: -8px; width: 10px; height: 10px; border: 3px solid var(--org-point); border-radius: 50%; background: #fff; transform: translateX(-50%);}
.org-team {display: flex; align-items: center; justify-content: center; min-height: 66px; padding: 15px 10px; border: 2px solid var(--org-point); background: var(--org-point-soft); color: var(--org-primary); font-size: 15px; font-weight: 900; line-height: 1.35; letter-spacing: -0.04em; text-align: center;}
.org-team-group {display: flex; flex-direction: column; gap: 12px;}
.org-team-group .org-team + .org-team::before, .org-team-group .org-team + .org-team::after {display: none;}

@media (hover: hover) {
  .org-contact__title, .org-contact__body, .org-contact__body a, .org-side__card, .org-side__card strong, .org-side__card span, .org-division__title, .org-team {transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease; cursor: pointer;}
  .org-contact__title:hover, .org-contact__body:hover, .org-side__card:hover, .org-division__title:hover, .org-team:hover {transform: translateY(-3px); box-shadow: 0 14px 32px rgba(153, 153, 153, 0.1); border-color: var(--org-point); color: var(--org-point);}
  .org-contact__body:hover a, .org-side__card:hover strong, .org-side__card:hover span {color: var(--org-point);}
}


/*===============================================================================================================================*/
/********* 1번-5 메뉴 오시는 길 :: location *********/
.location-section {--point: #ff1f00; --black: #050505; --text: #111; --muted: #555; --line: #dedede; --bg-soft: #f6f6f6; background: #fff; color: var(--text);}
.location-section__inner {width: min(100%, 1200px); margin: 0 auto;}
.sr-only {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0);}
.location-map {width: min(100vw - 40px, 1200px); aspect-ratio: 1200 / 386; border-radius: 26px; overflow: hidden; background: #f2f2f2;}
/*.location-map iframe {display: block; width: 100%; height: 100%; border: 0;}*/
.location-map__naver {width: 100%; height: 100%;}
.location-map-info {min-width: 220px; max-width: 320px; padding: 13px 15px 14px; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 10px; background: #fff; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.15); color: #111;}
.location-map-info__title {display: block; font-size: 15px; font-weight: 800; line-height: 1.35;}
.location-map-info__text {margin: 5px 0 0; font-size: 13px; font-weight: 500; line-height: 1.45; word-break: keep-all;}
.location-map img {display: block; width: 100%; height: 100%; object-fit: cover;}

.location-tabs {display: flex; flex-wrap: wrap; gap: 6px; margin-top: clamp(36px, 5vw, 66px);}
.location-tabs__btn {min-height: 36px; padding: 0 18px; border: 1px solid #cfcfcf; border-radius: 999px; background: #fff; color: #030303; font: inherit; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;}
.location-tabs__btn.is-active {border-color: var(--black); background: var(--black); color: #fff; font-weight: 800;}
.location-tabs__btn:focus-visible {outline: 3px solid rgba(255, 31, 85, 0.2); outline-offset: 3px;}
.location-panel {display: none; margin-top: 28px;}
.location-panel.is-active {display: block;}
.location-summary {display: grid; grid-template-columns: 210px 1fr; gap: 15px; align-items: start;}
.location-summary__title {margin: 0; font-size: clamp(28px, 3vw, 32px); font-weight: 900; line-height: 1.25; letter-spacing: -0.04em;}
.location-summary__info {display: grid; grid-template-columns: 1fr 182px; gap: 10px;}
.location-info-card {display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 18px 22px; border-radius: 16px; background: var(--bg-soft); color: var(--text); text-decoration: none;}
.location-info-card__icon {flex: 0 0 auto; display: inline-flex; width: 18px; height: 18px; color: var(--point);}
.location-info-card__icon svg {width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;}
.location-info-card p {margin: 0; font-size: 17px; font-weight: 600; line-height: 1.55; word-break: keep-all;}
.location-info-card strong {font-size: 15px; font-weight: 600; white-space: nowrap;}
.location-traffic {margin-left: 226px; margin-top: 12px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff;}
.location-traffic__item {display: flex; align-items: center; gap: 16px;}
.location-traffic__item + .location-traffic__item {margin-top: 12px;}
.location-traffic__badge {flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 28px; padding: 0 10px; border-radius: 6px; color: #fff; font-size: 14px; font-weight: 600; line-height: 1;}
.location-traffic__badge--blue {background: #005bac;}
.location-traffic__badge--green {background: #289a27;}
.location-traffic__badge--red {background: #ff1f00;}
.location-traffic__item p {margin: 0; font-size: 16px; font-weight: 500; line-height: 1.5; word-break: keep-all;}

@media (hover: hover) {
  .location-info-card--tel {transition: transform 0.2s ease, box-shadow 0.2s ease;}
  .location-info-card--tel:hover {transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);}
}


/*===============================================================================================================================*/
/********* 3번 메뉴 프로젝트 || 상단 강조 목록 :: project *********/
.title-group {padding: 50px 0 10px;}
.title-group h2{padding: 70px 0 20px;}
h4.page-title{font-size: 32px; font-weight: 600; line-height: 1.3125; letter-spacing: -.03125em; margin-bottom: 3rem;}
.container__inner {width: 100%; max-width: 1280px; margin: 0 auto;}
.page-title {font-size: 60px; font-weight: 600; line-height: 1.25; letter-spacing: -.03125em;}
.bd-t{border-top: 1px solid #e9eaeb;}
.news-section {overflow: hidden; padding: 30px 0; background: #fff;}
.news-section__inner {width: min(100% - 48px, 1280px); margin: 0 auto;}
.news-slider {overflow: visible; cursor: grab; touch-action: pan-y;}
.news-slider.is-dragging {cursor: grabbing;}
.news-slider__track {display: flex; gap: 24px; transition: transform .45s cubic-bezier(.22, .61, .36, 1); will-change: transform;}
.news-card {flex: 0 0 410px; overflow: hidden; border-radius: 8px; background: #f2f3f5; transition: transform .28s ease, box-shadow .28s ease;}
.news-card:hover {transform: translateY(-6px); box-shadow: 0 18px 34px rgba(0, 0, 0, .08);}
.news-card a {display: block; height: 100%; color: inherit; text-decoration: none;}
.news-card__thumb {overflow: hidden; height: 252px; background: #ddd;}
.news-card__thumb img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; object-position: top;}
.news-card:hover .news-card__thumb img {transform: scale(1.05);}
.news-card__body {min-height: 240px; padding: 26px 24px 22px;}
.news-card time {display: block; margin-bottom: 14px; color: #7f858d; font-size: 14px; font-weight: 400;}
.news-card h3 {margin: 0; color: #15181d; font-size: 20px; font-weight: 500; line-height: 1.55; letter-spacing: -0.045em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.news-card__client {margin: 8px 0 0; color: #7f858d; font-size: 14px; font-weight: 400;}
.news-card__client:empty {display: none;}
.news-card__tags {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 30px;}
.news-card__tags span {display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 4px; background: #e5e7ea; color: #72777f; font-size: 13px; font-weight: 500;}
.news-control {display: flex; align-items: center; gap: 28px; margin-top: 62px;}
.news-progress {position: relative; overflow: hidden; flex: 1; height: 2px; background: #e2e3e5;}
.news-progress span {display: block; width: 25%; max-width: 100%; height: 100%; background: #111; transform: translateX(0); transition: transform .45s cubic-bezier(.22, .61, .36, 1);}

.news-buttons {display: flex; align-items: center; gap: 22px; flex-shrink: 0;}
.news-buttons button {display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 0; background: transparent; cursor: pointer;}
.news-buttons button span {display: block; width: 12px; height: 12px; border-top: 2px solid #111; border-right: 2px solid #111; transition: transform .25s ease, border-color .25s ease;}
.news-prev span {transform: rotate(-135deg);}
.news-next span {transform: rotate(45deg);}
.news-prev:hover span {transform: rotate(-135deg) translate(2px, -2px);}
.news-next:hover span {transform: rotate(45deg) translate(2px, -2px);}
.news-buttons button:focus-visible {outline: 3px solid #005fcc; outline-offset: 4px; border-radius: 4px;}

/************** 3번 메뉴 프로젝트 || 하단 메인 목록 :: project *************/
.newsroom-content-wrap {width: 100%;}
.newsroom-content-wrap *, .newsroom-content-wrap *::before, .newsroom-content-wrap *::after {box-sizing: border-box;}
.newsroom-content-wrap a {color: inherit; text-decoration: none;}
.newsroom-content-wrap img {display: block; max-width: 100%;}
.blind {overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; clip: rect(0 0 0 0);}
.newsroom-category-area {display: flex; align-items: center; justify-content: space-between; max-width: 1280px; margin: 0 auto 20px; padding: 0 20px;}
.newsroom-category-area .category-list-box {width: 100%; padding-right: 12px; overflow: hidden; -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 3px, #000 12px); mask-image: linear-gradient(to left, rgba(0, 0, 0, 0) 3px, #000 12px);}
.newsroom-category-area .category-list {display: flex; align-items: center; gap: 0;}
.newsroom-category-area .category-list-item {flex-shrink: 0; width: auto; height: 40px;}
.newsroom-category-area .category-list-item a {display: inline-flex; align-items: center; height: 100%; padding: 6px 16px; border: 1px solid rgba(0, 0, 0, .08); border-radius: 24px; color: #666; font-size: 15px; line-height: 28px; white-space: nowrap;}
.newsroom-category-area .category-list-item.is-active a {border-color: #111; background-color: #111; color: #fff; font-weight: 600;}
.newsroom-category-area .category-list-item.is-disabled {pointer-events: none;}
.newsroom-category-area .category-list-item.is-disabled a {border-color: rgba(0, 0, 0, .08); background: none; color: #d9d9d9;}

.newsroom-category-area .search-box {z-index: 9; flex-shrink: 0; min-width: 48px; height: 40px; background-color: #fff;}
.newsroom-category-area .search-input {position: relative; display: flex; align-items: center; width: min(100%, 800px); height: 64px; padding: 0 68px 0 26px; background: #fff; border: 1px solid #e3e6eb; border-radius: 32px; box-sizing: border-box; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06), 0 2px 6px rgba(15, 23, 42, 0.04); transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;}
.newsroom-category-area .search-input:hover {border-color: #cbd1d9; box-shadow: 0 12px 30px rgba(15, 23, 42, 0.09), 0 3px 8px rgba(15, 23, 42, 0.05);}
.newsroom-category-area .search-input:focus-within {border-color: #111827; box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.07), 0 14px 34px rgba(15, 23, 42, 0.1); transform: translateY(-1px);}
.newsroom-category-area .search-input .input-text {width: 100%; height: 100%; padding: 0; color: #111827; background: transparent; border: 0; outline: 0; font-size: 18px; font-weight: 500; line-height: 1; letter-spacing: -0.02em; appearance: none;}
.newsroom-category-area .search-input .input-text::placeholder {color: #a7adb7; font-weight: 400;}
.newsroom-category-area .search-input .input-text::-webkit-search-cancel-button {display: none;}
.search-delete {position: absolute; right: 58px; width: 26px; height: 26px; padding: 0; background: #eef0f3; border: 0; border-radius: 50%; cursor: pointer; opacity: 0; visibility: hidden; transform: scale(0.8); transition: 0.18s ease;}
.search-delete::before, .search-delete::after {position: absolute; top: 7px; left: 12px; width: 2px; height: 12px; background: #69717d; border-radius: 2px; content: "";}
.search-delete::before {transform: rotate(45deg);}
.search-delete::after {transform: rotate(-45deg);}
.newsroom-category-area .search-input .input-text:not(:placeholder-shown) + .search-delete {opacity: 1; visibility: visible; transform: scale(1);}
.newsroom-category-area .search-btn {position: absolute; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; right: 30px; color: #fff; background: #111827; border: 0; border-radius: 50%; cursor: pointer; transition: background-color 0.2s ease, transform 0.2s ease;}
.newsroom-category-area .search-btn:hover {transform: scale(1.05);}

.newsroom-category-area .input-text::placeholder {color: #c1c1c1;}
.newsroom-category-area .search-btn {width: 24px; min-width: 24px; height: 24px; border: 0; background: url("../img/btn_search_icon.png") no-repeat center / 24px 24px; cursor: pointer;}
.newsroom-category-area .search-delete {display: none; width: 16px; min-width: 16px; height: 16px; border: 0; background: url("../img/btn_search_delete.png") no-repeat center / 16px 16px; cursor: pointer;}
.newsroom-search-result {display: none; position: relative; width: 100%; margin: 32px auto 65px; padding: 0 20px;}
.newsroom-search-result.is-active {display: block;}
.newsroom-search-result .search-result-box {display: inline-block; width: 100%;}
.newsroom-search-result .search-result-box::after {content: ""; position: absolute; bottom: -32px; left: 20px; width: calc(100% - 40px); height: 1px; background-color: rgba(0, 0, 0, .08);}
.newsroom-search-result .search-result-text {float: left; color: #111; font-size: 20px; font-weight: 700; line-height: 28px; word-break: break-word;}
.newsroom-search-result .reset-btn {display: flex; align-items: center; float: right; height: 23px; margin-top: 3px; border: 0; background: transparent; color: #666; font-size: 14px; cursor: pointer;}
.newsroom-search-result .reset-btn::after {content: ""; display: block; width: 20px; height: 20px; margin-left: 2px; background: url("../img/btn_reset.png") no-repeat center / 20px 20px;}
.newsroom-featured-list {display: none; grid-template-columns: 1fr; row-gap: 40px; column-gap: 20px;}
.newsroom-featured-list.is-active {display: grid;}
.newsroom-no-list {display: none; height: 293px;}
.newsroom-no-list.is-active {display: block;}
.newsroom-featured-list-area {width: 100%; margin: 0 auto 56px; padding: 15px 20px;}
.newsroom-featured-item {min-width: 0;}
.newsroom-featured-item .item-link {display: block;}
.newsroom-featured-item .item-photo {overflow: hidden; width: 100%; margin-bottom: 12px; border-radius: 4px; background-color: #f3f5f8;}
.newsroom-featured-item .item-photo img {width: 100%; height: 100%; aspect-ratio: 1.76211; object-fit: cover; transform: scale(1); transition: transform .5s ease-in-out; object-position: center top;}
.newsroom-featured-item .date-author {display: flex; align-items: center; margin-bottom: 4px; color: #999; font-size: 14px; line-height: 23px;}
.newsroom-featured-item .date-author span + span {position: relative; margin-left: 17px;}
.newsroom-featured-item .date-author span + span::after {content: ""; position: absolute; top: 50%; left: -9px; width: 1px; height: 10px; background-color: #d9d9d9; transform: translate(-50%, -50%);}
.newsroom-featured-item .date-author .author:empty {display: none;}
.newsroom-featured-list-tit {display: -webkit-box; overflow: hidden; margin: 0 0 8px; color: #111; font-size: 17px; font-weight: 400; line-height: 27px; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3;}

.badge-box {display: flex; flex-wrap: wrap; align-items: center; min-height: 28px; row-gap: 8px;}
.badge-item {display: inline-flex; align-items: center; min-height: 28px; margin-right: 8px; padding: 2px 10px; border-radius: 4px; background-color: #f3f5f8; color: #666; font-size: 12px; line-height: 24px;}
.newsroom-no-list {display: none; height: 293px;}
.newsroom-no-list.is-active {display: block;}
.newsroom-no-list .no-list-item {position: relative; margin-left: 23px; color: #999; font-size: 14px; line-height: 23px;}
.newsroom-no-list .no-list-item::before {content: ""; position: absolute; top: 9px; left: -14px; width: 5px; height: 5px; border-radius: 50%; background-color: #999;}
.newsroom-pagination {margin-top: -16px; padding: 0 20px 56px; text-align: center;}
.newsroom-pagination .pagination-area {display: inline-flex; position: relative; max-width: calc(100% - 108px); height: 38px; padding: 0 54px;}
.newsroom-pagination .page-prev, .newsroom-pagination .page-next {position: absolute; top: 50%; z-index: 1; width: 32px; height: 32px; border-radius: 50%; background-color: #f3f5f8; transform: translate(-50%, -50%); cursor: pointer;}
.newsroom-pagination .page-prev {left: 18px;}
.newsroom-pagination .page-next {right: -15px;}
.newsroom-pagination .page-prev.is-disabled, .newsroom-pagination .page-next.is-disabled {pointer-events: none; opacity: .45;}
.newsroom-pagination .page-prev-icon, .newsroom-pagination .page-next-icon {display: inline-block; position: relative; width: 100%; height: 100%; transition: transform .2s ease-out;}
.newsroom-pagination .page-prev-icon::before, .newsroom-pagination .page-next-icon::before {content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; transform: translate(-50%, -50%);}
.newsroom-pagination .page-prev-icon::before {background: url("../img/blog_btn_arrow_left.png") no-repeat center / 16px 16px;}
.newsroom-pagination .page-next-icon::before {background: url("../img/blog_btn_arrow_right.png") no-repeat center / 16px 16px;}
.newsroom-pagination .page-num-wrap {display: inline-flex; overflow: hidden; position: relative; font-size: 0; color: #999;  gap: 10px;}
.newsroom-pagination .page-link, .newsroom-pagination .page-blind {display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; color: #999; font-size: 14px; line-height: 23px;}
.newsroom-pagination .page-link.is-active {color: #111; font-weight: 700; pointer-events: none;}
.newsroom-search-area {visibility: hidden; position: fixed; inset: 0; z-index: 999; width: 100%; height: 100%; opacity: 0; transition: opacity .2s ease-out, visibility 0s linear .2s;}
.newsroom-search-area.is-active {visibility: visible; opacity: 1; transition: opacity .2s ease-out, visibility 0s linear 0s;}
.newsroom-search-area::before {content: ""; position: absolute; inset: 0; background-color: rgba(0, 0, 0, .5); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);}
.newsroom-search-area .search-box {position: absolute; top: -67px; left: 0; width: 100%; border-bottom: 1px solid #ebebeb; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, .08); transition: top .3s ease-in-out; transition-delay: .2s;}
.newsroom-search-area .search-box.is-active {top: 0;}

.newsroom-search-area .go-back, .newsroom-search-area .search-btn {width: 24px; min-width: 24px; height: 24px; border: 0; cursor: pointer;}
.newsroom-search-area .go-back {margin-right: 8px; background: url("../img/btn_search_goback.png") no-repeat center / 24px 24px;}
.newsroom-search-area .search-btn {margin-left: 8px; background: url("../img/btn_search_icon.png") no-repeat center / 24px 24px;}
.newsroom-search-area .input-text {width: 100%; padding-right: 4px; border: 0; background: transparent; color: #111; font-size: 15px; line-height: 26px; caret-color: #006eff; outline: none; appearance: none;}
.newsroom-search-area .search-delete {width: 20px; min-width: 20px; height: 20px; border: 0; background: url("../img/btn_search_delete.png") no-repeat center / 20px 20px; cursor: pointer;}


/*===============================================================================================================================*/
/********** 3번-1 메뉴 프로젝트 || :: project_detail *********/
.project-detail {width: 100%; color: #111; background: #fff;}
.project-detail * {box-sizing: border-box;}
.project-hero {position: relative; overflow: hidden; min-height: 720px; padding: 120px 40px 0; /*background: radial-gradient(circle at 50% 60%, #26374d 0%, #202733 36%, #242426 72%);*/ background-color: #009ee8; color: #fff;}
.project-back {position: absolute; top: 28px; left: 28px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255,255,255,.18); cursor: pointer;}
.project-back::before {content: ""; position: absolute; top: 50%; left: 54%; width: 9px; height: 9px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(-50%, -50%) rotate(45deg);}
.project-hero__inner {display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(360px, .65fr); align-items: center; gap: 56px; max-width: 1320px; margin: 0 auto;}
.project-hero__mockup {align-self: start; height: 650px; overflow: hidden;}
.project-hero__mockup img {width: 100%; display: block;}
.project-hero__content {padding-bottom: 100px;}
.project-hero__content h1 {color: #ffffff; margin: 20px 0 28px; width: 380px;}
.project-hero__content p {margin: 0 0 40px; color: rgba(255,255,255,.86); font-size: 18px; line-height: 1.8; letter-spacing: -0.03em; word-break: keep-all;}

.project-info-list {margin: 0;}
.project-info-list div {display: flex; gap: 10px; margin-bottom: 10px;}
.project-info-list dt, .project-info-list dd {margin: 0; font-size: 16px; line-height: 1.5;}
.project-info-list dt {min-width: 130px; font-weight: 700; color: #fff;}
.project-info-list dd {color: rgba(255,255,255,.65);}
.project-overview {padding: 90px 40px 90px; background: #fff;}
.project-overview__inner {display: grid; grid-template-columns: minmax(0, 1fr) 420px; max-width: 1280px; margin: 0 auto;}
.section-label {display: block; margin-bottom: 18px; color: #009ee8; font-size: 13px; font-weight: 800;}
.project-overview h2 {margin: 0 0 32px; color: #07172f; font-size: 36px; font-weight: 800; line-height: 1.25; letter-spacing: -0.05em;}
.project-overview h2 strong {color: #00a9e8;}
.project-overview p {margin: 0 0 20px; color: #25344c; font-size: 16px; line-height: 1.8; word-break: keep-all;}
.project-bullet {margin: 28px 0 36px; padding: 0; list-style: none;}
.project-bullet li {position: relative; padding-left: 14px; color: #13294b; font-size: 15px; line-height: 1.8;}
.project-bullet li::before {content: ""; position: absolute; top: 12px; left: 0; width: 4px; height: 4px; border-radius: 50%;background: #009ee8;}
.project-btns {display: flex; gap: 10px;}

.btn {display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 24px; border-radius: 7px; font-size: 14px; font-weight: 700; text-decoration: none;}
.btn-line {border: 1px solid #00a9e8; color: #00a9e8; background: #fff;}
.btn-fill {border: 1px solid #00a9e8; color: #fff; background: #00a9e8;}
.project-card {align-self: start; padding: 32px; border: 1px solid #e1e6ee; border-radius: 20px; background: #fff;}
.project-card > div + div {margin-top: 28px; padding-top: 28px; border-top: 1px solid #e8ecf2;}
.project-card h3 {margin: 0 0 12px; color: #07172f; font-size: 13px; font-weight: 800;}
.project-card p, .project-card li {color: #07172f; font-size: 15px; line-height: 1.6;}
.project-card p, .project-card ul {margin: 0;}
.project-card ul {padding-left: 14px;}
.skill-list {display: flex; flex-wrap: wrap; gap: 8px;}
.skill-list span {display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border: 1px solid #e1e6ee; border-radius: 999px; color: #07172f; font-size: 13px; font-weight: 400;}
.project-share__btn {margin-bottom: 30px; display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 10px; background: linear-gradient(135deg, #2f7cff, #00a9e8); box-shadow: 0 24px 52px rgba(0, 120, 255, .35); transition: transform .25s ease, box-shadow .25s ease, background .25s ease;}
.project-share__btn img {width: 20px; height: 20px;}
.project-share__btn:hover {transform: translateY(-6px); background: linear-gradient(135deg, #222936, #121722); box-shadow: 0 18px 40px rgba(255, 0, 0, .35);}


/*===============================================================================================================================*/
/********** 4번 메뉴 문의하기 || :: contact *********/
#container.newsroom main.container {width: 100%; max-width: 1280px; margin: 0 auto; padding: 30px 0 70px;}
.section-title {margin: 0 0 18px; font-size: 22px; line-height: 1.4; font-weight: 600; letter-spacing: -0.04em;}
.contact-phone {margin-bottom: 30px;}
.phone-box {display: grid; grid-template-columns: repeat(2, 1fr); background: #f4f4f4; padding: 27px 34px;}
.phone-item {display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 28px; font-size: 18px; color: #666666; font-weight: 400;}
.phone-item strong {font-size: 22px; font-weight: 600; color: #333;}
.phone-icon {position: relative; flex: 0 0 auto; width: 20px; height: 20px; display: inline-block;  transform: translateY(2px);}
.phone-icon::before {content: ""; position: absolute; inset: 0; display: block; background-image: url("../img/ico/symbols_call.svg"); background-repeat: no-repeat; background-position: center; background-size: contain;}
.policy-section {margin-bottom: 45px;}
.policy-box {height: 150px; padding: 22px 24px; overflow-y: auto; background: #f7f7f7; color: #8a94a3; font-size: 13px; line-height: 1.8; border: 1px solid #e1e6ee; border-radius: 4px; scrollbar-width: thin; scrollbar-color: #9aa7b8 #eef2f6; cursor: pointer;}
.policy-box:focus {outline: 2px solid #1297f4; outline-offset: 2px; cursor: pointer;}
.policy-box::-webkit-scrollbar {width: 8px;}
.policy-box::-webkit-scrollbar-track {background: #eef2f6; border-radius: 10px;}
.policy-box::-webkit-scrollbar-thumb {background: #9aa7b8; border-radius: 10px; border: 2px solid #eef2f6;}
.policy-box::-webkit-scrollbar-thumb:hover {background: #383838;}

.inquiry-form {width: 100%; margin-top: 48px;}
.form-table {border-top: 0;}
.form-row {display: block; min-height: auto; padding: 0; margin-bottom: 34px; border-bottom: 0;}
.form-label {display: block; margin-bottom: 12px; font-size: 18px; line-height: 1.4; font-weight: 500; color: #2f3a4a; letter-spacing: -0.03em;}
.form-field {display: block; width: 100%;}
.input {width: 100%; height: 60px; padding: 0 24px; border: 1px solid #d5dde8; border-radius: 4px; background: #fff; font-size: 15px; font-weight: 600; color: #1f2937; outline: none; transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.input::placeholder {color: #b8c0cb; font-weight: 400;}
.input:hover {border-color: #b7c3d3;}
.input:focus {border-color: #1297f4; box-shadow: 0 0 0 3px rgba(18, 151, 244, 0.12);}
.textarea-row .form-label {padding-top: 0; margin-bottom: 4px;}
.textarea-row .form-label::after {content: "아래 내용을 함께 적어주시면 더욱 구체적이고 정확한 답변을 받으실 수 있습니다.\\A성함 · 연락처 · 소속 및 부서 · 도입 예상 시기 · 문의하실 내용"; display: block; white-space: pre-line; margin: 12px 0; font-size: 14px; line-height: 1.6; font-weight: 400; color: #7a7a7a;}
.form-row:first-child {margin-bottom: 24px;}
.form-row:first-child .form-label {margin-bottom: 12px;}
.checks {display: flex; align-items: center; flex-wrap: wrap; gap: 12px 14px; min-height: 64px; padding: 18px 32px; border-radius: 4px; background: #f5f7fa;}
.check {display: inline-flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: #4b5563; cursor: pointer; white-space: nowrap;}
.check input {appearance: none; width: 16px; height: 16px; border: 1px solid #c8d2df; border-radius: 3px; background: #fff; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease;}
.check input:checked {border-color: #1297f4; background: #1297f4; box-shadow: inset 0 0 0 3px #fff;}
.check input:focus-visible {outline: 2px solid #1297f4; outline-offset: 2px;}
.textarea-row {min-height: auto; margin-bottom: 22px;}
.textarea {width: 100%; min-height: 250px; padding: 22px 24px; border: 1px solid #d5dde8; border-radius: 4px; background: #fff; font-size: 15px; line-height: 1.7; font-weight: 600; color: #1f2937; outline: none; resize: vertical; transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.textarea::placeholder {color: #7a7a7a; font-weight: 700;}
.textarea:hover {border-color: #b7c3d3;}
.textarea:focus {border-color: #1297f4; box-shadow: 0 0 0 3px rgba(18, 151, 244, 0.12);}
.form-bottom {display: flex; flex-direction: column; align-items: stretch; gap: 36px; margin-top: 20px; padding-top: 0;}

.agree {display: inline-flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.5; font-weight: 700; color: #4b5563; cursor: pointer;}
.agree input {appearance: none; flex: 0 0 auto; width: 28px; height: 28px; border: 1px solid #8fa3bd; border-radius: 4px; background: #fff; cursor: pointer; position: relative; transform: translateY(2px);}
.agree input:checked::after {content: ""; position: absolute; left: 9px; top: 4px; width: 7px; height: 13px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);}
.agree input:checked {border-color: #1297f4; background: #1297f4;}
.agree input:focus-visible {outline: 2px solid #1297f4; outline-offset: 2px;}
.agree::first-letter {color: inherit;}
.agree a, .agree .agree-link {color: #1297f4; font-weight: 800; text-decoration: none;}
.form-bottom::before {content: ""; display: block; width: 100%; height: 1px; margin-top: 6px; background: #cbd5e1; order: 2;}
.submit-btn {align-self: flex-end; order: 3; width: 160px; height: 50px; border: 0; border-radius: 6px; background: #1297f4; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.2s ease;}
.submit-btn::after {content: "→"; display: inline-block; margin-left: 8px; transition: transform 0.2s ease;}
.submit-btn:hover, .submit-btn:focus-visible {background: #1297f4;}
.submit-btn:hover::after, .submit-btn:focus-visible::after {transform: translateX(5px);}
.submit-btn:active::after {transform: translateX(8px);}
.submit-btn:focus-visible {outline: 2px solid #1297f4; outline-offset: 3px;}
.prev-btn {width: 160px; height: 50px; border: 1px solid #a8b5c6; border-radius: 6px; background: #fff; color: #334155; font-size: 15px; font-weight: 800; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease;}
.prev-btn:hover, .prev-btn:focus-visible {border-color: #64748b; background: #f8fafc;}
.prev-btn:focus-visible {outline: 2px solid #1297f4; outline-offset: 3px;}
.form-actions {order: 3; display: flex; justify-content: flex-end; gap: 8px;}


/*===============================================================================================================================*/
/********** 5번 메뉴 채용 || :: careers *********/
.recruit-page {width: 100%; color: #111; background: #fff;}
.page-visual {width: 100%; padding: 96px 25px 30px; background: #fff;}
.page-visual__inner {width: 100%; max-width: 1280px; margin: 0 auto;}
.breadcrumb {display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 18px; line-height: 1.4; font-weight: 500; color: #666; white-space: nowrap;}
.home-icon {width: 14px; height: 14px; display: inline-block; background: currentColor; clip-path: polygon(50% 0, 100% 42%, 84% 42%, 84% 100%, 58% 100%, 58% 68%, 42% 68%, 42% 100%, 16% 100%, 16% 42%, 0 42%);}
.tab-menu {display: flex; align-items: center; gap: 30px; margin-top: 60px;}
.tab-menu a {position: relative; display: inline-flex; align-items: center; padding-bottom: 14px; font-size: 22px; line-height: 1.3; font-weight: 500; color: #c8c8c8; letter-spacing: -0.04em; text-decoration: none; transition: color 0.2s ease;}
.tab-menu a:hover, .tab-menu a:focus-visible, .tab-menu a.active {color: #1297f4; font-weight: 700;}
.tab-menu a.active::after {content: ""; position: absolute; left: 50%; bottom: 0; width: 7px; height: 7px; border-radius: 50%; background: #1297f4; transform: translateX(-50%);}
.recruit-content {width: 100%; max-width: 1280px; margin: 0 auto;}
.recruit-list {border-top: 1px solid #666;}
.recruit-item {display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 145px; padding: 34px 32px 34px 36px; border-bottom: 1px solid #d9d9d9; color: inherit; text-decoration: none; transition: background 0.2s ease;}
.recruit-item:hover, .recruit-item:focus-visible {background: #fafafa;}
.recruit-item:focus-visible {outline: 2px solid #1297f4; outline-offset: -2px;}
.recruit-info {flex: 1; min-width: 0;}
.recruit-meta {display: flex; align-items: center; gap: 13px; margin-bottom: 14px; font-size: 16px; line-height: 1.4; color: #555; letter-spacing: -0.03em;}
.recruit-meta strong {font-weight: 800; color: #1297f4;}
.recruit-meta span {position: relative; font-weight: 600;}
.recruit-meta span::before {content: "·"; margin-right: 13px; color: #999;}
.recruit-title {margin: 0; font-size: 26px; line-height: 1.35; font-weight: 500; color: #222; letter-spacing: -0.055em;}
.recruit-status {flex: 0 0 auto; width: 104px; height: 104px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #f5f5f5; color: #777; font-size: 15px; font-weight: 700; letter-spacing: -0.04em; transition: background 0.2s ease, color 0.2s ease;}
.recruit-status.is-closed {background: #8b8b8b; color: #fff;}
.recruit-status.is-closed span::after {content: " →"; display: inline-block; margin-left: 6px; transition: transform 0.2s ease;}
.recruit-item:hover .recruit-status.is-closed span::after, .recruit-item:focus-visible .recruit-status.is-closed span::after {transform: translateX(6px);}


/*===============================================================================================================================*/
/********** 5번-1 메뉴 채용 || :: careers_detail *********/
.recruit-view {max-width: 1280px; margin: 0 auto; padding: 120px 0 100px; color: #222;}
.view-head {position: relative; padding-bottom: 36px; border-bottom: 1px solid #ddd;}
.view-head h3 {margin: 0 0 18px; font-size: 34px; font-weight: 800; line-height: 1.35;}
.view-meta {display: flex; align-items: center; gap: 18px; font-size: 20px; color: #888; font-weight: 700;}
.view-meta strong {color: #005bac;}
.view-meta span {position: relative;}
.view-meta span::before {content: ""; display: inline-block; width: 3px; height: 3px; margin-right: 14px; background: #999; border-radius: 50%; vertical-align: middle;}
.list-btn {position: absolute; right: 0; bottom: 34px; display: inline-flex; align-items: center; gap: 10px; min-width: 110px; height: 44px; padding: 0 22px; border-radius: 999px; background: #f1f1f1; color: #777; font-size: 14px; text-decoration: none; justify-content: center;}
.list-btn::after {content: ""; width: 18px; height: 18px; flex-shrink: 0; background-color: #999; mask: url('../img/ico/hamburger-back.svg') no-repeat center / contain; -webkit-mask: url('../img/ico/hamburger-back.svg') no-repeat center / contain; background-size: contain;}
.list-btn:hover::after {transform: translateX(-3px); transition: transform .4s ease-in;}
.view-section {display: grid; grid-template-columns: 260px 1fr; gap: 70px; padding: 68px 0 0;}
.view-section h4 {margin: 0; font-size: 28px; font-weight: 800; line-height: 1.35;}
.info-box {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px 56px; padding: 40px 44px; background: #f6f6f6;}
.info-box dl {display: grid; grid-template-columns: 90px 1fr; gap: 14px; margin: 0; font-size: 15px;}
.info-box dt {color: #666;}
.info-box dt::before {content: "· ";}
.info-box dd {margin: 0; font-weight: 700; color: #222;}
.info-box .point {color: #0066c9;}
.content-box {font-size: 17px; font-weight: 700; line-height: 1.8;}
.content-box p {margin: 0 0 14px;}
.detail-section {align-items: start;}
.notice-text {grid-column: 1 / 2; color: #888; font-size: 14px; line-height: 1.7; font-weight: 400; margin-top: 60px;}
.poster-box {grid-column: 2 / 3;  max-width: 660px; height: max-content;  overflow: hidden;}
.poster-box img {display: block; width: 100%; height: auto;}
.view-bottom {margin-top: 70px; padding-top: 42px; border-top: 1px solid #ddd; text-align: right;}
.view-bottom .list-btn {position: static;}


/*===============================================================================================================================*/
/********** 5번-2 채용 인재상 || :: careers_main *********/
/* 인재상 메인 :: 섹션 01 */
.talent-section {padding: 40px 0;}
.talent-section .inner {max-width: 1280px; margin: 0 auto; padding: 0 24px;}
.section-title {margin: 0 0 34px; font-size: 28px; font-weight: 800; color: #111;}
.talent-list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 34px;}
.talent-item {position: relative; text-align: center;}
.talent-item:not(:last-child)::after {content: "+"; position: absolute; top: 115px; right: -30px; color: #214766; font-size: 54px; font-weight: 400;}
.talent-circle {width: 280px; height: 280px; margin: 0 auto 36px; border: 2px solid #315d86; border-radius: 50%; box-shadow: 0 18px 35px rgba(30, 67, 104, 0.12); display: flex; flex-direction: column; align-items: center; justify-content: center;}
.talent-item:nth-child(1) .talent-circle {border-color: #6aa0df;}
.talent-item:nth-child(2) .talent-circle {border-color: #416d98;}
.talent-item:nth-child(3) .talent-circle {border-color: #2f4f6d;}
.talent-item:nth-child(4) .talent-circle {border-color: #1c2d3d;}
.talent-icon {width: 70px; height: 72px; margin-bottom: 24px; background-repeat: no-repeat; background-position: center; background-size: contain;}
.talent-item:nth-child(1) .talent-icon {background-image: url('../img/sub/icon-talent-01.png');}
.talent-item:nth-child(2) .talent-icon {background-image: url('../img/sub/icon-talent-03.png');}
.talent-item:nth-child(3) .talent-icon {background-image: url('../img/sub/icon-talent-02.png');}
.talent-circle strong {font-size: 19px; font-weight: 800; color: #000; margin-bottom: 14px;}
.talent-item p {margin: 0; font-size: 18px; line-height: 1.55; color: #111;}
.talent-item:hover {transition: transform .3s ease; transform: translateY(-3px); cursor: pointer;}
.talent-item:hover .talent-circle {border-color: #0b5cab; box-shadow: 0 22px 45px rgba(11, 92, 171, 0.18); background: #f8fbff;}
.talent-item:hover .talent-icon {transform: scale(1.08);}
.talent-item:hover .talent-circle strong {color: #0b5cab;}

/* 인재상 메인 :: 섹션 02 */
.career-section {padding: 60px 0;}
.career-section .inner {max-width: 1280px; margin: 0 auto; padding: 0 24px;}
.row + .row {margin-top: 90px;}
.section-title {margin: 0; font-size: 30px; font-weight: 800; color: #111;}
.content-area {min-width: 0;}
.talent-desc {text-align: center; margin-bottom: 54px;}
.talent-desc strong {display: block; margin-bottom: 10px; font-size: 21px; font-weight: 800; color: #111;}
.talent-desc p {margin: 0; font-size: 17px; line-height: 1.6; color: #333;}
.talent-shape-list {display: flex; justify-content: center; align-items: center;}
.talent-shape {width: 240px; height: 240px; margin-left: -24px; border-radius: 50%; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.talent-shape:first-child {margin-left: 0; border-bottom-right-radius: 0;}
.talent-shape:last-child {border-bottom-left-radius: 0;}
.talent-shape.ethics {background: #52d2bd;}
.talent-shape.challenge {background: #12aabb;}
.talent-shape.creative {background: #1264b8;}
.talent-shape.professional {background: #173568;}
.talent-shape .icon {width: 52px; height: 52px; margin-bottom: 22px; background: url('../img/careers/icon-talent-white.svg') no-repeat center / contain;}
.talent-shape strong {font-size: 22px; font-weight: 800;}
.talent-shape em {margin-top: 10px; font-size: 13px; font-style: normal; font-weight: 700; opacity: .55;}
.talent-text-list {display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 28px; text-align: center;}
.talent-text-list p {margin: 0; font-size: 15px; line-height: 1.6; color: #444;}
.welfare-list {border-top: 1px solid #183d73; display: grid; grid-template-columns: repeat(3, 1fr);}
.welfare-card {min-height: 320px; padding: 42px 34px; box-sizing: border-box;}
.welfare-card:nth-child(even) {background: #f4f5f8;}
.welfare-card:nth-child(4), .welfare-card:nth-child(5), .welfare-card:nth-child(6) {border-top: 1px solid #ddd;}
.welfare-icon {display: block; width: 92px; height: 92px; margin-bottom: 42px; border-radius: 50%; background-repeat: no-repeat; background-position: center; background-size: 46px;}
.welfare-card:nth-child(1) .welfare-icon {background-image: url('../img/careers/welfare_icon01.png');}
.welfare-card:nth-child(2) .welfare-icon {background-image: url('../img/careers/welfare_icon02.png');}
.welfare-card:nth-child(3) .welfare-icon {background-image: url('../img/careers/welfare_icon03.png');}
.welfare-card:nth-child(4) .welfare-icon {background-image: url('../img/careers/welfare_icon04.png');}
.welfare-card:nth-child(5) .welfare-icon {background-image: url('../img/careers/welfare_icon05.png');}
.welfare-card:nth-child(6) .welfare-icon {background-image: url('../img/careers/welfare_icon06.png');}
.welfare-card:nth-child(7) .welfare-icon {background-image: url('../img/careers/welfare_icon07.png');}
.welfare-card:nth-child(8) .welfare-icon {background-image: url('../img/careers/welfare_icon08.png');}
.welfare-card:nth-child(9) .welfare-icon {background-image: url('../img/careers/welfare_icon09.png');}
.welfare-card:nth-child(10) .welfare-icon {background-image: url('../img/careers/welfare_icon10.png');}
.welfare-card:nth-child(even) .welfare-icon {background-color: #fff;}
.welfare-card strong {display: block; margin-bottom: 24px; font-size: 22px; font-weight: 800; color: #111;}
.welfare-card p {margin: 0; font-size: 15px; line-height: 1.7; color: #444;}

/* 인재상 메인 :: 섹션 03 */
.apply-section {padding: 20px 0 50px 0;}
.apply-section .inner {max-width: 1280px; margin: 0 auto; padding: 0 24px;}
.section-title {margin: 0 0 24px; font-size: 28px; font-weight: 800; color: #111;}
.apply-list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px;}
.apply-card {min-height: 340px; padding: 36px 40px; border: 3px solid #f1f1f1; text-align: center; box-sizing: border-box;}
.logo-box {height: 150px; margin-bottom: 36px; border-radius: 10px; background: #f6f6f6; display: flex; align-items: center; justify-content: center;}
.logo-box img {max-width: 100%;}
.apply-card strong {display: block; margin-bottom: 70px; font-size: 22px; font-weight: 800; color: #000;}
.apply-btn {display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 170px; height: 48px; padding: 0 24px; border: 1px solid #ddd; border-radius: 999px; color: #000; font-size: 15px; font-weight: 700; text-decoration: none; box-sizing: border-box; transition: all .25s ease;}
.apply-btn::after {content: "→"; font-size: 18px; line-height: 1;}
.apply-btn:hover {background: #0b5cab; border-color: #0b5cab; color: #fff;}
.contact-box {margin-top: 30px; padding: 34px 46px; background: #f5f5f5; display: flex; align-items: center; justify-content: space-between; gap: 30px;}
.contact-left {display: flex; align-items: center; gap: 28px;}
.contact-icon {width: 58px; height: 58px; flex-shrink: 0; background: url('../img/sub/icon-contact.png') no-repeat center / contain;}
.contact-left strong {font-size: 24px; font-weight: 800; color: #000;}
.contact-left p {margin: 0; font-size: 17px; color: #333;}
.contact-mail {flex-shrink: 0; font-size: 18px; font-weight: 800; color: #000; text-decoration: none;}

/*===============================================================================================================================*/
/********** 개인정보처리방침 || :: privacy *********/
.privacy-section {color: #222;}
.privacy-section h2 {margin: 0 0 22px; font-size: 28px; font-weight: 800;}
.privacy-box {padding: 24px 28px; border: 1px solid #dfe5ec; background: #f8fafc; border-radius: 4px; line-height: 1.8;}
.privacy-box p {margin: 0 0 10px;}
.privacy-box p:last-child {margin-bottom: 0;}
.privacy-date {color: #566579; font-weight: 600;}
.privacy-toc {display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 28px 0 34px; border: 1px solid #dfe5ec; background: #e7e9eb; border-radius: 5px;}
.privacy-toc a {display: block; padding: 16px 20px; background: #fff; color: #26384f; text-decoration: none; font-weight: 600;}
.privacy-toc a:hover {background: #f3f7fb;}
.privacy-article {margin-top: 34px;}
.privacy-article h3 {margin: 0 0 14px; font-size: 20px; font-weight: 800; color: #111;}
.privacy-article p {margin: 0; color: #4d5a6a; font-size: 15px; line-height: 1.8;}
.privacy-table-wrap {overflow-x: auto; margin-top: 14px;}
.privacy-table {width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 2px solid #222;}
.privacy-table th, .privacy-table td {padding: 16px; border-bottom: 1px solid #e2e6eb; border-right: 1px solid #e2e6eb; font-size: 14px; line-height: 1.7; text-align: center;}
.privacy-table th {background: #f7f8fa; color: #111; font-weight: 700;}
.privacy-table td {color: #4d5a6a;}
.privacy-table th:last-child, .privacy-table td:last-child {border-right: 0;}
.privacy-help {margin-top: 34px; padding: 18px 20px; background: #f8fafc; border-left: 4px solid #1b75bc; color: #4d5a6a; line-height: 1.7;}


/************** 000. 반응형 대응 ************/
@media screen and (max-width: 1300px) {
  /********** 0000. 공통 *********/
/*#container {margin: 0 40px;}*/
/*   #container .dms-cloud-cta, #container .dms-bottom-banner {margin-left: -40px; margin-right: -40px; width: calc(100% + 80px);} */

  .news-card {flex-basis: 410px;}
  .news-card__thumb {height: 238px;}
  .newsroom-featured-list {gri1d-template-columns: repeat(2, 1fr);}
  .page-title {font-size: 48px;}

  /********** 1번-3 고객사 :: customer *********/
  .client-logo-grid {grid-template-columns: repeat(5, minmax(0, 1fr));}

  /********** 3번-1 메뉴 프로젝트 || :: project_detail *********/
  .project-hero {min-height: 660px; padding-top: 100px;}
  .project-hero__inner {grid-template-columns: 1.2fr .8fr; gap: 40px;}
  .project-hero__content p {margin-bottom: 80px; font-size: 17px;}

  /********** 5번-2 채용 인재상 || :: careers_main *********/
  .talent-circle {width: 240px; height: 240px;}
  .talent-item:not(:last-child)::after {top: 122px;}
}

@media screen and (max-width: 1180px) {
  /********* 1번-2 메뉴 연혁 :: history *********/
  .history-layout {grid-template-columns: 38vw 1fr;}
  .history-content__inner {width: min(100%, 620px);}

  /********* 1번-4 메뉴 조직도 :: organization *********/
  .org-chart {min-height: 740px;}
  .org-chart__middle {left: 0;}
  .org-side {right: 0;}
  .org-side::before {width: 150px;}
  .org-contact, .org-side__card {width: 250px;}
  .org-division-wrap {gap: 14px;}
  .org-ceo::after {content: ""; left: 47%; height: 162px;}
}

@media screen and (min-width: 1100px) {
  /************** 03. 하단 목록 :: project *************/
  .newsroom-category-area {padding: 32px 30px;}
  .newsroom-category-area .category-list-item:not(.is-active) a:hover {color: #006eff;}
  .newsroom-category-area .category-list-item a {font-size: 17px;}
  .newsroom-category-area .input-text {font-size: 16px; line-height: 24px;}
  .newsroom-search-result {width: auto; max-width: 1000px; margin: 48px auto 97px; padding: 0 30px; box-sizing: content-box;}
  .newsroom-search-result .search-result-box::after {bottom: -48px; width: 100%; max-width: 1000px;}
  .newsroom-search-result .search-result-text {font-size: 23px; line-height: 30px;}
  .newsroom-search-result .reset-btn {font-size: 16px; line-height: 24px;}
  .newsroom-search-result .reset-btn:hover {color: #006eff;}
  .newsroom-featured-list-area {max-width: 1280px; margin: 0 auto 100px; padding: 20px 30px; box-sizing: content-box;}
  .newsroom-featured-list {grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 64px; column-gap: 20px;}
  .newsroom-featured-item .item-link:hover .item-photo img {transform: scale(1.1);}
  .newsroom-featured-item .item-link:hover .newsroom-featured-list-tit {color: #006eff;}
  .newsroom-featured-item .item-photo {margin-bottom: 20px;}
  .newsroom-featured-list-tit {font-size: 19px;}
  .badge-item {font-size: 13px;}
  .badge-item:hover {color: #006eff;}
  .newsroom-pagination {margin-top: -20px; padding-bottom: 100px;}
  .newsroom-pagination .page-prev:hover, .newsroom-pagination .page-next:hover {background-color: #e1e5ea;}
  .newsroom-pagination .page-prev:hover .page-prev-icon {transform: translateX(-2px);}
  .newsroom-pagination .page-next:hover .page-next-icon {transform: translateX(2px);}
  .newsroom-pagination .page-link {font-size: 15px;}

  /********** 04. 서브 하단 영역 :: sub_footer **********/
  #footer .wrap {display: grid; grid-template-columns: 320px 1fr; gap: 80px; padding: 60px 0 52px;}
  #footer .left-area {position: relative; margin-bottom: 0;}
  #footer .copyright {position: absolute; left: 0; bottom: 0; width: 360px; font-size: 15px;}
  #footer .right-area {display: flex; align-items: flex-start; justify-content: flex-end; gap: 34px;}
  #footer .interior-sites {width: 130px; flex: 0 0 auto;}
  #footer .interior-list-tit {font-size: 13px;}
  #footer .interior-list-item a {font-size: 15px;}
  #footer .go-top {position: static; flex: 0 0 40px; margin-left: 10px;}

  /********** 5번-2 채용 인재상 || :: careers_main *********/
  /* 인재상 메인 :: 섹션 02 */
  .row {grid-template-columns: 1fr; gap: 5px;}
  .talent-shape {width: 210px; height: 210px;}
}

@media screen and (max-width: 1024px) {
  body:not(.main-page) .gnb-toggle {background-color: #fff;}
  body:not(.main-page) .gnb-toggle span {background: #555;}
  body:not(.main-page) .gnb:hover::before, .gnb:focus-within::before, .gnb.is-open::before {opacity: 0 !important;}
  body:not(.main-page) .gnb .menu {border-bottom: 1px solid #999;}
  body:not(.main-page) .gnb .menu[aria-haspopup="true"]::before {content: ""; border-right: 2px solid #777; border-bottom: 2px solid #777;}
  body:not(.main-page) .gnb .menu > ul {background: rgba(0, 0, 0, 0.03);}

  .news-section {padding: 40px 0;}
  .news-section__inner {width: calc(100% - 40px);}
  .news-slider__track {gap: 20px;}
  .news-card {flex-basis: 330px;}
  .news-card__thumb {height: 220px;}
  .news-card__body {min-height: 220px; padding: 22px 20px 20px;}
  .news-card h3 {font-size: 18px;}
  .news-card__tags {margin-top: 36px;}
  .news-control {margin-top: 46px;}

  .page-title {font-size: 40px; font-weight: 600; padding: 0 20px;}

  /********* 1번-1 메뉴 인사말/비전 :: intro *********/
  /* 인사말 :: 섹션 01 */
  .message-heading {margin-bottom: 84px;}
  .message-content {grid-template-columns: 1fr; gap: 64px;}
  .message-visual {min-height: auto; padding-top: 40px; padding-bottom: 112px;}
  .message-visual__image {width: min(100%, 380px);}
  .message-visual__deco--large {right: 20%; top: 20px;}
  .message-visual__deco--small {left: 20%; top: 180px;}
  .message-sign {bottom: 0; text-align: center;}

  /* 인사말 :: 섹션 02 */
  .professional-list {gap: 48px;}
  .professional-item__title {font-size: 28px;}
  .professional-item__summary {font-size: 20px;}
  .professional-item__desc {font-size: 15px;}

  /********* 미션/비전 :: mission_vision *********/
  .ai-circle {width: 250px; height: 250px;}
  .ai-circle--empty {margin: 0 -50px;}
  .mission-activity__grid {grid-template-columns: repeat(2, 1fr);}

  /********** 1번-3 고객사 :: customer *********/
  .client-logo-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
  .client-logo-card {min-height: 76px; padding: 16px 18px;}

  /********** 3번-1 메뉴 프로젝트 || :: project_detail *********/
  .project-hero {padding: 96px 28px 0;}
  .project-hero__inner {grid-template-columns: 1fr;}
  .project-hero__mockup {order: 2; max-width: 720px; margin: 0 auto;}
  .project-hero__content {order: 1; padding-bottom: 0;}
  .project-hero__content p {margin-bottom: 48px;}
  .project-overview__inner {max-width: 760px; grid-template-columns: 1fr; gap: 48px;}
  .project-card {max-width: 100%;}

  /*********** 5번 메뉴 채용 || :: careers ***********/
  .page-visual {padding: 80px 25px 30px;}
  .page-title {font-size: 46px;}
  .tab-menu {margin-top: 68px;}
  .recruit-title {font-size: 23px;}
  .recruit-status {width: 92px; height: 92px; font-size: 14px;}

  /********** 5번 메뉴 채용 || :: careers_detail *********/
  .view-section {grid-template-columns: 200px 1fr; gap: 40px;}
  .info-box {grid-template-columns: repeat(2, 1fr);}
  .poster-box {max-width: 100%;}
  .view-section h4 {font-size: 26px;}

  /********** 5번-2 채용 인재상 || :: careers_main *********/
  /* 인재상 메인 :: 섹션 01 */
  .talent-list {grid-template-columns: repeat(2, 1fr); gap: 54px 30px;}
  .talent-item:nth-child(2)::after {display: none;}
  .talent-item:not(:last-child)::after {right: -18px;}

  /* 인재상 메인 :: 섹션 03 */
  .apply-list {gap: 20px;}
  .apply-card {padding: 28px 24px;}
  .contact-box {padding: 30px;}
}

@media screen and (max-width: 980px) {

  .message-visual__image {bottom: 0;}

  /********* 1번-2 메뉴 연혁 :: history *********/
  .history-layout {display: block;}
  .history-visual {position: relative; height: auto; min-height: 420px;}
  .history-visual__content {padding: 72px 24px;}
  .history-tabs {width: min(100%, 440px);}
  .history-content__inner {width: min(100%, 760px); padding: 64px 24px 90px;}
  .history-decade {scroll-margin-top: 24px;}

  /********* 1번-4 메뉴 조직도 :: organization *********/
  .org-chart {min-height: auto; display: flex; flex-direction: column; gap: 34px;}
  .org-ceo {width: 230px; height: 230px;}
  .org-ceo::after {display: none;}
  .org-ceo__circle {width: 188px; height: 188px; border-width: 8px;}
  .org-chart__middle, .org-side, .org-division-wrap {position: relative; top: auto; left: auto; right: auto; bottom: auto; width: 100%; transform: none;}
  .org-contact, .org-side__card {width: 100%;}
  .org-side::before, .org-side__card::before, .org-division-wrap::before, .org-division::before, .org-division::after, .org-team-list::before, .org-team::before, .org-team::after, .org-team-group::before, .org-team-group::after {display: none;}
  .org-division-wrap {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px;}
  .org-team-list {margin-top: 14px;}
  .org-team-list--four, .org-team-list--two {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media screen and (max-width: 920px) {
  /********** 1번-5 오시는 길 || :: location *********/
  .location-section__inner {width: min(100%, 720px);}
  .location-map {border-radius: 22px;}
  .location-summary {grid-template-columns: 1fr; gap: 18px;}
  .location-summary__info {grid-template-columns: 1fr 180px;}
  .location-traffic {margin-left: 0;}

  /********** 5번-1 메뉴 채용 || :: careers_detail *********/
  .notice-text br {display: none;}
  .notice-text {margin-top: 20px;}

  /********** 5번-2 채용 인재상 || :: careers_main *********/
  /* 인재상 메인 :: 섹션 02 */
  .talent-shape-list {flex-wrap: wrap; gap: 16px;}
  .talent-shape {width: calc(50% - 8px); height: 200px; margin-left: 0; border-radius: 26px;}
  .talent-text-list {grid-template-columns: repeat(2, 1fr);}
  .welfare-list {grid-template-columns: repeat(2, 1fr);}
  .welfare-card:nth-child(3) {border-top: 1px solid #ddd;}
}

@media screen and (max-width: 880px) {
  h4.page-title {font-size: 24px;}
  .phone-item strong {font-size: 18px;}

  #footer .interior-list-tit {pointer-events: auto; z-index: 9999; position: relative; display: flex; align-items: center; justify-content: space-between; padding-right: 28px; cursor: pointer;}
  #footer .interior-list-tit::after {content: ""; position: absolute; top: 50%; right: 4px; width: 8px; height: 8px; border-right: 2px solid #999; border-bottom: 2px solid #999; transform: translateY(-65%) rotate(45deg); transition: transform .25s ease, border-color .25s ease;}
  #footer .interior-sites.is-open .interior-list-tit::after {transform: translateY(-35%) rotate(-135deg); border-color: #fff;}
  #footer .interior-sites.is-open .interior-list-tit {color: #fff;}
  #footer .interior-list {overflow: hidden; max-height: 0; transition: max-height .3s ease; display: block;}
  #footer .interior-sites.is-open .interior-list {max-height: 280px;}

  .professional-list {grid-template-columns: 1fr; gap: 54px;}

  /********** 5번-1 메뉴 채용 || :: careers_detail *********/
  .recruit-view {padding: 40px 18px 70px;}
  .view-head h3 {font-size: 25px;}
  .view-meta {flex-wrap: wrap; gap: 8px 14px;}
  .list-btn {position: static; margin-top: 24px; height: 40px; font-size: 13px;}
  .view-section {display: block; padding-top: 48px;}
  .view-section h4 {margin-bottom: 22px; font-size: 23px;}
  .info-box {grid-template-columns: 1fr; gap: 18px; padding: 28px 22px;}
  .info-box dl {grid-template-columns: 90px 1fr; font-size: 14px;}
  .content-box {font-size: 15px;}
  .notice-text {margin-bottom: 22px; font-size: 13px;}
  .poster-box {max-width: 100%;}
  .view-bottom {margin-top: 50px; text-align: center;}
}

@media screen and (min-width: 850px) {
  #container {margin: 0 !important;}
  /********* 1번-1 메뉴 인사말/비전 :: intro *********/
  /* 인사말/비전 메인 :: 섹션 02 */
  .professional-item {max-width: 520px; margin: 0 auto;}
  .professional-item__icon {height: 96px; margin-bottom: 26px;}
  .professional-item__icon img {max-width: 86px; max-height: 86px;}
  .professional-item__summary {margin-bottom: 18px;}

  /************** 03. 하단 목록 :: project *************/
  .newsroom-category-area {margin-bottom: 0; padding: 20px 0 45px;}
  .newsroom-category-area .category-list {gap: 6px;}
  .newsroom-category-area .category-list-item a {font-size: 16px;}
  .newsroom-category-area .search-box {min-width: 400px;}

  .newsroom-category-area .search-input {width: 100%; height: 56px; padding-left: 22px; border-radius: 28px;}
  .newsroom-category-area .search-input .input-text {font-size: 16px;}
  .newsroom-category-area .search-btn {width: 38px; height: 38px; right: 9px;}
  .newsroom-category-area .search-delete {right: 53px;}

  .newsroom-category-area .input-text {display: block; font-size: 14px; line-height: 23px;}
  .newsroom-category-area .search-delete {margin-right: 8px;}

  .newsroom-search-result {margin: 40px auto 81px; padding: 0 30px;}
  .newsroom-search-result .search-result-box::after {bottom: -40px; left: 30px; width: calc(100% - 60px);}
  .newsroom-search-result .search-result-text {font-size: 21px; line-height: 28px;}
  .newsroom-featured-list-area {margin: 0 auto 80px; padding: 20px 30px;}
  .newsroom-featured-list {grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 56px; column-gap: 16px;}
  .newsroom-featured-list-tit {margin-bottom: 12px; font-size: 18px;}
  .newsroom-featured-item .date-author {margin-bottom: 8px; font-size: 15px; line-height: 24px;}
  .newsroom-featured-item .item-photo {margin-bottom: 16px;}
  .newsroom-pagination {margin-top: -24px; padding-bottom: 80px;}
  .newsroom-pagination .pagination-area {padding: 0 92px;}

  /********** 04. 서브 하단 영역 :: sub_footer **********/
  #footer .wrap {width: min(100% - 60px, 1280px); padding: 52px 0;}
  #footer .right-area {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px;}
  #footer .left-area {margin-bottom: 44px;}
  #footer .go-top {position: absolute; top: 52px; right: 0; bottom: auto; border-radius: 4px;}
}

@media screen and (max-width: 768px) {
  .news-section {padding: 24px 0;}
  .news-section__inner {width: calc(100% - 32px);}
  .news-slider {overflow: visible;}
  .news-slider__track {gap: 16px;}
  .news-card {flex-basis: 78vw; border-radius: 10px;}
  .news-card:hover {transform: none; box-shadow: none;}
  .news-card__thumb {height: 48vw; min-height: 190px; max-height: 240px;}
  .news-card__body {min-height: 210px; padding: 20px 18px;}
  .news-card time {margin-bottom: 12px; font-size: 13px;}
  .news-card h3 {font-size: 17px; line-height: 1.5;}
  .news-card__tags {margin-top: 30px;}
  .news-card__tags span {min-height: 26px; font-size: 12px;}
  .news-control {gap: 18px; margin-top: 36px;}
  .news-buttons {gap: 16px;}
  .news-progress span {width: 96px; max-width: 45%;}
  .newsroom-featured-list {grid-template-columns: repeat(1, 1fr);}
  .page-title {font-size: 32px;}

  /********* 미션/비전 :: mission_vision *********/
  .ai-circle-row::before {width: 320px; height: 420px;}
  .ai-circle:hover {transform: none;}
  .mission-section {padding: 0 20px 90px;}
  .mission-heading__desc {font-size: 16px;}
  .mission-summary {margin: 42px 0 70px;}
  .ai-circle-row {flex-direction: column; gap: 16px;}
  .ai-circle {width: 240px; height: 240px;}
  .ai-circle--empty {display: none;}
  .ai-circle strong {font-size: 18px;}
  .mission-activity {margin-top: 70px;}
  .mission-activity__grid {grid-template-columns: 1fr;}

  /********** 1번-3 고객사 :: customer *********/
  .client-section {padding-inline: 16px;}
  .client-tabs {width: min(100%, 360px); margin-bottom: 36px;}
  .client-tabs__btn {min-height: 38px; padding-inline: 12px; font-size: 12px;}
  .client-logo-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
  .client-logo-card {min-height: 72px; padding: 14px;}
  .client-logo-card img {max-height: 36px;}

  /********** 1번-5 오시는 길 || :: location *********/
  .location-section {padding-inline: 16px;}
  .location-map {width: 100%; aspect-ratio: 1 / 0.72; border-radius: 18px;}
  .location-tabs {margin-top: 32px;}
  .location-tabs__btn {min-height: 34px; padding: 0 14px; font-size: 12px;}
  .location-panel {margin-top: 22px;}
  .location-summary__info {grid-template-columns: 1fr;}
  .location-info-card {min-height: 58px; padding: 16px; border-radius: 14px;}
  .location-info-card p {font-size: 13px;}
  .location-info-card strong {font-size: 16px;}
  .location-traffic {padding: 18px 16px; border-radius: 14px;}
  .location-traffic__item {align-items: flex-start; gap: 12px;}
  .location-traffic__item p {font-size: 12px;}

  /********** 3번-1 메뉴 프로젝트 || 상세 :: project_detail *********/
  .project-hero {min-height: auto; padding: 88px 20px 0;}
  .project-back {top: 20px; left: 20px; width: 32px; height: 32px;}
  .project-hero__content p {font-size: 16px; line-height: 1.75;}
  .project-info-list div {display: block; margin-bottom: 14px;}
  .project-info-list dt {margin-bottom: 3px; font-size: 14px;}
  .project-info-list dd {font-size: 14px;}
  .project-overview {padding: 72px 20px 88px;}
  .project-overview h2 {font-size: 30px;}
  .project-overview p {font-size: 15px;}
  .project-btns {flex-wrap: wrap;}
  .btn {min-width: 140px;}
  .project-card {padding: 26px 22px; border-radius: 16px;}

  /********** 4번 메뉴 문의하기 || :: contact *********/
  .inquiry-form {margin-top: 36px;}
  .form-row {margin-bottom: 28px;}
  .form-label {font-size: 16px;}
  .input {height: 54px; padding: 0 18px; font-size: 14px;}
  .textarea-row .form-label::after {font-size: 14px;}
  .checks {padding: 18px; gap: 10px;}
  .check {width: 100%; white-space: normal;}
  .check + .check::before {display: none;}
  .textarea {min-height: 220px; padding: 18px; font-size: 14px;}
  .agree {align-items: flex-start; font-size: 14px;}
  .agree input {width: 24px; height: 24px;}
  .agree input:checked::after {left: 8px; top: 4px; width: 6px; height: 11px;}
  .submit-btn, .prev-btn {width: 100%;}
  .form-actions {width: 100%; flex-direction: column-reverse;}

  .phone-box {grid-template-columns: repeat(2, 1fr); gap: 10px; padding: 18px 14px;}
  .phone-item {flex-direction: column; gap: 6px; font-size: 14px; text-align: center; min-height: auto;}
  .phone-item strong, .phone-item span {display: block; line-height: 1.3; font-size: 15px;}
  .phone-icon {margin: 0 auto;}
  .phone-item span {white-space: nowrap;}

  /*********** 5번 메뉴 채용 || :: careers ***********/
  .page-visual {padding: 64px 25px 25px;}
  .page-visual__inner, .recruit-content {padding-left: 20px; padding-right: 20px;}
  .page-kicker {margin-bottom: 10px; font-size: 14px;}
  .page-title-row {display: block;}
  .page-title {font-size: 38px;}
  .breadcrumb {margin-top: 24px; margin-bottom: 0; font-size: 13px; flex-wrap: wrap; white-space: normal;}

  .tab-menu > a:last-child {flex-grow: 0;}
  .tab-menu {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; width: 100%; margin-top: 52px; overflow: visible;}
  .tab-menu > a {min-width: 0; padding: 8px 2px; font-size: 16px; line-height: 1.25; text-align: left; white-space: normal; word-break: keep-all;}
  .tab-menu a.active::after{display: none;}

  .recruit-content {padding-bottom: 76px;}
  .recruit-item {align-items: flex-start; gap: 20px; min-height: auto; padding: 28px 4px;}
  .recruit-meta {flex-wrap: wrap; gap: 8px; margin-bottom: 12px; font-size: 14px;}
  .recruit-meta span::before {margin-right: 8px;}
  .recruit-title {font-size: 20px;}
  .recruit-status {width: 76px; height: 76px; font-size: 13px;}
  #container.newsroom main.container {padding: 0 0 70px;}

  /********** 5번-2 채용 인재상 || :: careers_main *********/
  /* 인재상 메인 :: 섹션 01 */
  .section-title {font-size: 24px; margin-bottom: 28px;}
  .talent-list {grid-template-columns: 1fr; gap: 42px;}
  .talent-item::after {display: none !important;}
  .talent-circle {width: 220px; height: 220px; margin-bottom: 22px;}
  .talent-circle strong {font-size: 22px;}
  .talent-circle em {font-size: 13px;}
  .talent-item p {font-size: 16px;}
  .talent-item p br {display: none;}

  /* 인재상 메인 :: 섹션 02 */
  .career-section {padding: 30px 0;}
  .section-title {font-size: 26px;}
  .talent-desc {text-align: left; margin-bottom: 30px;}
  .talent-desc strong {font-size: 19px;}
  .talent-desc p {font-size: 15px;}
  .talent-shape-list, .talent-text-list, .welfare-list {grid-template-columns: 1fr;}
  .talent-shape-list {display: grid;}
  .talent-shape {width: 100%; height: 150px; border-radius: 22px;}
  .talent-shape .icon {margin-bottom: 12px;}
  .talent-text-list {display: none;}
  .welfare-card {min-height: auto; padding: 34px 24px; border-top: 1px solid #ddd;}
  .welfare-icon {width: 74px; height: 74px; margin-bottom: 24px; background-size: 38px;}
  .welfare-card strong {font-size: 20px; margin-bottom: 14px;}
  .welfare-card p br {display: none;}

  /* 인재상 메인 :: 섹션 03 */
  .apply-section {padding: 30px 0;}
  .section-title {font-size: 24px;}
  .apply-list {grid-template-columns: 1fr; gap: 18px;}
  .apply-card {min-height: auto; padding: 26px 22px;}
  .apply-card strong {margin-bottom: 28px; font-size: 20px;}
  .apply-btn {width: 100%; max-width: 220px;}
  .contact-box {display: block; padding: 28px 22px; text-align: center;}
  .contact-left {display: block;}
  .contact-icon {margin: 0 auto 14px;}
  .contact-left strong {display: block; margin-bottom: 10px; font-size: 22px;}
  .contact-left p {font-size: 15px; line-height: 1.6;}
  .contact-mail {display: inline-block; margin-top: 18px; font-size: 16px;}

  /********** 개인정보처리방침 || :: privacy *********/
  .privacy-section {margin-top: 32px;}
  .privacy-section h2 {font-size: 24px;}
  .privacy-box {padding: 20px; font-size: 14px;}
  .privacy-toc {grid-template-columns: 1fr;}
  .privacy-toc a {padding: 14px 16px; font-size: 14px;}
  .privacy-article h3 {font-size: 18px;}
  .privacy-article p {font-size: 14px;}

}

@media screen and (max-width: 640px) {
  /********* 1번-1 메뉴 인사말/비전 :: intro *********/
  /* 인사말/비전 메인 :: 섹션 01 */
  .message-section {padding: 56px 18px 72px;}
  .message-heading {margin-bottom: 58px;}
  .message-heading__title {font-size: 31px; line-height: 1.4;}
  .message-heading__title br, .message-text__lead br {display: none;}
  .message-text__lead {margin-bottom: 34px; font-size: 23px; line-height: 1.6;}
  .message-text__body {gap: 22px;}
  .message-text__body p {font-size: 15px; line-height: 1.75;}
  .message-visual {padding-top: 20px; padding-bottom: 104px;}
  .message-visual__image {width: min(100%, 320px);}
  .message-visual__deco--large {right: 4%; top: 0; width: 130px; height: 130px;}
  .message-visual__deco--small {left: 4%; top: 150px; width: 88px; height: 88px;}
  .message-sign p {font-size: 15px;}
  .message-sign strong {font-size: 20px;}

  /* 인사말/비전 메인 :: 섹션 02 */
  .professional-section {padding: 56px 18px;}
  .professional-heading {margin-bottom: 56px;}
  .professional-heading__title {padding-bottom: 22px; font-size: 21px;}
  .professional-item__title {margin-bottom: 14px; font-size: 25px;}
  .professional-item__summary {font-size: 18px;}
  .professional-item__desc {font-size: 14px; line-height: 1.7;}

  /********* 1번-2 메뉴 연혁 :: history *********/
  .history-visual {min-height: 380px;}
  .history-visual__content {padding: 58px 18px;}
  .history-visual__title {font-size: 30px;}
  .history-tabs {overflow-x: auto; justify-content: flex-start; width: 100%; padding: 6px; gap: 5px;}
  .history-tabs__link {flex: 0 0 auto; min-width: 74px; min-height: 30px; font-size: 12px;}
  .history-content__inner {padding: 72px 18px 72px;}
  .history-decade + .history-decade {margin-top: 56px; padding-top: 44px;}
  .history-decade__title {margin-bottom: 32px; font-size: 40px;}
  .history-list {gap: 24px;}
  .history-row {grid-template-columns: 1fr; gap: 8px; padding-left: 16px; border-left: 2px solid var(--history-line);}
  .history-row__year {font-size: 18px;}
  .history-row__items p {grid-template-columns: 32px 1fr; gap: 12px; font-size: 13px;}

  /********* 1번-4 메뉴 조직도 :: organization *********/
  .org-section {padding: 44px 16px;}
  .org-chart {gap: 28px;}
  .org-ceo {width: 204px; height: 204px;}
  .org-ceo__circle {width: 168px; height: 168px;}
  .org-ceo__circle strong {font-size: 22px;}
  .org-ceo__circle span {font-size: 17px;}
  .org-contact__title, .org-division__title {min-height: 60px; font-size: 17px;}
  .org-contact__body {min-height: auto; padding: 18px 14px;}
  .org-contact__body a {font-size: 15px;}
  .org-side__card {padding: 20px 16px;}
  .org-side__card strong {font-size: 17px;}
  .org-division-wrap {grid-template-columns: 1fr; gap: 18px;}
  .org-team {min-height: 58px; font-size: 14px;}
}

@media screen and (max-width: 520px) {
  /********** 1번-3 고객사 :: customer *********/
  .client-tabs {padding: 6px;}
  .client-logo-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px;}
  .client-logo-card {min-height: 68px; border-radius: 7px; padding: 12px;}
  .client-logo-card img {max-height: 32px;}
}

@media screen and (max-width: 480px) {
  /********* 미션/비전 :: mission_vision *********/
  .mission-section {padding: 0 16px 70px;}
  .ai-circle {width: 210px; height: 210px; padding: 20px;}
  .ai-circle span {font-size: 15px; margin-bottom: 12px;}
  .ai-circle strong {font-size: 16px;}
  .mission-card {min-height: auto; padding: 24px 20px;}

  .newsroom-category-area {gap: 10px;}
  .newsroom-category-area .category-list-item a {padding: 6px 14px; font-size: 14px;}
  .newsroom-featured-list {row-gap: 36px;}
  .newsroom-featured-list-tit {font-size: 16px; line-height: 25px;}
  .newsroom-pagination .page-link, .newsroom-pagination .page-blind {width: 32px;}

  /********** 1번-5 오시는 길 || :: location *********/
  .location-map {aspect-ratio: 1 / 0.82;}
  .location-tabs {gap: 5px;}
  .location-tabs__btn {flex: 1 1 auto; padding-inline: 10px;}
  .location-summary__title {font-size: 26px;}
  .location-info-card {gap: 10px;}
  .location-traffic__item {display: grid; grid-template-columns: auto 1fr;}

  /********** 3번-1 메뉴 프로젝트 || 상세 :: project_detail *********/
  .project-hero {padding: 76px 16px 0;}
  .project-hero__content p {margin-bottom: 36px; font-size: 15px;}
  .project-overview {padding: 60px 16px 72px;}
  .section-label {font-size: 12px;}
  .project-overview h2 {font-size: 26px;}
  .project-btns {display: grid; grid-template-columns: 1fr;}
  .btn {width: 100%;}
  .project-card {padding: 24px 18px;}
  .skill-list span {height: 30px; padding: 0 12px; font-size: 12px;}

    .search-box .search-input {
        height: 44px;
        padding-right: 80px;
        padding-left: 16px;
        border-radius: 22px;
    }

    .search-box .search-input .input-text {
        font-size: 14px;
    }

    .search-box .search-delete {
        right: 43px;
        width: 28px;
        height: 28px;
    }

    .search-box .search-btn {
        right: 6px;
        width: 32px;
        height: 32px;
    }

  /*********** 5번 메뉴 채용 || :: careers ***********/
  .page-title {font-size: 34px;}
  .recruit-item {position: relative; display: block; padding: 28px 0 88px;}
  .recruit-status {position: absolute; right: 0; bottom: 24px; width: auto; height: 36px; padding: 0 16px; border-radius: 999px; font-size: 13px;}
  .recruit-title {font-size: 19px;}

  /********** 5번-1 메뉴 채용 || :: careers_detail *********/
  .view-head h3 {font-size: 18px;}
  .info-box dl {grid-template-columns: 80px 1fr;}
  .info-box {padding: 24px 18px;}

  /********** 개인정보처리방침 || :: privacy *********/
  .privacy-section h2 {font-size: 22px;}
  .privacy-box {padding: 16px;}

}

@media screen and (max-width: 390px) {
  .news-section__inner {width: calc(100% - 28px);}
  .news-card {flex-basis: 84vw;}
  .news-card__body {min-height: 196px;}
  .news-card h3 {font-size: 16px;}
  .news-control {gap: 14px;}
  .news-buttons button {width: 24px; height: 24px;}

  /********* 1번-1 메뉴 인사말/비전 :: intro *********/
  /* 인사말/비전 메인 :: 섹션 01 */
  .message-heading__title {font-size: 27px;}
  .message-text__lead {font-size: 21px;}
  .message-visual__image {width: 280px;}

  /* 인사말/비전 메인 :: 섹션 02 */
  .professional-heading__title {font-size: 19px;}
  .professional-item__title {font-size: 23px;}
  .professional-item__summary {font-size: 17px;}
  .professional-item__desc br {display: none;}

  /********* 1번-2 메뉴 연혁 :: history *********/
  .history-visual__title {font-size: 27px;}
  .history-decade__title {font-size: 36px;}
  .history-row__items p {display: block;}
  .history-row__items span {display: inline-block; min-width: 28px; margin-right: 8px;}

  /********** 1번-3 고객사 :: customer *********/
  .client-tabs__btn {font-size: 11px;}
  .client-logo-card {min-height: 62px;}

  /********* 1번-4 메뉴 조직도 :: organization *********/
  .org-team-list--four, .org-team-list--two {grid-template-columns: 1fr;}
}
