/* 공통 */
.sub_visual_wrap{position:relative;}
.sub_visual{width:100%; height: 25rem; position:relative; background-image:url("/img/sub/vis_about.jpg"); background-repeat: no-repeat; background-size: cover; background-position: center;}
.sub_visual.about{background-image:url("/img/sub/vis_about.jpg");}
.sub_visual.portfolio{background-image:url("/img/sub/vis_portfolio.jpg");}
.sub_visual.support{background-image:url("/img/sub/vis_support.jpg");}
/* sub_vis_txt */
.sub_vis_txt{position:absolute; top:12.97rem; left:50%; transform:translateX(-50%);}
.sub_vis_txt * {color:#fff; font-family: var(--font-pre);}
.sub_vis_txt h2{font-size: 2rem; font-weight: 700; line-height: 125%;}
.sub_vis_txt p{margin-top: 1rem; font-size: 1rem; font-weight: 400; line-height: 150%;}
/* sub_vis_path */
.sub_vis_path {position: absolute; left: 50%; transform: translateX(-50%); bottom: 1.88rem;}
.sub_vis_path ul {gap: 0.625rem;}
.sub_vis_path ul .home img {width: 1.25rem;}
.sub_vis_path ul .arrow img {width: 0.75rem;}
.sub_vis_path ul .txt {color: #fff; font-family: var(--font-pre); font-size: 1rem; font-weight: 500; line-height: 115%;}
/* sub_menu */
.sub_menu {height: 4.18rem;}
.sub_menu ul{width: 100%; background: #fff; border-bottom: 1px solid #E3E3E3;}
/* .sub_menu.fixed ul {position: fixed; top: -1px; left: 0; z-index: 10;} */
.sub_menu ul li{position: relative; height: 4.18rem; min-width: 14.56rem;}
.sub_menu ul li a {display: flex; height: 100%; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: 400; color: #8E8E8E; position: relative;}
.sub_menu ul li.on a {color: #171F39; font-weight: 700;}
.sub_menu ul li.on a::after {content: ""; width: 100%; height: 0.1875rem; background: #171F39; position: absolute; left: 0; bottom: -1px;}
/* sub_content */
#sub_content{padding:6.25rem 0;}
.sub_title{margin-bottom:5rem; text-align:center;}
.sub_title h3{color: #171F39; font-family: var(--font-pre); font-size: 2.8125rem; font-weight: 700; line-height: 115%;}

.inner1400 {width: 100%; max-width: 87.5rem; margin: 0 auto;}

/* CEO 인사말 */
.ceo .inner1400 {align-items: flex-start;}
.ceo h3 {color: #171F39; font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 125%; word-break: keep-all;}
.ceo .desc {margin: 3.75rem 0; color: #171F39; font-family: var(--font-pre); font-size: 1.375rem; font-weight: 400; line-height: 130%; word-break: keep-all;}
.ceo .flex {gap: 1.25rem; color: #171F39; font-family: var(--font-pre); font-weight: 700; line-height: 145%;}
.ceo .flex span {font-size: 1.375rem;}
.ceo .flex strong {font-size: 2rem;}
.ceo .flex img {width: 9.625rem;}
.ceo .bg img {width: 6.875rem;}



@media screen and (max-width:1440px){
	.inner1400 {max-width: calc(100% - 5rem);}
	/* sub_menu */
	.sub_menu ul li {min-width: 13rem;}
}
@media screen and (max-width:1024px){
	/* 공통 */
	.sub_visual{height: 19.375rem;}
	/* sub_vis_txt */
	.sub_vis_txt {top:auto; bottom: 5.38rem;}
	.sub_vis_txt h2{font-size: 1.5rem;}
	.sub_vis_txt p{margin-top: 1rem; font-size: 0.875rem;}
	/* sub_vis_path */
	.sub_vis_path {display: none;}
	/* sub_menu */
	.sub_menu {height: 3.5rem;}
	.sub_menu ul.center {justify-content: center;}
	.sub_menu ul li {height: 3.5rem; min-width: auto;}
	.sub_menu ul li a {font-size: 0.875rem; padding: 0 .75rem;}
	/* sub_content */
	#sub_content{padding:3.75rem 0;}
	.sub_title{margin-bottom:2.5rem;}
	.sub_title h3 {font-size: 1.375rem;}

	.inner1400 {max-width: 100%; padding-left: 1.25rem; padding-right: 1.25rem;}

	/* CEO 인사말 */
	.ceo h3 {font-size: 1.25rem; line-height: 1.45;}
	.ceo .desc {margin: 1.75rem 0; font-size: 0.875rem; line-height: 1.43;}
	.ceo .flex {gap: 0.75rem; flex-wrap: wrap;}
	.ceo .flex span {font-size: 0.875rem;}
	.ceo .flex strong {font-size: 1.25rem;}
	.ceo .flex img {width: 6.25rem;}
	.ceo .bg {display: none;}
}
@media screen and (max-width:768px){
	/* 공통 */
	.sub_visual{background-image:url("/img/sub/vis_about_m.jpg");}
	.sub_visual.about{background-image:url("/img/sub/vis_about_m.jpg");}
	.sub_visual.portfolio{background-image:url("/img/sub/vis_portfolio_m.jpg");}
	.sub_visual.support{background-image:url("/img/sub/vis_support_m.jpg");}
}
@media screen and (max-width:412px){
	/* sub_menu */
	.sub_menu {justify-content: flex-start;}
	.sub_menu ul {white-space: nowrap; overflow: hidden; overflow-x: auto; justify-content: flex-start; padding: 0 1.25rem;}
}
@media screen and (max-width:384px){
	/* CEO 인사말 */
	.ceo h3 br.pc,
	.ceo h3 br.mob {display: none !important;}
}

/* === Page: about/ci === */
#aboutCi {display: flex; flex-direction: column; gap: 5rem;}
/* Brand statement */
.ci-brand {display: flex; flex-direction: column; align-items: center; text-align: center; gap: 3.75rem;}
.ci-brand__title {font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39; word-break: keep-all;}
.ci-brand__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.5; color: #171F39; word-break: keep-all;}
/* Shared eyebrow + section title */
.ci-eyebrow {display: block; font-family: var(--font-en); font-size: 0.75rem; font-weight: 500; line-height: 1.125rem; color: #171F39; text-transform: uppercase; letter-spacing: 0.1875rem;}
.ci-section__title {font-family: var(--font-en); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39;}
/* CI System (full-bleed) */
.ci-system {background: #EBEFF6; padding: 5rem 0;}
.ci-system__inner {display: flex; flex-direction: column; gap: 2.5rem;}
.ci-system__head {display: flex; flex-direction: column; gap: 2.5rem;}
.ci-system__title-group {display: flex; flex-direction: column; gap: 1rem;}
.ci-system__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.32; color: #171F39; word-break: keep-all;}
/* CI logo card */
.ci-logo-card {background: #fff; padding: 2.5rem; border-radius: 1.25rem; display: flex; flex-direction: column; gap: 3rem;}
.ci-logo-card__logo {width: 100%; height: auto;}
.ci-logo-card__features {display: flex; align-items: stretch; padding: 0 2rem;}
.ci-logo-card__features li {flex: 1 1 0; min-width: 0; padding: 0 3.25rem; border-right: 1px solid #E3E3E3; display: flex; flex-direction: column; gap: .25rem;}
/* .ci-logo-card__features li:first-child {padding-left: 0;} */
.ci-logo-card__features li:last-child {/* padding-right: 0; */ border-right: 0;}
.ci-logo-card__features h4 {font-family: var(--font-en); font-size: 1.35rem; font-weight: 600; line-height: 1.45; color: #171F39;}
.ci-logo-card__features h5 {font-family: var(--font-en); font-size: 1.25rem; font-weight: 500; line-height: 1.45; color: #171F39;}
.ci-logo-card__features p {font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.32; color: #171F39; word-break: keep-all; margin-top: .8rem;}
/* Color System */
.ci-color {display: flex; flex-direction: column; gap: 2.5rem;}
.ci-color__head {display: flex; flex-direction: column; gap: 1rem;}
.ci-color__body {display: flex; gap: 6rem; align-items: stretch;}
.ci-color__swatch {flex-shrink: 0; width: 28.125rem; aspect-ratio: 1.8/1; background: var(--color-primary-2); border-radius: 0.625rem; position: relative; display: flex; align-items: flex-end; padding: 1.5rem;}
.ci-color__swatch p {color: #fff; font-size: 1rem; font-weight: 400; font-family: var(--font-en);}
.ci-color__specs {flex: 1 1 0; min-width: 0; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 1.5rem 0; display: flex; flex-direction: column; gap: 1rem; justify-content: center;}
.ci-color__row {display: flex; gap: 4.25rem; align-items: flex-start;}
.ci-color__row dt {font-family: var(--font-en); font-size: 1.25rem; font-weight: 600; line-height: 1.43; color: #171F39; text-transform: uppercase; width: 6.25rem; flex-shrink: 0;}
.ci-color__row dd {font-family: var(--font-en); font-size: 1.25rem; font-weight: 400; line-height: 1.43; color: #171F39; text-transform: uppercase; word-break: keep-all; word-spacing: 0.56em;}
@media screen and (max-width:1200px){
	.ci-logo-card__features {padding: 0;}
	.ci-logo-card__features li {padding: 0 1.85rem;}
}
@media screen and (max-width:1024px){
	/* === Page: about/ci === */
	#aboutCi {gap: 3.75rem;}
	/* Brand statement */
	.ci-brand {gap: 1.25rem;}
	.ci-brand__title {font-size: 1.25rem;}
	.ci-brand__desc {font-size: 0.875rem;}
	/* Shared eyebrow + section title */
	.ci-section__title {font-size: 1.25rem;}
	/* CI System (full-bleed) */
	.ci-system {padding: 3.75rem 0;}
	.ci-system__inner {gap: 2.5rem;}
	.ci-system__head {gap: 1.75rem;}
	.ci-system__title-group {gap: .5rem;}
	.ci-system__desc {font-size: 0.875rem;}
	/* CI logo card */
	.ci-logo-card {padding: 1.53125rem; border-radius: 1.25rem; gap: 2.5rem;}
	.ci-logo-card__features {flex-direction: column;}
	.ci-logo-card__features li {padding: 1.53125rem 0 !important; gap: 0.25rem; border-right: 0 !important;}
	.ci-logo-card__features li:first-child {padding-top: 0 !important;}
	/* .ci-logo-card__features li:last-child {padding-bottom: 0 !important;} */
	.ci-logo-card__logo.pc {display: block !important;}
	.ci-logo-card__logo.mob {display: none !important;}
	.ci-logo-card__features li + li {border-top: 1px solid #E3E3E3;}
	.ci-logo-card__features h4 {font-size: 1.125rem;}
	.ci-logo-card__features h5 {font-size: 1rem;}
	.ci-logo-card__features p {font-size: 0.875rem; line-height: 1.43; margin-top: .6rem;}
	.ci-logo-card__features p br {display: none;}
	/* Color System */
	.ci-color {gap: 2.5rem;}
	.ci-color__head {gap: .5rem;}
	.ci-color__body {gap: 3.5rem;}
	.ci-color__swatch {border-radius: 0.625rem; width: 22.125rem; padding: 1.25rem;}
	.ci-color__swatch p {font-size: 0.875rem;}
	.ci-color__specs {padding: 1.25rem 0; gap: 0.6rem;}
	.ci-color__row {gap: 4.25rem;}
	.ci-color__row dt {font-size: 0.875rem; width: 4.25rem;}
	.ci-color__row dd {font-size: 0.875rem;}

}
@media screen and (max-width:768px){
	.ci-logo-card__logo.pc {display: none !important;}
	.ci-logo-card__logo.mob {display: block !important;}
	.ci-color__body {flex-direction: column; align-items: flex-start; gap: 2.5rem;}
	.ci-color__swatch {width: 100%; padding: 1rem;}
	.ci-color__specs {width: 100%;}
}

/* === Page: about/history === */
#aboutHistory .history-main {display: flex; justify-content: space-between; gap: 3rem; position: relative;}
.history-left {width: calc(50% - (3rem + 0.25rem));}
.history-intro {display: flex; flex-direction: column; gap: 3.75rem; position: sticky; top: 6rem; left: 0; width: 100%; max-width: 28.125rem;}
.history-intro__header {display: flex; flex-direction: column; gap: 2.5rem; width: 100%;}
.history-intro__title {font-family: var(--font-en); font-size: 4.25rem; font-weight: 700; line-height: 1.12; letter-spacing: -0.03125rem; color: #171F39;}
.history-intro__desc {font-family: var(--font-pre); font-size: 1.375rem; font-weight: 400; line-height: 1.3; color: #171F39; word-break: keep-all;}
.history-intro__img {width: 100%; aspect-ratio: 450/280; margin: 0;}
.history-intro__img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.history-timeline {position: relative; width: calc(50% + (3rem + 0.25rem)); display: flex; gap: 3rem; justify-content: space-between; align-items: flex-start;}
.history-timeline__bar {width: 0.125rem; border-radius: 0.625rem; background: rgba(0, 30, 92, 0.20); position: relative; height: 100%;}
.history-timeline__bar .line {position: absolute; top: 0; width: 100%; background: #001E41; border-radius: 0.625rem;}
.history-timeline__bar .point {width: 0.5625rem; aspect-ratio: 1 / 1; bottom: 0; display: block; border-radius: 100%; background: #001E41; position: absolute; left: 50%; transform: translateX(-50%);}
.history-timeline__list {display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; width: 100%;}
.history-card {background: #fff; padding: 2rem; border-radius: 0.625rem; box-shadow: 0 1.25rem 1.25rem rgba(11, 26, 59, 0.05); width: 43.75rem; max-width: 100%; display: flex; flex-direction: column; gap: 1.5rem; transition: all .3s ease;}
.history-card__year {font-family: var(--font-en); font-size: 2.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39; transition: all .3s ease;}
.history-card__items {display: flex; flex-direction: column; gap: 0.5rem; transition: all .3s ease;}
.history-card__items li {position: relative; padding-left: 1.125rem; font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.32; color: #171F39; word-break: keep-all; transition: all .3s ease;}
.history-card__items li::before {content: ""; position: absolute; left: 0; top: 0.6rem; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #001E41; transition: all .3s ease;}
@media screen and (min-width:1025px){
	.history-card:hover {background: #171F39;}
	.history-card:hover .history-card__year {color: #fff;}
	.history-card:hover .history-card__items li {color: #fff;}
	.history-card:hover .history-card__items li::before {background: #fff;}
}
@media screen and (max-width:1024px){
	/* === Page: about/history === */
	#aboutHistory .history-main {gap: 2.25rem;}
	.history-left {gap: 3rem;}
	.history-intro {gap: 2.25rem; top: auto; position: relative; max-width: 100%;}
	.history-intro__header {gap: 1.25rem; width: 100%;}
	.history-intro__title {font-size: 1.25rem;}
	.history-intro__desc {font-size: 0.875rem;}
	.history-intro__img {width: 100%;}
	.history-timeline {padding-left: 2.25rem;}
	.history-timeline__bar {position: absolute; top: 0; left: 0;}
	.history-timeline__list {gap: 1.25rem;}
	.history-card {padding: 1.53125rem; border-radius: 0.625rem; width: 100%; gap: 0.75rem;}
	.history-card__year {font-size: 1.125rem;}
	.history-card__items {gap: 0.3125rem;}
	.history-card__items li {padding-left: .8rem; font-size: 0.875rem;}
	.history-card__items li::before {width: .24525rem; height: 0.24525rem; top: .5rem;}
}
@media screen and (max-width:768px){
	/* === Page: about/history === */
	#aboutHistory .history-main {gap: 3.75rem; flex-direction: column;}
	.history-main > div {width: 100%;}
}

/* === Page: about/organization === */
#aboutOrg .org-tree {display: flex; flex-direction: column; align-items: center;}
.org-tree__top {position: relative; padding-bottom: 4.06rem;}
.org-tree__top::after {content: ""; position: absolute; left: 50%; top: calc(100% - 4.06rem); width: 1px; height: 4.06rem; background: rgba(197, 198, 207, 0.4); transform: translateX(-50%);}
/* CEO card */
.org-card--ceo {position: relative; background: #001E41; width: 18.75rem; padding: 3rem 1.5rem; border-radius: 0.625rem; box-shadow: 0 1.25rem 2.5rem rgba(11, 26, 59, 0.05); overflow: hidden; display: flex; flex-direction: column;}
.org-card--ceo__icon {position: absolute; top: 1.75rem; right: 1.75rem; width: 3.25rem; aspect-ratio: 1/1; pointer-events: none; opacity: .1;}
.org-card--ceo__icon img {width: 100%; height: 100%; display: block;}
.org-card--ceo__text {display: flex; flex-direction: column; gap: 0.5rem; position: relative; text-align: center;}
.org-card--ceo__title {font-family: var(--font-en); font-size: 2.5rem; font-weight: 600; line-height: 1.12; letter-spacing: -0.03125rem; color: #fff;}
.org-card--ceo__subtitle {font-family: var(--font-en); font-size: 0.75rem; font-weight: 400; line-height: 1rem; letter-spacing: 0.1rem; text-transform: uppercase; color: rgba(255, 255, 255, 0.6);}
/* Department grid (6 cards) */
.org-tree__departments {padding-top: 3.37rem; position: relative; display: flex; gap: 1.25rem; width: 100%; --org-card-count: 6; --org-card-gap: 1.25rem;}
.org-tree__departments::before {content: ""; position: absolute; top: 0; left: calc((100% - (var(--org-card-count) - 1) * var(--org-card-gap)) / var(--org-card-count) / 2); right: calc((100% - (var(--org-card-count) - 1) * var(--org-card-gap)) / var(--org-card-count) / 2); height: 1px; background: rgba(197, 198, 207, 0.4);}
.org-tree__departments > .org-card {flex: 1 1 0; min-width: 0; position: relative;}
.org-tree__departments > .org-card::before {content: ""; position: absolute; left: 50%; top: -3.37rem; width: 1px; height: 3.37rem; background: rgba(197, 198, 207, 0.4); transform: translateX(-50%);}
.org-card {background: #fff; padding: 2rem; border-radius: 0.625rem; box-shadow: 0 1.25rem 1.25rem rgba(11, 26, 59, 0.05); display: flex; flex-direction: column; gap: 1.5rem; min-height: 19.125rem;}
.org-card .tit {display: flex; flex-direction: column; gap: .7rem;}
.org-card__header {display: flex; align-items: flex-start; justify-content: space-between;}
.org-card__icon {width: 1.4rem; aspect-ratio: 1/1; display: block;}
.org-card__number {font-family: var(--font-en); font-size: 2.5rem; font-weight: 900; line-height: 1.15; color: rgba(197, 198, 207, 0.15);}
.org-card__title {font-family: var(--font-pre); font-size: 1.1875rem; font-weight: 700; line-height: 1.33; color: #171F39;}
.org-card__title--compact {font-size: 1.35rem; line-height: 1.3;}
.org-card__title--management {font-size: 1.45rem;}
.org-card__title--small {font-size: 1.08rem;}
.org-card__items {display: flex; flex-direction: column; gap: 0.5rem;}
.org-card__items li {position: relative; padding-left: .7rem; font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.3; color: #171F39; word-break: keep-all;}
.org-card__items li::before {content: ""; position: absolute; left: 0; top: 0.5rem; width: 0.18rem; aspect-ratio: 1/1; border-radius: 50%; background: #234481;}
@media screen and (max-width:1024px){
	/* === Page: about/organization === */
	#aboutOrg .org-tree {flex-direction: row; align-items: flex-start;}
	.org-tree__top {padding-bottom: 0; padding-right: 1.31rem;}
	.org-tree__top::after {top: 50%; transform: translateY(-50%); left: calc(100% - 1.31rem); height: 100%; height: 0.0625rem; width: 1.31rem;}
	/* CEO card */
	.org-card--ceo {width: 15.25rem; padding: 1.19425rem 0.74638rem; border-radius: 0.37319rem;}
	.org-card--ceo__icon {width: 1.36956rem; top: 50%; transform: translateY(-50%); right: .26rem;}
	.org-card--ceo__text {gap: 0.5rem;}
	.org-card--ceo__title {font-size: 0.82106rem; letter-spacing: -0.01869rem;}
	.org-card--ceo__subtitle {display: none;}
	/* Department grid (6 cards) */
	.org-tree__departments {width: calc(100% - 15.25rem); padding-top: 0; padding-left: 1.89rem; gap: 0.8175rem; --org-card-gap: 1.25rem; flex-direction: column;}
	.org-tree__departments::before {width: 0.0625rem; height: calc(100% - (2.2rem * 2)); top: 1.6rem; right: auto; left: 0;}
	.org-tree__departments > .org-card {padding: 1.25rem;}
	.org-tree__departments > .org-card::before {top: 50%; height: 0.0625rem; transform: translateY(-50%); width: 1.89rem; left: -1.89rem;}
	.org-tree__departments > .org-card:first-child::before {top: 1.6375rem; transform: none;}
	.org-card {display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); align-items: flex-start; column-gap: 1rem; padding: 1.25rem 0.75rem; border-radius: 0.40875rem; min-height: auto;}
	.org-card .tit {gap: .25rem; min-width: 0; width: 7.25rem;}
	.org-card__icon {width: 1.2rem;}
	.org-card__number {font-size: 1.635rem;}
	.org-card__title {font-size: 0.875rem;}
	.org-card__title--compact {font-size: 0.8125rem;}
	.org-card__items {gap: 0.327rem; width: 100%; margin: 0; padding: 0;}
	.org-card__items li {padding-left: .74rem; font-size: 0.75rem;}
	.org-card__items li::before {top: 0.346rem; width: 0.157rem;}
}
@media screen and (max-width:768px){
	/* === Page: about/organization === */
	.org-tree__top::after {left: calc(100% - 1.31rem); height: 0.0625rem;}
	/* CEO card */
	.org-card--ceo {width: 5.25rem; padding: 1.19425rem 0.74638rem; border-radius: 0.37319rem;}
	.org-card--ceo__icon {width: 1.36956rem; right: .26rem;}
	.org-card--ceo__text {gap: 0.5rem;}
	.org-card--ceo__title {font-size: 0.82106rem; letter-spacing: -0.01869rem;}
	/* Department grid (6 cards) */
	.org-tree__departments {padding-left: 1.89rem; width: calc(100% - 5.25rem);}
	.org-tree__departments::before {height: calc(100% - (2.2rem * 2)); top: 1.6rem;}
	.org-tree__departments > .org-card {padding: 1.25rem 0.75rem;}
	.org-tree__departments > .org-card::before {width: 1.89rem; left: -1.89rem;}
	.org-tree__departments > .org-card:first-child::before {top: 1.6375rem;}
}
@media screen and (max-width:380px){
	.org-tree__departments > .org-card {grid-template-columns: 7.25rem minmax(0, 1fr); align-items: flex-start; gap: 1rem; padding: 1.25rem;}
	.org-tree__departments::before {height: calc(100% - (2.95rem * 2));}
}

/* === Page: about/partners === */
#aboutPartners .partners-grid {display: grid; grid-template-columns: repeat(6,1fr);  gap: 2rem 0;}
#aboutPartners .partners-grid__item {aspect-ratio: 2.133/1; transition: background 0.3s;}
#aboutPartners .partners-grid__item a {display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
/* #aboutPartners .partners-grid__item:hover {background: #EBEFF6;} */
#aboutPartners .partners-grid__item img {width: 100%; height: 100%; object-fit: cover; object-position: center;}
/* === Component: pagination === */
.pagination {display: flex; gap: 1.5rem; align-items: center; justify-content: center; margin-top: 2rem;}
.pagination__nav {width: 1.25rem; aspect-ratio: 1/1; padding: 0; border: 0; background: transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;}
.pagination__nav:disabled {display: none;}
.pagination__nav img {width: 100%; height: 100%; display: block;}
.pagination__list {display: flex; gap: 1.5rem; align-items: center;}
.pagination__page {display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1; color: #999; position: relative;}
.pagination__page.is-active {color: #fff; min-width: 2.3125rem; width: 2.3125rem; aspect-ratio: 1/1; cursor: default;}
.pagination__page.is-active::before {content: ""; background: #001E5C; color: #fff; border-radius: 100%; width: 100%; aspect-ratio: 1/1; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: -1;}
@media screen and (max-width:1024px){
    #aboutPartners .partners-grid {gap: 1.25rem 0; grid-template-columns: repeat(4,1fr);}
	/* === Component: pagination === */
	.pagination {gap: 1.25rem;}
	.pagination__nav {width: 1rem;}
	.pagination__list {gap: 1.25rem;}
	.pagination__page {font-size: 0.875rem;}
	.pagination__page.is-active {min-width: 1.875rem; width: 1.875rem;}
}
@media screen and (max-width:768px){
    #aboutPartners .partners-grid {grid-template-columns: repeat(2,1fr);}
}
/* === Page: about/license === */
#aboutLicense .license {display: flex; flex-direction: column; gap: 0;}
.license__intro {display: flex; flex-direction: column; gap: 1.25rem; align-items: center; text-align: center; margin-bottom: 3.75rem;}
.license__intro-title {font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39; word-break: keep-all;}
.license__intro-desc {font-family: var(--font-pre); font-size: 1.375rem; font-weight: 400; line-height: 1.3; color: #171F39; word-break: keep-all;}
.license-section {display: flex; flex-direction: column; gap: 1.25rem;}
.license-section + .license-section {margin-top: 5rem;}
.license-section__title {font-family: var(--font-pre); font-size: 1.75rem; font-weight: 700; line-height: 1.29; color: #171F39;}
.license-grid {display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2.5rem 1.5rem; list-style: none; padding: 0; margin: 0;}
.license-card {display: flex; flex-direction: column; gap: 1.5rem; min-width: 0;}
.license-card__img {width: 100%; aspect-ratio: 260/370; overflow: hidden; background: #fff; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05); border-radius: 0.72544rem; overflow: hidden;}
.license-card__img img {width: 100%; height: 100%; object-fit: cover; object-position: top; display: block;}
.license-card__txt {display: flex; flex-direction: column; gap: 0.25rem;}
.license-card__title {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 700; line-height: 1.5; color: #171F39; word-break: keep-all;}
.license-card__sub {font-family: var(--font-pre); font-size: 0.875rem; font-weight: 400; line-height: 1.43; /* color: #234481; */ color: #171F39; word-break: keep-all;}
@media screen and (max-width:1024px){
	/* === Page: about/license === */
	.license__intro {gap: 1.25rem; margin-bottom: 3.75rem;}
	.license__intro-title {font-size: 1.25rem;}
	.license__intro-desc {font-size: 0.875rem;}
	.license-section {gap: 1.25rem;}
	.license-section + .license-section {margin-top: 3.75rem;}
	.license-section__title {font-size: 1.125rem;}
	.license-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 1.25rem;}
	.license-card {gap: 0.75rem;}
	.license-card__img {border-radius: 0.72544rem;}
	.license-card__txt {gap: 0.25rem;}
	.license-card__title {font-size: 1rem;}
	.license-card__sub {font-size: 0.75rem;}
}
@media screen and (max-width:768px){
	/* === Page: about/license === */
	.license-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media screen and (max-width:500px){
	/* === Page: about/license === */
	.license__intro-desc br {display: none;}
	.license-card__title,
	.license-card__sub {word-break: break-all;}
}

/* === Sub visual variants === */
.sub_visual.business {background-image: url("/img/sub/business/vis_business.jpg");}

/* === Page: business/ip-business === */
#businessIp {display: flex; flex-direction: column;}
/* Shared eyebrow */
.ipb-eyebrow {display: flex; align-items: center; gap: 1rem;}
.ipb-eyebrow__label {font-family: var(--font-en); font-size: 0.875rem; font-weight: 700; line-height: 1.43; color: #171F39;}
.ipb-eyebrow__line {width: 3.1875rem; height: 1px; background: #001E41;}
.ipb-eyebrow--light .ipb-eyebrow__label {color: #fff;}
.ipb-eyebrow--light .ipb-eyebrow__line {background: #fff;}
.ipb-section__title {font-family: var(--font-en); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39;}
.ipb-section__title--light {color: #fff;}
/* Intro */
.ipb-intro {display: flex; flex-direction: column; gap: 3.75rem; align-items: center; padding-bottom: 5.625rem;}
.ipb-intro__title {font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39; text-align: center; word-break: keep-all;}
.ipb-intro__body {display: flex; flex-direction: column; gap: 1.5rem; align-items: center; text-align: center;}
.ipb-intro__lead {font-family: var(--font-pre); font-size: 1.375rem; font-weight: 500; line-height: 1.3; color: #171F39; word-break: keep-all;}
.ipb-intro__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.5; color: #171F39; word-break: keep-all;}
/* OUR SERVICES (dark bleed) */
.ipb-services {background: #171F39; padding: 5.625rem 0;}
.ipb-services__inner {display: flex; flex-direction: column; gap: 1.5rem; align-items: center;}
.ipb-services .ipb-eyebrow,
.ipb-services .ipb-section__title {align-self: center;}
.ipb-services__list {margin-top: 1rem; display: flex; align-items: stretch; width: 100%; border: 1px solid #E3E3E3;}
.ipb-service {flex: 1 1 0; min-width: 0; padding: 2.5rem 2rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; border-right: 1px solid #E3E3E3;}
.ipb-service:last-child {border-right: 0;}
.ipb-service__icon {height: 3.75rem; display: block;}
.ipb-service__head {display: flex; flex-direction: column; gap: 0.25rem; align-items: center; text-align: center; color: #fff;}
.ipb-service__name-en {font-family: var(--font-en); font-size: 1.75rem; font-weight: 700; line-height: 1.29; word-break: keep-all;}
.ipb-service__name-ko {font-family: var(--font-pre); font-size: 1.5rem; font-weight: 400; line-height: 1.33; word-break: keep-all;}
.ipb-service__items {display: flex; flex-direction: column; gap: 0.5rem; width: 100%;}
.ipb-service__items li {/* position: relative; padding-left: 1.125rem; */ font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.5; color: #fff; word-break: keep-all; text-align: center;}
.ipb-service__items li::before {content: ""; /* position: absolute; left: 0; top: 0.6875rem; */ display: inline-block; margin-right: 0.75rem; vertical-align: middle; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #fff; margin-top: -.2rem;}
.businessIpEn .ipb-service {padding: 2.5rem 1.75rem;}
.businessIpEn .ipb-service__name-ko {font-size: 1.25rem;}
.businessIpEn .ipb-service__items {max-width: 23rem; gap: 0.875rem;}
.businessIpEn .ipb-service__items li {position: relative; padding-left: 1rem; font-size: 1rem; line-height: 1.55; text-align: left;}
.businessIpEn .ipb-service__items li::before {position: absolute; left: 0; top: 0.7em; margin: 0; width: 0.3125rem; height: 0.3125rem;}
.businessSnackEn .ipb-service {padding: 2.5rem 1.75rem;}
.businessSnackEn .ipb-service__name-en {font-size: 1.625rem;}
.businessSnackEn .ipb-service__name-ko {font-size: 1.25rem;}
.businessSnackEn .ipb-service__items {max-width: 23rem; gap: 0.875rem;}
.businessSnackEn .ipb-service__items li {position: relative; padding-left: 1rem; font-size: 1rem; line-height: 1.55; text-align: left;}
.businessSnackEn .ipb-service__items li::before {position: absolute; left: 0; top: 0.7em; margin: 0; width: 0.3125rem; height: 0.3125rem;}
/* DESIGN SOLUTION (Swiper) */
.ipb-design {position: relative; padding: 0;}
.ipb-design__sticky {min-height: 100vh; padding: 0; display: flex; align-items: center; }
.ipb-design__inner {width: 100%; display: flex; align-items: stretch; justify-content: space-between; gap: 2.5rem; touch-action: pan-y; user-select: none;}
.ipb-design__inner:active {cursor: grabbing;}
.ipb-design__inner img {-webkit-user-drag: none;}
.ipb-design__text {width: 45rem; display: flex; flex-direction: column; justify-content: space-between;}
.ipb-design__head {display: flex; flex-direction: column; gap: 1.5rem;}
.ipb-design__slides {position: relative; margin-top: 3.75rem; list-style: none; padding: 0; width: 100%;}
.ipb-design__slides .swiper-wrapper {align-items: stretch;}
.ipb-design__slide {display: flex; flex-direction: column; gap: 1.25rem; height: auto;}
.ipb-design__slide-visual {display: none;}
.ipb-design__step {display: flex; flex-direction: column; gap: 0.25rem;}
.ipb-design__step-num {font-family: var(--font-en); font-size: 0.75rem; font-weight: 500; line-height: 1.125rem; letter-spacing: 0.1875rem; text-transform: uppercase; color: #171F39;}
.ipb-design__step-title {font-family: var(--font-en); font-size: 2.25rem; font-weight: 600; line-height: 1.22; color: #171F39; margin-bottom: 1.25rem;}
.ipb-design__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.32; color: #171F39; word-break: keep-all;}
.ipb-design__dots {display: flex; gap: 1rem; margin-top: 3.75rem; align-items: center; padding: 0; list-style: none; min-height: 1rem;}
.ipb-design__dot {width: 0.5rem; aspect-ratio: 1/1; border-radius: 100%; background: #001E41; border: 0; padding: 0; cursor: pointer; transition: all .3s ease;}
.ipb-design__dot.is-active {background: #001E41; width: 0.9375rem; border: 2px solid #001E41; background: #fff;}
.ipb-design__visuals {position: relative; flex: 1 1 0; min-width: 0; max-width: 38.125rem; width: 100%; aspect-ratio: 1/1; overflow: hidden; list-style: none; padding: 0; margin: 0;}
.ipb-design__visual {position: absolute; inset: 0; clip-path: inset(0); transition: clip-path .8s cubic-bezier(0.65, 0, 0.35, 1); will-change: clip-path;}
.ipb-design__visual.is-past {clip-path: inset(0 0 100% 0);}
.ipb-design__visual img {width: 100%; height: 100%; object-fit: cover; display: block;}
.ipb-design__visuals .ipb-design__visual:nth-child(1) {z-index: 10;}
.ipb-design__visuals .ipb-design__visual:nth-child(2) {z-index: 9;}
.ipb-design__visuals .ipb-design__visual:nth-child(3) {z-index: 8;}
.ipb-design__visuals .ipb-design__visual:nth-child(4) {z-index: 7;}
/* LOGISTICS & OPERATION (bleed light) */
.ipb-logistics {background: #F7F9FB; padding: 5.625rem 0;}
.ipb-logistics__inner {padding: 0 1.25rem; display: flex; flex-direction: column; gap: 2.5rem;}
.ipb-logistics__list {display: flex; gap: 1.75rem; align-items: stretch;}
.ipb-logistics__card {flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; border-radius: .625rem; overflow: hidden; box-shadow: 0 20px 40px 0 rgba(11, 26, 59, 0.05);}
.ipb-logistics__img {width: 100%; aspect-ratio: 448/350; overflow: hidden; background: #ccc;}
.businessSnack .ipb-logistics__img {aspect-ratio: 1.958/1;}
.ipb-logistics__img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.ipb-logistics__body {background: #fff; padding: 2.5rem; display: flex; flex-direction: column; gap: 1.5rem; flex: 1 1 auto; box-shadow: 0 1.25rem 1.25rem rgba(11, 26, 59, 0.05); border-radius: 0 0 0.625rem 0.625rem; transition: all .3s ease;}
.ipb-logistics__body * {transition: all .3s ease;}
.ipb-logistics__eyebrow {font-family: var(--font-en); font-size: 0.75rem; font-weight: 500; line-height: 1.125rem; letter-spacing: 0.1875rem; color: #171F39;}
.ipb-logistics__heads {display: flex; flex-direction: column; gap: 0.25rem; margin-top: -0.75rem;}
.ipb-logistics__name-en {font-family: var(--font-en); font-size: 1.25rem; font-weight: 700; line-height: 1.45; color: #171F39; word-break: keep-all;}
.ipb-logistics__name-ko {font-family: var(--font-pre); font-size: 1.25rem; font-weight: 400; line-height: 1.45; color: #171F39; word-break: keep-all;}
.ipb-logistics__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.32; color: #171F39; word-break: keep-all;}
@media screen and (min-width:1025px){
	.ipb-logistics__card:hover .ipb-logistics__body {background: #001E41;}
	.ipb-logistics__card:hover .ipb-logistics__body * {color: #fff;}
}
@media screen and (max-width:1024px){
	/* Shared eyebrow + section title */
	.ipb-eyebrow {gap: 1rem;}
	.ipb-eyebrow__label {font-size: 0.75rem;}
	.ipb-eyebrow__line {width: 3.1875rem;}
	.ipb-section__title {font-size: 1.25rem;}
	/* Intro */
	.ipb-intro {gap: 1.25rem; padding-bottom: 3.75rem;}
	.ipb-intro__title {font-size: 1.25rem;}
	.ipb-intro__title br.mob {display: none !important;}
	.ipb-intro__body {gap: 0.75rem;}
	.ipb-intro__lead {font-size: 1rem;}
	.ipb-intro__desc {font-size: 0.875rem; line-height: 1.43;}
	.ipb-intro__desc br:not(.none):not(.pc3) {display: none;}
	/* OUR SERVICES */
	.ipb-services {padding: 3.75rem 0;}
	.ipb-services__inner {gap: 1.25rem;}
	.ipb-services__list {flex-direction: column; margin-top: 0.5rem;}
	.ipb-service {padding: 1.75rem 1rem; gap: 1rem; border-right: 0; border-bottom: 1px solid #E3E3E3;}
	.ipb-service:last-child {border-bottom: 0;}
	.ipb-service__icon {height: 2.5rem;}
	.ipb-service__name-en {font-size: 1.125rem;}
	.ipb-service__name-ko {font-size: 1rem;}
	.ipb-service__items {max-width: fit-content;}
	.ipb-service__items li {font-size: 0.875rem; /* padding-left: 0.85rem; */ line-height: 1.43;}
	.ipb-service__items li::before {/* top: 0.5rem; */ width: 0.25rem; height: 0.25rem; margin-top: -.25rem; margin-right: .5rem;}
	.ipb-service__items li br {display: none;}
	.businessIpEn .ipb-service__name-ko {font-size: 1rem;}
	.businessIpEn .ipb-service__items {max-width: 30rem;}
	.businessIpEn .ipb-service__items li {padding-left: 0.875rem; font-size: 0.875rem; line-height: 1.43;}
	.businessIpEn .ipb-service__items li::before {top: 0.6em; width: 0.25rem; height: 0.25rem; margin: 0;}
	.businessSnackEn .ipb-service__name-en {font-size: 1.125rem;}
	.businessSnackEn .ipb-service__name-ko {font-size: 1rem;}
	.businessSnackEn .ipb-service__items {max-width: 30rem;}
	.businessSnackEn .ipb-service__items li {padding-left: 0.875rem; font-size: 0.875rem; line-height: 1.43;}
	.businessSnackEn .ipb-service__items li::before {top: 0.6em; width: 0.25rem; height: 0.25rem; margin: 0;}
	/* DESIGN SOLUTION (tablet - column layout) */
	.ipb-design__sticky {min-height: 100vh; padding: 5rem 0 3.75rem; display: flex; align-items: center;}
	.ipb-design__inner {flex-direction: column; gap: 1.75rem; align-items: stretch;}
	.ipb-design__text {width: 100%; order: 2;}
	.ipb-design__head {gap: 1rem;}
	.ipb-design__head.pc {display: none !important;}
	.ipb-design__head.mob {display: block !important;}
	.ipb-design__slides {margin-top: 0;}
	.ipb-design__slide {gap: 0.75rem;}
	.ipb-design__slide-visual {display: none;}
	.ipb-design__step-title {font-size: 1.25rem;}
	.ipb-design__desc {font-size: 0.875rem; line-height: 1.43;}
	.ipb-design__desc br {display: none;}
	.ipb-design__visuals {order: 1; max-width: 100%; width: 100%; flex: auto;}
	.ipb-design__dots {margin-top: 1.5rem; gap: 0.625rem; min-height: .85rem;}
	.ipb-design__dot {width: 0.4375rem;}
	.ipb-design__dot.is-active {width: 0.75rem;}
	/* LOGISTICS */
	.ipb-logistics {padding: 3.75rem 0;}
	.ipb-logistics__inner {gap: 1.75rem;}
	.ipb-logistics__list {gap: 1.25rem;}
	.ipb-logistics__img {aspect-ratio: 16/10;}
	.ipb-logistics__body {padding: 1.25rem; gap: 0.75rem;}
	.ipb-logistics__eyebrow {font-size: 0.6875rem; letter-spacing: 0.125rem;}
	.ipb-logistics__heads {margin-top: -0.5rem;}
	.ipb-logistics__name-en {font-size: 1rem;}
	.ipb-logistics__name-ko {font-size: 0.9375rem;}
	.ipb-logistics__desc {font-size: 0.875rem; line-height: 1.43;}
}
@media screen and (max-width:768px){
	/* DESIGN SOLUTION (mobile - 데스크탑과 동일 swiper, 세로 레이아웃) */
	.ipb-intro__title br.mob {display: block !important;}
	.ipb-design__sticky {min-height: 100vh; padding: 5rem 0 3.75rem; display: flex; align-items: center;}
	.ipb-design__inner {flex-direction: column; gap: 1.75rem; align-items: stretch;}
	.ipb-design__text {width: 100%; order: 2;}
	.ipb-design__head {gap: 1rem;}
	.ipb-design__slides {margin-top: 0;}
	.ipb-design__slide {gap: 0.75rem;}
	.ipb-design__slide-visual {display: none;}
	.ipb-design__step-title {font-size: 1.25rem;}
	.ipb-design__desc {font-size: 0.875rem; line-height: 1.43;}
	.ipb-design__desc br {display: none;}
	.ipb-design__dots {margin-top: 1.5rem; gap: 0.625rem;}
	.ipb-design__dot {width: 0.4375rem;}
	.ipb-design__dot.is-active {width: 0.75rem;}
	.ipb-design__head.pc {display: none !important;}
	.ipb-design__head.mob {display: block !important;}

	/* LOGISTICS */
	.ipb-logistics__list {flex-direction: column;}
	.ipb-logistics__card {flex: auto;}
}

/* === Page: business/snack (extends ip-business) === */
#businessSnack .snack-intro__desc {font-size: 1rem; max-width: 57.0625rem;}
.ipb-design__items {display: flex; flex-direction: column; gap: 0.5rem;}
.ipb-design__items li {position: relative; padding-left: 1.125rem; font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.3; color: #171F39; word-break: keep-all;}
.ipb-design__items li::before {content: ""; position: absolute; left: 0; top: 0.6rem; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: #001E5C;}
.snack-dev__list {gap: 1.75rem;}
.snack-dev__body {gap: 0.75rem;}
.snack-dev__title {font-family: var(--font-pre); font-size: 1.5rem; font-weight: 700; line-height: 1.45; color: #171F39; word-break: keep-all;}
@media screen and (max-width:1024px){
	/* === Page: business/snack === */
	#businessSnack .snack-intro__desc {font-size: 0.875rem; line-height: 1.43;}
	#businessSnack .snack-intro__desc br {display: none;}
	.ipb-design__items {gap: 0.4rem;}
	.ipb-design__items li {font-size: 0.875rem; padding-left: 0.85rem; line-height: 1.43;}
	.ipb-design__items li::before {top: 0.5rem; width: 0.25rem; height: 0.25rem;}
	.snack-dev__list {gap: 1.25rem;}
	.snack-dev__body {gap: 0.5rem;}
	.snack-dev__title {font-size: 1.125rem;}
}

/* === Page: business/Gumi Yum (extends ip-business) === */
#businessGumi{padding-bottom: 5.625rem;}
#businessGumi .gumi_img{position: relative; text-align: center;}
#businessGumi .gumi_img > img{width: 100%;}
#businessGumi .gumi_img .btn-touch{position: absolute; left: 50%; transform: translateX(-50%); bottom: 2.5rem; z-index: 2; background: #E0211C !important; border: none; width: auto; padding: 0 1.5rem;}
@media screen and (max-width:1024px){
	#businessGumi{padding-bottom: 3.75rem;}
	#businessGumi .gumi_img .btn-touch{bottom: 1.5rem; padding: 0 1.25rem;}
}
@media screen and (max-width:768px){
	#businessGumi .gumi_img .btn-touch{position: initial; transform: none; margin-top: 1.25rem;}
}

/* === Sub visual variants (portfolio) === */
/* portfolio 페이지에선 sub_menu 단일 탭 숨기고 페이지 내 필터로 대체 */
body:has(#portfolioList) .sub_visual_wrap .sub_menu,
body:has(#portfolioDetail) .sub_visual_wrap .sub_menu {display: none;}

/* === Page: portfolio/list === */
#portfolioList {display: flex; flex-direction: column; gap: 6.25rem;}
.portfolio-grid {display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5rem 1.75rem;}
.portfolio-card {position: relative; border-radius: 1.25rem; overflow: hidden; transition: all .3s ease;}
.portfolio-card__link {display: block; width: 100%; height: 100%;}
.portfolio-card__img {display: block; width: 100%; aspect-ratio: 1/1; overflow: hidden; position: relative;}
.portfolio-card__img::after {content: ""; position: absolute; inset: 0; background: #171F39; pointer-events: none; transition: all .3s ease; opacity: 0;}
.portfolio-card__img img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease;}
.portfolio-card__txt {position: absolute; bottom: -1px; left: -1px; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.5rem; transition: all .3s ease; width: calc(100% + 2px);}
.portfolio-card__heading {display: flex; flex-direction: column; color: #fff; transition: all .3s ease; width: calc(100% - 2.25rem);}
.portfolio-card__title {font-family: var(--font-pre); font-size: 1.375rem; font-weight: 700; line-height: 1.45; transition: all .3s ease; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.portfolio-card__cat {font-family: var(--font-en); font-size: 0.875rem; font-weight: 400; line-height: 1.43; transition: all .3s ease;}
.portfolio-card__arrow {width: 1.25rem; aspect-ratio: 1/1; display: block; flex-shrink: 0; transition: all .3s ease; filter: var(--filter-white);}
@media screen and (min-width:1025px){
	.portfolio-card:hover {transform: translateY(-.2rem); box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.20);}
	.portfolio-card:hover .portfolio-card__img::after {opacity: .3;}
	.portfolio-card:hover .portfolio-card__txt {background: #fff;}
	.portfolio-card:hover .portfolio-card__heading * {color: #171F39;}
	.portfolio-card:hover .portfolio-card__arrow {filter: none;}
}
@media screen and (max-width:1024px){
	#portfolioList {gap: 3.75rem;}
	.portfolio-grid {gap: 1.25rem; grid-template-columns: repeat(3,1fr); border-radius: 2.5rem;}
	.portfolio-card__txt {gap: 1rem; padding: 1rem;}
	.portfolio-card__title {font-size: 1.125rem;}
	.portfolio-card__cat {font-size: 0.875rem;}
}
@media screen and (max-width:768px){
	.portfolio-grid {grid-template-columns: repeat(1,1fr);}
}

/* === Page: portfolio/detail === */
#portfolioDetail {padding-top: 6.25rem;}
#portfolioDetail .pfd {display: flex; flex-direction: column; align-items: center; gap: 3.75rem;}
.pfd__head {display: flex; flex-direction: column; align-items: center; gap: 0.5rem;}
.pfd__title {font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39; word-break: keep-all; text-align: center;}
.pfd__media {width: 100%;}
.pfd__media,
.pfd__media * {font-size: 1.375rem; font-weight: 400; line-height: 1.3; color: #171F39; list-style: revert; display: revert;}
.pfd__media img {max-width: 100%;}
@media screen and (max-width:1024px){
	#portfolioDetail {padding-top: 3.75rem;}
	#portfolioDetail .pfd {gap: 2.5rem;}
	.pfd__title {font-size: 1.375rem;}
	.pfd__media,
	.pfd__media * {font-size: 0.875rem !important;}
}

/* === Page: support === */
#supportPage .support {display: flex; flex-direction: column; gap: 3.75rem;}
.support-cs {background: #EBEFF6; padding: 3rem; border-radius: 0.625rem; display: flex; align-items: center; gap: 1.25rem;}
.support-cs__body {flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 1.25rem;}
.support-cs__title {font-family: var(--font-en); font-size: 2rem; font-weight: 700; line-height: 1.12; letter-spacing: -0.03125rem; color: #171F39;}
.support-cs__contacts {display: flex; gap: 2rem; flex-wrap: wrap;}
.support-cs__contacts li {display: flex; align-items: center; gap: 0.5rem;}
.support-cs__label {font-family: var(--font-en); font-size: 1rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-cs__value {font-family: var(--font-en); font-size: 1.5rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-cs__hours {display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;}
.support-cs__hours-label {font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #171F39;}
.support-cs__hours-body {display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap;}
.support-cs__hours-body strong {font-family: var(--font-en); font-size: 1.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-cs__hours-body span {font-family: var(--font-pre); font-size: 0.875rem; font-weight: 400; line-height: 1.43; color: #171F39;}
.support-cs__logo {width: 17.5rem; opacity: 0.1; flex-shrink: 0;}
.support-cs__logo img {width: 100%; display: block; filter: invert(11%) sepia(50%) saturate(2500%) hue-rotate(220deg);}
/* Main contact split */
.support-contact {display: flex; justify-content: space-between; gap: 2.5rem; position: relative; align-items: flex-start;}
.support-contact__head {display: flex; flex-direction: column; gap: 1.25rem; flex-shrink: 0; position: sticky; top: 6rem; left: 0;}
.support-contact__title {font-family: var(--font-pre); font-size: 2rem; font-weight: 700; line-height: 1.25; color: #171F39; word-break: keep-all;}
.support-contact__desc {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.4; color: #171F39; word-break: keep-all;}
.support-eyebrow .ipb-eyebrow__label {/* color: #234481; */ color: #171F39;}
.support-eyebrow .ipb-eyebrow__line {background: #234481;}
/* Integrated CS info (apply skin) */
.support-contact__info {display: flex; flex-direction: column; gap: 1rem; margin-top: calc(3rem - 1.25rem);}
.support-contact__contacts {display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; align-items: center; padding: 0; list-style: none;}
.support-contact__contacts li {display: flex; gap: 0.5rem; align-items: center;}
.support-contact__contacts li.w100 {width: 100%;}
.support-contact__contact-label {font-family: var(--font-en); font-size: 1rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-contact__contact-value {font-family: var(--font-en); font-size: 1.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-contact__hours {display: flex; flex-direction: column; gap: 0.25rem;}
.support-contact__hours-label {font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #171F39;}
.support-contact__hours-body {display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap;}
.support-contact__hours-body strong {font-family: var(--font-en); font-size: 1.25rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.025rem; color: #171F39;}
.support-contact__hours-body span {font-family: var(--font-pre); font-size: 0.875rem; font-weight: 400; line-height: 1.43; color: #171F39;}
/* Form */
.support-form {width: 42.5rem; display: flex; flex-direction: column; gap: 1.25rem;}
.support-form__field {display: flex; flex-direction: column; gap: 0.625rem;}
.support-form__label {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 700; line-height: 1.5; color: #171F39;}
.support-form__req {color: #F92626;}
.support-form__input,
.support-form__textarea {width: 100%; background: #EBEFF6; padding: 0.75rem 1rem; border-radius: 0.3125rem; border: 1px solid transparent; font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.5; color: #171F39; outline: none; transition: border-color .2s ease;}
.support-form__input::placeholder,
.support-form__textarea::placeholder {color: rgba(35, 68, 129, 0.7);}
.support-form__input:focus,
.support-form__textarea:focus {border-color: #171F39;}
.support-form__desc {color: #DC2C2C; font-size: .875rem; font-weight: 400; line-height: 1.43; letter-spacing: 0.00625rem; display: none;}
.support-form__textarea {height: 10.125rem; resize: none;}
.support-form__textarea::-webkit-scrollbar {width: 0.125rem;}
.support-form__textarea::-webkit-scrollbar-track {background: #ddd; border-radius: 0.625rem;}
.support-form__textarea::-webkit-scrollbar-thumb {background: #888; border-radius: 0.625rem;}
.support-form__agree {display: flex; align-items: center; gap: 0.625rem;}
.support-form__check {display: inline-flex; align-items: center; gap: 0.625rem; cursor: pointer;}
.support-form__checkbox {position: absolute; opacity: 0; width: 1.25rem; height: 1.25rem; margin: 0; cursor: pointer;}
.support-form__checkbox-mark {display: inline-flex; align-items: center; justify-content: center; width: 1.25rem; height: 1.25rem; background: #fff; border: 1px solid #C5C6CF; border-radius: 0.3125rem; transition: all .2s ease;}
.support-form__checkbox-mark img {width: 0.6875rem; height: 0.5625rem; display: block; opacity: 0;}
.support-form__checkbox:checked + .support-form__checkbox-mark {background: #001E5C; border-color: #171F39;}
.support-form__checkbox:checked + .support-form__checkbox-mark img {opacity: 1;}
.support-form__check-label {font-family: var(--font-pre); font-size: 1rem; font-weight: 700; line-height: 1.5; color: #171F39;}
.support-form__detail {background: transparent; border: 0; padding: 0; font-family: var(--font-pre); font-size: 0.875rem; font-weight: 400; line-height: 1.43; color: #8E8E8E; text-decoration: underline; text-underline-offset: 0.125rem; cursor: pointer;}
.support-form__detail:hover {color: #171F39;}
.support-form__submit_cont {margin-top: calc(2.5rem - 1.25rem);}
.support-form__submit {width: 8.68rem; height: 3rem; background: #001E41; border: 0; border-radius: 0.625rem; font-family: var(--font-pre); font-size: 1rem; font-weight: 700; line-height: 1.5; color: #fff; cursor: pointer; transition: background .2s ease;}
/* desc 에러 메시지 톤 보정 (apply skin) */
.support-form__desc.active {display: block;}

/* === Support popup (apply skin - privacy policy) === */
body.popup-open {overflow: hidden !important;}
.support-popup {position: fixed; inset: 0; z-index: 9999; display: none;}
.support-popup.is-open {display: block;}
.support-popup__bg {position: absolute; inset: 0; background: rgba(0, 0, 0, 0.7); cursor: pointer;}
.support-popup__container {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 42.8125rem; max-width: calc(100% - 2.5rem); max-height: calc(100vh - 6rem);}
.support-popup__close {position: absolute; bottom: calc(100% + 0.75rem); right: 0; width: 1.25rem; height: 1.25rem; padding: 0; background: transparent; border: 0; cursor: pointer;}
.support-popup__close img {width: 100%; height: 100%; display: block; filter: brightness(0) invert(1);}
.support-popup__inner {background: #fff; padding: 2.5rem 2.19rem; max-height: calc(100vh - 6rem); display: flex; flex-direction: column; gap: 1.25rem;}
.support-popup__head {border-bottom: 1px solid #000; padding-bottom: 1.25rem;}
.support-popup__title {font-family: var(--font-pre); font-size: 1.25rem; font-weight: 700; line-height: 1.45; color: #171F39; margin: 0;}
.support-popup__body {flex: 1 1 auto; overflow-y: auto; display: flex; flex-direction: column; gap: 1.25rem; padding-right: 1.44rem; max-height: 18.75rem;}
.support-popup__section {font-family: var(--font-pre); font-size: 1.125rem; font-weight: 400; line-height: 1.5; color: #171F39; margin: 0;}
.support-popup__body p {font-family: var(--font-pre); font-size: 1rem; font-weight: 400; line-height: 1.5; /* color: #234481; */ color: #171F39; margin: 0;}
.support-popup__body::-webkit-scrollbar {width: 0.125rem;}
.support-popup__body::-webkit-scrollbar-track {background: #ddd; border-radius: 0.625rem;}
.support-popup__body::-webkit-scrollbar-thumb {background: #888; border-radius: 0.625rem;}
/* 팝업 내부 약관 본문 (use/terms.inc.php 공유) */
.support-popup__body.use_wrap {margin-top: 0;}
.support-popup__body .contents-box-inner {font-size: 1rem; /* color: #234481; */ color: #171F39; line-height: 1.5; font-weight: 400;}
.support-popup__body .contents-box-inner h5 {font-size: 1.125rem; font-weight: 700; margin-bottom: 1.25rem; line-height: 1.5; color: #171F39;}
.support-popup__body .margin-top-30 {margin-top: 2.5rem;}

@media screen and (max-width:1024px){
	/* === Page: support === */
	#supportPage .support {gap: 3.75rem;}
	.support-cs {padding: 3rem; border-radius: 0.625rem; gap: 1.25rem;}
	.support-cs__body {gap: 1.25rem;}
	.support-cs__title {font-size: 1.25rem; letter-spacing: -0.025rem;}
	.support-cs__contacts {gap: 2rem;}
	.support-cs__contacts li {gap: 0.5rem;}
	.support-cs__label {font-size: 1rem; letter-spacing: -0.025rem;}
	.support-cs__value {font-size: 1.5rem; letter-spacing: -0.025rem;}
	.support-cs__hours {gap: 1.25rem;}
	.support-cs__hours-label {font-size: 1rem;}
	.support-cs__hours-body {gap: 0.75rem;}
	.support-cs__hours-body strong {font-size: 1.25rem; letter-spacing: -0.025rem;}
	.support-cs__hours-body span {font-size: 0.875rem;}
	.support-cs__logo {width: 17.5rem;}
	/* Main contact split */
	.support-contact {gap: 3.75rem ; flex-direction: column;}
	.support-contact__head {gap: 1.25rem; top: auto; position: relative; left: auto;}
	.support-contact__title {font-size: 1.25rem;}
	.support-contact__desc {font-size: 0.875rem;}
	/* Integrated CS info (apply skin) */
	.support-contact__info {gap: 1rem; margin-top: calc(2rem - 1.25rem);}
	.support-contact__contacts {gap: 0.25rem 0.75rem;}
	.support-contact__contacts li {gap: 0.5rem;}
	.support-contact__contact-label {font-size: 0.875rem;}
	.support-contact__contact-value {font-size: 1rem;}
	.support-contact__hours {gap: 0.25rem;}
	.support-contact__hours-label {font-size: 0.875rem;}
	.support-contact__hours-body {gap: 0.25rem; flex-direction: column; align-items: flex-start;}
	.support-contact__hours-body strong {font-size: 1rem;}
	.support-contact__hours-body span {font-size: 0.75rem;}
	/* Form */
	.support-form {width: 100%; gap: 1.25rem;}
	.support-form__field {gap: 0.75rem;}
	.support-form__label {font-size: 0.875rem;}
	.support-form__input,
	.support-form__textarea {padding: 0 1rem; border-radius: 0.625rem; font-size: 0.875rem; height: 2.75rem;}
	.support-form__desc {font-size: 0.75rem;}
	.support-form__textarea {height: 10.125rem; padding: 1rem;}
	.support-form__agree {gap: 0.625rem;}
	.support-form__check {gap: 0.625rem;}
	.support-form__checkbox {width: 1.25rem; height: 1.25rem;}
	.support-form__check-label {font-size: 0.875rem;}
	.support-form__detail {font-size: 0.75rem;}
	.support-form__submit_cont {margin-top: calc(2.5rem - 1.25rem);}
	.support-form__submit {width: 8.68rem; font-size: 1rem;}


	/* === Support popup (apply skin - privacy policy) === */
	.support-popup__container {width: 42.8125rem; max-width: calc(100% - 2.5rem); max-height: calc(100vh - 6rem);}
	.support-popup__close {bottom: calc(100% + 0.5rem); width: 1.25rem; height: 1.25rem;}
	.support-popup__inner {padding: 1.875rem 1.25rem; gap: 1.25rem;}
	.support-popup__head {padding-bottom: 1.25rem;}
	.support-popup__title {font-size: 1.25rem;}
	.support-popup__body {gap: 1.25rem; padding-right: 1rem; max-height: 18.75rem;}
	.support-popup__section {font-size: 1.125rem;}
	.support-popup__body p {font-size: 1rem;}
	/* 팝업 내부 약관 본문 (use/terms.inc.php 공유) */
	.support-popup__body .contents-box-inner {font-size: 0.875rem;}
	.support-popup__body .contents-box-inner h5 {margin-bottom: 0.5rem; line-height: 1.3;}
	.support-popup__body .margin-top-30 {margin-top: 1.5rem;}
}

@media screen and (max-width:550px){
	.ipb-intro__desc .pc3 {display: none;}
}