@charset "UTF-8";

	.tabDepth>a,
	.lastDepth>a,
	.depth3>a,
	.depth3>a>span:before,
	.faq_list>li .q,
	.faq_list>li .q>.bul,

	#mVisual .visualRoll .slider>div,
	#mVisual .vTxtArea .ii,
	#mVisual .slick-dots>li button,
	#mVisual .slick-dots>li button:before,
	#mVisual .vTxt .ii,

	#mVisual .iconMenu .inConts>a,

	.swiper-button,
	.swiper-pagination-bullet,
	.m-tab>a,
	#quick-right>a,
	.store-area>.store-map .thumb .finding-map-link,
	.store-area>.store-map .thumb .finding-map-link:after,
	/*#quick-right,*/
	#quick-social,
	#main-program .program-list>li>a,
	#mainStrengths .swiper-wrapper .swiper-slide .strengths-text>.btns>button,
	.mainEsg-list>li:hover figure,
	.mainEsg-list>li:hover figure img,
	.tab-three>a,
	.tab-three>a:before,
	.tab-three>a:after,
	.ir-notice .icon,
	.talent-top>li,
	#mainVisual .swiper-pagination-bullet:before,
	.swiper-wrapper .swiper-slide.over:before,
	.swiper-wrapper .swiper-slide.over:after,
	.btn-box>a,
	.spineAim-recommended ul>li,
	.spineAim-recommended ul>li>p:before{transition: all .3s ease-out; transform-origin: 50% 50%;}

	#mainVisual .vTxt .ii{transition: all .4s ease-out; transform-origin: 50% 50%;}

	.historyArea .history_box>.logo>span,
	.historyArea .history_box>.list:before,
	#mVisual .vTxt .ii{transition: all .5s ease-out; transform-origin: 50% 50%;}

	#mVisual .visualRoll .slider .photoBox p{transition: all 1s ease-out; transform-origin: 50% 50%;}

	/*#mainVisual .visualRoll .swiper-slide>img{transition: all 2s ease-out; transform-origin: 50% 50%;}*/

/*[s] All Style */
	/*
		h4{margin-bottom:2.5rem; font-weight: 700; font-size:3rem; line-height:1.3; color: #000;}
		*+h4{margin-top:10rem;}

		h4.line{margin-bottom:12rem; font-size:5rem; line-height:1; text-align: center; position: relative; z-index:2;}
		h4.line:before{content: ""; width: 1px; height: 15rem; margin-left:-0.5px; background-color: #ccc; display: block; position:absolute; left: 50%; bottom:-19.5rem;}
		*+h4.line{margin-top:5rem;}

		.nTxt{font-size:2rem; line-height:3rem; color: #555;}

		.page-title{font-size:3.5rem; line-height:4.5rem; color: #000; text-align: center;}
		.page-text{font-size:2.2rem; line-height:3.2rem; color: #555; text-align: center;}

		.wideFrame{height: 60rem; position: relative;}
		.wideFrame :where(video, iframe, .g-box){width: 100%; height: 100%; position: absolute; left: 0; top: 0;}

		.wideKakao{width: 100%; margin: 0 auto; position: relative;}
		.wideKakao>.root_daum_roughmap{width: 100%; height:56rem;}
		.wideKakao>.root_daum_roughmap .wrap_map{height:100%; position: absolute; left: -1px; right: -1px; top: -1px;}
		.wideKakao .hide{display: none;}

		ul.jum>li{padding-left:1rem; font-size:1.8rem; line-height:3rem; color: #555; position: relative;}
		ul.jum>li:before{content: "·"; position:absolute; left: 0; top:0;}

		ul._star>li{padding-left:1.7rem; font-size:1.8rem; line-height:2.8rem; color: #555; position: relative;}
		ul._star>li:before{content: "※"; position:absolute; left: 0; top:0;}

		ul._line>li{padding-left:1.4rem; font-size:1.8rem; line-height:2.8rem; color: #555; position: relative;}
		ul._line>li:before{content: "-"; position:absolute; left: 0; top:0;}

		ol.num>li{padding-left:2.4rem; position: relative; box-sizing:border-box;}
		ol.num>li:before{content: ""; position: absolute; top: 0; left: 0;}
		ol.num>li:nth-child(1):before{content: "①";}
		ol.num>li:nth-child(2):before{content: "②";}
		ol.num>li:nth-child(3):before{content: "③";}
		ol.num>li:nth-child(4):before{content: "④";}
		ol.num>li:nth-child(5):before{content: "⑤";}
		ol.num>li:nth-child(6):before{content: "⑥";}
		ol.num>li:nth-child(7):before{content: "⑦";}
		ol.num>li:nth-child(8):before{content: "⑧";}
		ol.num>li:nth-child(9):before{content: "⑨";}
		ol.num>li:nth-child(10):before{content: "⑩";}
		ol.num>li:nth-child(11):before{content: "⑪";}
		ol.num>li:nth-child(12):before{content: "⑫";}

		.bul-25x24{}
		.bul-25x24>li{padding-left:3.8rem; background:url('/images/bul_25x24.svg') no-repeat left 0.4rem/2.5rem; font-weight: 400; font-size:2.2rem; line-height:3.2rem; color: #000;}
		.bul-25x24>li+li{margin-top:0.5rem;}

		.bul-25x24.c555>li{color: #555;}

		.bul-25x24.c{display: flex; flex-flow: row wrap; justify-content: center; gap:0.5rem 3.5rem;}
		.bul-25x24.c>li+li{margin-top:0;}

		.gradien-box{width:100%; max-width:900px; margin:0 auto; padding:2.5rem 4rem; background: var(--bc_gradien); border-radius:1rem;}
		.gradien-box .bul-25x24>li{color: #fff; -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1);}

		.sticky-table{width:100%; border-top:2px solid #000; font-size:0; line-height:0;}
			.sticky-table+.sticky-table{margin-top:2rem;}
			.sticky-table>table{width:100%; border-spacing:0; border-collapse: separate; table-layout : fixed;}
			.sticky-table>table th,
			.sticky-table>table td{padding:1.6rem; background-color: #fff; border-right:1px solid #ddd; border-bottom:1px solid #ddd; font-weight: 400; font-size:2rem; line-height:1.45; color:#000; text-align:center; vertical-align: middle; border-collapse:separate; empty-cells:show; box-sizing: border-box; word-break:keep-all; word-wrap:break-word;}

			.sticky-table>table tr>*:last-child{border-right:none;}

			.sticky-table>table>thead>tr>th{background-color: #f4f6f8; font-weight: 600; color: #000 !important; position:sticky; top:0;}
			.sticky-table>table>thead>tr>th:first-child{left:0; z-index:2;}

			.sticky-table>table>tbody>tr>th{font-weight: 500; color: #000 !important; position:sticky; left:0; z-index:1;}
			.sticky-table>table .th{background-color: #f4f6f8; font-weight: 500; color: #000 !important;}
			.sticky-table>table .th-b{background-color: #f0f9fc !important; font-weight: 500; color: #000 !important}

			.sticky-table p.state{width:10rem; height:4rem; margin:0 auto; background-color: #999; border:1px solid #999; font-weight: 600; font-size:1.8rem; line-height:1; color: #fff; border-radius:99px; display: flex; align-items: center; justify-content: center;}
			.sticky-table p.state.biweekly{background-color: #fff; border-color: var(--point2); color: var(--point2);}
			.sticky-table p.state.surgery{background-color: #bbd366; border-color: #bbd366;}
			.sticky-table p.state.on{background-color: var(--point2); border-color: var(--point2);}

			.sticky-table>table .custom-th{width:7.1rem; z-index:2;}
			.sticky-table>table .custom-th2{width:11rem; left:7.1rem; z-index:2;}

			.sticky-table>table .hours-th{width:16rem; z-index:2;}
			.sticky-table>table .hours-th2{width:12rem; left:16rem; z-index:2;}

			.sticky-table>table .cert-th{width:22rem; z-index:2;}

			.sticky-table>table .cert2-th{width:27rem; z-index:2;}
			.sticky-table>table .cert2-th2{width:13rem;}
			.sticky-table>table .cert2-th3{width:19rem; background-color: #fffde4 !important;}

			.sticky-table>table ul.jum>li{font-size:inherit; line-height:inherit; color:inherit;}

			.sticky-table>table .photo{background-color: #fff !important; padding-bottom:0 !important;}

			.sticky-table>table .btn-arr{margin-left:0.5rem; padding:0.6rem 1.1rem; background-color: #555; font-size:1.4rem; line-height:1; color: #fff; display: inline-flex; align-items: center; justify-content: center; border-radius:0.5rem; overflow: hidden; vertical-align: top;}

			.sticky-table>table tr.gray th,
			.sticky-table>table tr.gray td{background-color: #f4f6f8;}

			.sticky-table.c555>table th,
			.sticky-table.c555>table td{color:#555;}

			.sticky-table.c666>table th,
			.sticky-table.c666>table td{color:#666;}

			.sticky-table.cert>table th,
			.sticky-table.cert>table td{padding:1.9rem; text-align: left;}
	*/

	img.noIMG{width:80% !important; height:80% !important; object-fit: contain !important; filter:grayscale(100%); opacity: 0.3; position: absolute; left:50%; top:50%; transform: translate(-50%, -50%);}
/*[e] All Style */

/*[s] Main Popup Style */
	#hd_pop {z-index:101;position:relative;margin:0 auto;height:0}
	#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
	.hd_pops{width:auto !important; max-width:100%; height:auto !important; background-color:#fff; position:absolute; display:block; border-radius: 1rem; overflow:hidden; box-sizing:border-box; box-shadow:0 0 3rem rgba(0,0,0,0.5);}
	.hd_pops img{width:100%}

	/* === 팝업 위치 옵션 (PC, >1024px) — 관리화면 nw_pos_pc 값으로 분기 === */
	@media only screen and (min-width: 1025px){
		.hd_pops.nwpos-pc-left-top,
		.hd_pops.nwpos-pc-right-top,
		.hd_pops.nwpos-pc-left-bottom,
		.hd_pops.nwpos-pc-right-bottom,
		.hd_pops.nwpos-pc-center{ position: fixed; right: auto; bottom: auto; }
		.hd_pops.nwpos-pc-left-top    { top: 3rem;  left: 3rem;  }
		.hd_pops.nwpos-pc-right-top   { top: 3rem;  right: 3rem; left: auto; }
		.hd_pops.nwpos-pc-left-bottom { bottom: 3rem; left: 3rem; top: auto; }
		.hd_pops.nwpos-pc-right-bottom{ bottom: 3rem; right: 3rem; top: auto; left: auto; }
		.hd_pops.nwpos-pc-center      { top: 50%; left: 50%; transform: translate(-50%, -50%); }
		/* custom(좌표 직접 지정)은 인라인 top/left 그대로 사용 — 별도 위치 규칙 없음 */
	}
	.hd_pops_con{}
	.hd_pops_footer{display: flex; gap: 1rem; justify-content: space-between; padding: 15px 2rem; font-size: 0; line-height: 0; color:#888; text-align:left;position:relative}
	.hd_pops_footer.white{background-color: #fff;}
	.hd_pops_footer.black{background-color: #000;}

	.hd_pops_footer .hd_pops_reject {position: relative; font-size: 14px; line-height: 1; color: #888; padding: 0 0 0 20px;}
	.hd_pops_footer .hd_pops_reject::before{position: absolute; content: ''; width: 14px; height: 14px; top: 0; left: 0; border: 1px solid #888; background-color: #fff;}
	.hd_pops_footer .hd_pops_reject::after{position: absolute; content: ''; width: 10px; height: 10px; top: 2px; left: 2px; background-image: url('/img/icon_check.svg'); background-repeat: no-repeat; background-size: contain; background-position: center;}

	.hd_pops_footer .hd_pops_close{width: 14px; height: 14px;/*   background-image: url('/img/icon_close.svg'); background-repeat: no-repeat; background-size: contain; background-position: center; */}

	/* black */
	.hd_pops_footer.black .hd_pops_reject {color: #fff;}
	.hd_pops_footer.black .hd_pops_reject::before{border: 1px solid #fff;}
	/* .hd_pops_footer.black .hd_pops_reject::after{filter: brightness(0) saturate(100%) invert(100%);} */

	.hd_pops_footer.black .hd_pops_close{filter: brightness(0) saturate(100%) invert(100%);}

	#popLayer{width:100%; height:100%; font-size:0; line-height:0; position:fixed; left:0; top:0; z-index:99; overflow:hidden; overflow-y:auto;}
	#popLayer.disNone{display:none !important;}
	#popLayer #moPopArea{width:100vw; height:100vh; padding:10rem 3rem; box-sizing: border-box; display: flex; flex-wrap: wrap; flex-direction: row; align-items: flex-start; justify-content: flex-start; -ms-flex-align:center;}
	#popLayer #moPopArea .moPop{width:100%; max-width:50rem; margin:0; position: relative;}
	#popLayer #moPopArea #moPopRoll{background-color: #fff; border-radius:2rem; overflow:hidden; box-shadow:0 2rem 4rem rgba(0,0,0,0.3);}
	#popLayer .slider{width:100%; border-radius:2rem 2rem 0 0; box-sizing:border-box; overflow:hidden;}
	#popLayer .slider img{width:100%; vertical-align: top;}
	#popLayer .slider .HKeditorContent{padding:20px; font-size:20px; line-height:1.5; color: #666;}
	#popLayer .slider .HKeditorContent img{width:auto;}
	#popLayer #moPopRoll.roll .slider{}

	#popLayer .layerPopClose{width:3rem; height:3rem; margin:0; padding:0; font-size:0; line-height:0; position: absolute; right:1.5rem; top:1.5rem; z-index:6; transform:rotate(45deg);}
	#popLayer .layerPopClose:before,
	#popLayer .layerPopClose:after{content: ""; background-color: #222; display: block; position:absolute; left: 50%; top:50%;}
	#popLayer .layerPopClose:before{width: 100%; height: 2px; margin:-1px 0 0 -1.5rem;}
	#popLayer .layerPopClose:after{width: 2px; height: 100%; margin:-1.5rem 0 0 -1px;}

	#popLayer .moPopClose{width:100%; border-radius:0 0 2rem 2rem; display: flex; justify-content: space-between; overflow:hidden;}
	#popLayer .moPopClose>*{flex:1 1 50%; height:6rem; font-size:1.6rem; line-height:1; display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; justify-content: center;}
	#popLayer .moPopClose button{background-color: #878896; border:none; color: #dcdeea; position: relative;}
	/*#popLayer .moPopClose button:before{content: "X"; width: 1.8rem; height: 1.8rem; background-color: rgba(255,255,255,0.3); border:1px solid #000; font-family: dotum; font-weight: bold; font-size:1.6rem; line-height:1.6rem; color: #000;display: inline-block; position:absolute; top:0; box-sizing: border-box;}
	#popLayer .moPopClose button.toDay_close{padding-left:2.5rem;}
	#popLayer .moPopClose button.toDay_close:before{left:0;}*/
	#popLayer .moPopClose button.close{padding-right:2.5rem}
	#popLayer .moPopClose button.close:before{right:0;}
	#popLayer .moPopClose a{background-color: #3617cd; color:#fff}

	#popLayer .slick-dots{width:100%; padding:0; text-align: center; position: absolute; left:0; bottom:7rem; z-index:7;}
	#popLayer .slick-dots>li{margin:0 0.7rem; display:inline-block; vertical-align: top;}
	#popLayer .slick-dots>li+li{}
	#popLayer .slick-dots>li button{width:1.4rem; height:1.4rem; padding:0; background-color:#d4d7d9; border:none; font-size:0; line-height:0; position: relative; cursor: pointer; border-radius:999px; overflow:hidden; transition: all .3s ease-out;}
	#popLayer .slick-dots>li.slick-active button{width:30px; background-color: #333;}

	#popLayer #moPopArea #moPopRoll{opacity: 0; visibility: hidden; transition: opacity 1s ease;}
	#popLayer #moPopArea #moPopRoll.open,
	#popLayer #moPopArea #moPopRoll.slick-initialized{visibility: visible; opacity: 1;}
/*[e] Main Popup Style */

/*[s] Main Style */
	a:not(.no) .thumb{overflow:hidden;}
	a:not(.no) .thumb img{transition: all .7s ease-out; transform-origin: 50% 50%;}
	a:not(.no):hover .thumb img{transform: scale(1.1);}

	.m-Btn{min-width:15rem; height:5rem; border:1px solid #fff; font-weight: 500; font-size:var(--base15); line-height:1; color: #fff; text-align: center; display: inline-flex; align-items: center; justify-content: center;
		transition:	background-color .3s ease, border-color .3s ease, color .3s ease, clip-path .3s ease;
		clip-path:polygon(
			0 0,
			100% 0,
			100% 0,
			100% 100%,
			0 100%,
			0 100%
		);
	}
	.m-Btn.gray{border-color:#999; color: #999;}

	.m-Btn:hover{background:var(--point); border-color:var(--point); color: #fff;
		clip-path:polygon(
			0 0,
			calc(100% - 1.2rem) 0,
			100% 1.2rem,
			100% 100%,
			1.2rem 100%,
			0 calc(100% - 1.2rem)
		);
	}
	.m-Btn.over:hover{background:#fff; border-color:#fff; color:var(--point);}

	#mainVisual{width:100%; position: relative; overflow:hidden;}
		#mainVisual .visualRoll{display: flex; flex-flow: row nowrap;}
		#mainVisual .visualRoll .swiper-slide{min-width:100%; width:100%; background-repeat: no-repeat; background-position: center center; background-size: cover; font-size:0; line-height:0; position: relative; overflow:hidden; display:inline-block; vertical-align: top;}
		#mainVisual .visualRoll .swiper-slide>img{width:100%; max-width:none; height:96rem; object-fit: cover; object-position: center center;}/* transform:scale(1.1); */

		#mainVisual .vTxtArea{width:100%; height:100%; max-width:172rem; margin-left:-86rem; padding:0 2rem; position: absolute; left:50%; top:0; z-index:2; display: flex; align-items: center; justify-content: center;}
		#mainVisual .vTxt{width:100%; font-size:var(--base20);}
		#mainVisual .vTxt .ii{line-height:1; color: #fff; top:50px; display:block; opacity: 0; position: relative; word-break:keep-all; word-wrap:break-word; white-space: normal;}
		#mainVisual .vTxt .i01{transition-delay: 0.7s;}
		#mainVisual .vTxt .i02{transition-delay: 0.75s;}
		#mainVisual .vTxt .i03{transition-delay: 0.8s;}
		#mainVisual .vTxt .i04{transition-delay: 0.85s;}
		#mainVisual .vTxt .i05{transition-delay: 0.9s;}
		#mainVisual .vTxt .i06{transition-delay: 1.55s;}
		#mainVisual .vTxt .i07{transition-delay: 1.6s;}

		#mainVisual .vTxt .ii.cate{font-weight: bold; font-size:1.1em;}
		#mainVisual .vTxt .ii.title{font-weight: bold; font-size:3em;}
		#mainVisual .vTxt *+.ii.title{margin-top:1.5rem;}
		#mainVisual .vTxt .ii.text{margin-top:1.5rem; font-weight: 700; font-size:2.5em; line-height:var(--lineHeight);}
		#mainVisual .vTxt .ii.btn{margin-top:3.5rem; display: flex;}

		#mainVisual .swiper-option{width:100%; max-width:172rem; margin-left:-86rem; padding:0 2rem; position: absolute; left:50%; bottom:25rem; z-index:7; display: flex; align-items: center; justify-content: center;}
		#mainVisual .swiper-pagination{width:100%; display: flex; gap:0 2.7rem;}
		#mainVisual .swiper-pagination-bullet{height:2.8rem; font-weight: 400; font-size:var(--base18); line-height:1; color: #fff; opacity: 0.3; transition: all .3s ease-out; position: relative; cursor: pointer;}
		#mainVisual .swiper-pagination-bullet:nth-child(-n+9)::before {content: "0";}
		#mainVisual .swiper-pagination-bullet:after{content: ""; width: 0; height: 2px; background-color: var(--point); display: inline-block; position:absolute; left: 50%; bottom:0px; transition: all .3s ease-out;}
		#mainVisual .swiper-pagination-bullet.swiper-pagination-bullet-active{font-weight: 600; opacity: 1;}
		#mainVisual .swiper-pagination-bullet.swiper-pagination-bullet-active:after{width:100%; left:0%;}

		#mainVisual .swiper-slide-active .vTxt .ii{top:0px; opacity:1;}

	#mainHistory{margin:15rem 0; border-radius:1rem; overflow: hidden; box-shadow:0 1rem 1rem rgba(0,0,0,0.1);}
		.history-swiper{width:100%; position: relative;}
		.history-swiper .swiper-wrapper{width: 100%; height: 100%; display: flex; box-sizing: content-box;}
		.history-swiper .swiper-slide{width: calc(100% / 5); height:66rem; transition: all .5s ease-out; position: relative;}
		.history-swiper .swiper-slide .bg{background-repeat: no-repeat; background-position: center center; background-size: cover; transition: all .5s ease-out; filter:grayscale(100%); -webkit-filter:grayscale(100%); position: absolute; left:0; top:0; right:0; bottom:0;}
		.history-swiper .swiper-slide:before{content: ""; width: 100%; height: 100%; background-color: #000;  position:absolute; left: 0; top:0px; opacity: 0.3; z-index:2;}
		.history-swiper .swiper-slide:after{content: ""; width: 100%; height: 0%; position:absolute; left: 0; bottom:0px;  z-index:2; transition: all .5s ease-out;
			background: linear-gradient(to right,
				#e4002b 0%,
				#e4002b 50%,
				#e4002b 100%
			);
			-webkit-mask-image: linear-gradient(to top, #000 0%, transparent 100%);
			mask-image: linear-gradient(to top, #000 0%, transparent 100%);
			opacity: 0;
		}
		.history-swiper .swiper-slide.bg01 .bg{background-image: url('/images/main/img_history01_v2.jpg');}
		.history-swiper .swiper-slide.bg02 .bg{background-image: url('/images/main/img_history02_v5.jpg');}
		.history-swiper .swiper-slide.bg03 .bg{background-image: url('/images/main/img_history03_v2.jpg');}
		.history-swiper .swiper-slide.bg04 .bg{background-image: url('/images/main/img_history04_v5.jpg');}
		.history-swiper .swiper-slide.bg05 .bg{background-image: url('/images/main/img_history05_v2.jpg');}

		.history-swiper .out-box{min-height:100%; padding:3rem; font-size:var(--base20); line-height:var(--lineHeight); color: #fff; display: flex; align-items: center; justify-content: start; position: relative; z-index:3;}
		.history-swiper .out-box>p{padding-top:1.6rem; position: relative;}
		.history-swiper .out-box>p:before{content: ""; width: 2.6rem; height: 1px; background-color: var(--point); position:absolute; left: 0; top:0px;}

		.history-swiper .over-box{display:none; min-height:100%; padding:7rem 3rem 3rem; align-items: center; justify-content: center; position: relative; z-index:3; animation:mc_over 0.5s ease-out both 0.4s;}
		@keyframes mc_over {
			0% {opacity: 0; padding-top:7rem;}
			100% {opacity: 1;  padding-top:3rem;}
		}
		.history-swiper .over-box .over-in{width:100%; max-width:56rem; font-size:var(--base20); line-height:var(--lineHeight); color: #fff;}

		.history-swiper .over-box .cate{font-weight: bold; font-size:1.1em; line-height:1; color: var(--point);}
		.history-swiper .over-box .title{margin-top:2.5rem; font-weight: bold; font-size:2em; line-height:1;}
		.history-swiper .over-box .tit{margin-top:1rem; font-weight: 600; font-size:1.5em; line-height:1.3;}
		.history-swiper .over-box .option{padding:1.8rem 0; display: flex; align-items: center;}
		.history-swiper .over-box .option+.option{border-top:1px solid rgba(255,255,255,0.15);}
		.history-swiper .over-box .option>dt{width:10.5rem; display: flex; align-items: center; gap:0 1rem;}
		.history-swiper .over-box .option>dt figure{width:2.1rem; display: flex; justify-content: center;}
		.history-swiper .over-box .option>dd{flex:1; font-weight: 500;}
		.history-swiper .over-box .mBtn{margin-top:3rem;}

		.history-swiper .swiper-slide:is(:hover, .active){width:39vw;}
		.history-swiper .swiper-slide:is(:hover, .active) .bg{filter:grayscale(0%); -webkit-filter:grayscale(0%);}
		.history-swiper .swiper-slide:is(:hover, .active):after{height: 60%; opacity: 1;}
		.history-swiper .swiper-slide:not(:hover, .active){width: calc((100% - 39vw) / 4);}
		.history-swiper .swiper-slide:is(:hover, .active) .out-box{display:none;}
		.history-swiper .swiper-slide:is(:hover, .active) .over-box{display:flex;}

	:root{
		--container: 172rem; /* .inConts의 max-width */
		--container_small: 128rem; /* .inConts의 max-width */
		--gutter: 2rem;      /* .inConts 좌우 패딩 있으면 여기에 넣기 (예: 2rem) */

		--outset_172: max(0px, calc(((100vw - var(--sbw, 0px)) - var(--container)) / 2) + var(--gutter));
		--outset_128: max(0px, calc(((100vw - var(--sbw, 0px)) - var(--container_small)) / 2) + 3rem);
	}
	#mainNews{padding:15rem 0; background-color: #f8f8f8;}
		#mainNews>.inConts{overflow: visible;}
		#mainNews .news-title{width: calc(100% + max(0px, calc(((100vw - var(--sbw, 0px)) - var(--container)) / 2) + var(--gutter))); margin-bottom:4.5rem; padding-top:7.5rem; background: url('/images/main/bg_news.png') repeat-x left top / auto 9.8rem; font-size:var(--base20); line-height:1; color: #000;}
		#mainNews .news-title>p{font-weight: 700; font-size:1.1em; color: var(--point);}
		#mainNews .news-title>h2{margin-top:1.5rem; font-weight: bold; font-size:2.5em;}
		#mainNews .news-title>.more{font-size:0.9em; color: #666; position: absolute; right:2rem; top:14rem;}
		#mainNews .news-title>.more>span{color: var(--point);}

		.newsroom-swiper{width:100%; margin-top:1rem; position: relative;}
		.newsroom-swiper .swiper-wrapper{width: 100%; height: 100%; display: flex; flex-flow: row nowrap; box-sizing: content-box;}
		.newsroom-swiper .swiper-slide{flex-shrink: 0; width: 40rem; margin-right:3rem; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.1));}
		.newsroom-swiper .swiper-slide .swiper-slide-in{width:100%; background-color: #fff;
			transition:	background-color .3s ease, clip-path .3s ease;
			clip-path:none;
		}
		.newsroom-swiper .swiper-slide:last-child{margin-right:0;}
		.newsroom-swiper .swiper-slide figure{aspect-ratio:400/265; overflow: hidden;}
		.newsroom-swiper .swiper-slide figure>img{width:100%; height:100%; object-fit: cover; display:block;}
		.newsroom-swiper .swiper-slide dl{min-height:18rem; padding:2.7rem 2rem; font-size:var(--base20); line-height:var(--lineHeight); color: #999; transition:color .3s ease;}
		.newsroom-swiper .swiper-slide dl>dt{font-weight: 500; font-size:1.1em; color: #000; transition:color .3s ease; display: block; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; word-break:break-all;}
		.newsroom-swiper .swiper-slide dl>dd{margin-top:2rem; text-align:right;}

		.newsroom-swiper .swiper-slide:hover .swiper-slide-in{background-color: var(--point);
			clip-path:none;
		}

		.newsroom-swiper .swiper-slide:hover dl,
		.newsroom-swiper .swiper-slide:hover dl>dt{color: #fff;}

		.newsroom-swiper.no .swiper-wrapper{flex-wrap: wrap; gap:3rem;}
		.newsroom-swiper.no .swiper-slide{width:calc((100% - 9rem) / 4); margin-right:0;}

	#mainMotion{min-height: 100svh; display: flex; align-items: center; justify-content: center; position: relative;}
		#mainMotion .article{--cut: 20%; width: 50rem; height: 50rem; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.2)); overflow:hidden; border-radius: 50%;}
		#mainMotion .article .article-in{width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: url('/images/main/bg_motion.jpg') center center / cover;
			
			will-change: width, height;
		}
		#mainMotion .mainMotion-in{width: 50rem; height: 50rem; position: absolute; left:50%; top:50%; transform: translate(-50%, -50%);}
		#mainMotion .cate{width:100%; font-weight: bold; font-size: var(--base22); line-height: 1; color: #000; text-align: center; opacity: 0; position: absolute; left:0; top:-7rem;}
		#mainMotion .logo{width:100%; opacity: 0; position: absolute; left:0; top:-3.5rem;}
		#mainMotion .logo img{width:50rem; margin-left:-25rem; display:block; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.1)); position: absolute; left:50%; top:0;}
		#mainMotion .logo img.logo-red{opacity: 1;}
		#mainMotion .logo img.logo-white{-webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); opacity: 0;}

	#mainBusiness{padding:15rem 0 9rem;}
		#mainBusiness h2{font-weight: bold; font-size:9rem; line-height:1; color: #000; text-transform : uppercase; letter-spacing:1rem !important;}
		#mainBusiness h2>strong{font-weight: bold; color: var(--point); letter-spacing:1rem !important;}

		#mainBusiness .mainBusiness-re{margin-top:7rem; padding:6rem 0; background: url('/images/main/line_top.svg') no-repeat right -84rem top 19rem / 282rem;}
		#mainBusiness .mainBusiness-re dl{font-size:var(--base20); color: #666;}
		#mainBusiness .mainBusiness-re dl>dt{line-height:1; color: #000;}
		#mainBusiness .mainBusiness-re dl>dt>strong{font-weight: 800; font-size:2.5em;}
		#mainBusiness .mainBusiness-re dl>dt>p{margin-top:1rem; font-size:1.5em;}
		#mainBusiness .mainBusiness-re dl>dd{margin-top:7rem; font-size:1.5em; line-height:calc(1em + 1.5rem);}
		#mainBusiness .mainBusiness-re dl>dd>strong{color: #000;}
		#mainBusiness .mainBusiness-re .mBtn{margin-top:3rem; display: flex; justify-content: start;}

		#mainBusiness .mainBusiness-re:nth-child(odd){margin-top:13rem; background: url('/images/main/line_btm.svg') no-repeat left -84rem top -84.5rem / 282rem;}
		#mainBusiness .mainBusiness-re:nth-child(odd) dl{text-align: right;}
		#mainBusiness .mainBusiness-re:nth-child(odd) .mBtn{justify-content: end;}

	#mainBanner{padding:11rem 0;overflow: hidden;}
		#mainBanner:before{content: ""; width: 100%; height: 100%; background:url('/images/main/bg_banner.jpg') no-repeat center center/cover; position:absolute; left: 0; top:0px; transition: transform .7s ease-out; transform-origin: 50% 50%;}
		#mainBanner>.inConts{display: flex; flex-flow: column nowrap; align-items: center; gap:3rem 0;}
		#mainBanner dl{font-size:var(--base20); color: #fff; text-align: center;}
		#mainBanner dl>dt{font-weight:bold; font-size:1.1em; line-height:var(--lineHeight);}
		#mainBanner dl>dd{margin-top:1rem; font-weight: 800; font-size:3em; line-height:var(--lineHeight);}

		#mainBanner:hover:before{transform: scale(1.1);}

	#mainQuick{padding:15rem 0;}
		#mainQuick .title{font-size:var(--base20); line-height:1; color: #000; text-align: center;}
		#mainQuick .title>dt{font-weight: 700; font-size:1.1em; color: var(--point);}
		#mainQuick .title>dd{margin-top:2rem; font-weight: bold; font-size:2.5em;}

		#mainQuick .mainQuick-list{margin-top:4.5rem; display: flex; flex-flow: row wrap; gap:3rem;}
		#mainQuick .mainQuick-list>a{width:calc((100% - 6rem) / 3); height:28rem; padding:0 3rem; font-size:var(--base20); line-height:1; color: #fff; display: flex; flex-flow: column nowrap; justify-content: center; position: relative; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.2)); overflow: hidden;}
		#mainQuick .mainQuick-list>a:before{content: ""; background:url('/images/main/img_quick01.jpg') no-repeat center center / cover; position:absolute; left: 0; top:0px; right:0; bottom:0; transition:all .7s ease-out; clip-path:polygon( 0 0, calc(100% - 10%) 0, 100% 16%, 100% 100%, 10% 100%, 0 calc(100% - 16%) );}
		#mainQuick .mainQuick-list>a:nth-of-type(2):before{background-image: url('/images/main/img_quick02.jpg');}
		#mainQuick .mainQuick-list>a:nth-of-type(3):before{background-image: url('/images/main/img_quick03.jpg');}

		#mainQuick .mainQuick-list>a>p{width:100%; max-width:54rem; margin:0 auto; position: relative; z-index:2; transition:all .3s ease;}
		#mainQuick .mainQuick-list>a>p.cate{font-size:1.1em; color: #999;}
		#mainQuick .mainQuick-list>a>p.tit{margin-top:3.5rem; font-weight: 700; font-size:1.75em;}
		#mainQuick .mainQuick-list>a>p.text{margin-top:1.5rem; font-weight: 500; line-height:var(--lineHeight); opacity: 0.3;}

		#mainQuick .mainQuick-list>a:hover{}
		#mainQuick .mainQuick-list>a:hover:before{clip-path:polygon( 0 0, 100% 0, 100% 0, 100% 100%, 0 100%, 0 100% ); transform: scale(1.1);}
		#mainQuick .mainQuick-list>a:hover>p.cate{color: var(--point);}
		#mainQuick .mainQuick-list>a:hover>p.text{opacity: 1;}

	#mainPartner{padding:10rem 0 15rem; background:url('/images/main/bg_partners.png') no-repeat center top;}
		#mainPartner .title{font-size:var(--base20); line-height:1; color: #000; text-align: center;}
		#mainPartner .title>dt{font-weight: 700; font-size:1.1em; color: var(--point);}
		#mainPartner .title>dd{margin-top:2rem; font-weight: bold; font-size:2.5em;}
		#mainPartner .main_partner_logo{margin-top:4rem;}
		#mainPartner .main_partner_logo ul{display:flex; gap:3rem;}
		#mainPartner .main_partner_logo ul li{width:36rem; height:12rem; background-color: #fff; border:1px solid #ddd; border-radius:1rem; overflow:hidden; box-shadow:0 1rem 1rem rgba(0,0,0,0.2); position: relative; display: flex; align-items: center; justify-content: center;}
		#mainPartner .main_partner_logo ul li a{width:80%; height:80%; display: flex; align-items: center; justify-content: center;}
		#mainPartner .main_partner_logo ul li img{max-width:100%; max-height:100%; margin:0 auto; object-fit: contain; display:block;}
		#mainPartner .main_partner_logo .js-marquee-wrapper{display:inline-block}
		#mainPartner .main_partner_logo .marquee_right{margin-top:3rem;}
/*[e] Main Style */

/*[s] Sub Style */
	.sGroup{margin-bottom:5rem; font-size:var(--base20); line-height:1; color: #000; text-align: center; position: relative;}
		.sGroup>p{font-size:1.1em; color: var(--point);}
		.sGroup>h4{font-weight: 700; font-size:2em; line-height:var(--lineHeight);}
		.sGroup>div{font-size:1.1em; line-height:var(--lineHeight);}
		.sGroup>p+h4,
		.sGroup>h4+div{margin-top:2rem;}

		.sGroup.line{margin-top:-15rem; padding-top:15rem;}
		.sGroup.line:before{content: ""; width: 1px; height: 13rem; margin-left:0.5px; background-color: var(--point); display: inline-block; position:absolute; left: 50%; top:0px;}

		.sGroup.white,
		.sGroup.white>p{color: #fff;}

	#section-overview{}
		.overview-visual{height:36rem; background:url('/images/sub/bg_overview.jpg') no-repeat center center / cover; display: flex; align-items: center; justify-content: center;}
		.overview-visual dl{font-size:var(--base20); color: #fff; text-align: center;}
		.overview-visual dl>dt{}
		.overview-visual dl>dt img{height:5.6rem; -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1);}
		.overview-visual dl>dd{margin-top:1.5rem; font-weight: 600; font-size:1.25em; line-height:var(--lineHeight);}

		.overview-point{margin-top:8rem; display: flex; flex-flow: row wrap; align-items: center; justify-content: center;}
		.overview-point>li{width:25%; max-width:32rem; font-size:var(--base20); line-height:1; color: #000; text-align: center;}
		.overview-point>li+li{border-left:1px solid #dedede;}
		.overview-point>li figure{height:8.4rem; display: flex; align-items: start; justify-content: center;}
		.overview-point>li img[src*="icon_overview01"]{height:5.1rem; margin-top:1.3rem;}
		.overview-point>li img[src*="icon_overview02"]{height:6.3rem;}
		.overview-point>li img[src*="icon_overview03"]{height:6.3rem;}
		.overview-point>li img[src*="icon_overview04"]{height:6.1rem;}
		.overview-point>li p.tit{font-weight: 600; font-size:1.1em;}
		.overview-point>li p.tit:first-letter{color: var(--point);}
		.overview-point>li p.txt{margin-top:1rem; line-height:var(--lineHeight);}

		.overview-layout{margin-top:7.5rem;}
		.overview-layout>li{display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between; gap:0 7%;}
		.overview-layout>li+li{margin-top:8rem;}
		.overview-layout>li figure{width:45%; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.2));}
		.overview-layout>li figure>span{display:block; clip-path:none;}
		.overview-layout>li dl{flex:1; font-size:var(--base20); line-height:var(--lineHeight); color: #666;}
		.overview-layout>li dl>dt{font-weight: 600; font-size:1.25em; line-height:1; color: #000;}
		.overview-layout>li dl>dd{margin-top:1rem;}
		.overview-layout>li dl>dd>span{color: var(--point);}

		.overview-layout>li:nth-child(even) figure{order:2;}
		.overview-layout>li:nth-child(even) dl{order:1; text-align: right;}

	#section-ceo{width:100%; font-size:var(--base20); line-height:1; color: #000; display: flex; align-items: center; gap:8rem;}
		.ceo-photo{flex: 0 0 calc((50% - 8rem) + var(--outset_128)); height:66rem; padding:3rem 8.5rem 0 0; background:url('/images/sub/bg_ceo.png') no-repeat right top/cover; display: flex; flex-flow: column nowrap; align-items: end; justify-content: space-between; margin-left: calc(-1 * var(--outset_128));}
		.ceo-photo>p{font-size:1.5em;}
		.ceo-photo>p>strong{font-weight: 600; color: var(--point);}
		.ceo-photo>figure{width:41rem; text-align: center;}
		.ceo-photo>figure img{height:55.5rem;}

		.ceo-text{flex: 0 0 50%;}
		.ceo-text>p{font-size:0.9em; line-height:var(--lineHeight); color: #666;}
		.ceo-text>p>strong{font-weight: 600; font-size:1.1112em; line-height:var(--lineHeight); color: #000;}
		.ceo-text>p+p{margin-top:1rem;}

		.ceo-text>div.sign{margin-top:1rem; display: flex; flex-flow: row nowrap; align-items: start; justify-content: end; gap:2rem;}
		.ceo-text>div.sign>strong{padding-top:1.4rem;}
		.ceo-text>div.sign img{height:9.2rem;}

	#section-areas{}
		#section-areas .areas-bg{background:url('/images/sub/bg_areas.jpg') no-repeat center center/cover;}

		.icon-list{display: flex; flex-flow: row wrap; gap:2.5rem;}
		.icon-list>li{width:calc((100% - 7.5rem) / 4); padding:4rem 3.9rem 14rem; background-color: rgba(0,0,0,0.5); font-size:var(--base20); line-height:1; color: #fff;  border-radius:1rem; overflow: hidden; position: relative; transition: background-color .3s ease-out;}
		.icon-list>li>p{font-weight: 600; font-size:0.9em;}
		.icon-list>li>dl{margin-top:2.5rem;}
		.icon-list>li>dl>dt{font-weight: 400; font-size:1.25em; transition: font-weight .3s ease-out;}
		.icon-list>li>dl>dd{margin-top:1rem; font-size:0.9em; line-height:calc(0.778em + 1rem); opacity: 0.3; transition: opacity .3s ease-out;}
		.icon-list>li>figure{position: absolute; right:3.9rem; bottom:4.7rem;}
		.icon-list>li>figure img[src*="icon_areas01_01"]{width:7rem;}
		.icon-list>li>figure img[src*="icon_areas01_02"]{width:7rem;}
		.icon-list>li>figure img[src*="icon_areas01_03"]{width:8.2rem;}
		.icon-list>li>figure img[src*="icon_areas01_04"]{width:5.7rem;}

		.icon-list>li:hover{background-color: var(--point);}
		.icon-list>li:hover>dl>dt{font-weight: 700;}
		.icon-list>li:hover>dl>dd{opacity: 1;}

		.thumb-list{display: flex; flex-flow: row wrap; gap:2.5rem; counter-reset:item;}
		.thumb-list>li{width:calc((100% - 7.5rem) / 4); position: relative; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.2));}

		.thumb-list>li>.thumb-list_in{width:100%; padding-top:7rem; font-size:var(--base20); line-height:1; color: #fff; text-align: center; position: absolute; left:0; top:0; z-index:4;}
		.thumb-list>li>.thumb-list_in:before{counter-increment: item; content: counter(item); font-size:0.9em; opacity: 0.6; transition: all .3s ease-out;}
		.thumb-list>li:nth-child(-n+9)>.thumb-list_in:before{content: "0"counter(item);}

		.thumb-list>li>.thumb-list_in>dl{margin-top:2rem;}
		.thumb-list>li>.thumb-list_in>dl>dt{font-weight: 400; font-size:1.25em; line-height:var(--lineHeight); opacity: 0.6; transition: all .3s ease-out;}
		.thumb-list>li>.thumb-list_in>dl>dd{margin-top:1rem; font-size:0.9em; line-height:calc(0.778em + 1rem); opacity: 0.6; transition: all .3s ease-out;}

		.thumb-list>li>figure{position: relative;}
		.thumb-list>li>figure:before{content: ""; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); position:absolute; left: 0; top:0px;  z-index:2; transition: all .3s ease-out;}
		.thumb-list>li>figure:after{content: ""; width: 100%; height: 0%; position:absolute; left: 0; bottom:0px;  z-index:3; transition: all .3s ease-out;
			background: linear-gradient(to right,
				#fff 0%,
				#fff 50%,
				#fff 100%
			);
			-webkit-mask-image: linear-gradient(to top, #000 0%, transparent 100%);
			mask-image: linear-gradient(to top, #000 0%, transparent 100%);
			opacity: 0;
		}
		.thumb-list>li>figure img{width:100%; max-height:none; height:100%; display:block; object-fit: cover; -webkit-filter:grayscale(100%); filter:grayscale(100%);}

		.thumb-list>li:hover>.thumb-list_in:before{opacity: 1;}
		.thumb-list>li:hover>.thumb-list_in>dl>dt{font-weight: 700; opacity:1;}
		.thumb-list>li:hover>.thumb-list_in>dl>dd{opacity:1;}


		.thumb-list>li:hover>figure:before{background-color: rgba(0,0,0,0.3);}
		#wrap[data-device="pc"] .thumb-list>li:hover>figure:after{height: 80%; opacity:1;}
		.thumb-list>li:hover>figure img{-webkit-filter:grayscale(0%); filter:grayscale(0%);}

	/* etc */
		.etc_clause{width:90%; margin:0 auto;  font-size:0; line-height:0; text-align: center; box-sizing:border-box; position: relative; overflow: visible !important;}
		.etc_clause:before,
		.etc_clause:after{content:"";position:absolute;top:2%;bottom:0;left:10px;right:10px;-webkit-box-shadow:0 0 20px rgba(0,0,0,0.8);  -moz-box-shadow:0 0 20px rgba(0,0,0,0.8); box-shadow:0 0 20px rgba(0,0,0,0.8);-moz-border-radius:100px / 10px; border-radius:0 7rem 0 7rem;}
		.etc_clause:after{right:10px;left:auto;-webkit-transform:skew(8deg) rotate(3deg);-moz-transform:skew(8deg) rotate(3deg);-ms-transform:skew(8deg) rotate(3deg);-o-transform:skew(8deg) rotate(3deg);transform:skew(8deg) rotate(3deg);}

		.etc_clause .etc_clause_in{padding:60px 80px 80px; background-color: #fdfdfd; border:1px solid #cecece; border-radius:0 7rem 0 7rem; position: relative; z-index:2;}
		.etc_clause .logo{margin:0;}
		.etc_clause .logo img{}
		.etc_clause .txt{padding:30px 0 55px; font-weight: 300; font-size:2rem; line-height:1; color: #666;}
		.etc_clause .txt>span{font-weight: 500; color: #000;}

		.clause-style{}
		.clause-style .logo img{height:6rem;}
		.clause-style .scroll{max-height:30rem; font-size:1.8rem; line-height:1.45; color: #666; overflow: hidden; overflow-y: auto;}
		.clause-style .scroll{text-align: left;}
		.clause-style .scroll>p{margin:4rem 0 1rem;}
		.clause-style .scroll>p:first-child{margin-top:0rem;}
		.clause-style .scroll>p>strong{font-weight: 700; font-size:1.2em; color: #000; display:inline-block;}
		.clause-style .scroll *+p>strong{}

		.clause-style .scroll ol{margin-top:1rem;}
		.clause-style .scroll ol>li{padding-left:2rem; text-indent: -2rem;}
		.clause-style .scroll ol>li>ol{margin-top:0rem;}
		.clause-style .scroll ol ul,
		.clause-style .scroll ol ol{margin:0.3rem 0 1rem;}

		.clause-style .scroll ul>li{padding-left:1.2rem; text-indent: -1.2rem;}

		.clause-style .scroll .kr>li{padding-left:2.2rem; text-indent: -2.2rem;}
		.clause-style .scroll .kr>li>strong{font-weight: 600; color:#333;}
		.clause-style .scroll .kr.mt>li+li{margin-top:2rem;}

		.clause-style .scroll .num>li{padding-left:1.8rem; text-indent: -1.8rem;}


		.etc_select{width:90%; margin:0 auto 2rem; text-align: right;}
		.etc_select select.base{width:auto;}
/*[e] Sub Style */

/*[s] Plugin Style */
	.fancybox__slide{padding:40px 6rem !important;}

	.layer-base.fancybox__content>.carousel__button.is-close{width:4rem; height:4rem; background-color: var(--point2); top:0rem !important; right:0rem; border-radius:0 1rem 0 1rem; overflow: hidden;}
	.layer-base.fancybox__content>.carousel__button.is-close svg{width:50%; height:50%; stroke-width:2; filter:none; color: #fff;}

	.layer-base.fancybox__content>.carousel__button.is-back{width:3.6rem; height:3.6rem; position: absolute; left:0; top:0; display:none;}
	.layer-base.fancybox__content>.carousel__button.is-back img{display:block;}

	.layer-base{padding:0 !important; background-color: transparent !important; font-size:0; line-height:0; display:none;}
	.layer-base .layer-in{}
	.layer-base h2{padding-bottom:2rem; border-bottom:2px solid #555; font-weight: bold; font-size:3.5rem; line-height:1.3; color: #000;}
	.layer-base h2>strong{font-weight: bold;}
	.layer-base *+h2{margin-top:7.5rem;}

	.layer-base .etc_clause{width:100%;}
	.layer-base .etc_clause .etc_clause_in {border-radius: 1rem;}

	#priPop-lay{max-width:102.4rem;}

	.lay-doctor{width:100%; max-width:128rem;}
		.lay-doctor .layer-in{padding:0; background-color: #fff; border-radius:1rem; overflow: hidden;}
		.lay-doctor .lay-doctor-top{padding:7rem 6rem 0; background-color: #f4f6f8; border-radius:1rem; overflow: hidden; display: flex; flex-flow: row wrap; justify-content: space-between; gap:0 5%;}
		.lay-doctor .lay-doctor-top>figure{width:42%; max-width:42rem; display: flex; align-items:end; justify-content: center;}
		.lay-doctor .lay-doctor-top .info-conts{width:53%; padding-bottom:7rem;}
		.lay-doctor .lay-doctor-top .info-conts .name{display: flex; flex-flow: row wrap; align-items: end; gap:1rem 2rem;}
		.lay-doctor .lay-doctor-top .info-conts .name>dt{font-weight: 800; font-size:5rem; line-height:6rem; color: #000;}
		.lay-doctor .lay-doctor-top .info-conts .name>dd{font-weight: 600; font-size:2.2rem; line-height:3.2rem; color: #222;}

		.lay-doctor .lay-doctor-top .info-conts .department{margin-top:3.5rem; padding-top:5rem; border-top:2px solid #000; display: flex; flex-flow: column nowrap; gap:1.5rem;}
		.lay-doctor .lay-doctor-top .info-conts .department>dt{font-weight: bold; font-size:2.5rem; line-height:3.5rem; color: var(--point2);}
		.lay-doctor .lay-doctor-top .info-conts .department>dd{display: flex; flex-flow: row wrap; gap:1rem;}
		.lay-doctor .lay-doctor-top .info-conts .department>dd>p{height:4.2rem; padding:0 2rem; background-color: #e6ecf0; font-weight: 500; font-size:1.8rem; line-height:1; color: var(--point2); white-space: nowrap; display: flex; align-items: center; justify-content: center; border-radius:99px;}

		.reservation-btn{display: flex; flex-flow: row wrap; gap:1rem;}
		.reservation-btn>a{min-width:18rem; height:5.5rem; padding:0 3rem; background-color: var(--point2); font-weight: 500; font-size:1.8rem; line-height:1; color: #fff; white-space: nowrap; display: flex; align-items: center; gap:1rem; border-radius:1rem;}
		.reservation-btn>a figure img{width:2.2rem;}
		.reservation-btn>a.naver{background-color: #00c13a;}

		.reservation-btn.end{justify-content: end;}

		.lay-doctor .lay-doctor-top .info-conts .reservation-btn{margin-top:6rem;}

		.lay-doctor .lay-doctor-conts{padding:7.5rem 6rem;}
/*[e] Plugin Style */

@media only screen and (max-width : 1720px){
	#mainVisual .vTxtArea,
	#mainVisual .swiper-option{max-width:none; margin-left:0; left:0;}
}
@media only screen and (max-width : 1600px){
}
@media only screen and (max-width : 1440px){
	.history-swiper .swiper-slide{width:66rem !important; min-width:66rem;}
	.history-swiper .swiper-slide .out-box{display:none;}
	.history-swiper .swiper-slide .over-box{display:flex;}
}
@media only screen and (max-width : 1320px){
}
@media only screen and (max-width : 1280px){
		.sticky-table.w1280{padding-bottom:2rem; overflow-x:auto; -webkit-overflow-scrolling:touch; /*touch-action: pan-x;*/}
			.sticky-table.w1280>table{min-width:1280px !important;}

	/*[s] Main Style */
		.newsroom-swiper.no .swiper-wrapper{gap:3rem;}
		.newsroom-swiper.no .swiper-slide{width:calc((100% - 3rem) / 2);}

		#mainCenter .mGroup{width:29rem; min-width:29rem;}
		#mainCenter .right{width: calc(100% - 29rem)}

		#mainGlobal .mGroup{width:23rem; min-width:23rem;}

		#mainGlobal .right{width: calc(100% - 23rem)}

		.mainRecruitment-list>li{width:calc(100% / 3);}
	/*[e] Main Style */

	/*[s] Sub Style */
		#section-ceo{gap:6rem 4rem;}
			.ceo-photo{flex:none; width:53rem; margin-left: -2rem; padding-right:6rem;}
			.ceo-text{flex: 1;}

		#section-areas{}
			.icon-list>li{width:calc((100% - 2.5rem) / 2);}
	/*[e] Sub Style */

	/*[s] Layer Style */
	/*[e] Layer Style */
}
@media only screen and (max-width : 1180px){
}
@media only screen and (max-width : 1024px){
	/*[s] All Style */
		.wideKakao{height: 0; padding-bottom: 56.25%;}
		.wideKakao>.root_daum_roughmap{width: 100%; height: 100%; position: absolute; left: 0; top: 0;}

		.scroll_info{display:block;}
		.scrollTb{width:100%; padding-bottom:2rem; display:block; overflow:hidden; overflow-x:scroll;}
		.scrollTb img{max-width:none;}
		.scrollTb>*{width:1024px !important;}

		.layout-PT{}
		.layout-PT .layout-PT_photo{width:100%;}
		.layout-PT .layout-PT_conts{flex:auto; width:100%;}

		.layout-PT.reverse .layout-PT_photo{order:1;}
		.layout-PT.reverse .layout-PT_conts{order:2;}

		.sticky-table:not(.document){padding-bottom:2rem; overflow-x:auto; -webkit-overflow-scrolling:touch; /*touch-action: pan-x;*/}
			.sticky-table:not(.document)>table{min-width:1024px;}
	/*[e] All Style */

	/*[s] Main Popup Style — 모바일/태블릿 위치 옵션 (<=1024px) nw_pos_mobile 값으로 분기 */
		.hd_pops{ position: fixed; left: 2rem; right: 2rem; top: auto; bottom: auto; transform: none; max-width: calc(100% - 4rem) !important; }
		.hd_pops_con{width:auto !important;}
		.hd_pops.nwpos-mo-left-top,
		.hd_pops.nwpos-mo-right-top      { top: 2rem; bottom: auto; }
		.hd_pops.nwpos-mo-left-bottom,
		.hd_pops.nwpos-mo-right-bottom   { bottom: 2rem; top: auto; }
		.hd_pops.nwpos-mo-center         { top: 50%; transform: translateY(-50%); }
	/*[e] Main Popup Style */

	/*[s] Main Style */
		.history-swiper .swiper-slide .bg{filter:grayscale(0%); -webkit-filter:grayscale(0%);}
		.history-swiper .swiper-slide:after{height: 60%; opacity: 1;}

		#mainBusiness{}
			#mainBusiness .mainBusiness-re{background-position: right -98rem top 19rem;}
			#mainBusiness .mainBusiness-re:nth-child(odd){background-position: left -98rem top -84.5rem;}
		#mainQuick{}
			#mainQuick .mainQuick-list>a>p.cate{color: var(--point);}
			#mainQuick .mainQuick-list>a>p.text{opacity: 1;}
	/*[e] Main Style */

	/*[s] Sub Style */
		#section-ceo{flex-wrap: wrap;}
			.ceo-photo{flex:none; width:90%; margin-left: -2rem; padding-right:8rem;}
			.ceo-text{flex:none; width:100%;}

		#section-areas{}
			.icon-list>li{background-color: var(--point);}
			.icon-list>li>dl>dt{font-weight: 700;}
			.icon-list>li>dl>dd{opacity: 1;}

			.thumb-list>li{width:calc((100% - 2.5rem) / 2);}

			.thumb-list>li>.thumb-list_in:before{opacity: 1;}
			.thumb-list>li>.thumb-list_in>dl>dt{font-weight: 700; opacity:1;}
			.thumb-list>li>.thumb-list_in>dl>dd{opacity:1;}

			.thumb-list>li>figure:before{background-color: rgba(0,0,0,0.3);}
			.thumb-list>li>figure img{-webkit-filter:grayscale(0%); filter:grayscale(0%);}
	/*[e] Sub Style */

	/*[s] Plugin Style */
		.fancybox__slide{padding:40px 2rem 8px !important;}

		#find-expert-lay .list{gap:4rem 2rem;}
		#find-expert-lay .list>li{width:calc((100% - 4rem) / 3);}

		#success-detail-lay .find-expert-view .success-detail-view h3{font-size:2.2rem;}
		#success-detail-lay .find-expert-view .success-detail-view h5{font-size:1.7rem;}

		/*.lay-doctor .lay-doctor-top>figure{width:30rem; height:30rem; margin:0 auto; padding-top:5rem; border-radius:999px; overflow: hidden; align-items:start; box-shadow:1rem 1rem 2rem rgba(0,0,0,0.2);}*/
		.lay-doctor .lay-doctor-top>figure{width:100%; max-width:none; justify-content: end; margin-bottom: -9.5rem;}
		.lay-doctor .lay-doctor-top>figure img{width:25rem;}
		.lay-doctor .lay-doctor-top .info-conts{width:100%; padding-bottom:7rem;}
	/*[e] Plugin Style */
}
@media only screen and (max-width : 840px){
	/*[s] All Style */
		.wideFrame{height: 0; padding-bottom: 56.25%;}

		.nTxt-area{font-size:2.4rem; line-height:3.6rem;}
		.nTxt-area .title{font-size:2.8rem; line-height:4rem;}

		h4,
		.location-area .medical-guide .title dl>dt{font-size:3.4rem;}

		ul._star>li{padding-left:1.7rem;}
		ul.bul->li{padding-left:1.7rem; font-size:2.4rem; line-height:3.4rem;}

		ol.num>li{padding-left:2.8rem;}

		.nTable>table th,
		.nTable>table td{font-size:2.2rem;}

		.nTable.rnd>table th,
		.nTable.rnd>table td{font-size:2.4rem;}
		.nTable.rnd>table td{padding:2rem 3rem;}

		.depth-three{gap:1rem;}
		.depth-three>a{max-width:none; height:8rem; font-size:2.4rem;}
		.depth-three.four{flex-wrap: wrap; }
		.depth-three.four>a{width:calc((100% - 1rem) / 2); max-width:none; height:8rem; font-size:2.4rem;}

		.bul-check>li:before{top:0.2rem;}

		.bul-check2>li{padding-left:2.7rem;}
		.bul-check2>li:before{width:1.8rem; height:1.3rem;}
		.bul-check2>li+li{margin-top:1rem;}

		.check-list.two>li{flex:1 1 100%;}

		.num-box{margin-top:1rem; counter-reset:item;}
		.location-layout>.right>li>p,
		.num-box>li,
		.num-box.title>li{padding-left:5rem;}
		.num-box>li:before,
		.location-layout>.right>li>p:before,
		.box-num>li:before{width:4rem; min-width:4rem; height:3.1rem; font-size:2.2rem; top:3.1rem;}
		.box-num>li:before{margin-top:0.2rem;}

		.num-box.title>li:before{top:0.2rem;}

		.caution{padding:3rem 2rem; justify-content: center; text-align: center;}
		.caution>dt{width:20.4rem; height:auto; border-right:none;}
		.caution>dt figure img{width:2.8rem;}
		.caution>dd{flex:auto; width:100%; padding:1rem 0 0 0rem;}

		.sticky-table:not(.document)>table{min-width:840px;}
			.sticky-table>table th,
			.sticky-table>table td{padding:2rem 1.5rem; font-size:2.4rem; line-height:3.4rem;}

			.sticky-table p.state{width:12rem; height:4.5rem; font-size:2.2rem;}

			.sticky-table>table th.custom-th{width:9rem;}
			.sticky-table>table th.custom-th2{left:9rem;}

			.sticky-table>table th.hours-th{width:20rem;}
			.sticky-table>table th.hours-th2{width:14rem; left:20rem;}

			.sticky-table>table th.cert-th{width:24rem;}

			.sticky-table>table .btn-arr{padding:0.7rem 1.3rem; font-size:2rem;}

		.sticky-table.w1280>table{min-width:900px !important;}

		/*
		.sticky-table.document>table{}
		.sticky-table.document>table tr>*:nth-of-type(1){width:35rem;}
		*/

		.tab-three>a{min-width:19rem; height:6.5rem; font-size:2.6rem;}

		.tab-three.partners>a{height:7.5rem;}

		.tab-three.partners.ir{gap:0 2.5rem;}
		.tab-three.partners.ir>a{height:5rem; font-size:2.6rem;}

		.bul-25x24>li{background-position: left 0.5rem;}
		/*.bul-25x24.c>li{width:100%; text-align: left;}*/
	/*[e] All Style */

	/*[s] Main Popup Style */
		.hd_pops{left:2rem !important; right:2rem !important; max-width: calc(100% - 4rem) !important;}
		.hd_pops_con{}

		#popLayer{}
		#popLayer #moPopArea{}
		#popLayer #moPopArea .moPop{max-width:90%;}
		#popLayer #moPopArea #moPopRoll{}
		#popLayer .slider{}
		#popLayer .slider img{}
		/*
		#popLayer .slider#HKeditorContent{padding:20px; font-size:20px; line-height:1.5; color: #666;}
		#popLayer .slider#HKeditorContent img{width:auto;}

		#popLayer #moPopRoll.roll .slider{}
		*/

		#popLayer .layerPopClose{width:4rem; height:4rem; right:2rem; top:2rem;}
		#popLayer .layerPopClose:before{margin:-1px 0 0 -2rem;}
		#popLayer .layerPopClose:after{margin:-2rem 0 0 -1px;}

		#popLayer .moPopClose{}
		#popLayer .moPopClose>*{height:8rem; font-size:2rem;}
		/*
		#popLayer .moPopClose button{font-size:1.8rem; line-height:2.4rem;}
		#popLayer .moPopClose button:before{width: 2.4rem; height: 2.4rem; font-size:1.8rem; line-height:2.6rem;}
		#popLayer .moPopClose button.toDay_close{padding-left:3.2rem;}
		#popLayer .moPopClose button.close{padding-right:3.2rem}
		*/

		#popLayer .slick-dots{bottom:10rem;}
		#popLayer .slick-dots>li{}
		#popLayer .slick-dots>li+li{}
		#popLayer .slick-dots>li button{width:1.8rem; height:1.8rem;}
		#popLayer .slick-dots>li.slick-active button{}
	/*[e] Main Popup Style */

	/*[s] Main Style */
		.m-Btn{min-width:20rem; height:6rem;}

		#mainVisual .vTxt .ii.title{font-size:2.0833em;}
		#mainVisual .vTxt .ii.text{font-size:1.6667em;}

		#mainVisual .swiper-option{bottom:20rem;}

		#mainHistory{}
			.history-swiper .swiper-wrapper{flex-wrap: wrap;}
			.history-swiper .swiper-slide{width:100% !important; min-width:100%; height:35vh; height:35dvh;}
			.history-swiper .swiper-slide:after{display: none;} .history-swiper .swiper-slide{margin-bottom: 1rem;} .history-swiper .swiper-slide:last-child{margin-bottom: 0;}
			.history-swiper .over-box{padding:2rem; justify-content: start;}
			.history-swiper .over-in{}

		#mainNews{}
			.newsroom-swiper .swiper-slide{width: 50rem;}

		#mainBusiness{}
			#mainBusiness h2{font-size:8.5rem; letter-spacing:0 !important;}
			#mainBusiness h2>strong{letter-spacing:0 !important;}

			#mainBusiness .mainBusiness-re{background-position: right -98rem top 20rem;}
			#mainBusiness .mainBusiness-re:nth-child(odd){background-position: left -98rem top -83.5rem;}

		#mainBanner{}
			#mainBanner dl>dd{font-size:2.7em;}

		#mainQuick{}
			#mainQuick .mainQuick-list>a{width:100%; height:32rem;}

		#mainPartner{background-size:240%;}
			#mainPartner .main_partner_logo ul li{}
			#mainPartner .main_partner_logo ul li a{height:55%;}
	/*[e] Main Style */

	/*[s] Sub Style */
		#section-overview{}
			.overview-visual dl>dt img{height:4.6rem;}

			.overview-point>li{width:50%; max-width:none;}
			.overview-point>li:nth-child(3){border-left:none;}
			.overview-point>li:nth-child(n+1):nth-child(-n+2){padding-bottom:3rem;}
			.overview-point>li:nth-child(n+3):nth-child(-n+4){padding-top:3rem; border-top:1px solid #dedede;}

			.overview-layout>li figure{width:100%; order:1 !important;}
			.overview-layout>li figure img{width:100%; max-width:none; max-height:360px; object-fit: cover;}
			.overview-layout>li dl{flex:100%; order:2 !important; text-align: left !important; margin-top:4rem;}

		/* etc */
			.etc_clause{width:100%; margin:0 auto;}
			.etc_clause .etc_clause_in{padding:5rem 3rem; border-radius:1rem;}
			.etc_clause .logo{margin:0;}
			.etc_clause .txt{padding:2rem 0 6rem; font-size:2.6rem;}

			.etc_clause .scroll{font-size:2rem;}

			.clause-style .scroll{font-size:2.2rem;}
			.clause-style .scroll ol>li{padding-left:2.3rem; text-indent: -2.3rem;}
			.clause-style .scroll .kr>li{padding-left:2.7rem; text-indent: -2.7rem;}
			.clause-style .scroll ul>li{padding-left:1.4rem; text-indent: -1.4rem;}

			.etc_select{width:100%;}
			.etc_select select.base{width:22rem;}
	/*[e] Sub Style */

	/*[s] Plugin Style */
		.layer-base.fancybox__content>.carousel__button.is-close,
		.layer-base.fancybox__content>.carousel__button.is-back{width:5rem; height:5rem;}

		#find-expert-lay .scroll{height:100rem;}

		#find-expert-lay .text-box{font-size:3rem; line-height:4.4rem;}

		#find-expert-lay .list{gap:4rem 3rem;}
		#find-expert-lay .list>li{width:calc((100% - 3rem) / 2);}

		#find-expert-lay .list>li .cate{font-size:2.2rem;}
		#find-expert-lay .list>li .name{font-size:2.6rem;}

		#find-expert-lay .find-expert-view .photo-box{width:100%; max-width:none; display: flex; gap:3rem;}
		#find-expert-lay .find-expert-view .photo-box>dt{max-width:50%;}
		#find-expert-lay .find-expert-view .photo-box>dd{margin-top:0; font-size:2.4rem; flex-flow: column wrap; justify-content: center;}
		#find-expert-lay .find-expert-view .photo-box>dd>strong{width:100%; margin-top:1rem;}

		#find-expert-lay .find-expert-view .history-info{width:100%; height:54.77rem; margin-top:5rem;}
		#find-expert-lay .find-expert-view .history-info *+h5.bul{margin-top:4rem;}
		#find-expert-lay .find-expert-view .history-info .txt{font-size:2.4rem;}

		#success-detail-lay .scroll{height:100rem;}
		#success-detail-lay .find-expert-view .success-detail-view h3{font-size:3rem;}
		#success-detail-lay .find-expert-view .success-detail-view h5{font-size:2.6rem;}
		#success-detail-lay .find-expert-view .success-detail-view p{font-size:2.2rem;}
		#success-detail-lay .find-expert-view .success-detail-view .txt{font-size:2.4rem;}

		.add-form-lay .layer-in .text{font-size:2.2rem;}

		.lay-alert{max-width:90%;}
		.lay-alert .layer-in .logos img{height:8rem;}
		.lay-alert .layer-in .text{font-size:2.4rem; line-height:3.6rem;}

		.lay-doctor .lay-doctor-top{padding:5rem 3rem 0;}
		.lay-doctor .lay-doctor-top>figure{margin-bottom:-14.3rem;}
		.lay-doctor .lay-doctor-top>figure img{width:20rem;}
		.lay-doctor .lay-doctor-top .info-conts .name>dt{width:100%;}
		.lay-doctor .lay-doctor-top .info-conts .department>dd>p{height:5rem; font-size:2.2rem;}

		.reservation-btn>a{min-width:auto; height:6rem; font-size:2.2rem;}

		.lay-doctor .lay-doctor-conts{padding:7.5rem 3rem;}
	/*[e] Plugin Style */
}
@media only screen and (max-width : 640px){
	.sticky-table:not(.document)>table{min-width:640px;}

	.newsroom-swiper.no .swiper-slide{width:100%;}

	#section-overview{}
		.ceo-photo{width:100%;}

	#section-areas{}
		.thumb-list>li{width:100%;}
		.thumb-list>li>figure{position: relative;}
		.thumb-list>li>figure img{height:35rem;}
}
@media only screen and (max-width : 480px){
	/*
	.sticky-table.document{padding-bottom:2rem; overflow-x:auto; -webkit-overflow-scrolling:touch; touch-action: pan-x;}
	.sticky-table.document>table{min-width:540px;}
	*/

	#find-expert-lay .find-expert-view .history-info{height:53.884rem;}

	.lay-alert{max-width:100%;}
	.history-swiper .swiper-slide{height:40dvh !important;}
}
@media only screen and (max-width : 400px){
	#find-expert-lay .find-expert-view .history-info{height:61.27rem;}
}

/*
transform: scale(1.1) 부분을
transform: scale(1.1) rotate(.001deg); 로 변경하면 부드럽게 처리되네요

display: flex; flex-flow: row wrap; align-items: center; justify-content: space-between;
display: flex; flex-flow: column wrap; align-items: center; justify-content: center;

flex-flow: column wrap;
align-content: center;

justify-content: space-between;
justify-content: space-around;

flex-wrap: wrap;

transform:rotate(180deg);
transform: translateY(-50%);
transform: scale(1)
filter:blur(3px);
filter:grayscale(100%); -webkit-filter:grayscale(100%);
backdrop-filter:blur(50px);

transition: all .5s linear;
transition: all .5s ease-out;
transition-delay: .8s;

:before{content: ""; width: 24px; height: 24px; background-color: #fff; border:1px solid #666; display: inline-block; position:absolute; left: 0; top:0px; box-sizing: border-box;}
display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; //한줄 감추기
display: block; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; word-break:break-all; //두줄 감추기
active
border-radius:1rem;
width:calc(100% / 6);
box-shadow:0 0 1rem rgba(0,0,0,0.2);

:first-child
*/


	/* [s] Areas Detail */
	.areas-detail{display:flex; flex-flow:row wrap; align-items:center; justify-content:space-between; gap:0 7%; position:relative;}
	.areas-detail.reverse{flex-direction:row-reverse;}
	.areas-detail>figure{width:45%; flex-shrink:0; filter:drop-shadow(0 1rem 1rem rgba(0,0,0,0.2)); position:relative; z-index:1;}
	.areas-detail>figure img{width:100%; aspect-ratio:4/3; height:auto; object-fit:cover; display:block;}
	.areas-detail>.detail-text{flex:1; font-size:var(--base20); line-height:var(--lineHeight); position:relative; z-index:1;}
	.areas-detail.reverse>.detail-text{text-align:right;}
	.areas-detail>.detail-text>h4{display:flex; align-items:baseline; gap:0.6em;}
	.areas-detail>.detail-text>h4>.num{font-size:1em; font-weight:700; color:var(--point); font-style:normal; flex-shrink:0;}
	.areas-detail>.detail-text>h4{font-weight:700; font-size:1.7em; line-height:1.2; color:#000;}
	.areas-detail>.detail-text>.detail-en{margin-top:0.6rem; font-size:0.85em; font-weight:500; color:var(--point);}
	.areas-detail>.detail-text>.detail-desc{margin-top:2rem; line-height:var(--lineHeight); color:#666;}
	.tag-list{display:flex; flex-wrap:wrap; gap:0.8rem; margin-top:2.5rem;}
	.tag-list>li{padding:1rem 1.8rem; border:none; background-color:#f5f5f5; font-size:1.4rem; color:#666; border-radius:0.4rem; line-height:1.4;}
	.areas-detail.reverse .tag-list{justify-content:flex-end;}
	.bg-text{position:absolute; bottom:-7rem; left:0; width:100%; overflow:hidden; font-weight:700; font-size:min(8vw,9rem); color:rgba(0,0,0,0.04); line-height:1; white-space:nowrap; pointer-events:none; z-index:0;}
	/* [e] Areas Detail */

	/* [s] Areas Detail Responsive */
	@media only screen and (max-width : 1180px){
		.areas-detail{gap:0 5%;}
		.areas-detail>.detail-text>h4{font-size:1.5em;}
		.bg-text{font-size:min(8vw,7rem);}
	}
	@media only screen and (max-width : 840px){
		.areas-detail{flex-flow:column wrap; gap:4rem 0;}
		.areas-detail.reverse{flex-direction:column;}
		.areas-detail>figure{width:100%;}
		.areas-detail>figure img{aspect-ratio:16/10;}
		.areas-detail>.detail-text{flex:auto; width:100%; text-align:left !important;}
		.areas-detail.reverse .tag-list{justify-content:flex-start;}
		.areas-detail>.detail-text>h4{font-size:3.6rem;}
		.areas-detail>.detail-text>.detail-en{font-size:2.4rem; margin-top:1rem;}
		.areas-detail>.detail-text>.detail-desc{font-size:2.4rem; line-height:3.6rem; margin-top:2rem;}
		.tag-list{gap:1rem; margin-top:2.5rem;}
		.tag-list>li{padding:1.2rem 2rem; font-size:2.2rem;}
		.bg-text{font-size:min(12vw,6rem); bottom:-2rem;}
	}
	@media only screen and (max-width : 640px){
		.areas-detail{gap:3rem 0;}
		.tag-list>li{padding:1rem 1.6rem; font-size:2rem;}
		.bg-text{display:none;}
	}
	/* [e] Areas Detail Responsive */

	/* [s] Capability */
	#section-capability .cap-bg{background:linear-gradient(135deg, rgba(8,12,30,0.78), rgba(8,12,30,0.55)), url('/images/sub/bg_capabilities_intro.jpg') no-repeat center center/cover;}
	/* [e] Capability */

	/* [s] Sustainability */
	#section-sustain .sustain-bg{background:linear-gradient(135deg, rgba(15,15,30,0.85), rgba(15,15,30,0.65)), url('/images/sub/bg_sustainability.jpg') no-repeat center center/cover;}
	#section-sustain .sustain-promise{margin-top:5rem; font-weight:700; font-size:1.6em; line-height:1; color:#fff; text-align:center;}

	.esg-cards{display:flex; flex-flow:row wrap; gap:2rem; max-width:96rem; margin:5rem auto 0;}
	.esg-cards>li{width:calc((100% - 4rem)/3); min-height:24rem; padding:2.5rem 3rem 8rem; background-color:rgba(0,0,0,0.5); transition:background-color .3s ease-out; border-radius:0.4rem; color:#fff; position:relative; overflow:hidden; text-align:center;}
	.esg-cards>li>p{font-weight:500; font-size:1.4rem; line-height:1; opacity:0.85; text-align:left;}
	.esg-cards>li>dl{margin-top:3rem;}
	.esg-cards>li>dl>dt{font-weight:400; font-size:1.5rem; line-height:1; opacity:0.95;}
	.esg-cards>li>dl>dt>span{margin-left:0.3rem; font-size:1.3rem; opacity:0.85;}
	.esg-cards>li>dl>dd{margin-top:1.4rem; font-weight:700; font-size:2.6rem; line-height:1.3;}
	.esg-cards>li>figure{position:absolute; right:2.5rem; bottom:2.5rem;}
	.esg-cards>li>figure img{width:4.5rem; opacity:0.95;}

	.sustain-section{display:flex; flex-flow:row wrap; align-items:flex-start; gap:0 5%; position:relative;}
	.sustain-section>.sustain-text{width:30%; padding-top:2rem; font-size:1.6rem;}
	.sustain-section>.sustain-text>h4{font-weight:700; font-size:3.2rem; line-height:1.3; color:#000;}
	.sustain-section>.sustain-text>.sustain-desc{margin-top:2rem; font-size:var(--base18); line-height:var(--lineHeight); color:#666;}
	.sustain-section>.sustain-text>.sustain-keyword{margin-top:3rem; font-weight:700; font-size:2.4rem; color:var(--point); line-height:1.3;}

	.sustain-cards{flex:1; display:grid; grid-template-columns:1fr 1fr; gap:2rem;}
	.sustain-cards>li{background-color:#fff; border-radius:0.6rem; overflow:hidden; box-shadow:0 0.5rem 1.5rem rgba(0,0,0,0.06);}
	.sustain-cards>li:nth-child(2){margin-top:5rem;}
	.sustain-cards>li>figure{margin:0; overflow:hidden;}
	.sustain-cards>li>figure img{width:100%; aspect-ratio:4/3; object-fit:cover; display:block;}
	.sustain-cards>li>dl{padding:2rem;}
	.sustain-cards>li>dl>dt{font-weight:600; font-size:1.3rem; color:var(--point); letter-spacing:0.05em; line-height:1;}
	.sustain-cards>li>dl>dd{margin-top:1.4rem; font-size:var(--base18); line-height:var(--lineHeight);}
	.sustain-cards>li>dl>dd>strong{display:block; font-weight:700; color:#000;}
	.sustain-cards>li>dl>dd>span{display:block; margin-top:0.8rem; font-size:0.85em; color:#888; font-weight:400;}

	#section-sustain .sustain-social{background-color:#cdd7de; background-image:url('/images/sub/bg_social_hands.png'); background-repeat:no-repeat; background-position:right center; background-size:auto 100%;}
	/* [e] Sustainability */

	@media only screen and (max-width:1180px){
		.esg-cards{margin-top:4rem;}
		.sustain-section>.sustain-text{width:35%;}
	}
	@media only screen and (max-width:840px){
		.esg-cards{flex-flow:column wrap; gap:2rem; margin-top:3rem;}
		.esg-cards>li{width:100%; padding:3.5rem 3rem 9rem;}
		.esg-cards>li>dl>dt{font-size:2.4rem;}
		.esg-cards>li>dl>dt>span{font-size:2rem;}
		.esg-cards>li>dl>dd{font-size:3rem;}

		.sustain-section{flex-flow:column wrap; gap:3rem 0;}
		.sustain-section>.sustain-text{width:100%;}
		.sustain-section>.sustain-text>h4{font-size:3.6rem;}
		.sustain-section>.sustain-text>.sustain-desc{font-size:2.4rem; line-height:3.6rem;}
		.sustain-section>.sustain-text>.sustain-keyword{font-size:2.8rem;}
		.sustain-cards{grid-template-columns:1fr; gap:2.5rem;}
		.sustain-cards>li:nth-child(2){margin-top:0;}
		.sustain-cards>li>dl>dt{font-size:2rem;}
		.sustain-cards>li>dl>dd{font-size:2.4rem;}
	}
/* ========================================================
   추가 서브페이지 CSS — 시안 0427 기반
   - CI / 인재상 / 입사 후 생활 / 합류 여정 / 진행중 공고 / 상시채용
   - 엑스포럼 소식 / 알려드립니다 / 언론 보도 / 수상·인증
   - 포트폴리오 / 문의 / FAQ / 오시는 길
   ======================================================== */


/* [s] Page top h3 — 모든 서브페이지 공통 */
#pageTop > h3{margin:7rem auto 0; padding-bottom:2.5rem; font-weight:700; line-height:1.3; color:#000; text-align:center; position:relative;}
#pageTop > h3:after{content:""; width:3rem; height:2px; background:#e4002b; position:absolute; left:50%; bottom:0; transform:translateX(-50%);}

/* 섹션 컨테이너 폭 제한 */
#section-ci, #section-talent, #section-life, #section-journey,
#section-jobs, #section-recruit, #section-news, #section-notice,
#section-press, #section-awards, #section-portfolio, #section-inquiry,
#section-faq, #section-location, #section-history{max-width:120rem; margin:5rem auto 12rem; padding:0 2rem; box-sizing:border-box;}

/* 컬러/유틸 */
.red, span.red{color:#e4002b;}

/* ============================================================
   01. CI — /about/ci.php
   ============================================================ */
#section-ci .ci-intro{margin:4rem auto 6rem; text-align:center; max-width:80rem;}
#section-ci .ci-intro h3{display:none;}
#section-ci .ci-intro p{color:#555; font-size:1.6rem; line-height:2.8rem;}

#section-ci .ci-section{margin-bottom:8rem;}
#section-ci .ci-section .ci-head{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid #ddd;}
#section-ci .ci-section .ci-head h4,
#section-ci .ci-section > h4{font-weight:700; font-size:2rem; color:#000; letter-spacing:0.05em; margin:0; padding-bottom:2rem; border-bottom:1px solid #ddd;}
#section-ci .ci-section .ci-head h4{padding:0; border:0;}
#section-ci .ci-section .ci-down{display:flex; gap:0.6rem;}
#section-ci .ci-section .ci-down a{padding:0.7rem 1.4rem; font-weight:600; font-size:1.3rem; border-radius:0.3rem; border:1px solid #ddd; color:#666;}
#section-ci .ci-section .ci-down a.btn-zip{background:#e4002b; color:#fff; border-color:#e4002b;}
#section-ci .ci-section .ci-desc{margin:1rem 0 3rem; font-size:1.4rem; color:#666; line-height:2.4rem;}

#section-ci .ci-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:0; padding:5rem 2rem; background-color:#f7f7f9; background-image:linear-gradient(#e8e8ed 1px, transparent 1px), linear-gradient(90deg, #e8e8ed 1px, transparent 1px); background-size:2.4rem 2.4rem; border:1px solid #e8e8ed; box-sizing:border-box;}
#section-ci .ci-grid > .ci-cell{display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2rem; gap:2rem; text-align:center;}
#section-ci .ci-grid > .ci-cell figure{margin:0;}
#section-ci .ci-grid > .ci-cell figure img{max-width:14rem; height:auto;}
#section-ci .ci-grid > .ci-cell p{font-size:1.4rem; color:#000;}

#section-ci .ci-logo-row{display:flex; align-items:center; gap:5rem; margin:5rem 0 0;}
#section-ci .ci-logo-row figure{flex:0 0 auto; margin:0;}
#section-ci .ci-logo-row figure img{max-width:30rem;}
#section-ci .ci-logo-row p{flex:1; font-size:1.4rem; line-height:2.4rem; color:#666;}

#section-ci .logo-type{display:grid; grid-template-columns:repeat(3, 1fr); gap:0; margin-top:3rem; border-top:1px solid #ddd; border-left:1px solid #ddd;}
#section-ci .logo-type > li{padding:5rem 2rem; text-align:center; border-right:1px solid #ddd; border-bottom:1px solid #ddd;}
#section-ci .logo-type > li figure{margin:0 0 2rem;}
#section-ci .logo-type > li figure img{max-height:5rem;}
#section-ci .logo-type > li p{font-size:1.3rem; color:#666;}

#section-ci .logo-colors{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin-top:3rem;}
#section-ci .logo-colors > li{border:1px solid #eee; overflow:hidden;}
#section-ci .logo-colors > li .swatch{height:18rem; display:block;}
#section-ci .logo-colors > li.c-red .swatch{background:#e40032;}
#section-ci .logo-colors > li.c-black .swatch{background:#000;}
#section-ci .logo-colors > li.c-white .swatch{background:#fff; border-bottom:1px solid #eee;}
#section-ci .logo-colors > li.c-silver .swatch{background:linear-gradient(135deg, #e6e6e6, #b8b8b8 50%, #f2f2f2);}
#section-ci .logo-colors > li.c-coolgray .swatch{background:#d9dae4;}
#section-ci .logo-colors > li dl{padding:1.8rem 2rem;}
#section-ci .logo-colors > li dl dt{font-weight:700; font-size:1.5rem; color:#000; margin-bottom:0.6rem; letter-spacing:0.05em;}
#section-ci .logo-colors > li dl dd{font-size:1.2rem; line-height:1.8rem; color:#666;}

/* ============================================================
   02. 인재상 — /careers/talent.php
   ============================================================ */
#section-talent .talent-row{display:grid; grid-template-columns:1fr 1fr; column-gap:5rem; align-items:center; margin:8rem 0;}
#section-talent .talent-row > figure{margin:0; overflow:hidden; border-radius:0.5rem; aspect-ratio:3/2; width:100%;}
#section-talent .talent-row > figure img{width:100%; height:100%; object-fit:cover; display:block;}
#section-talent .talent-row > dl{margin:0;}
#section-talent .talent-row > dl > dt{font-weight:700; font-size:3.2rem; line-height:1.3; color:#000; margin-bottom:2rem;}
#section-talent .talent-row > dl > dd{font-size:var(--base18); line-height:var(--lineHeight); color:#666;}
#section-talent .talent-row > dl > dd p{margin:0;}

#section-talent .talent-xcode-bg{background:#f5f5f7; padding:8rem 0; margin:8rem -2rem;}
#section-talent .talent-xcode{display:grid; grid-template-columns:1fr 1fr; column-gap:5rem; align-items:center; max-width:120rem; margin:0 auto; padding:0 2rem; box-sizing:border-box;}
#section-talent .talent-xcode > dl{margin:0;}
#section-talent .talent-xcode > dl > dt{font-weight:700; font-size:3.2rem; line-height:1.3; color:#000; margin-bottom:3rem;}
#section-talent .talent-xcode > dl .xcode-item{margin-bottom:2.5rem;}
#section-talent .talent-xcode > dl .xcode-item h5{font-weight:700; font-size:1.9rem; color:#000; margin-bottom:1rem;}
#section-talent .talent-xcode > dl .xcode-item p{font-size:var(--base18); line-height:var(--lineHeight); color:#666; margin:0;}
#section-talent .talent-xcode > figure{margin:0; overflow:hidden; border-radius:0.5rem; aspect-ratio:3/2; width:100%;}
#section-talent .talent-xcode > figure img{width:100%; height:100%; object-fit:cover; display:block;}

#section-talent .talent-mice{display:grid; grid-template-columns:repeat(4, 1fr); gap:2rem; margin-top:5rem;}
#section-talent .talent-mice > li{display:grid; grid-template-columns:auto 1fr; grid-template-areas:"ocirc name" "scirc sub" "desc desc"; column-gap:2rem; row-gap:2.4rem; text-align:left;}
#section-talent .talent-mice .mice-circle{display:flex; align-items:center; justify-content:center; font-family:Outfit,Arial,sans-serif; border-radius:50%; line-height:1; position:relative;}
#section-talent .talent-mice .mice-circle.outline{grid-area:ocirc; width:7rem; height:7rem; background:#fff; color:var(--point); border:0.18rem solid var(--point); font-weight:700; font-size:2.6rem;}
#section-talent .talent-mice .mice-circle.solid{grid-area:scirc; width:7rem; height:7rem; background:var(--point); color:#fff; border:0.18rem solid var(--point); font-weight:700; font-size:2.6rem;}
#section-talent .talent-mice .mice-circle.solid::before{content:""; position:absolute; left:50%; top:-3rem; width:0.15rem; height:3rem; background:var(--point); transform:translateX(-50%);}
#section-talent .talent-mice .mice-circle.solid::after{content:""; position:absolute; left:50%; top:-1.2rem; width:0.8rem; height:0.8rem; border-right:0.15rem solid var(--point); border-bottom:0.15rem solid var(--point); transform:translateX(-50%) rotate(45deg);}
#section-talent .talent-mice .mice-name{grid-area:name; align-self:center; font-weight:700; font-size:2.4rem; color:#000; line-height:1.3;}
#section-talent .talent-mice .mice-sub{grid-area:sub; align-self:center; font-weight:700; font-size:2.4rem; color:#000; line-height:1.35;}
#section-talent .talent-mice .mice-sub .r{color:var(--point);}
#section-talent .talent-mice .mice-desc{grid-area:desc; font-size:var(--base18); line-height:var(--lineHeight); color:#666; margin-top:1rem;}
#section-talent .talent-mice .mice-desc p{margin:0 0 0.6rem 0;}

/* ============================================================
   03. 입사 후 생활 — /careers/life.php
   ============================================================ */
#section-life .life-block{margin-bottom:6rem;}
#section-life .life-block h4{display:flex; align-items:center; gap:1rem; padding-bottom:1.5rem; border-bottom:1px solid #ddd; font-weight:700; font-size:2rem; color:#000;}
#section-life .life-block h4 i{display:inline-block; width:0.3rem; height:1.8rem; background:#e4002b;}
#section-life .life-block .sub{margin:1rem 0 2rem; font-size:1.4rem; color:#888;}

#section-life .life-list{display:flex; flex-direction:column; gap:0;}
#section-life .life-list > li{display:flex; align-items:center; padding:2rem 0; border-bottom:1px solid #f0f0f0;}
#section-life .life-list > li figure{width:7rem; height:7rem; flex:0 0 7rem; margin:0; display:flex; align-items:center; justify-content:center;}
/* EX_LIFE_ICON_6REM_20260727 */ #section-life .life-list > li figure img{max-width:6rem; max-height:6rem;}
#section-life .life-list > li dl{display:flex; flex:1; align-items:center; gap:3rem; margin:0;}
#section-life .life-list > li dl dt{flex:0 0 22rem; font-weight:700; font-size:1.6rem; color:#000;}
#section-life .life-list > li dl dd{font-size:1.4rem; line-height:2.4rem; color:#666;}

#section-life .life-grid3{display:grid; grid-template-columns:repeat(3, 1fr); gap:0;}
#section-life .life-grid3 > li{display:flex; align-items:center; gap:2rem; padding:2.2rem 1.5rem; border-bottom:1px solid #f0f0f0;}
#section-life .life-grid3 > li figure{flex:0 0 6rem; margin:0;}
/* EX_LIFE_ICON_6REM_20260727 */ #section-life .life-grid3 > li figure img{max-width:6rem; max-height:6rem;}
#section-life .life-grid3 > li dl{margin:0;}
#section-life .life-grid3 > li dl dt{font-weight:600; font-size:1.4rem; color:#000; line-height:2rem;}
#section-life .life-grid3 > li dl dt .small{font-weight:400; font-size:1.2rem; color:#888;}

/* ============================================================
   04. 합류 여정 — /careers/journey.php
   ============================================================ */
#section-journey .journey-steps{display:flex; align-items:stretch; gap:0; margin:3rem 0 6rem;}
#section-journey .journey-steps > li{flex:1; padding:3rem 1rem; border:1px solid #eee; border-radius:0.5rem; text-align:center; background:#fff; list-style:none;}
#section-journey .journey-steps > li.arrow{flex:0 0 4rem; padding:0; border:none; background:transparent; align-self:center; position:relative;}
#section-journey .journey-steps > li.arrow:before{content:"›"; font-size:3rem; color:#999; display:block; line-height:4rem;}
#section-journey .journey-steps > li .num{font-weight:600; font-size:1.4rem; color:#000; margin-bottom:1.5rem;}
#section-journey .journey-steps > li figure{width:6rem; height:6rem; margin:0 auto 1.5rem; display:flex; align-items:center; justify-content:center;}
#section-journey .journey-steps > li figure img{max-width:5rem; max-height:5rem;}
#section-journey .journey-steps > li dl{margin:0;}
#section-journey .journey-steps > li dl dt{font-weight:700; font-size:1.6rem; color:#000; margin-bottom:0.6rem;}
#section-journey .journey-steps > li dl dd{font-size:1.3rem; color:#666;}

#section-journey .journey-detail{margin-bottom:3rem;}
#section-journey .journey-detail > dl{display:grid; grid-template-columns:18rem 1fr; gap:2rem; padding:2.5rem 0; border-bottom:1px solid #f0f0f0; margin:0;}
#section-journey .journey-detail > dl dt{display:flex; align-items:center; gap:1rem; font-weight:700; font-size:1.7rem; color:#000;}
#section-journey .journey-detail > dl dt figure{margin:0; width:5rem; height:5rem; display:flex; align-items:center; justify-content:center;}
#section-journey .journey-detail > dl dt figure img{max-width:4rem;}
#section-journey .journey-detail > dl dd{font-size:1.4rem; line-height:2.4rem; color:#666;}
#section-journey .journey-detail > dl dd .dd-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}
#section-journey .journey-detail > dl dd .dd-grid p.t{font-weight:700; color:#000; margin-bottom:0.6rem;}

#section-journey .journey-notice{margin-top:3rem; padding:2rem 2.5rem; background:#f6f6f8; border-radius:0.5rem;}
#section-journey .journey-notice h5{display:flex; align-items:center; gap:0.6rem; font-weight:700; font-size:1.5rem; color:#000; margin:0 0 1rem;}
#section-journey .journey-notice h5 i{display:inline-flex; width:1.6rem; height:1.6rem; align-items:center; justify-content:center; background:#000; color:#fff; border-radius:50%; font-size:1.1rem; font-style:normal;}
#section-journey .journey-notice h5 i:before{content:"!";}
#section-journey .journey-notice ul{margin:0; padding:0;}
#section-journey .journey-notice ul > li{padding-left:1rem; font-size:1.3rem; line-height:2.2rem; color:#666; list-style:none; position:relative;}
#section-journey .journey-notice ul > li:before{content:"·"; position:absolute; left:0;}

/* ============================================================
   05. 진행중 공고 — /careers/jobs.php
   ============================================================ */
#section-jobs .jobs-tab{display:flex; gap:0; max-width:60rem; margin:0 auto 4rem;}
#section-jobs .jobs-tab > a{flex:1; padding:1.4rem 0; text-align:center; border:1px solid #ddd; font-weight:600; font-size:1.5rem; color:#666;}
#section-jobs .jobs-tab > a + a{border-left:none;}
#section-jobs .jobs-tab > a.active{background:#000; border-color:#000; color:#fff;}

#section-jobs .jobs-summary{font-size:1.5rem; color:#666; margin-bottom:2rem;}
#section-jobs .jobs-summary em{font-style:normal; font-weight:700; color:#000;}

#section-jobs .jobs-cat-row{display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; flex-wrap:wrap; gap:1rem;}
#section-jobs .jobs-cat{display:flex; gap:2rem;}
#section-jobs .jobs-cat > a{font-size:1.5rem; color:#888; padding:0.5rem 0; border-bottom:2px solid transparent;}
#section-jobs .jobs-cat > a.active{color:#000; font-weight:700; border-color:#e4002b;}
#section-jobs .jobs-sort{padding:0.6rem 1rem; border:1px solid #ddd; font-size:1.3rem; background:#fff; min-width:14rem;}

#section-jobs .jobs-list{margin:2rem 0; padding:0; border-top:1px solid #000; list-style:none;}
#section-jobs .jobs-list > li{display:flex; align-items:center; gap:2rem; padding:2.5rem 1rem; border-bottom:1px solid #eee;}
#section-jobs .jobs-list > li.jobs-empty{justify-content:center; padding:6rem 0; color:#888; font-size:1.6rem;}
#section-jobs .jobs-list .job-info{flex:1;}
#section-jobs .jobs-list .job-info h5{font-weight:700; font-size:1.7rem; color:#000; margin:0 0 0.8rem;}
#section-jobs .jobs-list .job-info .tags{font-size:1.3rem; color:#888; margin:0;}
#section-jobs .jobs-list .job-meta{flex:0 0 18rem; font-size:1.3rem; color:#666;}
#section-jobs .jobs-list .job-meta p{display:flex; align-items:center; gap:0.6rem; margin:0.3rem 0;}
#section-jobs .jobs-list .job-meta p i{display:inline-block; min-width:1.4rem; color:#e4002b; font-style:normal;}
#section-jobs .jobs-list .job-meta p i.i-loc:before{content:"\f041"; font-family:FontAwesome;}
#section-jobs .jobs-list .job-meta p i.i-car:before{content:"\f0b1"; font-family:FontAwesome;}
#section-jobs .jobs-list .job-meta p i.i-edu:before{content:"\f19d"; font-family:FontAwesome;}
#section-jobs .jobs-list .job-action{flex:0 0 12rem; text-align:right;}
#section-jobs .jobs-list .job-action .btn-apply{display:inline-block; padding:0.9rem 2rem; background:#e4002b; color:#fff; font-weight:600; font-size:1.4rem; border-radius:0.3rem; margin-bottom:0.8rem;}
#section-jobs .jobs-list .job-action .deadline{font-size:1.3rem; color:#000; font-weight:600; margin:0.3rem 0;}
#section-jobs .jobs-list .job-action .newdate{font-size:1.2rem; color:#e4002b; margin:0;}

/* paginate (jobs / portfolio / pr lists 공통) */
.paginate{display:flex; gap:0.6rem; justify-content:center; align-items:center; margin-top:5rem;}
.paginate > a{display:inline-flex; align-items:center; justify-content:center; min-width:3.4rem; height:3.4rem; padding:0 0.8rem; background:#fff; border:1px solid #ddd; font-size:1.3rem; color:#666;}
.paginate > a.on{background:#000; border-color:#000; color:#fff; font-weight:700;}
.paginate > a.prev:before{content:"‹";}
.paginate > a.next:before{content:"›";}

/* ============================================================
   06. 상시채용 — /careers/recruit.php
   12. 문의 — /contact/inquiry.php
   (form-table 공통)
   ============================================================ */
#section-recruit .form-msg, #section-inquiry .form-msg{padding:1.5rem 2rem; margin-bottom:2rem; border-radius:0.5rem; font-size:1.4rem;}
#section-recruit .form-msg.ok, #section-inquiry .form-msg.ok{background:#eaf6ee; color:#1c7a3e; border:1px solid #b9dec6;}

#section-recruit .form-required, #section-inquiry .form-required{font-size:1.3rem; color:#e4002b; text-align:right; margin-bottom:1rem;}

#section-recruit table.form-table, #section-inquiry table.form-table{width:100%; border-top:1px solid #000; border-bottom:1px solid #000; border-collapse:collapse;}
#section-recruit table.form-table th, #section-inquiry table.form-table th{padding:1.5rem; background:#fafafa; font-weight:600; font-size:1.4rem; color:#000; text-align:center; vertical-align:middle; border-bottom:1px solid #eee;}
#section-recruit table.form-table td, #section-inquiry table.form-table td{padding:1.2rem 1.5rem; border-bottom:1px solid #eee; font-size:1.4rem;}
#section-recruit table.form-table td input[type=text],
#section-recruit table.form-table td input[type=email],
#section-recruit table.form-table td input[type=tel],
#section-recruit table.form-table td input[type=file],
#section-recruit table.form-table td select,
#section-recruit table.form-table td textarea,
#section-inquiry table.form-table td input[type=text],
#section-inquiry table.form-table td input[type=email],
#section-inquiry table.form-table td input[type=tel],
#section-inquiry table.form-table td input[type=file],
#section-inquiry table.form-table td select,
#section-inquiry table.form-table td textarea{padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.4rem; box-sizing:border-box; background:#fff; font-family:inherit;}
#section-recruit table.form-table td input[type=text]:not(.short),
#section-inquiry table.form-table td input[type=text]:not(.short){min-width:24rem;}
#section-recruit table.form-table td textarea, #section-inquiry table.form-table td textarea{width:100%; min-height:10rem; resize:vertical;}
#section-recruit table.form-table td .phone-row, #section-recruit table.form-table td .email-row,
#section-inquiry table.form-table td .phone-row, #section-inquiry table.form-table td .email-row,
#section-recruit table.form-table td.phone-row, #section-recruit table.form-table td.email-row,
#section-inquiry table.form-table td.phone-row, #section-inquiry table.form-table td.email-row{display:flex; gap:0.6rem; align-items:center; flex-wrap:wrap;}
#section-recruit table.form-table td.phone-row input, #section-inquiry table.form-table td.phone-row input{width:9rem;}
#section-recruit table.form-table td.email-row > input[type=text], #section-inquiry table.form-table td.email-row > input[type=text]{width:14rem; min-width:0;}
#section-recruit table.form-table td .radio-row, #section-inquiry table.form-table td .radio-row,
#section-recruit table.form-table td.radio-row, #section-inquiry table.form-table td.radio-row{display:flex; gap:2rem; flex-wrap:wrap;}
#section-recruit table.form-table td label, #section-inquiry table.form-table td label{font-size:1.4rem; color:#000; cursor:pointer;}
#section-recruit .captcha-img img, #section-inquiry .captcha-img img{vertical-align:middle; margin-right:0.6rem; border:1px solid #eee;}
#section-recruit .captcha-refresh, #section-inquiry .captcha-refresh{display:inline-block; padding:0.4rem 1rem; margin-left:0.6rem; border:1px solid #ddd; font-size:1.2rem; color:#666;}
#section-recruit .captcha-help, #section-inquiry .captcha-help{display:block; margin-top:0.4rem; font-size:1.2rem; color:#888;}

#section-recruit .form-policy, #section-inquiry .form-policy{margin-top:3rem; padding:2rem; background:#fafafa; border-radius:0.5rem; font-size:1.3rem; color:#666; line-height:2rem;}
#section-recruit .form-policy h6, #section-inquiry .form-policy h6{display:flex; justify-content:space-between; align-items:center; margin:0 0 1rem; font-weight:700; font-size:1.4rem; color:#000;}
#section-recruit .form-policy h6 .link-r, #section-inquiry .form-policy h6 .link-r{font-weight:400; font-size:1.3rem; color:#666;}
#section-recruit .form-policy .policy-box, #section-inquiry .form-policy .policy-box{background:#fff; padding:1.5rem; border:1px solid #eee; max-height:14rem; overflow:auto; margin-bottom:1rem;}
#section-recruit .form-policy label, #section-inquiry .form-policy label{margin-right:1.5rem; color:#000;}

#section-recruit .form-btns, #section-inquiry .form-btns{display:flex; gap:1rem; justify-content:flex-end; margin-top:3rem;}
#section-recruit .form-btns button, #section-recruit .form-btns a,
#section-inquiry .form-btns button, #section-inquiry .form-btns a{display:inline-block; padding:1.4rem 4rem; font-weight:600; font-size:1.5rem; border:none; cursor:pointer; border-radius:0.3rem; text-align:center;}
#section-recruit .btn-submit, #section-inquiry .btn-submit{background:#e4002b; color:#fff;}
#section-recruit .btn-cancel, #section-inquiry .btn-cancel{background:#444; color:#fff;}

/* ============================================================
   07. 엑스포럼 소식 — /pr/news.php (카드)
   ============================================================ */
.board-toolbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; flex-wrap:wrap; gap:1rem;}
.board-toolbar .total{font-size:1.4rem; color:#666; margin:0;}
.board-toolbar .search-form{display:flex; gap:0.5rem; align-items:center;}
.board-toolbar .search-form select{padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.3rem; min-width:9rem; background:#fff;}
.board-toolbar .search-form input[type=text]{padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.3rem; width:24rem;}
.board-toolbar .search-form button{padding:0.7rem 2rem; background:#000; color:#fff; font-size:1.3rem; border:none; cursor:pointer;}

#section-news .board-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:3rem 2rem; margin:0; padding:0; list-style:none;}
#section-news .board-cards > li figure{position:relative; width:100%; padding-top:66%; overflow:hidden; background:#eee; margin:0;}
#section-news .board-cards > li figure span{position:absolute; left:0; top:0; right:0; bottom:0; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform .4s ease;}
#section-news .board-cards > li:hover figure span{transform:scale(1.05);}
#section-news .board-cards > li dl{padding:1.5rem 0.5rem; margin:0;}
#section-news .board-cards > li dl dt{font-weight:600; font-size:1.5rem; color:#000; line-height:2.2rem; margin-bottom:1rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
#section-news .board-cards > li dl .excerpt{font-size:1.3rem; color:#666; line-height:2rem; margin-bottom:0.6rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
#section-news .board-cards > li dl .date{font-size:1.3rem; color:#888;}
#section-news .board-cards > li.empty{grid-column:1/-1; text-align:center; padding:6rem 0; color:#888;}

/* ============================================================
   08~09. 알려드립니다 / 언론 보도 — table layout
   ============================================================ */
#section-notice .board-table, #section-press .board-table{width:100%; border-top:1px solid #000; border-collapse:collapse;}
#section-notice .board-table th, #section-press .board-table th{padding:1.6rem 1rem; background:#fafafa; border-bottom:1px solid #ddd; font-weight:600; font-size:1.4rem; color:#000;}
#section-notice .board-table td, #section-press .board-table td{padding:1.6rem 1rem; border-bottom:1px solid #eee; font-size:1.4rem; color:#666; text-align:center;}
#section-notice .board-table td.subject, #section-press .board-table td.subject{text-align:left;}
#section-notice .board-table td.subject a, #section-press .board-table td.subject a{color:#000;}
#section-notice .board-table td.subject a:hover, #section-press .board-table td.subject a:hover{color:#e4002b;}
#section-notice .board-table tr.empty td, #section-press .board-table tr.empty td{padding:6rem 0; color:#888;}

/* ============================================================
   10. 수상 / 인증 — /pr/awards.php
   ============================================================ */
#section-awards .awards-tab{display:flex; align-items:center; gap:3rem; margin-bottom:3rem; flex-wrap:wrap; padding-bottom:2rem; border-bottom:1px solid #eee;}
#section-awards .awards-tab > a{font-size:1.5rem; color:#888; padding-bottom:0.6rem; border-bottom:2px solid transparent;}
#section-awards .awards-tab > a.active{color:#000; font-weight:700; border-color:#e4002b;}
#section-awards .awards-tab .year-sel{margin-left:auto; padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.3rem; background:#fff; min-width:18rem;}

#section-awards .awards-list{}
#section-awards .awards-year{display:grid; grid-template-columns:14rem 1fr; gap:5rem; margin-bottom:5rem; padding-bottom:5rem; border-bottom:1px solid #f0f0f0;}
#section-awards .awards-year:last-child{border-bottom:none;}
#section-awards .awards-year h3{font-weight:700; font-size:3rem; color:#000; margin:0;}
#section-awards .awards-year > ul{display:grid; grid-template-columns:repeat(2, 1fr); gap:1.5rem; padding:0; margin:0; list-style:none;}
#section-awards .awards-year > ul > li{padding:2.2rem; border:1px solid #eee; border-radius:0.5rem; background:#fff;}
#section-awards .awards-year > ul > li .badge{display:inline-block; padding:0.4rem 1.4rem; background:#e4002b; color:#fff; font-size:1.2rem; border-radius:1rem; margin-bottom:1.2rem;}
#section-awards .awards-year > ul > li.card-cert .badge{background:#fff; color:#e4002b; border:1px solid #e4002b;}
#section-awards .awards-year > ul > li h5{font-weight:700; font-size:1.6rem; color:#000; line-height:2.4rem; margin:0 0 1rem;}
#section-awards .awards-year > ul > li p{font-size:1.3rem; line-height:2rem; color:#666; margin:0;}
#section-awards .empty{text-align:center; padding:8rem 0; color:#888; font-size:1.5rem;}

/* ============================================================
   11. 포트폴리오 — /portfolio/index.php
   ============================================================ */
#section-portfolio .port-cat{display:flex; flex-wrap:wrap; gap:0.6rem 1rem; justify-content:center; margin-bottom:4rem;}
#section-portfolio .port-cat > a{padding:0.7rem 1.6rem; border:1px solid #ddd; border-radius:2rem; font-size:1.3rem; color:#666;}
#section-portfolio .port-cat > a.active{background:#e4002b; border-color:#e4002b; color:#fff; font-weight:600;}

#section-portfolio .port-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:3rem 2rem; margin:0; padding:0; list-style:none;}
#section-portfolio .port-grid > li{cursor:pointer;}
#section-portfolio .port-grid > li.empty{grid-column:1/-1; text-align:center; padding:6rem 0; color:#888; cursor:default;}
#section-portfolio .port-grid > li figure{width:100%; padding-top:75%; position:relative; overflow:hidden; background:#eee; margin:0;}
#section-portfolio .port-grid > li figure span{position:absolute; left:0; top:0; right:0; bottom:0; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform .4s ease;}
#section-portfolio .port-grid > li:hover figure span{transform:scale(1.05);}
#section-portfolio .port-grid > li dl{padding:1rem 0.3rem; margin:0;}
#section-portfolio .port-grid > li dl dt{font-weight:600; font-size:1.4rem; color:#000; line-height:2rem; margin-bottom:0.4rem;}
#section-portfolio .port-grid > li dl dd.excerpt{font-size:1.2rem; color:#888; line-height:1.8rem; margin-bottom:0.4rem; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden;}
#section-portfolio .port-grid > li dl dd.date{font-size:1.2rem; color:#aaa;}

/* ============================================================
   13. FAQ — /contact/faq.php
   ============================================================ */
#section-faq .faq-cat{display:flex; gap:3rem; margin-bottom:3rem; flex-wrap:wrap;}
#section-faq .faq-cat > a{font-size:1.5rem; color:#888; padding:0 0 0.6rem; border-bottom:2px solid transparent;}
#section-faq .faq-cat > a.active{color:#000; font-weight:700; border-color:#e4002b;}

#section-faq .faq-toolbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; flex-wrap:wrap; gap:1rem;}
#section-faq .faq-toolbar .total{font-size:1.4rem; color:#666; margin:0;}
#section-faq .faq-toolbar .total em{font-weight:700; color:#e4002b; font-style:normal;}
#section-faq .faq-toolbar .search-form{display:flex; gap:0.5rem; align-items:center;}
#section-faq .faq-toolbar .search-form select{padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.3rem; min-width:9rem; background:#fff;}
#section-faq .faq-toolbar .search-form input[type=text]{padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.3rem; width:24rem;}
#section-faq .faq-toolbar .search-form button{padding:0.7rem 2rem; background:#000; color:#fff; font-size:1.3rem; border:none; cursor:pointer;}

#section-faq .faq-table{width:100%; border-top:1px solid #000; border-collapse:collapse;}
#section-faq .faq-table thead th{padding:1.5rem 1rem; background:#fafafa; border-bottom:1px solid #ddd; font-weight:600; font-size:1.4rem; color:#000;}
#section-faq .faq-table tr.faq-q{cursor:pointer;}
#section-faq .faq-table tr.faq-q td{padding:1.8rem 1rem; border-bottom:1px solid #eee; font-size:1.4rem; color:#666; vertical-align:middle;}
#section-faq .faq-table tr.faq-q td:first-child{text-align:center; width:8rem;}
#section-faq .faq-table tr.faq-q td.subject{font-size:1.5rem; color:#000;}
#section-faq .faq-table tr.faq-q td.toggle{width:6rem; text-align:center;}
#section-faq .faq-table tr.faq-q td.toggle span{display:inline-flex; width:3.4rem; height:3.4rem; align-items:center; justify-content:center; background:#fafafa; border-radius:50%; font-size:1.8rem; color:#000; transition:transform .2s;}
#section-faq .faq-table tr.faq-q td.toggle span:before{content:"+";}
#section-faq .faq-table tr.faq-q.open td.subject{font-weight:700;}
#section-faq .faq-table tr.faq-q.open td.toggle span{background:#e4002b; color:#fff;}
#section-faq .faq-table tr.faq-q.open td.toggle span:before{content:"−";}
#section-faq .faq-table tr.faq-a td{padding:2rem 6rem; border-bottom:1px solid #eee; background:#fcfcfc;}
#section-faq .faq-table tr.faq-a td.content{font-size:1.4rem; line-height:2.4rem; color:#666;}
#section-faq .faq-table tr.empty td{padding:6rem 0; text-align:center; color:#888;}

/* ============================================================
   14. 오시는 길 — /contact/location.php
   ============================================================ */
#section-location .loc-map{margin:2rem auto 4rem; max-width:90rem; text-align:center; position:relative;}
#section-location .loc-map figure{margin:0; position:relative; display:inline-block; max-width:100%;}
#section-location .loc-map figure img{width:100%; height:auto; max-width:80rem; display:block;}
#section-location .loc-map .pin{position:absolute; width:1rem; height:1rem; border-radius:50%; background:#e4002b;}
#section-location .loc-map .pin span{position:absolute; left:1.4rem; top:-0.6rem; font-size:1.2rem; color:#000; white-space:nowrap;}
#section-location .loc-map .pin-korea{left:75%; top:42%;}
#section-location .loc-map .pin-busan{left:77%; top:46%;}
#section-location .loc-map .pin-china{left:70%; top:48%;}
#section-location .loc-map .pin-vietnam{left:71%; top:55%;}
#section-location .loc-map .pin-usa{left:18%; top:42%;}

#section-location .loc-title{font-size:1.8rem; font-weight:700; color:#000; letter-spacing:0.05em; margin:5rem 0 2rem;}
#section-location .loc-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:1.5rem; margin:0; padding:0; list-style:none;}
#section-location .loc-cards > li{padding:2.2rem; border:1px solid #eee; border-radius:0.5rem; position:relative; background:#fff;}
#section-location .loc-cards > li .cat{display:inline-block; padding:0.3rem 1rem; background:#e4002b; color:#fff; font-size:1.2rem; border-radius:1rem; margin-bottom:1.2rem;}
#section-location .loc-cards > li h5{font-weight:700; font-size:1.6rem; color:#000; line-height:2.4rem; margin:0 0 0.6rem;}
#section-location .loc-cards > li .addr-en{font-size:1.2rem; line-height:1.8rem; color:#888; margin:0 0 1.5rem;}
#section-location .loc-cards > li dl{display:grid; grid-template-columns:5rem 1fr; gap:0.4rem 1rem; font-size:1.3rem; line-height:2rem; margin:0;}
#section-location .loc-cards > li dl dt{color:#888; margin:0;}
#section-location .loc-cards > li dl dd{color:#000; margin:0;}
#section-location .loc-cards > li .map-btn{position:absolute; right:1.6rem; bottom:1.6rem; width:3.4rem; height:3.4rem; background:#fafafa url('/images/sub/icon_pin.svg') no-repeat center/1.4rem; border-radius:50%; color:transparent; font-size:0;}
#section-location .loc-cards > li .map-btn:before{content:"●"; color:#000; font-size:1.4rem; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}

/* ============================================================
   반응형 (1280px 이하)
   ============================================================ */
@media (max-width: 1280px){
	#section-talent .talent-row,
	#section-talent .talent-xcode{flex-flow:column wrap; gap:3rem;}
	#section-talent .talent-row > figure,
	#section-talent .talent-xcode > figure{flex:0 0 auto; width:100%;}
	#section-talent .talent-mice{grid-template-columns:repeat(2,1fr);}

	#section-ci .ci-grid,
	#section-ci .logo-type,
	#section-ci .logo-colors{grid-template-columns:repeat(2, 1fr);}
	#section-ci .ci-logo-row{flex-flow:column wrap; gap:2rem; text-align:center;}

	#section-life .life-grid3{grid-template-columns:repeat(2,1fr);}
	#section-news .board-cards{grid-template-columns:repeat(2,1fr);}
	#section-portfolio .port-grid{grid-template-columns:repeat(3,1fr);}
	#section-awards .awards-year{grid-template-columns:1fr; gap:2rem;}
	#section-awards .awards-year > ul{grid-template-columns:1fr;}
	#section-location .loc-cards{grid-template-columns:repeat(2,1fr);}

	#section-journey .journey-detail > dl{grid-template-columns:14rem 1fr;}
	#section-journey .journey-detail > dl dd .dd-grid{grid-template-columns:1fr; gap:2rem;}
}

@media (max-width: 768px){
	#section-ci .ci-grid,
	#section-ci .logo-type,
	#section-ci .logo-colors{grid-template-columns:1fr;}
	#section-talent .talent-mice{grid-template-columns:1fr 1fr;}

	#section-journey .journey-steps{flex-flow:row wrap;}
	#section-journey .journey-steps > li{flex:1 1 calc(50% - 1rem);}
	#section-journey .journey-steps > li.arrow{display:none;}
	#section-journey .journey-detail > dl{grid-template-columns:1fr;}

	#section-life .life-list > li{flex-flow:column wrap; align-items:flex-start;}
	#section-life .life-list > li dl{flex-flow:column wrap; gap:0.6rem;}
	#section-life .life-grid3{grid-template-columns:1fr;}

	#section-news .board-cards{grid-template-columns:1fr;}
	#section-portfolio .port-grid{grid-template-columns:repeat(2,1fr);}

	#section-jobs .jobs-list > li{flex-flow:column wrap; align-items:flex-start; gap:1.2rem;}
	#section-jobs .jobs-list .job-action{text-align:left;}

	#section-recruit table.form-table th, #section-inquiry table.form-table th{display:block; text-align:left;}
	#section-recruit table.form-table td, #section-inquiry table.form-table td{display:block; padding:1rem;}
	#section-recruit table.form-table colgroup, #section-inquiry table.form-table colgroup{display:none;}

	#section-location .loc-cards{grid-template-columns:1fr;}
	.board-toolbar{flex-flow:column wrap; align-items:flex-start;}
	.board-toolbar .search-form input[type=text]{width:18rem;}
}

/* ========================================================================
   IMAGE FALLBACKS — CSS-styled replacements for missing images
   ======================================================================== */

/* CI page — X marks instead of img */
#section-ci .ci-cell figure{display:flex; align-items:center; justify-content:center; min-height:14rem;}
#section-ci .x-mark{display:inline-block; font-family:'Arial Black', Arial, sans-serif; font-weight:900; font-size:9rem; line-height:1; color:#e4002b; letter-spacing:-0.05em;}
#section-ci .x-mark-1{color:#e4002b;}
#section-ci .x-mark-2{color:#000;}
#section-ci .x-mark-3{background:linear-gradient(135deg, #e4002b 50%, #000 50%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;}

#section-ci .ci-logo-row figure{flex-shrink:0; min-width:18rem;}
#section-ci .ci-logo-text{display:inline-flex; align-items:center; gap:0.6rem; font-family:'Arial Black', Arial, sans-serif; font-weight:900; font-size:3.4rem; color:#000;}
#section-ci .ci-logo-text b{color:#e4002b;}

#section-ci .logo-type li figure{display:flex; align-items:center; justify-content:center; min-height:10rem; padding:2rem;}
#section-ci .logo-text{display:inline-flex; align-items:baseline; gap:0.5rem; font-family:'Arial Black', Arial, sans-serif; font-weight:900; font-size:2.6rem; color:#000;}
#section-ci .logo-text b{color:#e4002b;}
#section-ci .logo-text small{font-size:1.4rem; font-weight:600; color:#444; margin-left:0.4rem;}

/* Talent page — figure replacements */
#section-talent .talent-fig{position:relative; min-height:24rem; display:flex; align-items:center; justify-content:center; gap:2rem; background:linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color:#fff; overflow:hidden; margin:0;}
#section-talent .talent-fig::before{content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size:3rem 3rem;}
#section-talent .talent-fig.fig-people{background:linear-gradient(135deg, #2d1b3d 0%, #1a1a2e 100%);}
#section-talent .talent-fig.fig-xcode{background:linear-gradient(135deg, #16213e 0%, #0f3460 100%);}
#section-talent .talent-fig.fig-mice{background:linear-gradient(135deg, #4a0e1f 0%, #1a1a2e 100%);}
#section-talent .talent-fig .fig-x{position:relative; font-family:'Arial Black', Arial, sans-serif; font-size:14rem; font-weight:900; color:#e4002b; line-height:1;}
#section-talent .talent-fig .fig-text{position:relative; font-size:3rem; font-weight:700; letter-spacing:0.1em;}

/* Life page — FontAwesome icons */
#section-life .life-list li figure,
#section-life .life-grid3 li figure{display:flex; align-items:center; justify-content:center; width:7rem; height:7rem; margin:0; flex-shrink:0; background:#fdf0f3; border-radius:50%;}
#section-life .life-list li figure i,
#section-life .life-grid3 li figure i{font-size:3rem; color:#e4002b;}

/* Journey page — FontAwesome icons */
#section-journey .journey-steps li figure{display:flex; align-items:center; justify-content:center; width:9rem; height:9rem; margin:1rem auto; background:#fff; border:2px solid #e4002b; border-radius:50%;}
#section-journey .journey-steps li figure i{font-size:3.6rem; color:#e4002b;}
#section-journey .journey-detail dl dt figure{display:inline-flex; align-items:center; justify-content:center; width:5rem; height:5rem; margin:0 1.4rem 0 0; background:#fdf0f3; border-radius:50%; vertical-align:middle;}
#section-journey .journey-detail dl dt figure i{font-size:2.2rem; color:#e4002b;}

/* Location page — world map fallback */
#section-location .world-map-fig{position:relative; min-height:42rem; background:linear-gradient(135deg, #f7f7f9 0%, #ebebef 100%); border:1px solid #e8e8ed; margin:0 0 4rem;}
#section-location .world-map-bg{display:flex; flex-direction:column; align-items:center; justify-content:center; height:42rem; gap:2rem; color:#999;}
#section-location .world-map-bg i{font-size:12rem; color:#d0d0d8;}
#section-location .world-map-bg span{font-size:1.6rem; font-weight:600; letter-spacing:0.1em; color:#888;}

/* Portfolio — no-thumb fallback */
#section-portfolio .port-grid li figure .no-thumb{display:flex; align-items:center; justify-content:center; width:100%; height:100%; background:#f0f0f3;}
#section-portfolio .port-grid li figure .no-thumb i{font-size:5rem; color:#c0c0c8;}

/* === PAGE-ADDITIONS: areas === */
/* @needs-review: areas-active — 첫 번째 카드(전시기획·조직) 기본 강조 빨강 */
#section-areas .icon-list>li.active{background-color:var(--point);}
#section-areas .icon-list>li.active>dl>dt{font-weight:700;}
#section-areas .icon-list>li.active>dl>dd{opacity:1;}
/* @needs-review: areas-figure-mask — 본문 4섹션 figure에 PNG mask 이미지 대응 (배경 투명, 라운드 처리) */
#section-areas .areas-detail>figure{background:#f5f5f5; border-radius:1rem; overflow:hidden;}
#section-areas .areas-detail>figure img{aspect-ratio:4/3; object-fit:cover;}

/* === PAGE-ADDITIONS: overview === */
/* @needs-review: overview mobile - 본문 가독성 (>=14px) */
@media (max-width:480px){
	#section-overview .overview-visual{height:24rem;}
	#section-overview .overview-visual dl>dd{font-size:14px; line-height:1.5;}
	#section-overview .overview-point{margin-top:5rem;}
	#section-overview .overview-point>li p.tit{font-size:15px; line-height:1.3;}
	#section-overview .overview-point>li p.txt{font-size:13px; line-height:1.5; margin-top:0.6rem;}
	#section-overview .overview-layout{margin-top:5rem;}
	#section-overview .overview-layout>li+li{margin-top:5rem;}
	#section-overview .overview-layout>li dl>dt{font-size:18px; line-height:1.3;}
	#section-overview .overview-layout>li dl>dd{font-size:14px; line-height:1.6; margin-top:0.8rem;}
	#section-overview .overview-layout>li dl{margin-top:2.4rem;}
	#section-overview .overview-layout>li figure img{max-height:220px;}
}
/* === END PAGE-ADDITIONS: overview === */

/* === PAGE-ADDITIONS: ceo === */
/* @needs-review: ceo mobile - 본문 12px -> 14px */
@media (max-width:480px){
	#section-ceo{gap:4rem 0;}
	#section-ceo .ceo-photo{height:auto; padding:3rem 0 0 0; min-height:50rem;}
	#section-ceo .ceo-photo>p{font-size:18px; line-height:1.4; text-align:center; padding:0 2rem;}
	#section-ceo .ceo-photo>figure img{height:auto; max-height:38rem; width:auto;}
	#section-ceo .ceo-text{padding:0 0.5rem;}
	#section-ceo .ceo-text>p{font-size:14px; line-height:1.7;}
	#section-ceo .ceo-text>p>strong{font-size:15px; line-height:1.6;}
	#section-ceo .ceo-text>p+p{margin-top:1.4rem;}
	#section-ceo .ceo-text>div.sign{flex-flow:row wrap; justify-content:flex-end; gap:1rem; margin-top:2rem;}
	#section-ceo .ceo-text>div.sign>strong{font-size:14px; padding-top:1rem;}
}
/* === END PAGE-ADDITIONS: ceo === */



/* === G2-MOBILE: areas (max-width:480px) — 1rem=5.5px 스케일 보정 === */
@media (max-width:480px){
	#section-areas .icon-list{flex-flow:column nowrap !important; gap:2.5rem !important;}
	#section-areas .icon-list>li{width:100% !important; min-height:auto !important; padding:4rem 4rem 12rem !important; font-size:2.6rem !important;}
	#section-areas .icon-list>li>p{font-size:2.6rem !important;}
	#section-areas .icon-list>li>dl{margin-top:2.6rem !important;}
	#section-areas .icon-list>li>dl>dt{font-size:3.3rem !important;}
	#section-areas .icon-list>li>dl>dd{font-size:2.6rem !important; line-height:1.6 !important;}
	#section-areas .icon-list>li>figure{right:4rem; bottom:4rem;}
	#section-areas .icon-list>li>figure img[src*="icon_areas01_01"],
	#section-areas .icon-list>li>figure img[src*="icon_areas01_02"],
	#section-areas .icon-list>li>figure img[src*="icon_areas01_03"],
	#section-areas .icon-list>li>figure img[src*="icon_areas01_04"]{width:8rem !important;}

	#section-areas .areas-detail>.detail-text>h4{font-size:3.6rem !important;}
	#section-areas .areas-detail>.detail-text>h4>.num{font-size:1em !important;}
	#section-areas .areas-detail>.detail-text>.detail-en{font-size:2.4rem !important; margin-top:1rem !important;}
	#section-areas .areas-detail>.detail-text>.detail-desc{font-size:2.6rem !important; line-height:4rem !important; margin-top:2rem !important;}
	#section-areas .areas-detail .tag-list>li{font-size:2.4rem !important; padding:1rem 1.8rem !important;}
}
/* === END G2-MOBILE: areas === */

/* === PAGE-ADDITIONS: history === */
/* @needs-review: history-tab — 시기 선택 탭 (활성: 검정 굵게 + 빨강 점, 비활성: 회색) */
#section-history .history-tab{display:flex; justify-content:center; gap:4rem; margin:0 0 4rem; padding:0;}
#section-history .history-tab a{position:relative; padding:0.4rem 0; font-family:Outfit,Arial,sans-serif; font-weight:600; font-size:1.4rem; color:#999; letter-spacing:0.05em; text-decoration:none; transition:color 0.2s;}
#section-history .history-tab a.active{color:#111;}
#section-history .history-tab a.active::before{content:""; position:absolute; left:-1rem; top:50%; transform:translateY(-50%); width:0.5rem; height:0.5rem; background:#e4002b; border-radius:50%;}
#section-history .history-tab a:hover{color:#333;}

/* @needs-review: history-hero — 시기별 hero 배너 (배경 + 어두운 오버레이 + 가운데 텍스트 + 2개 버튼) */
#section-history .history-hero{position:relative; margin:0 0 8rem; padding:8rem 2rem; background:url('/images/sub/bg_history_hero.png') no-repeat center center/cover; background-color:#1a1a1a; overflow:hidden; border-radius:0.4rem;}
#section-history .history-hero .hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.6) 100%); pointer-events:none;}
#section-history .history-hero .hero-text{position:relative; z-index:1; max-width:80rem; margin:0 auto; text-align:center; color:#fff;}
#section-history .history-hero .hero-text .period{margin:0 0 1rem; font-weight:700; font-size:2.4rem; line-height:1; color:#fff;}
#section-history .history-hero .hero-text .years{margin:0 0 2.5rem; font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:4.4rem; line-height:1; color:#fff; letter-spacing:0.02em;}
#section-history .history-hero .hero-text .desc{margin:0 auto 3rem; max-width:60rem; font-size:1.4rem; line-height:2.2rem; color:rgba(255,255,255,0.85);}
#section-history .history-hero .hero-text .btns{display:flex; justify-content:center; gap:1rem; margin:0;}
#section-history .history-hero .hero-text .btns a{display:inline-block; padding:1rem 2.2rem; font-weight:600; font-size:1.3rem; letter-spacing:0.02em; border-radius:0.3rem; text-decoration:none; transition:opacity 0.2s;}
#section-history .history-hero .hero-text .btns a.btn1{background:#e4002b; color:#fff; border:1px solid #e4002b;}
#section-history .history-hero .hero-text .btns a.btn2{background:transparent; color:#fff; border:1px solid rgba(255,255,255,0.5);}
#section-history .history-hero .hero-text .btns a:hover{opacity:0.85;}

/* @needs-review: history-content — 가운데 세로축 + zigzag 좌우 교차 배치, axis가 hero 안쪽까지 위로 연장 */
#section-history .history-content{position:relative; padding:0; margin:0;}
#section-history .history-axis{position:absolute; left:50%; top:-10rem; bottom:0; width:2px; background:#e8e8ed; transform:translateX(-50%); pointer-events:none; z-index:2;}

#section-history .history-block{position:relative; display:grid; grid-template-columns:1fr 1fr; column-gap:6rem; margin-bottom:8rem; z-index:1;}
#section-history .history-block--left .period-label{grid-column:1; grid-row:1; justify-self:end; text-align:right;}
#section-history .history-block--left .history-list{grid-column:2; grid-row:1; padding-left:3rem;}
#section-history .history-block--right .period-label{grid-column:2; grid-row:1; justify-self:start; text-align:left;}
#section-history .history-block--right .history-list{grid-column:1; grid-row:1; padding-right:3rem; padding-left:0; text-align:right;}

#section-history .history-block .period-label{padding-top:2rem; max-width:32rem; width:100%;}
#section-history .history-block .period-label p{margin:0 0 2rem; font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:2.4rem; color:#e4002b; line-height:1;}
#section-history .history-block .period-label figure{margin:0; overflow:hidden; border-radius:0.3rem; aspect-ratio:4/3; width:100%;}
#section-history .history-block .period-label figure img{width:100%; height:100%; object-fit:cover; display:block;}
/* HISTGRP-MARKER period-years/desc */
#section-history .history-block .period-label .period-years{display:block; margin:0 0 1.6rem; font-family:Outfit,Arial,sans-serif; font-weight:600; font-size:1.6rem; color:#888; line-height:1.2;}
#section-history .history-block .period-label .period-desc{display:block; margin:1.6rem 0 0; font-size:1.4rem; line-height:2rem; color:#555;}
@media (max-width:768px){
  #section-history .history-block .period-label .period-years{font-size:14px; line-height:1.3; margin-bottom:1.2rem;}
  #section-history .history-block .period-label .period-desc{font-size:13px; line-height:1.6; margin-top:1.2rem;}
}


#section-history .history-list{position:relative; margin:0; padding:0; list-style:none;}
#section-history .history-list > li{position:relative; padding:0 0 3rem 0;}

#section-history .history-block--left .history-list > li > h5{position:relative; display:inline-block; margin:0 0 1.4rem -4.6rem; padding:0 0 0 4.6rem; font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:2rem; line-height:1; color:#111;}
#section-history .history-block--left .history-list > li > h5::before{content:""; position:absolute; left:0; top:50%; transform:translate(-50%,-50%); width:1.8rem; height:1.8rem; background:#fff; border:2px solid #e4002b; border-radius:50%; box-shadow:0 0 0 4px #fff;}
#section-history .history-block--left .history-list > li > h5::after{content:""; position:absolute; left:0; top:50%; transform:translate(-50%,-50%); width:0.7rem; height:0.7rem; background:#e4002b; border-radius:50%;}

#section-history .history-block--right .history-list > li{text-align:right;}
#section-history .history-block--right .history-list > li > h5{position:relative; display:inline-block; margin:0 -4.6rem 1.4rem 0; padding:0 4.6rem 0 0; font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:2rem; line-height:1; color:#111;}
#section-history .history-block--right .history-list > li > h5::before{content:""; position:absolute; right:0; top:50%; transform:translate(50%,-50%); width:1.8rem; height:1.8rem; background:#fff; border:2px solid #e4002b; border-radius:50%; box-shadow:0 0 0 4px #fff;}
#section-history .history-block--right .history-list > li > h5::after{content:""; position:absolute; right:0; top:50%; transform:translate(50%,-50%); width:0.7rem; height:0.7rem; background:#e4002b; border-radius:50%;}

#section-history .history-list > li > dl{display:flex; gap:1.2rem; margin:0 0 0.6rem; align-items:flex-start;}
#section-history .history-block--right .history-list > li > dl{justify-content:flex-end;}
#section-history .history-block--right .history-list > li > dl > dt{order:2;}
#section-history .history-list > li > dl > dt{flex:0 0 auto; min-width:2rem; font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:1.3rem; color:#e4002b; line-height:1.9rem;}
#section-history .history-list > li > dl > dd{margin:0; font-size:1.3rem; line-height:1.9rem; color:#555;}

/* @needs-review: history-mobile — 모바일에서 axis를 좌측 정렬, 라벨/리스트 1열 스택 */
@media (max-width: 768px){
	#section-history .history-tab{flex-wrap:wrap; gap:2rem; margin-bottom:3rem;}
	#section-history .history-hero{padding:6rem 1.6rem; margin-bottom:5rem;}
	#section-history .history-hero .hero-text .period{font-size:1.8rem;}
	#section-history .history-hero .hero-text .years{font-size:3.2rem;}
	#section-history .history-hero .hero-text .desc{font-size:1.3rem; line-height:2rem;}
	#section-history .history-axis{left:1.6rem; transform:none; top:-4rem;}
	#section-history .history-block{grid-template-columns:1fr; row-gap:3rem; margin-bottom:5rem; padding-left:4rem;}
	#section-history .history-block--left .period-label,
	#section-history .history-block--right .period-label{grid-column:1; grid-row:1; justify-self:start; text-align:left; padding-top:0; max-width:32rem;}
	#section-history .history-block--left .history-list,
	#section-history .history-block--right .history-list{grid-column:1; grid-row:2; padding:0; text-align:left;}
	#section-history .history-block--right .history-list > li{text-align:left;}
	#section-history .history-block--left .history-list > li > h5,
	#section-history .history-block--right .history-list > li > h5{margin:0 0 1.2rem -2.4rem; padding:0 0 0 2.4rem;}
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{left:0; right:auto; transform:translate(-50%,-50%);}
	#section-history .history-block--right .history-list > li > dl{justify-content:flex-start;}
	#section-history .history-block--right .history-list > li > dl > dt{order:0;}
}

/* @needs-review: history mobile (<=480px) - 가독성/터치영역 보정 */
@media (max-width:480px){
	#section-history .history-tab{gap:1.2rem; flex-wrap:wrap; row-gap:1rem; margin-bottom:3rem; justify-content:space-around;}
	#section-history .history-tab a{font-size:13px; line-height:1.2; padding:1rem 0.6rem; min-height:44px; display:flex; align-items:center;}
	#section-history .history-tab a.active::before{left:-0.8rem; width:0.6rem; height:0.6rem;}
	#section-history .history-hero{padding:4rem 1.6rem; margin-bottom:4rem;}
	#section-history .history-hero .hero-text .period{font-size:14px; line-height:1.4; margin-bottom:0.8rem;}
	#section-history .history-hero .hero-text .years{font-size:30px; line-height:1.1; margin-bottom:1.6rem;}
	#section-history .history-hero .hero-text .desc{font-size:13px; line-height:1.6; margin-bottom:2rem;}
	#section-history .history-hero .hero-text .btns{flex-wrap:wrap; gap:0.8rem;}
	#section-history .history-hero .hero-text .btns a{font-size:13px; line-height:1.3; padding:1rem 1.6rem; min-height:40px; display:inline-flex; align-items:center; justify-content:center;}
	#section-history .history-content{padding-top:1rem;}
	#section-history .history-axis{left:1.2rem; top:-2rem;}
	#section-history .history-block{padding-left:3.2rem; margin-bottom:4rem; row-gap:2rem;}
	#section-history .history-block .period-label p{font-size:18px; line-height:1.2; margin-bottom:1.4rem;}
	#section-history .history-block .period-label figure{max-width:24rem;}
	#section-history .history-list > li{padding-bottom:2rem;}
	#section-history .history-block--left .history-list > li > h5,
	#section-history .history-block--right .history-list > li > h5{font-size:16px; line-height:1.2; margin:0 0 1rem -2rem; padding:0 0 0 2rem;}
	#section-history .history-block--left .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::before{width:1.4rem; height:1.4rem; box-shadow:0 0 0 3px #fff;}
	#section-history .history-block--left .history-list > li > h5::after,
	#section-history .history-block--right .history-list > li > h5::after{width:0.55rem; height:0.55rem;}
	#section-history .history-list > li > dl{gap:0.8rem; margin-bottom:0.6rem;}
	#section-history .history-list > li > dl > dt{font-size:13px; line-height:1.5; min-width:1.6rem;}
	#section-history .history-list > li > dl > dd{font-size:13px; line-height:1.5;}
}



/* PAGE-ADDITIONS:history tablet (1024px font-size restore) */
@media (max-width:1024px) and (min-width:481px){
	#section-history .history p,
	#section-history .history a,
	#section-history .history dt,
	#section-history .history dd,
	.history-year p,
	.history-year a,
	.history-year dt,
	.history-year dd,
	#section-history .history-list p,
	#section-history .history-list a,
	#section-history .history-list dt,
	#section-history .history-list dd,
	#section-history .history-block .period-label p{
		font-size: 14px !important;
		line-height: 1.6 !important;
	}
}

/* === END PAGE-ADDITIONS: history === */

/* === PAGE-ADDITIONS: recruit === */
/* @needs-review: recruit-required — 시안: 상단 안내 문구 회색, 별표만 빨강 */
#section-recruit .form-required{color:#888;}
#section-recruit .form-required span{color:var(--point); margin-right:0.2rem;}
/* @needs-review: recruit-th-star — 시안: 항목명 옆 빨강 별표 (em으로 강조) */
#section-recruit table.form-table th em, #section-inquiry table.form-table th em{font-style:normal; color:var(--point); margin-left:0.2rem; font-weight:600;}
/* @needs-review: recruit-select-wide — 지원 직군 등 와이드 셀렉트 */
#section-recruit table.form-table td select.select-wide{min-width:36rem;}
#section-recruit table.form-table td select{min-width:12rem;}
/* @needs-review: recruit-file-row — 시안: 텍스트 input + 검은 "찾아보기" 버튼 (네이티브 file 숨김) */
#section-recruit table.form-table td.file-row{padding:1rem 1.5rem;}
#section-recruit .file-field{display:inline-flex; align-items:stretch; gap:0; position:relative; vertical-align:middle;}
#section-recruit .file-field .file-name{width:32rem; padding:0.7rem 1rem; border:1px solid #ddd; background:#fff; font-size:1.4rem; box-sizing:border-box;}
#section-recruit .file-field input[type=file]{position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; padding:0; border:0;}
#section-recruit .file-field .file-btn{display:inline-flex; align-items:center; justify-content:center; padding:0 1.8rem; background:#111; color:#fff; font-size:1.3rem; font-weight:500; cursor:pointer; user-select:none; min-height:3.4rem;}
/* @needs-review: recruit-captcha-row — 시안: 캡차 이미지 + input + 새로고침 + 안내문 한 줄 정렬 */
#section-recruit table.form-table td.captcha-row{display:flex; align-items:center; gap:0.8rem; flex-wrap:wrap;}
#section-recruit table.form-table td.captcha-row .captcha-img img{margin:0; border:1px solid #eee; height:3.4rem;}
#section-recruit table.form-table td.captcha-row .captcha-input{width:18rem; min-width:0;}
#section-recruit table.form-table td.captcha-row .captcha-refresh{display:inline-flex; align-items:center; padding:0.4rem 1rem; margin:0; border:1px solid #ddd; background:#fff; color:#666; font-size:1.2rem; gap:0.3rem;}
#section-recruit table.form-table td.captcha-row .captcha-refresh::before{content:"↻"; font-size:1.4rem; color:var(--point);}
#section-recruit table.form-table td.captcha-row .captcha-help{display:inline; margin:0; font-size:1.3rem; color:#666;}
/* @needs-review: recruit-form-policy — 시안: 박스 배경 제거, 상단/하단 구분선 + 흰 정책 박스 */
#section-recruit .form-policy{margin-top:4rem; padding:0; background:transparent; border-radius:0; color:#666; line-height:2rem;}
#section-recruit .form-policy h6{display:flex; justify-content:space-between; align-items:center; margin:0 0 1rem; padding:0 0.4rem; font-weight:600; font-size:1.4rem; color:#000;}
#section-recruit .form-policy h6 .link-r{font-weight:400; font-size:1.3rem; color:#666; text-decoration:none;}
#section-recruit .form-policy .policy-box{background:#fafafa; padding:2rem 2.2rem; border:1px solid #eee; border-radius:0.2rem; max-height:14rem; overflow:auto; margin:0 0 1.2rem; font-size:1.3rem; color:#666; line-height:2rem;}
#section-recruit .form-policy .policy-box p{margin:0 0 1rem;}
#section-recruit .form-policy .policy-box p:last-child{margin:0;}
/* @needs-review: recruit-agree — 시안: 동의/거부를 체크박스 형태로 가로 정렬 */
#section-recruit .form-policy .agree-row{display:flex; gap:1.6rem; padding:0 0.4rem;}
#section-recruit .form-policy .agree-row .check-label{display:inline-flex; align-items:center; gap:0.5rem; font-size:1.3rem; color:#000; cursor:pointer; margin:0;}
#section-recruit .form-policy .agree-row .check-label input[type=checkbox]{width:1.4rem; height:1.4rem; accent-color:var(--point); margin:0;}
/* @needs-review: recruit-btns — 시안: 빨강 "문의하기" + 짙은회색 "취소하기" 우측 정렬, 폭 동일 */
#section-recruit .form-btns{justify-content:flex-end; gap:1.2rem; margin-top:4rem;}
#section-recruit .form-btns button.btn-submit, #section-recruit .form-btns a.btn-cancel{min-width:14rem; padding:1.4rem 2rem; border-radius:0; font-size:1.5rem; font-weight:600;}
#section-recruit .form-btns a.btn-cancel{background:#222; color:#fff; text-decoration:none;}
/* @needs-review: recruit-btn-submit-color — 사이트 표준 빨강 통일 (--point: #e40032) */
#section-recruit .form-btns button.btn-submit{background:var(--point); color:#fff; border-color:var(--point);}

@media (max-width: 768px){
	#section-recruit .file-field .file-name{width:auto; flex:1;}
	#section-recruit table.form-table td.captcha-row{gap:0.6rem;}
	#section-recruit table.form-table td.captcha-row .captcha-input{width:100%;}
	#section-recruit table.form-table td.captcha-row .captcha-help{display:block; flex-basis:100%;}
	#section-recruit table.form-table td select.select-wide{min-width:0; width:100%;}
	#section-recruit .form-btns{flex-direction:column-reverse;}
	#section-recruit .form-btns button.btn-submit, #section-recruit .form-btns a.btn-cancel{width:100%;}
}

/* @needs-review: recruit mobile 480 — 시안 기반 모바일 보정 (탭 타깃 44px, 캡차 가독성, 파일 행) */
/* NOTE: 모바일 html font-size = 6px(480px) / 5.5px(400px) — px로 직접 지정 */
@media (max-width: 480px){
	#section-recruit{padding:24px 14px 48px;}
	#section-recruit table.form-table,
	#section-recruit table.form-table tbody,
	#section-recruit table.form-table tr,
	#section-recruit table.form-table th,
	#section-recruit table.form-table td{display:block; width:100%; box-sizing:border-box;}
	#section-recruit table.form-table tr{border-bottom:1px solid #eee; padding:8px 0;}
	#section-recruit table.form-table th{padding:8px 2px; background:transparent; text-align:left; font-size:14px; border-bottom:none; font-weight:600;}
	#section-recruit table.form-table td{padding:4px 2px 10px; border-bottom:none;}
	#section-recruit table.form-table td input[type=text],
	#section-recruit table.form-table td input[type=email],
	#section-recruit table.form-table td input[type=tel],
	#section-recruit table.form-table td select,
	#section-recruit table.form-table td textarea{min-height:44px; font-size:14px; padding:10px 12px; width:100%; box-sizing:border-box;}
	#section-recruit table.form-table td select{background-position:right 10px center; padding-right:32px;}
	#section-recruit table.form-table td.phone-row,
	#section-recruit table.form-table td.email-row{display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
	#section-recruit table.form-table td.phone-row select{min-width:0; flex:0 0 90px;}
	#section-recruit table.form-table td.phone-row input[type=text]{flex:1 1 70px; min-width:0;}
	#section-recruit table.form-table td.email-row input[type=text]{flex:1 1 100px; width:auto; min-width:0;}
	#section-recruit table.form-table td.email-row select{flex:1 1 100%; margin-left:0;}
	#section-recruit table.form-table td.email-row span{flex:0 0 auto;}
	/* file row */
	#section-recruit table.form-table td.file-row{padding:4px 2px 10px;}
	#section-recruit .file-field{display:flex; width:100%; align-items:stretch;}
	#section-recruit .file-field .file-name{width:auto; flex:1; min-height:44px; font-size:14px; padding:8px 12px; box-sizing:border-box;}
	#section-recruit .file-field .file-btn{min-height:44px; padding:0 18px; font-size:13px; min-width:auto;}
	/* captcha — 이미지/입력 큼직하게 */
	#section-recruit table.form-table td.captcha-row{flex-wrap:wrap; gap:8px; align-items:center;}
	#section-recruit table.form-table td.captcha-row .captcha-img img{height:42px; min-width:90px;}
	#section-recruit table.form-table td.captcha-row .captcha-input{flex:1 1 120px; width:auto; min-width:0; min-height:44px; font-size:14px;}
	#section-recruit table.form-table td.captcha-row .captcha-refresh{min-height:36px; padding:4px 10px; font-size:12px;}
	#section-recruit table.form-table td.captcha-row .captcha-help{display:block; flex-basis:100%; margin-top:4px; font-size:12px; line-height:1.4;}
	/* policy */
	#section-recruit .form-policy{margin-top:24px;}
	#section-recruit .form-policy h6{font-size:14px; line-height:1.4;}
	#section-recruit .form-policy h6 .link-r{font-size:12px;}
	#section-recruit .form-policy .policy-box{padding:14px 14px; font-size:12px; line-height:1.7; max-height:140px;}
	#section-recruit .form-policy .agree-row{gap:18px;}
	#section-recruit .form-policy .agree-row .check-label{font-size:13px; min-height:32px;}
	#section-recruit .form-policy .agree-row .check-label input[type=checkbox]{width:16px; height:16px;}
	/* buttons — 48px 최소 탭 타깃 */
	#section-recruit .form-btns{flex-direction:column-reverse; gap:8px; margin-top:28px;}
	#section-recruit .form-btns button.btn-submit,
	#section-recruit .form-btns a.btn-cancel{width:100%; min-width:0; min-height:48px; padding:14px 20px; font-size:15px; display:inline-flex; align-items:center; justify-content:center;}
}

/* @needs-review: recruit-tablet — 768~1024 태블릿: 데스크톱 가로 테이블 레이아웃 강제 복구 */
@media (max-width:1024px) and (min-width:481px){
	#section-recruit table.form-table,
	#section-recruit table.form-table tbody{display:table; width:100%;}
	#section-recruit table.form-table tr{display:table-row; border-bottom:none; padding:0;}
	#section-recruit table.form-table th{display:table-cell; width:16rem; background:#fafafa; text-align:center; padding:1.6rem 1.2rem; border-bottom:1px solid #eee; font-size:1.35rem;}
	#section-recruit table.form-table td{display:table-cell; padding:1.2rem 1.5rem; border-bottom:1px solid #eee;}
	#section-recruit table.form-table td input[type=text],
	#section-recruit table.form-table td input[type=email],
	#section-recruit table.form-table td input[type=tel],
	#section-recruit table.form-table td select,
	#section-recruit table.form-table td textarea{min-height:3.6rem; font-size:1.4rem; width:auto;}
	#section-recruit table.form-table td select.select-wide{min-width:0; width:100%; max-width:36rem;}
	#section-recruit table.form-table td.phone-row,
	#section-recruit table.form-table td.email-row{display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center;}
	#section-recruit table.form-table td.email-row input[type=text]{flex:0 1 14rem; width:auto;}
	#section-recruit table.form-table td.email-row select{margin-left:0.4rem; width:auto;}
	#section-recruit table.form-table td.file-row{padding:1rem 1.5rem;}
	#section-recruit .file-field{display:inline-flex; width:auto;}
	#section-recruit .file-field .file-name{width:24rem; min-height:3.4rem; font-size:1.4rem; flex:0 0 auto;}
	#section-recruit .file-field .file-btn{min-height:3.4rem; padding:0 1.8rem; font-size:1.3rem;}
	#section-recruit table.form-table td.captcha-row{display:flex; flex-wrap:wrap; gap:0.6rem; align-items:center;}
	#section-recruit table.form-table td.captcha-row .captcha-img img{height:3.4rem; min-width:0;}
	#section-recruit table.form-table td.captcha-row .captcha-input{width:14rem; flex:0 0 14rem; min-height:3.4rem; font-size:1.4rem;}
	#section-recruit table.form-table td.captcha-row .captcha-refresh{min-height:3rem; padding:0.4rem 1rem; font-size:1.2rem;}
	#section-recruit table.form-table td.captcha-row .captcha-help{flex-basis:100%; margin-top:0.3rem;}
	#section-recruit .form-btns{flex-direction:row; justify-content:flex-end; gap:1rem; margin-top:3rem;}
	#section-recruit .form-btns button.btn-submit,
	#section-recruit .form-btns a.btn-cancel{width:auto; min-width:13rem; min-height:0; padding:1.2rem 2rem; font-size:1.4rem;}
}
/* === END PAGE-ADDITIONS: recruit === */

/* === PAGE-ADDITIONS: life === */
#section-life .life-list li figure,
#section-life .life-grid3 li figure{
	background:transparent;
	border-radius:0;
	width:7rem;
	height:7rem;
	color:var(--point);
}
#section-life .life-list li figure svg,
#section-life .life-grid3 li figure svg{
	width:4.4rem;
	height:4.4rem;
	display:block;
	color:var(--point);
}
#section-life .life-grid3 li figure{flex:0 0 7rem;}
#section-life .life-grid3 > li{padding:2.6rem 1.5rem;}
#section-life .life-block{margin-bottom:4rem;}
#section-life .life-block h4{font-size:2.2rem; display:flex; align-items:center; gap:0.8rem; margin:0 0 0.4rem;}
#section-life .life-block h4 i{display:inline-block; width:0.4rem; height:1.8rem; background:var(--point);}
#section-life .life-block .sub{font-size:1.4rem; color:#888; margin:0 0 1.6rem; padding-left:1.2rem;}

/* ── 모바일 ≤768px: 섹션1·2 (life-list) 레이아웃 보강 ── */
@media (max-width:768px){
	#section-life .life-list li figure,
	#section-life .life-grid3 li figure{width:5.6rem; height:5.6rem; flex:0 0 5.6rem;}
	#section-life .life-list li figure svg,
	#section-life .life-grid3 li figure svg{width:3.4rem; height:3.4rem;}

	/* life-list: 가로 유지하되 figure 작게 + dl 컬럼화 */
	#section-life .life-list > li{
		flex-flow:row nowrap;
		align-items:center;
		gap:1.2rem;
		padding:1.6rem 0.4rem;
	}
	#section-life .life-list > li dl{
		flex-flow:column wrap;
		align-items:flex-start;
		gap:0.3rem;
		flex:1 1 auto;
		min-width:0;
	}
	#section-life .life-list > li dl dt{
		flex:0 0 auto;
		font-size:1.5rem;
		width:auto;
	}
	#section-life .life-list > li dl dd{
		font-size:1.3rem;
		line-height:1.9rem;
		color:#777;
	}
	#section-life .life-block h4{font-size:1.8rem;}
	#section-life .life-block .sub{font-size:1.25rem; margin-bottom:1.2rem;}
	#section-life .life-block{margin-bottom:3rem;}
}

/* ── 초소형 ≤480px ── */
@media (max-width:480px){
	#section-life .life-list li figure,
	#section-life .life-grid3 li figure{width:4.8rem; height:4.8rem; flex:0 0 4.8rem;}
	#section-life .life-list li figure svg,
	#section-life .life-grid3 li figure svg{width:2.8rem; height:2.8rem;}
	#section-life .life-list > li{gap:1rem; padding:1.3rem 0.2rem;}
	#section-life .life-list > li dl dt{font-size:1.4rem;}
	#section-life .life-list > li dl dd{font-size:1.2rem; line-height:1.7rem;}
	#section-life .life-block h4{font-size:1.65rem;}
	#section-life .life-block h4 i{height:1.4rem;}
}

/* ── 태블릿 481~1024px: life 카드 그리드 2x2 / life-list 2열 wrap ── */
@media (max-width:1024px) and (min-width:481px){
	#section-life .life-grid3{grid-template-columns:repeat(2, 1fr); gap:1.4rem 2rem;}
	#section-life .life-list{display:grid; grid-template-columns:repeat(2, 1fr); gap:1.2rem 2rem;}
	#section-life .life-list > li{padding:1.6rem 0.8rem;}
	#section-life .life-list li figure,
	#section-life .life-grid3 li figure{width:6rem; height:6rem; flex:0 0 6rem;}
	#section-life .life-list li figure svg,
	#section-life .life-grid3 li figure svg{width:3.4rem; height:3.4rem;}
	#section-life .life-list > li dl dt{font-size:1.55rem;}
	#section-life .life-list > li dl dd{font-size:1.3rem; line-height:1.9rem; color:#777;}
	#section-life .life-block{margin-bottom:3.4rem;}
	#section-life .life-block h4{font-size:2rem;}
	#section-life .life-block .sub{font-size:1.35rem;}
}

/* === END PAGE-ADDITIONS: life === */

/* === PAGE-ADDITIONS: jobs === */
/* 시안 100% 일치를 위한 보정 — /careers/jobs.php */
#section-jobs .jobs-tab{display:none;}

#section-jobs .jobs-summary{margin-bottom:0.6rem;}

#section-jobs .jobs-cat-row{align-items:flex-end; margin-bottom:0; padding-bottom:1.2rem; border-bottom:1px solid #000;}
#section-jobs .jobs-cat > a{font-size:1.45rem; padding:0.4rem 0; position:relative;}
#section-jobs .jobs-cat > a.active{border-bottom:0;}
#section-jobs .jobs-cat > a.active:after{content:""; position:absolute; left:0; right:0; bottom:-1.25rem; height:2px; background:#000;}
#section-jobs .jobs-sort{appearance:none; -webkit-appearance:none; padding:0.7rem 2.6rem 0.7rem 1.2rem; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23333' stroke-width='1.2' fill='none'/></svg>") no-repeat right 1rem center; border:1px solid #ddd; min-width:13rem; cursor:pointer;}

#section-jobs .jobs-list{margin-top:0; border-top:0;}
#section-jobs .jobs-list > li{padding:2.2rem 1rem; gap:3rem;}

#section-jobs .jobs-list .job-info h5{font-size:1.65rem; margin:0 0 0.9rem;}
#section-jobs .jobs-list .job-info .tags{font-size:1.25rem; color:#9a9a9a; letter-spacing:-0.01em;}

#section-jobs .jobs-list .job-meta{flex:0 0 19rem; font-size:1.3rem; color:#555;}
#section-jobs .jobs-list .job-meta p{gap:0.7rem; margin:0.35rem 0;}
#section-jobs .jobs-list .job-meta p i{color:#666; min-width:1.6rem; font-size:1.3rem;}

#section-jobs .jobs-list .job-action{flex:0 0 14rem; text-align:center; display:flex; flex-direction:column; align-items:center; gap:0.6rem;}
/* 시안: 모든 입사지원 버튼 빨강 통일 */
#section-jobs .jobs-list .job-action .btn-apply{display:inline-flex; align-items:center; justify-content:center; min-width:9.6rem; padding:0.85rem 1.6rem; background:#fff; color:#222; border:1px solid #ccc; font-weight:600; font-size:1.35rem; border-radius:0.25rem; margin-bottom:0.4rem; transition:background 0.2s,color 0.2s,border-color 0.2s;}
#section-jobs .jobs-list .job-action .btn-apply:hover{background:var(--point); border-color:var(--point); color:#fff;}

#section-jobs .jobs-list .job-action .deadline,
#section-jobs .jobs-list .job-action .newdate{display:inline-block; margin:0;}
#section-jobs .jobs-list .job-action .deadline{color:#222; font-weight:500; font-size:1.3rem;}
#section-jobs .jobs-list .job-action .newdate{color:var(--point); font-size:1.25rem; font-weight:500; margin-left:0.8rem;}

#section-jobs .paginate{margin-top:4rem; gap:0.4rem;}
#section-jobs .paginate > a{min-width:3rem; height:3rem; border:0; background:transparent; color:#666; font-size:1.35rem;}
#section-jobs .paginate > a.on{background:transparent; color:#000; border:0; font-weight:700; text-decoration:underline; text-underline-offset:0.4rem;}
#section-jobs .paginate > a.prev,
#section-jobs .paginate > a.next{border:1px solid #ddd; background:#fff; color:#999;}

@media (max-width: 720px){
	#section-jobs .jobs-list > li{flex-flow:row wrap;}
	#section-jobs .jobs-list .job-info{flex:1 1 100%;}
	#section-jobs .jobs-list .job-meta{flex:1 1 auto;}
	#section-jobs .jobs-list .job-action{flex:0 0 auto; flex-direction:row; align-items:center; flex-wrap:wrap; gap:0.8rem; text-align:left;}
	#section-jobs .jobs-list .job-action .newdate{margin-left:0;}
}

@media (max-width:480px){
	#section-jobs .jobs-list > li{padding:1.6rem 0.6rem; gap:1.2rem;}
	#section-jobs .jobs-list .job-info h5{font-size:1.5rem; margin:0 0 0.6rem;}
	#section-jobs .jobs-list .job-info .tags{font-size:1.15rem; line-height:1.7rem;}
	#section-jobs .jobs-list .job-meta{flex:1 1 100%; font-size:1.2rem;}
	#section-jobs .jobs-list .job-meta p{margin:0.2rem 0; gap:0.5rem;}
	#section-jobs .jobs-list .job-action{flex:1 1 100%; flex-direction:row; align-items:center; justify-content:flex-start; gap:0.8rem;}
	#section-jobs .jobs-list .job-action .btn-apply{min-width:8rem; padding:0.7rem 1.2rem; font-size:1.25rem; margin-bottom:0;}
	#section-jobs .jobs-list .job-action .deadline,
	#section-jobs .jobs-list .job-action .newdate{font-size:1.2rem;}
	#section-jobs .jobs-cat > a{font-size:1.3rem;}
	#section-jobs .jobs-sort{min-width:9.5rem; font-size:1.25rem; padding:0.5rem 2.4rem 0.5rem 0.9rem;}
	#section-jobs .jobs-cat-row{flex-wrap:wrap; gap:0.6rem 1rem;}
	#section-jobs .paginate{margin-top:2.5rem;}
}

/* ── 태블릿 481~768px: 카드 내부 layout 모바일과 동일 stack ── */
@media (max-width:768px) and (min-width:481px){
	#section-jobs .jobs-list > li{flex-flow:row wrap; padding:1.8rem 1rem; gap:1.4rem 2rem;}
	#section-jobs .jobs-list .job-info{flex:1 1 100%;}
	#section-jobs .jobs-list .job-meta{flex:1 1 auto;}
	#section-jobs .jobs-list .job-action{flex:0 0 auto; flex-direction:row; align-items:center; flex-wrap:wrap; gap:0.8rem; text-align:left;}
	#section-jobs .jobs-list .job-action .newdate{margin-left:0;}
}

/* EX_JOBS_FEATURED_START - 시안: 첫 공고 카드 강조(회색배경+빨강채움버튼) */
#section-jobs .jobs-list > li:first-child{background:#f5f5f5;}
#section-jobs .jobs-list > li:first-child .job-action .btn-apply{background:var(--point); border-color:var(--point); color:#fff;}
#section-jobs .jobs-list > li:first-child .job-action .btn-apply:hover{filter:brightness(0.92); color:#fff;}
#section-jobs .jobs-list > li:first-child .job-action .btn-apply.btn-apply-off{background:#bbb; border-color:#bbb; color:#fff;}
/* EX_JOBS_FEATURED_END */

/* === END PAGE-ADDITIONS: jobs === */

/* === PAGE-ADDITIONS: faq === */
/* AOS fallback: ensure FAQ section is visible even if AOS fails to add aos-animate */
#section-faq [data-aos]{opacity:1 !important; transform:none !important;}
#section-faq{padding-top:1rem;}

#section-faq .faq-cat{justify-content:flex-start; border-bottom:1px solid #e5e5e5; padding-bottom:0; gap:2.4rem; margin-bottom:2.6rem;}
#section-faq .faq-cat > a{font-size:1.4rem; padding:0 0 1.2rem; border-bottom-width:2px; margin-bottom:-1px;}
#section-faq .faq-cat > a.active{border-color:var(--point,#e4002b); color:#111;}

#section-faq .faq-toolbar{align-items:center; padding:1.5rem 0; border-bottom:1px solid #111; margin-bottom:0;}
#section-faq .faq-toolbar .total{font-size:1.4rem; color:#111;}
#section-faq .faq-toolbar .total em{color:#111;}
#section-faq .faq-toolbar .search-form{gap:0.6rem;}
#section-faq .faq-toolbar .search-form select{height:3.6rem; padding:0 2.2rem 0 1rem; border:1px solid #e5e5e5; background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23999' stroke-width='1.2' fill='none'/></svg>") no-repeat right 0.8rem center; -webkit-appearance:none; appearance:none; color:#444;}
#section-faq .faq-toolbar .search-form input[type=text]{height:3.6rem; padding:0 1rem; border:1px solid #e5e5e5; color:#444;}
#section-faq .faq-toolbar .search-form input[type=text]::placeholder{color:#bbb;}
#section-faq .faq-toolbar .search-form button{height:3.6rem; padding:0 2rem; background:var(--point,#e4002b); color:#fff; font-weight:600; letter-spacing:0.05em; border:none;}

#section-faq .faq-table{border-top:0;}
#section-faq .faq-table thead th{background:#fff; border-bottom:1px solid #e5e5e5; font-size:1.35rem; color:#666; font-weight:500; padding:1.6rem 1rem;}
#section-faq .faq-table colgroup col:first-child{width:9rem;}
#section-faq .faq-table colgroup col:last-child{width:7rem;}
#section-faq .faq-table tr.faq-q td{padding:2rem 1rem; border-bottom:1px solid #f0f0f0; font-size:1.4rem; color:#999; vertical-align:middle;}
#section-faq .faq-table tr.faq-q td:first-child{text-align:center; color:#999;}
#section-faq .faq-table tr.faq-q td.subject{color:#222; padding-left:1.4rem; font-size:1.4rem;}
#section-faq .faq-table tr.faq-q td.toggle span{width:2.4rem; height:2.4rem; background:transparent; border:1px solid #e0e0e0; border-radius:50%; font-size:1.4rem; color:#999;}
#section-faq .faq-table tr.faq-q.open td.subject{color:#111; font-weight:600;}
#section-faq .faq-table tr.faq-q.open td.toggle span{background:transparent; border-color:#999; color:#222;}
#section-faq .faq-table tr.faq-a td{padding:0; background:#fff; border-bottom:1px solid #f0f0f0;}
#section-faq .faq-table tr.faq-a td.content{padding:1.8rem 1rem 2.4rem 6rem; font-size:1.35rem; line-height:2.2rem; color:#666; position:relative;}
#section-faq .faq-table tr.faq-a td.content:before{content:"\21B3"; position:absolute; left:3rem; top:1.6rem; color:var(--point,#e4002b); font-size:1.6rem; font-weight:700;}
#section-faq .faq-table tr.faq-a td:first-child{display:none;}

#section-faq .paginate{margin-top:4rem; gap:0.4rem;}
#section-faq .paginate > a{min-width:3rem; height:3rem; border:1px solid #e5e5e5; background:#fff; color:#666; font-size:1.3rem;}
#section-faq .paginate > a.on{background:var(--point,#e4002b); border-color:var(--point,#e4002b); color:#fff;}
#section-faq .paginate > a.prev,
#section-faq .paginate > a.next{color:#999;}

@media (max-width: 720px){
	#section-faq .faq-toolbar{flex-direction:column; align-items:stretch; gap:1rem;}
	#section-faq .faq-toolbar .search-form{flex-wrap:wrap;}
	#section-faq .faq-toolbar .search-form input[type=text]{flex:1 1 auto; width:auto; min-width:0;}
	#section-faq .faq-table colgroup col:first-child{width:5rem;}
	#section-faq .faq-table colgroup col:last-child{width:5rem;}
	#section-faq .faq-table tr.faq-q td.subject{padding-left:0.4rem; font-size:1.35rem;}
	#section-faq .faq-table tr.faq-a td.content{padding:1.4rem 1rem 2rem 4rem;}
	#section-faq .faq-table tr.faq-a td.content:before{left:1.4rem;}
}

/* @needs-review: faq mobile 480 — 카테고리 가로 스크롤, 검색 영역, 탭 타깃 */
/* NOTE: 모바일 html font-size = 6px(480px) / 5.5px(400px) — px로 직접 지정 */
@media (max-width: 480px){
	#section-faq{padding:0 14px;}
	/* 카테고리 탭: 가로 스크롤 + nowrap */
	#section-faq .faq-cat{display:flex; gap:20px; overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; padding:0 0 2px; margin-bottom:20px; scrollbar-width:none; border-bottom:1px solid #e5e5e5;}
	#section-faq .faq-cat::-webkit-scrollbar{display:none;}
	#section-faq .faq-cat > a{flex:0 0 auto; white-space:nowrap; font-size:14px; min-height:40px; padding:8px 0 12px; line-height:1.2;}
	/* 검색 영역 */
	#section-faq .faq-toolbar{padding:12px 0; flex-direction:column; align-items:stretch; gap:10px;}
	#section-faq .faq-toolbar .total{font-size:13px;}
	#section-faq .faq-toolbar .search-form{display:flex; flex-wrap:nowrap; gap:6px;}
	#section-faq .faq-toolbar .search-form select{flex:0 0 80px; min-height:44px; font-size:13px; padding:0 22px 0 8px;}
	#section-faq .faq-toolbar .search-form input[type=text]{flex:1 1 0; min-width:0; width:auto; min-height:44px; font-size:14px; padding:0 10px;}
	#section-faq .faq-toolbar .search-form button{min-height:44px; padding:0 16px; font-size:13px; flex:0 0 auto;}
	/* 테이블 좁힘 */
	#section-faq .faq-table thead{display:none;}
	#section-faq .faq-table colgroup col:first-child{width:40px;}
	#section-faq .faq-table colgroup col:last-child{width:44px;}
	#section-faq .faq-table tr.faq-q td{padding:14px 4px; font-size:13px;}
	#section-faq .faq-table tr.faq-q td.subject{padding-left:4px; font-size:13px; line-height:1.45; word-break:keep-all;}
	#section-faq .faq-table tr.faq-q td.toggle span{width:28px; height:28px; font-size:14px;}
	#section-faq .faq-table tr.faq-a td.content{padding:14px 6px 18px 30px; font-size:13px; line-height:1.7;}
	#section-faq .faq-table tr.faq-a td.content:before{left:8px; top:14px; font-size:14px;}
	/* 페이지네이션 */
	#section-faq .paginate{flex-wrap:wrap; gap:4px; margin-top:30px;}
	#section-faq .paginate > a{min-width:36px; height:36px; font-size:13px;}
}

/* @needs-review: faq-tablet — 768~1024 검색/카테고리 영역 가독성 보강 */
@media (max-width:1024px) and (min-width:481px){
	#section-faq .faq-cat{gap:1.8rem; flex-wrap:wrap;}
	#section-faq .faq-toolbar{flex-direction:row; flex-wrap:wrap; gap:1rem; align-items:center;}
	#section-faq .faq-toolbar .total{flex:1 1 auto;}
	#section-faq .faq-toolbar .search-form{flex:0 1 auto; gap:0.5rem; min-width:34rem;}
	#section-faq .faq-toolbar .search-form input[type=text]{flex:1 1 auto; min-width:18rem; min-height:3.6rem; font-size:1.35rem;}
	#section-faq .faq-toolbar .search-form select{min-height:3.6rem;}
	#section-faq .faq-toolbar .search-form button{min-height:3.6rem; padding:0 1.6rem;}
}
/* === END PAGE-ADDITIONS: faq === */

/* === PAGE-ADDITIONS: portfolio === */
/* @needs-review: #section-portfolio — 포트폴리오 페이지 컨테이너 상단 여백 */
#section-portfolio{padding-top:1rem;}

/* @needs-review: .port-cat — 카테고리 탭 (전체/마이스/페어/...) */
#section-portfolio .port-cat{display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem; margin:0 0 4rem;}
#section-portfolio .port-cat > a{display:inline-flex; align-items:center; justify-content:center; min-width:8.4rem; height:3.4rem; padding:0 1.6rem; border:1px solid #e0e0e0; border-radius:1.7rem; font-size:1.35rem; color:#666; background:#fff; transition:all 0.2s; letter-spacing:-0.01em;}
#section-portfolio .port-cat > a:hover{border-color:#999; color:#222;}
#section-portfolio .port-cat > a.active{background:var(--point,#e4002b); border-color:var(--point,#e4002b); color:#fff;}

/* @needs-review: #port-result — 결과 영역 래퍼 */
#section-portfolio #port-result{margin:0;}

/* @needs-review: .port-grid — 매거진 그리드 (4열 + dense + featured 2x2) */
#section-portfolio .port-grid{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:auto; grid-auto-flow:dense; gap:2.4rem 2rem;}
#section-portfolio .port-grid > li{position:relative; min-width:0;}
#section-portfolio .port-grid > li.empty{grid-column:1 / -1; text-align:center; padding:6rem 0; color:#999; font-size:1.4rem;}

/* @needs-review: .featured — 강조 셀: 2칸 폭 / 2칸 높이 */
#section-portfolio .port-grid > li.featured{grid-column:span 2; grid-row:span 2;}

/* @needs-review: .port-open — 카드 링크 (썸네일 + 메타) */
#section-portfolio .port-grid > li a.port-open{display:flex; flex-direction:column; gap:1rem; text-decoration:none; color:inherit;}
#section-portfolio .port-grid > li a.port-open:hover figure span{transform:scale(1.04);}
#section-portfolio .port-grid > li a.port-open:hover dt{color:var(--point,#e4002b);}

/* @needs-review: .port-grid figure — 썸네일 박스 (4:3 비율 / featured는 정사각 채움) */
#section-portfolio .port-grid figure{position:relative; margin:0; padding:0; overflow:hidden; background:#f3f3f3; aspect-ratio:4 / 3; border-radius:0.4rem;}
#section-portfolio .port-grid figure span{position:absolute; inset:0; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform 0.4s ease;}
#section-portfolio .port-grid > li.featured figure{aspect-ratio:1 / 1;}

/* @needs-review: .port-grid dl — 카드 메타 (제목/본문/날짜) */
#section-portfolio .port-grid dl{margin:0.4rem 0 0; padding:0;}
#section-portfolio .port-grid dt{font-size:1.4rem; font-weight:600; color:#111; line-height:1.45; margin:0 0 0.6rem; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; transition:color 0.2s;}
#section-portfolio .port-grid dd{margin:0;}
#section-portfolio .port-grid dd.excerpt{font-size:1.25rem; color:#888; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:0.6rem;}
#section-portfolio .port-grid dd.date{font-size:1.2rem; color:#aaa; letter-spacing:0.02em;}

/* @needs-review: #section-portfolio .paginate — 페이지네이션 (밑줄 강조형) */
#section-portfolio .paginate{margin-top:5rem; display:flex; justify-content:center; align-items:center; gap:0.4rem;}
#section-portfolio .paginate > a{min-width:3rem; height:3rem; display:inline-flex; align-items:center; justify-content:center; border:0; background:transparent; color:#666; font-size:1.35rem; text-decoration:none;}
#section-portfolio .paginate > a.on{color:#000; font-weight:700; text-decoration:underline; text-underline-offset:0.5rem;}
#section-portfolio .paginate > a.prev,
#section-portfolio .paginate > a.next{border:1px solid #ddd; background:#fff; color:#999; border-radius:0.2rem;}

/* @needs-review: #port-modal — 상세 팝업 컨테이너 (오버레이 + 카드) */
.port-modal{position:fixed; inset:0; z-index:9999; display:none;}
.port-modal.open{display:block;}
.port-modal .modal-bg{position:absolute; inset:0; background:rgba(0,0,0,0.55);}

/* @needs-review: .modal-box — 모달 본체 */
.port-modal .modal-box{position:relative; width:min(82rem, 92vw); max-height:88vh; margin:6vh auto 0; background:#fff; border-radius:0.6rem; box-shadow:0 2rem 6rem rgba(0,0,0,0.3); display:flex; flex-direction:column; overflow:hidden;}

/* @needs-review: .modal-head — 모달 헤더 (제목 + 바로가기 + 닫기) */
.port-modal .modal-head{display:flex; align-items:center; gap:1.4rem; padding:2rem 2.4rem; border-bottom:1px solid #f0f0f0;}
.port-modal .modal-head .m-title{flex:1 1 auto; margin:0; font-size:1.8rem; font-weight:700; color:#111; letter-spacing:-0.01em;}
.port-modal .modal-head .m-link{display:inline-flex; align-items:center; gap:0.4rem; font-size:1.25rem; color:#666; text-decoration:none;}
.port-modal .modal-head .m-link:hover{color:var(--point,#e4002b);}
.port-modal .modal-head .m-link .m-link-ico{font-size:1.4rem;}
.port-modal .modal-head .m-close{flex:0 0 auto; width:3rem; height:3rem; display:inline-flex; align-items:center; justify-content:center; font-size:2.4rem; line-height:1; color:#666; text-decoration:none; background:transparent; border:0;}
.port-modal .modal-head .m-close:hover{color:#111;}

/* @needs-review: .modal-body — 모달 본문 (좌 메인 이미지 + 우 정보) */
.port-modal .modal-body{display:grid; grid-template-columns:1.4fr 1fr; gap:2rem; padding:2rem 2.4rem 2.4rem; overflow-y:auto;}

/* @needs-review: .m-main — 메인 이미지 영역 */
.port-modal .m-main{background:#f5f5f5; border-radius:0.4rem; overflow:hidden; aspect-ratio:4 / 3; display:flex; align-items:center; justify-content:center;}
.port-modal .m-main img{width:100%; height:100%; object-fit:cover; display:block;}

/* @needs-review: .m-info — 우측 정보 패널 */
.port-modal .m-info{display:flex; flex-direction:column; gap:1rem;}

/* @needs-review: .m-thumbs — 썸네일 세로 리스트 */
.port-modal .m-thumbs{display:grid; grid-template-columns:1fr; grid-auto-rows:minmax(80px, auto); gap:0.6rem;}
.port-modal .m-thumbs.single{display:none;}
.port-modal .m-thumbs .thumb{display:block; padding:0; border:1px solid transparent; background:#f5f5f5; border-radius:0.3rem; overflow:hidden; cursor:pointer; aspect-ratio:4 / 3;}
.port-modal .m-thumbs .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.port-modal .m-thumbs .thumb.active{border-color:var(--point,#e4002b);}

/* @needs-review: .m-tags — 카테고리/주최/연도 태그줄 */
.port-modal .m-tags{display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:0.4rem; font-size:1.25rem; align-items:center;}
.port-modal .m-tags .t-cat{color:var(--point,#e4002b); font-weight:600;}
.port-modal .m-tags .t-name{color:#666;}
.port-modal .m-tags .t-year{color:#999;}
.port-modal .m-tags > span:empty{display:none;}

/* @needs-review: .m-name — 표시 제목(굵게) */
.port-modal .m-name{font-size:1.8rem; font-weight:700; color:#111; margin:0.2rem 0 0.8rem; letter-spacing:-0.01em;}

/* @needs-review: .m-info dl — 라벨/값 행 (제목/일시/장소/설명) */
.port-modal .m-info dl{display:grid; grid-template-columns:5.2rem 1fr; gap:0.8rem 1rem; margin:0; padding:0.6rem 0; border-bottom:1px solid #f3f3f3; font-size:1.3rem;}
.port-modal .m-info dl:last-of-type{border-bottom:0;}
.port-modal .m-info dt{color:#999; font-weight:500;}
.port-modal .m-info dd{color:#333; margin:0; line-height:1.6;}

/* @needs-review: portfolio responsive — 1280/900/540 브레이크포인트 */
@media (max-width: 1280px){
	#section-portfolio .port-grid{grid-template-columns:repeat(3, 1fr); gap:2rem 1.6rem;}
}
@media (max-width: 900px){
	#section-portfolio .port-grid{grid-template-columns:repeat(2, 1fr); gap:1.8rem 1.4rem;}
	#section-portfolio .port-grid > li.featured{grid-column:span 2; grid-row:span 2;}
	.port-modal .modal-body{grid-template-columns:1fr;}
	.port-modal .modal-box{margin:4vh auto 0; max-height:92vh;}
}
@media (max-width: 540px){
	#section-portfolio .port-cat{gap:0.4rem;}
	#section-portfolio .port-cat > a{min-width:auto; height:3rem; padding:0 1.2rem; font-size:1.25rem;}
	#section-portfolio .port-grid{grid-template-columns:1fr; gap:1.6rem;}
	#section-portfolio .port-grid > li.featured{grid-column:span 1; grid-row:auto;}
	#section-portfolio .port-grid > li.featured figure{aspect-ratio:4 / 3;}
	.port-modal .modal-head{padding:1.4rem 1.6rem; gap:0.8rem;}
	.port-modal .modal-head .m-title{font-size:1.55rem;}
	.port-modal .modal-body{padding:1.4rem 1.6rem 2rem;}
	.port-modal .m-info dl{grid-template-columns:4.4rem 1fr;}
}

/* @needs-review: #sVisual.bg_03 — 포트폴리오 히어로 타이틀 가독성 (시안 흰색 큰 타이틀) */
#sVisual.bg_03{position:relative;}
#sVisual.bg_03::after{content:""; position:absolute; inset:0; background:rgba(0,0,0,0.18); z-index:0; pointer-events:none;}
#sVisual.bg_03 .inConts{position:relative; z-index:2;}
#sVisual.bg_03 h2{color:#fff; font-weight:800; font-size:3.2em; letter-spacing:-0.01em; text-shadow:0 0.2rem 1.2rem rgba(0,0,0,0.35);}
#sVisual.bg_03 .s-cate{color:rgba(255,255,255,0.85); font-size:1.4rem;}
#sVisual.bg_03 .s-txt{color:rgba(255,255,255,0.85); margin-top:1.4rem; font-size:1.6rem; text-shadow:0 0.1rem 0.6rem rgba(0,0,0,0.3);}






/* === G2-MOBILE: portfolio (max-width:480px) — 1rem=5.5px 스케일 보정 === */
@media (max-width:480px){
	#section-portfolio{padding:0 2rem !important;}
	#section-portfolio .port-cat{gap:1rem !important; margin:0 0 4rem !important;}
	#section-portfolio .port-cat > a{min-width:auto !important; height:8rem !important; padding:0 2.4rem !important; font-size:2.5rem !important; border-radius:4rem !important; display:inline-flex !important; align-items:center !important;}
	#section-portfolio .port-grid{grid-template-columns:1fr !important; gap:3rem !important;}
	#section-portfolio .port-grid > li.featured{grid-column:span 1 !important; grid-row:auto !important;}
	#section-portfolio .port-grid > li.featured figure{aspect-ratio:4 / 3 !important;}
	#section-portfolio .port-grid dt{font-size:2.8rem !important; -webkit-line-clamp:2 !important;}
	#section-portfolio .port-grid dd.excerpt{font-size:2.4rem !important;}
	#section-portfolio .port-grid dd.date{font-size:2.2rem !important;}
	#section-portfolio .paginate{gap:0.4rem !important; margin-top:5rem !important;}
	#section-portfolio .paginate > a{min-width:8rem !important; height:8rem !important; font-size:2.5rem !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;}

	.port-modal .modal-box{width:94vw !important; margin:3vh auto 0 !important; max-height:94vh !important;}
	.port-modal .modal-head{padding:2.4rem 2.4rem !important; gap:1.2rem !important;}
	.port-modal .modal-head .m-title{font-size:2.8rem !important;}
	.port-modal .modal-head .m-close{width:8rem !important; height:8rem !important; font-size:4.2rem !important;}
	.port-modal .modal-body{padding:2rem 2.4rem 3rem !important; gap:2.4rem !important;}
	.port-modal .m-thumbs{grid-template-columns:repeat(3, 1fr) !important;}
	.port-modal .m-tags{gap:1.2rem 2rem !important; font-size:2.2rem !important;}
	.port-modal .m-name{font-size:3rem !important;}
	.port-modal .m-info dl{grid-template-columns:9rem 1fr !important; font-size:2.4rem !important; gap:0.8rem 1.4rem !important;}

	#sVisual.bg_03 .s-txt{font-size:2.6rem !important;}
}
/* === END G2-MOBILE: portfolio === */

/* === END PAGE-ADDITIONS: portfolio === */

/* === PAGE-ADDITIONS: capabilities === */
/* 시안 일치: 인트로 배경을 어두운 지구본 이미지로 교체 (시안: 0202_핵심 역량.jpg) */
#section-capability .cap-bg{
	background:linear-gradient(135deg, rgba(8,12,30,0.78), rgba(8,12,30,0.55)), url('/images/sub/bg_capabilities_intro.jpg') no-repeat center center/cover !important;
}





/* === G2-MOBILE: capabilities (max-width:480px) === */
@media (max-width:480px){
	#section-capability .cap-bg{min-height:36rem !important; padding:6rem 3rem !important;}
	#section-capability .cap-bg h4{font-size:3.6rem !important; line-height:1.4 !important;}
	#section-capability .cap-bg .sGroup>div{font-size:2.6rem !important; line-height:3.8rem !important;}
	#section-capability .areas-detail>.detail-text>h4{font-size:3.6rem !important;}
	#section-capability .areas-detail>.detail-text>.detail-desc{font-size:2.6rem !important; line-height:4rem !important; margin-top:2rem !important;}
	#section-capability .areas-detail .tag-list{gap:1rem !important;}
	#section-capability .areas-detail .tag-list>li{font-size:2.4rem !important; padding:1rem 1.8rem !important;}
}
/* === END G2-MOBILE: capabilities === */

/* === END PAGE-ADDITIONS: capabilities === */

/* === PAGE-ADDITIONS: sustainability === */
/* 시안 일치: ESG 3카드 아이콘을 areas 재사용 PNG 대신 ESG 전용 인라인 SVG로 교체 */
#section-sustain .esg-cards .esg-icon{
	display:flex; align-items:center; justify-content:center;
	width:100%; margin-top:1.8rem;
}
#section-sustain .esg-cards .esg-icon svg{
	width:5.6rem; height:5.6rem;
	opacity:0.95;
	filter:drop-shadow(0 0.2rem 0.6rem rgba(0,0,0,0.18));
}






/* === ESG-ACTIVE: sustainability ESG cards areas-style 1 active + hover red === */
#section-sustain .esg-cards>li.active{background-color:var(--point);}
#section-sustain .esg-cards>li:hover{background-color:var(--point);}
/* === END ESG-ACTIVE === */
/* === G2-MOBILE: sustainability (max-width:480px) === */
@media (max-width:480px){
	#section-sustain .esg-cards{display:flex !important; flex-flow:column nowrap !important; gap:2.4rem !important; margin-top:5rem !important;}
	#section-sustain .esg-cards>li{width:100% !important; min-height:auto !important; padding:4rem 4rem 12rem !important;}
	#section-sustain .esg-cards>li{background-color:var(--point) !important;}
	#section-sustain .esg-cards>li>p{font-size:2.6rem !important;}
	#section-sustain .esg-cards>li>dl{margin-top:3rem !important;}
	#section-sustain .esg-cards>li>dl>dt{font-size:3rem !important;}
	#section-sustain .esg-cards>li>dl>dt>span{font-size:2.4rem !important; margin-left:0.6rem !important;}
	#section-sustain .esg-cards>li>dl>dd{font-size:3.2rem !important; line-height:1.4 !important; margin-top:2rem !important;}
	#section-sustain .esg-cards>li>figure{right:3rem !important; bottom:3rem !important;}
	#section-sustain .esg-cards .esg-icon svg{width:7rem !important; height:7rem !important;}

	#section-sustain .sustain-section{gap:3rem 0 !important;}
	#section-sustain .sustain-section>.sustain-text>h4{font-size:3.6rem !important;}
	#section-sustain .sustain-section>.sustain-text>.sustain-desc{font-size:2.6rem !important; line-height:4rem !important;}
	#section-sustain .sustain-section>.sustain-text>.sustain-keyword{font-size:3rem !important;}
	#section-sustain .sustain-cards{grid-template-columns:1fr !important; gap:2.4rem !important;}
	#section-sustain .sustain-cards>li>dl{padding:2.4rem !important;}
	#section-sustain .sustain-cards>li>dl>dt{font-size:2.4rem !important;}
	#section-sustain .sustain-cards>li>dl>dd{font-size:2.8rem !important; line-height:1.6 !important;}
	#section-sustain .sustain-cards>li>dl>dd>span{font-size:2.4rem !important;}
}
/* === END G2-MOBILE: sustainability === */

/* === END PAGE-ADDITIONS: sustainability === */

/* === PAGE-ADDITIONS: pr-view === */
/* exporum_pr 보드 스킨 상세 페이지 공통 디자인 (pf_news / pf_notice / pf_press) */
#section-pr-view{max-width:1280px; margin:0 auto; padding:4rem 0 6rem;}
#section-pr-view .pr-view-article{background:#fff;}

/* head: 제목 + 메타 */
#section-pr-view .pr-view-head{padding:2.4rem 0 2.4rem; border-top:2px solid #222; border-bottom:1px solid #e5e5e5;}
#section-pr-view .pr-view-title{font-size:2.6rem; font-weight:700; color:#111; line-height:1.4; letter-spacing:-0.01em; margin:0 0 1.2rem; word-break:keep-all;}
#section-pr-view .pr-view-meta{display:flex; align-items:center; gap:1.2rem; font-size:1.35rem; color:#888;}
#section-pr-view .pr-view-meta .pr-view-date{color:var(--point, #e4002b); font-weight:500;}
#section-pr-view .pr-view-meta .pr-view-divider{width:1px; height:1.1rem; background:#d8d8d8; display:inline-block;}
#section-pr-view .pr-view-meta .pr-view-hit{color:#888;}

/* 관련 링크 */
#section-pr-view .pr-view-link{display:flex; align-items:center; gap:1rem; padding:1.4rem 1.8rem; margin:2rem 0 0; background:#fafafa; border-radius:0.3rem; font-size:1.4rem;}
#section-pr-view .pr-view-link-label{font-weight:600; color:var(--point, #e4002b); flex-shrink:0;}
#section-pr-view .pr-view-link a{color:#333; text-decoration:underline; word-break:break-all; transition:color 0.15s ease;}
#section-pr-view .pr-view-link a:hover{color:var(--point, #e4002b);}

/* 본문 영역 */
#section-pr-view .pr-view-body{min-height:24rem; padding:4rem 0.4rem 5rem; font-size:1.55rem; line-height:1.85; color:#333; word-break:keep-all;}
#section-pr-view .pr-view-body p{margin:0 0 1.4rem;}
#section-pr-view .pr-view-body p:last-child{margin-bottom:0;}
#section-pr-view .pr-view-body img{max-width:100%; height:auto; display:block; margin:1.6rem auto; border-radius:0.3rem;}
#section-pr-view .pr-view-body h1,
#section-pr-view .pr-view-body h2,
#section-pr-view .pr-view-body h3,
#section-pr-view .pr-view-body h4{font-weight:700; color:#111; margin:2.4rem 0 1.2rem; line-height:1.4;}
#section-pr-view .pr-view-body h2{font-size:2rem;}
#section-pr-view .pr-view-body h3{font-size:1.75rem;}
#section-pr-view .pr-view-body h4{font-size:1.6rem;}
#section-pr-view .pr-view-body ul,
#section-pr-view .pr-view-body ol{margin:0 0 1.4rem; padding-left:2rem;}
#section-pr-view .pr-view-body li{margin:0.4rem 0;}
#section-pr-view .pr-view-body a{color:var(--point, #e4002b); text-decoration:underline;}
#section-pr-view .pr-view-body blockquote{margin:1.6rem 0; padding:1.2rem 1.8rem; border-left:3px solid var(--point, #e4002b); background:#fafafa; color:#555; font-style:italic;}
#section-pr-view .pr-view-body table{width:100%; border-collapse:collapse; margin:1.6rem 0;}
#section-pr-view .pr-view-body th,
#section-pr-view .pr-view-body td{padding:0.8rem 1.2rem; border:1px solid #e5e5e5; text-align:left;}
#section-pr-view .pr-view-body th{background:#fafafa; font-weight:600;}

/* 첨부파일 */
#section-pr-view .pr-view-files{padding:2rem 2.4rem; margin:0 0 3rem; background:#fafafa; border-radius:0.4rem;}
#section-pr-view .pr-view-files-title{font-size:1.4rem; font-weight:700; color:#111; margin:0 0 1rem;}
#section-pr-view .pr-view-files ul{list-style:none; margin:0; padding:0;}
#section-pr-view .pr-view-files li{padding:0.6rem 0; border-top:1px dashed #e0e0e0; font-size:1.4rem;}
#section-pr-view .pr-view-files li:first-child{border-top:0;}
#section-pr-view .pr-view-files a{display:inline-flex; gap:0.8rem; align-items:baseline; color:#333; text-decoration:none; transition:color 0.15s ease;}
#section-pr-view .pr-view-files a:hover{color:var(--point, #e4002b);}
#section-pr-view .pr-view-files a:before{content:""; width:1.4rem; height:1.4rem; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3"/></svg>') no-repeat center / contain; display:inline-block; flex-shrink:0; transform:translateY(0.2rem);}
#section-pr-view .pr-view-files .pr-file-name{font-weight:500;}
#section-pr-view .pr-view-files .pr-file-size{color:#999; font-size:1.25rem;}

/* 이전글 / 다음글 네비 */
#section-pr-view .pr-view-nav{list-style:none; margin:0 0 3rem; padding:0; border-top:1px solid #e5e5e5; border-bottom:1px solid #e5e5e5;}
#section-pr-view .pr-view-nav li{display:flex; align-items:center; gap:2rem; padding:1.6rem 0.4rem; border-bottom:1px solid #f0f0f0;}
#section-pr-view .pr-view-nav li:last-child{border-bottom:0;}
#section-pr-view .pr-view-nav .pr-nav-label{flex-shrink:0; width:8rem; font-size:1.35rem; font-weight:600; color:#888; position:relative; padding-left:1.6rem;}
#section-pr-view .pr-view-nav .pr-nav-label:before{content:""; position:absolute; left:0; top:50%; width:0.8rem; height:0.8rem; border-top:2px solid #888; border-right:2px solid #888; transform:translateY(-50%) rotate(-45deg);}
#section-pr-view .pr-view-nav .pr-nav-next .pr-nav-label:before{transform:translateY(-50%) rotate(135deg);}
#section-pr-view .pr-view-nav a{flex:1; font-size:1.5rem; color:#333; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; transition:color 0.15s ease;}
#section-pr-view .pr-view-nav a:hover{color:var(--point, #e4002b); text-decoration:underline;}
#section-pr-view .pr-view-nav .pr-nav-empty{flex:1; font-size:1.4rem; color:#bbb;}
#section-pr-view .pr-view-nav li.is-empty .pr-nav-label{color:#bbb;}
#section-pr-view .pr-view-nav li.is-empty .pr-nav-label:before{border-color:#ccc;}

/* 액션 버튼 */
#section-pr-view .pr-view-actions{display:flex; justify-content:center; margin-top:1rem;}
#section-pr-view .pr-btn{display:inline-flex; align-items:center; justify-content:center; min-width:14rem; height:5rem; padding:0 2.4rem; font-size:1.45rem; font-weight:500; text-decoration:none; border-radius:0.3rem; transition:all 0.2s ease; cursor:pointer; box-sizing:border-box;}
#section-pr-view .pr-btn-list{background:#222; color:#fff; border:1px solid #222;}
#section-pr-view .pr-btn-list:hover{background:var(--point, #e4002b); border-color:var(--point, #e4002b);}

/* responsive */
@media (max-width: 900px){
    #section-pr-view{padding:3rem 1.6rem 4rem;}
    #section-pr-view .pr-view-title{font-size:2.1rem;}
    #section-pr-view .pr-view-body{font-size:1.5rem; padding:3rem 0 4rem;}
    #section-pr-view .pr-view-nav .pr-nav-label{width:6.4rem; font-size:1.25rem;}
    #section-pr-view .pr-view-nav a{font-size:1.4rem;}
}
@media (max-width: 540px){
    #section-pr-view{padding:2.4rem 1.2rem 3.5rem;}
    #section-pr-view .pr-view-head{padding:1.8rem 0;}
    #section-pr-view .pr-view-title{font-size:1.85rem;}
    #section-pr-view .pr-view-meta{font-size:1.25rem; gap:0.8rem;}
    #section-pr-view .pr-view-link{padding:1.2rem 1.4rem; font-size:1.3rem; flex-direction:column; align-items:flex-start; gap:0.4rem;}
    #section-pr-view .pr-view-body{padding:2.4rem 0 3rem; font-size:1.45rem; line-height:1.8;}
    #section-pr-view .pr-view-files{padding:1.6rem 1.8rem;}
    #section-pr-view .pr-view-nav li{flex-direction:column; align-items:flex-start; gap:0.4rem; padding:1.2rem 0;}
    #section-pr-view .pr-view-nav .pr-nav-label{width:auto;}
    #section-pr-view .pr-view-nav a{white-space:normal; word-break:keep-all;}
    #section-pr-view .pr-btn{min-width:12rem; height:4.4rem; font-size:1.35rem;}
}
/* === END PAGE-ADDITIONS: pr-view === */

/* ============================================================
   PAGE-ADDITIONS: inquiry  (recovered)
   ============================================================ */
#section-inquiry{max-width:1200px; margin:0 auto; padding:4rem 0 6rem;}
#section-inquiry .form-required{font-size:1.3rem; color:#888; text-align:right; margin:0 0 1.5rem;}
#section-inquiry .form-required::first-letter{color:#e4002b;}

/* table */
#section-inquiry table.form-table{width:100%; border-top:1px solid #000; border-bottom:1px solid #000; border-collapse:collapse;}
#section-inquiry table.form-table th{padding:1.6rem 1.5rem; background:#fafafa; font-weight:600; font-size:1.4rem; color:#000; text-align:center; vertical-align:middle; border-bottom:1px solid #eee; white-space:nowrap;}
#section-inquiry table.form-table td{padding:1.2rem 1.5rem; border-bottom:1px solid #eee; font-size:1.4rem; vertical-align:middle;}

/* 필수 별표 빨강 */
#section-inquiry table.form-table th{position:relative;}
#section-inquiry table.form-table th:not(:empty){color:#000;}
/* th 텍스트 마지막 '*' 강조: 별도 처리는 HTML 정적이므로 hack — th 내 인라인 *를 색만 바꾸려면 ::after 불가, JS 없이 글로벌 처리 */
#section-inquiry table.form-table th{font-size:1.4rem;}

/* input/select/textarea 공통 */
#section-inquiry table.form-table td input[type=text],
#section-inquiry table.form-table td input[type=email],
#section-inquiry table.form-table td input[type=tel],
#section-inquiry table.form-table td input[type=password],
#section-inquiry table.form-table td select,
#section-inquiry table.form-table td textarea{
	padding:0.9rem 1.1rem; border:1px solid #d8d8d8; background:#fff; font-size:1.4rem;
	box-sizing:border-box; font-family:inherit; color:#000; border-radius:0.2rem;
	transition:border-color .15s ease;
}
#section-inquiry table.form-table td input[type=text]:focus,
#section-inquiry table.form-table td input[type=email]:focus,
#section-inquiry table.form-table td input[type=tel]:focus,
#section-inquiry table.form-table td select:focus,
#section-inquiry table.form-table td textarea:focus{
	outline:none; border-color:#e4002b;
}
#section-inquiry table.form-table td select{min-width:9rem; padding-right:2.5rem;}
#section-inquiry table.form-table td textarea{width:100%; min-height:14rem; resize:vertical; line-height:1.6;}

/* 이름/제목/내용 등 단일 input은 풀폭 */
#section-inquiry table.form-table td > input[type=text]:only-child,
#section-inquiry table.form-table td > input[type=email]:only-child,
#section-inquiry table.form-table td > input[type=file]:only-child{width:100%; max-width:60rem;}

/* phone row */
#section-inquiry table.form-table td.phone-row{display:flex; gap:0.6rem; align-items:center; flex-wrap:wrap;}
#section-inquiry table.form-table td.phone-row select{width:9rem; min-width:9rem;}
#section-inquiry table.form-table td.phone-row input[type=text]{width:11rem; min-width:0;}
#section-inquiry table.form-table td.phone-row span{color:#999;}

/* email row */
#section-inquiry table.form-table td.email-row{display:flex; gap:0.6rem; align-items:center; flex-wrap:wrap;}
#section-inquiry table.form-table td.email-row input[type=text]{width:18rem; min-width:0; flex:0 1 18rem;}
#section-inquiry table.form-table td.email-row span{color:#999;}
#section-inquiry table.form-table td.email-row select{margin-left:0.4rem;}

/* radio row — 카테고리/문의경로 가로 배치 */
#section-inquiry table.form-table td.radio-row{display:flex; gap:2.4rem; flex-wrap:wrap; align-items:center;}
#section-inquiry table.form-table td.radio-row label{
	display:inline-flex; align-items:center; gap:0.5rem;
	font-size:1.4rem; color:#000; cursor:pointer; padding:0.3rem 0.2rem;
}
#section-inquiry table.form-table td.radio-row input[type=radio]{
	width:1.6rem; height:1.6rem; margin:0; accent-color:#e4002b; cursor:pointer;
}

/* file 첨부 — 커스텀 wrapper (recruit 패턴 동일, 시안 검정/빨강 톤) */
#section-inquiry table.form-table td.file-row{padding:1.2rem 1.5rem;}
#section-inquiry table.form-table td .file-field{
	display:inline-flex; align-items:stretch; gap:0; position:relative;
	vertical-align:middle; max-width:100%;
}
#section-inquiry table.form-table td .file-field input[type=text].file-name{
	width:32rem; padding:0.7rem 1rem; border:1px solid #d8d8d8; background:#fff;
	font-size:1.4rem; box-sizing:border-box; min-height:3.4rem; color:#000; font-family:inherit;
}
#section-inquiry table.form-table td .file-field input[type=file]{
	position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer;
	padding:0; border:0; background:transparent; min-height:0;
}
#section-inquiry table.form-table td .file-field .file-btn{
	display:inline-flex; align-items:center; justify-content:center;
	padding:0 1.8rem; background:#111; color:#fff; font-size:1.3rem; font-weight:500;
	cursor:pointer; user-select:none; min-height:3.4rem;
}
#section-inquiry table.form-table td .file-field:hover .file-btn{background:#e4002b;}

/* captcha */
#section-inquiry .captcha-img{display:inline-block; vertical-align:middle;}
#section-inquiry .captcha-img img{vertical-align:middle; border:1px solid #eee; height:3.6rem;}
#section-inquiry table.form-table td input[name=captcha_key]{width:30rem; max-width:50%; margin-left:0.6rem;}
#section-inquiry .captcha-refresh{
	display:inline-flex; align-items:center; padding:0.5rem 1rem; margin-left:0.6rem;
	border:1px solid #d8d8d8; font-size:1.2rem; color:#555; background:#fff;
	border-radius:0.2rem; text-decoration:none; vertical-align:middle;
}
#section-inquiry .captcha-refresh:hover{border-color:#e4002b; color:#e4002b;}
#section-inquiry .captcha-help{display:inline-block; margin-left:1rem; font-size:1.25rem; color:#888; vertical-align:middle;}

/* 개인정보 동의 */
#section-inquiry .form-policy{margin-top:3rem; padding:0; background:transparent; font-size:1.3rem; color:#666;}
#section-inquiry .form-policy h6{
	display:flex; justify-content:space-between; align-items:center;
	margin:0 0 1rem; padding-bottom:1rem; border-bottom:1px solid #000;
	font-weight:700; font-size:1.5rem; color:#000;
}
#section-inquiry .form-policy h6 .link-r{font-weight:400; font-size:1.3rem; color:#666; text-decoration:none;}
#section-inquiry .form-policy h6 .link-r:hover{color:#e4002b;}
#section-inquiry .form-policy .policy-box{
	background:#fafafa; padding:1.8rem 2rem; border:1px solid #eee;
	max-height:14rem; overflow:auto; margin-bottom:1.2rem; line-height:1.8;
}
#section-inquiry .form-policy .policy-box p{margin:0 0 0.8rem; font-size:1.3rem; color:#666;}
#section-inquiry .form-policy label{
	display:inline-flex; align-items:center; gap:0.4rem;
	margin-right:1.5rem; color:#000; font-size:1.35rem; cursor:pointer;
}
#section-inquiry .form-policy label input[type=radio]{
	width:1.5rem; height:1.5rem; margin:0; accent-color:#e4002b; cursor:pointer;
}

/* 폼 메시지 */
#section-inquiry .form-msg{padding:1.5rem 2rem; margin-bottom:2rem; border-radius:0.3rem; font-size:1.4rem;}
#section-inquiry .form-msg.ok{background:#eaf6ee; color:#1c7a3e; border:1px solid #b9dec6;}

/* 버튼 영역 */
#section-inquiry .form-btns{display:flex; gap:1rem; justify-content:flex-end; margin-top:3rem;}
#section-inquiry .form-btns .btn-submit,
#section-inquiry .form-btns .btn-cancel{
	display:inline-block; min-width:14rem; padding:1.4rem 3rem;
	font-weight:600; font-size:1.5rem; border:none; cursor:pointer;
	text-align:center; text-decoration:none; border-radius:0.2rem;
	transition:opacity .15s ease, background .15s ease;
}
#section-inquiry .form-btns .btn-submit{background:#e4002b; color:#fff;}
#section-inquiry .form-btns .btn-submit:hover{background:#c00024;}
#section-inquiry .form-btns .btn-cancel{background:#444; color:#fff;}
#section-inquiry .form-btns .btn-cancel:hover{background:#222;}

/* 반응형 */
@media (max-width: 768px){
	#section-inquiry{padding:2rem 1.5rem 4rem;}
	#section-inquiry table.form-table,
	#section-inquiry table.form-table tbody,
	#section-inquiry table.form-table tr,
	#section-inquiry table.form-table th,
	#section-inquiry table.form-table td{display:block; width:100%; box-sizing:border-box;}
	#section-inquiry table.form-table tr{border-bottom:1px solid #eee; padding:1rem 0;}
	#section-inquiry table.form-table th{
		padding:0.8rem 0; background:transparent; text-align:left;
		font-size:1.35rem; border-bottom:none;
	}
	#section-inquiry table.form-table td{padding:0.5rem 0; border-bottom:none;}
	#section-inquiry table.form-table td > input[type=text],
	#section-inquiry table.form-table td > input[type=email]{width:100%; max-width:none;}
	#section-inquiry table.form-table td.radio-row{gap:1rem 1.6rem;}
	#section-inquiry table.form-table td.phone-row,
	#section-inquiry table.form-table td.email-row{gap:0.4rem;}
	#section-inquiry table.form-table td.email-row input[type=text]{flex:1 1 12rem;}
	#section-inquiry table.form-table td input[name=captcha_key]{width:100%; margin:0.6rem 0 0;}
	#section-inquiry .captcha-refresh{margin:0.5rem 0 0;}
	#section-inquiry .captcha-help{display:block; margin:0.5rem 0 0;}
	#section-inquiry .form-btns{flex-direction:column-reverse; gap:0.8rem;}
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{width:100%; min-width:0;}
}

/* @needs-review: inquiry mobile 480 — 시안 기반 보정 (탭 타깃 44px, 캡차 가독성, 파일/라디오) */
/* NOTE: 모바일 html font-size = 6px(480px) / 5.5px(400px) — px로 직접 지정 */
@media (max-width: 480px){
	#section-inquiry{padding:16px 14px 48px;}
	#section-inquiry .form-required{font-size:12px;}
	#section-inquiry table.form-table th{padding:8px 2px; font-size:14px;}
	#section-inquiry table.form-table td{padding:4px 2px 10px;}
	#section-inquiry table.form-table td input[type=text],
	#section-inquiry table.form-table td input[type=email],
	#section-inquiry table.form-table td input[type=tel],
	#section-inquiry table.form-table td input[type=password],
	#section-inquiry table.form-table td select,
	#section-inquiry table.form-table td textarea{min-height:44px; font-size:14px; padding:10px 12px;}
	#section-inquiry table.form-table td textarea{min-height:120px;}
	#section-inquiry table.form-table td > input[type=text]{width:100%; max-width:none;}
	/* radio-row */
	#section-inquiry table.form-table td.radio-row{display:flex; flex-wrap:wrap; gap:8px 18px;}
	#section-inquiry table.form-table td.radio-row label{font-size:14px; padding:4px 2px; min-height:32px;}
	#section-inquiry table.form-table td.radio-row input[type=radio]{width:18px; height:18px;}
	#section-inquiry table.form-table td.phone-row{flex-wrap:wrap; gap:6px; align-items:center;}
	#section-inquiry table.form-table td.phone-row select{flex:0 0 90px; min-width:0;}
	#section-inquiry table.form-table td.phone-row input[type=text]{flex:1 1 70px; width:auto; min-width:0;}
	#section-inquiry table.form-table td.email-row{flex-wrap:wrap; gap:6px; align-items:center;}
	#section-inquiry table.form-table td.email-row input[type=text]{flex:1 1 100px; min-width:0;}
	#section-inquiry table.form-table td.email-row select{flex:1 1 100%; margin-left:0;}
	/* file 첨부 — 커스텀 wrapper 모바일 (≥44px 터치영역) */
	#section-inquiry table.form-table td.file-row{padding:4px 2px 10px;}
	#section-inquiry table.form-table td .file-field{display:flex; width:100%; align-items:stretch;}
	#section-inquiry table.form-table td .file-field input[type=text].file-name{
		width:auto; flex:1; min-height:44px; font-size:14px;
		padding:8px 12px; box-sizing:border-box;
	}
	#section-inquiry table.form-table td .file-field .file-btn{
		min-height:44px; padding:0 18px; font-size:13px; min-width:auto; flex:0 0 auto;
	}
	/* captcha 가독성 */
	#section-inquiry .captcha-img img{height:42px !important; min-width:90px;}
	#section-inquiry table.form-table td input[name=captcha_key]{width:100%; max-width:none; margin:6px 0 0; min-height:44px; font-size:14px;}
	#section-inquiry .captcha-refresh{margin:6px 0 0; min-height:36px; padding:6px 12px; font-size:12px;}
	#section-inquiry .captcha-help{display:block; margin:6px 0 0; font-size:12px; line-height:1.4;}
	/* 정책 */
	#section-inquiry .form-policy{margin-top:24px;}
	#section-inquiry .form-policy h6{font-size:14px; padding-bottom:10px;}
	#section-inquiry .form-policy h6 .link-r{font-size:12px;}
	#section-inquiry .form-policy .policy-box{padding:14px 14px; font-size:12px; line-height:1.7;}
	#section-inquiry .form-policy label{font-size:14px; min-height:32px; padding:4px 2px; margin-right:14px;}
	#section-inquiry .form-policy label input[type=radio]{width:16px; height:16px;}
	/* buttons */
	#section-inquiry .form-btns{flex-direction:column-reverse; gap:8px; margin-top:24px;}
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{width:100%; min-width:0; min-height:48px; padding:14px 20px; font-size:15px; display:inline-flex; align-items:center; justify-content:center;}
}

/* @needs-review: inquiry-tablet — 768~1024 태블릿: 데스크톱 가로 테이블 레이아웃 강제 복구 */
@media (max-width:1024px) and (min-width:481px){
	#section-inquiry{padding:3rem 0 5rem;}
	#section-inquiry table.form-table,
	#section-inquiry table.form-table tbody{display:table; width:100%;}
	#section-inquiry table.form-table tr{display:table-row; border-bottom:none; padding:0;}
	#section-inquiry table.form-table th{display:table-cell; width:14rem; background:#fafafa; text-align:center; padding:1.4rem 1.2rem; border-bottom:1px solid #eee; font-size:1.35rem;}
	#section-inquiry table.form-table td{display:table-cell; padding:1.1rem 1.5rem; border-bottom:1px solid #eee;}
	#section-inquiry table.form-table td input[type=text],
	#section-inquiry table.form-table td input[type=email],
	#section-inquiry table.form-table td input[type=tel],
	#section-inquiry table.form-table td select,
	#section-inquiry table.form-table td textarea{min-height:3.6rem; font-size:1.4rem; width:auto;}
	#section-inquiry table.form-table td > input[type=text]:only-child,
	#section-inquiry table.form-table td > input[type=email]:only-child{width:100%; max-width:42rem;}
	#section-inquiry table.form-table td.phone-row,
	#section-inquiry table.form-table td.email-row{display:flex; gap:0.5rem; flex-wrap:wrap; align-items:center;}
	#section-inquiry table.form-table td.phone-row select{width:8rem; min-width:8rem;}
	#section-inquiry table.form-table td.phone-row input[type=text]{width:10rem;}
	#section-inquiry table.form-table td.email-row input[type=text]{flex:0 1 14rem; width:auto;}
	#section-inquiry table.form-table td.email-row select{margin-left:0.4rem; width:auto;}
	#section-inquiry table.form-table td.radio-row{display:flex; gap:1.6rem; flex-wrap:wrap;}
	#section-inquiry table.form-table td input[name=captcha_key]{width:18rem; max-width:none; margin:0 0 0 0.6rem; min-height:3.4rem;}
	#section-inquiry .captcha-refresh{margin:0 0 0 0.4rem; min-height:3rem;}
	#section-inquiry .captcha-help{display:inline-block; margin:0 0 0 0.8rem; font-size:1.25rem;}
	#section-inquiry .form-policy label{min-height:0; padding:0.2rem 0;}
	#section-inquiry .form-btns{flex-direction:row; justify-content:flex-end; gap:1rem; margin-top:3rem;}
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{width:auto; min-width:13rem; min-height:0; padding:1.2rem 2rem; font-size:1.4rem;}
	/* file 첨부 — 커스텀 wrapper 태블릿 (rem 축소 회피 위해 px 절대값) */
	#section-inquiry table.form-table td.file-row{padding:12px 16px;}
	#section-inquiry table.form-table td .file-field{display:inline-flex; width:auto; max-width:100%;}
	#section-inquiry table.form-table td .file-field input[type=text].file-name{
		width:260px; min-height:40px; font-size:14px; padding:8px 12px; flex:0 0 auto;
	}
	#section-inquiry table.form-table td .file-field .file-btn{
		min-height:40px; padding:0 20px; font-size:13px; min-width:auto;
	}
}
/* === END PAGE-ADDITIONS: inquiry === */

/* === PAGE-ADDITIONS: location === */
/* 오시는 길 - AOS opacity:0 stuck fix + 시안 보강 (260427_requests/06CONTACT/0603_오시는 길.jpg) */

/* AOS 가 aos-animate 클래스를 못 붙이는 경우 영원히 opacity:0 상태로 카드가 안 보이는 문제 강제 해제 */
#section-location .loc-map[data-aos],
#section-location .loc-title[data-aos],
#section-location .loc-cards[data-aos],
#section-location [data-aos]{opacity:1 !important; transform:none !important;}
#section-location .loc-cards,
#section-location .loc-cards.aos-init,
#section-location .loc-cards.aos-init.aos-animate{opacity:1 !important;}

/* 컨테이너 폭 시안에 맞춰 살짝 확장 */
#section-location{max-width:128rem;}

/* World map figure - 이미지 미로딩 fallback 대비 (이미지 업로드는 별도 에이전트) */
#section-location .loc-map{margin:3rem auto 5rem;}
#section-location .world-map-fig{
	min-height:42rem;
	background:linear-gradient(135deg, #f4f5f7 0%, #e6e8ec 100%);
	border:1px solid #e6e8ec;
	border-radius:0.6rem;
	display:flex; align-items:center; justify-content:center;
	overflow:visible;
	max-width:96rem; margin:0 auto;
}
#section-location .world-map-fig .world-map-img{max-width:88rem; width:100%; height:auto; display:block; opacity:0.95;}
#section-location .world-map-fig .world-map-img[src=""],
#section-location .world-map-fig .world-map-img:not([src]){display:none;}

/* 핀: 빨간 동그라미 + 작은 그림자 */
#section-location .loc-map .pin{
	width:1.2rem; height:1.2rem;
	background:#e4002b;
	box-shadow:0 0 0 0.3rem rgba(228,0,43,0.18), 0 0.2rem 0.4rem rgba(0,0,0,0.15);
	z-index:2;
}
#section-location .loc-map .pin span{
	left:1.6rem; top:-0.8rem;
	font-size:1.2rem; font-weight:600; color:#222;
	background:rgba(255,255,255,0.85);
	padding:0.1rem 0.5rem; border-radius:0.3rem;
}

/* 타이틀 */
#section-location .loc-title{
	font-size:2.4rem; font-weight:700; color:#111;
	letter-spacing:-0.01em;
	margin:5rem 0 2.4rem;
	padding-bottom:1.6rem;
	border-bottom:2px solid #111;
	text-align:left;
}

/* 카드 그리드: PC 3열, 태블릿 2열, 모바일 1열 */
#section-location .loc-cards{
	display:grid !important;
	grid-template-columns:repeat(3, 1fr);
	gap:2rem;
	margin:0; padding:0; list-style:none;
}
#section-location .loc-cards > li{
	position:relative;
	padding:2.4rem 2.4rem 2.8rem;
	border:1px solid #e6e8ec;
	border-radius:0.6rem;
	background:#fff;
	box-shadow:0 0.2rem 0.6rem rgba(0,0,0,0.03);
	min-height:20rem;
	display:flex; flex-direction:column;
}
#section-location .loc-cards > li .cat{
	display:inline-block;
	align-self:flex-start;
	padding:0.4rem 1.2rem;
	background:#e4002b; color:#fff;
	font-size:1.2rem; font-weight:600;
	border-radius:1.2rem;
	margin:0 0 1.4rem;
	letter-spacing:0.02em;
}
#section-location .loc-cards > li h5{
	font-size:1.5rem; font-weight:700; color:#111;
	line-height:2.2rem;
	margin:0 0 0.6rem;
	word-break:keep-all;
}
#section-location .loc-cards > li .addr-en{
	font-size:1.2rem; line-height:1.8rem; color:#888;
	margin:0 0 1.6rem;
}
#section-location .loc-cards > li dl{
	display:grid;
	grid-template-columns:5.5rem 1fr;
	gap:0.4rem 0.8rem;
	font-size:1.3rem; line-height:2rem;
	margin:auto 0 0;
}
#section-location .loc-cards > li dl dt{color:#999; margin:0; font-weight:500;}
#section-location .loc-cards > li dl dd{color:#222; margin:0; font-weight:500;}

/* map-btn 우상단 → 우하단 핀 아이콘 (이미지 없어도 형태 유지) */
#section-location .loc-cards > li .map-btn{
	position:absolute;
	right:1.8rem; top:1.8rem;
	width:3.2rem; height:3.2rem;
	background:#f4f5f7;
	border-radius:50%;
	font-size:0; color:transparent;
	transition:background 0.2s;
}
#section-location .loc-cards > li .map-btn:hover{background:#e4002b;}
#section-location .loc-cards > li .map-btn:before{
	content:"";
	position:absolute; left:50%; top:50%;
	transform:translate(-50%, -55%);
	width:0.8rem; height:0.8rem;
	background:#e4002b;
	border-radius:50% 50% 50% 0;
	transform:translate(-50%,-55%) rotate(-45deg);
	color:transparent;
	font-size:0;
}
#section-location .loc-cards > li .map-btn:hover:before{background:#fff;}

/* 태블릿 */
@media (max-width:1024px){
	#section-location .loc-cards{grid-template-columns:repeat(2, 1fr); gap:1.6rem;}
	#section-location .world-map-fig{min-height:32rem;}
}

/* 모바일 */
@media (max-width:640px){
	#section-location{max-width:100%;}
	#section-location .loc-cards{grid-template-columns:1fr; gap:1.4rem;}
	#section-location .loc-cards > li{padding:2rem 2rem 2.4rem; min-height:auto;}
	#section-location .loc-title{font-size:2rem; margin:3.5rem 0 1.8rem;}
	#section-location .world-map-fig{min-height:22rem;}
	#section-location .loc-map .pin span{font-size:1rem;}
	#section-location .loc-cards > li .map-btn{right:1.4rem; top:1.4rem; width:2.8rem; height:2.8rem;}
}

/* @needs-review: location mobile 480 — 지도 가독성, 핀 라벨, 카드 패딩, map-btn 탭 타깃 */
/* NOTE: 모바일 html font-size = 6px(480px) / 5.5px(400px) — px로 직접 지정 */
@media (max-width:480px){
	#section-location{padding:0 14px;}
	#section-location .loc-map{margin:20px auto 36px;}
	#section-location .world-map-fig{min-height:200px; max-width:none; border-radius:4px;}
	#section-location .world-map-fig .world-map-img{max-width:100%;}
	/* 핀 약간 키워 탭/시인성 보강 */
	#section-location .loc-map .pin{width:14px; height:14px; box-shadow:0 0 0 4px rgba(228,0,43,0.18), 0 2px 4px rgba(0,0,0,0.15);}
	#section-location .loc-map .pin span{left:18px; top:-6px; font-size:10px; padding:1px 4px;}
	/* 타이틀 */
	#section-location .loc-title{font-size:18px; margin:30px 0 14px; padding-bottom:12px;}
	/* 카드 패딩/간격 */
	#section-location .loc-cards{gap:12px;}
	#section-location .loc-cards > li{padding:18px 16px 20px;}
	#section-location .loc-cards > li .cat{font-size:11px; padding:3px 10px; margin-bottom:10px;}
	#section-location .loc-cards > li h5{font-size:14px; line-height:1.4;}
	#section-location .loc-cards > li .addr-en{font-size:11px; line-height:1.5;}
	#section-location .loc-cards > li dl{grid-template-columns:48px 1fr; font-size:12px; line-height:1.6;}
	/* map-btn 탭 타깃 44px 확보 */
	#section-location .loc-cards > li .map-btn{right:12px; top:12px; width:44px; height:44px;}
	#section-location .loc-cards > li .map-btn:before{width:10px; height:10px;}
}
/* === END PAGE-ADDITIONS: location === */

/* === PAGE-ADDITIONS: news === */
/* 카드뷰/리스트뷰 토글 + 리스트뷰 레이아웃 + 모바일 대응 */
#section-news .board-toolbar{align-items:center;}
#section-news .board-toolbar .toolbar-right{display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap;}
#section-news .view-toggle{display:inline-flex; align-items:center; border:1px solid #ddd; background:#fff; border-radius:0.4rem; overflow:hidden;}
#section-news .view-toggle > a{display:inline-flex; align-items:center; justify-content:center; width:3.6rem; height:3.4rem; color:#999; text-decoration:none; transition:background .2s, color .2s; border-right:1px solid #eee;}
#section-news .view-toggle > a:last-child{border-right:none;}
#section-news .view-toggle > a svg{fill:currentColor; display:block;}
#section-news .view-toggle > a:hover{color:#000;}
#section-news .view-toggle > a.on{background:#000; color:#fff;}

/* 1열 가로 리스트 뷰 (시안 0401_2) */
#section-news .board-list{list-style:none; padding:0; margin:0;}
#section-news .board-list > li{border-bottom:1px solid #eee;}
#section-news .board-list > li:first-child{border-top:1px solid #eee;}
#section-news .board-list > li > a{display:grid; grid-template-columns:21rem 1fr; gap:3rem; padding:2.6rem 1rem; text-decoration:none; color:inherit; align-items:stretch;}
#section-news .board-list > li figure{position:relative; width:100%; padding-top:62%; overflow:hidden; background:#eee; margin:0;}
#section-news .board-list > li figure span{position:absolute; left:0; top:0; right:0; bottom:0; background-position:center; background-size:cover; background-repeat:no-repeat; transition:transform .4s ease;}
#section-news .board-list > li:hover figure span{transform:scale(1.05);}
#section-news .board-list > li dl{display:flex; flex-direction:column; justify-content:center; margin:0; padding:0;}
#section-news .board-list > li dl dt{font-weight:600; font-size:1.7rem; color:#000; line-height:2.5rem; margin-bottom:1.2rem; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; word-break:keep-all;}
#section-news .board-list > li dl .excerpt{font-size:1.35rem; color:#666; line-height:2.1rem; margin:0 0 1.6rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; word-break:keep-all;}
#section-news .board-list > li dl .date{font-size:1.3rem; color:#999; margin:0;}
#section-news .board-list > li.empty{text-align:center; padding:6rem 0; color:#888; border:none;}
#section-news .board-list > li.empty:first-child{border-top:none;}

/* 태블릿/모바일 */
@media (max-width:768px){
	#section-news .board-toolbar{align-items:flex-start;}
	#section-news .board-toolbar .toolbar-right{width:100%; gap:1rem;}
	#section-news .view-toggle > a{width:3.4rem; height:3.2rem;}
	#section-news .board-list > li > a{grid-template-columns:14rem 1fr; gap:1.6rem; padding:1.8rem 0.4rem;}
	#section-news .board-list > li dl dt{font-size:1.5rem; line-height:2.2rem; margin-bottom:0.8rem;}
	#section-news .board-list > li dl .excerpt{font-size:1.25rem; line-height:1.9rem; -webkit-line-clamp:2; margin-bottom:1rem;}
}
@media (max-width:480px){
	#section-news .board-list > li > a{grid-template-columns:1fr; gap:1.2rem; padding:1.8rem 0.2rem;}
	#section-news .board-list > li figure{padding-top:56%;}
	#section-news .board-list > li dl .excerpt{-webkit-line-clamp:3;}
}
/* === END PAGE-ADDITIONS: news === */

/* === PAGE-ADDITIONS: awards === */
/* 연도 라벨(h3) 빨간 라인 + 모바일 select 잘림 수정 */
#section-awards .awards-year h3{position:relative; padding-left:1.6rem;}
#section-awards .awards-year h3::before{content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:0.5rem; height:2.4rem; background:#e4002b; border-radius:0.2rem;}

/* select 베이스 (드롭다운 화살표 보정) */
#section-awards .awards-tab .year-sel{
	-webkit-appearance:none; -moz-appearance:none; appearance:none;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23666' stroke-width='1.6' d='M1 1.5l5 5 5-5'/></svg>");
	background-repeat:no-repeat;
	background-position:right 1.2rem center;
	padding-right:3rem;
	max-width:100%;
	box-sizing:border-box;
}

/* 태블릿 */
@media (max-width:1024px){
	#section-awards .awards-tab{gap:1.6rem;}
	#section-awards .awards-tab .year-sel{min-width:14rem;}
}

/* 모바일: select 잘림 수정 — 탭과 줄바꿈, select는 풀폭 */
@media (max-width:768px){
	#section-awards .awards-tab{gap:0.8rem 1.4rem; align-items:flex-start; padding-bottom:1.6rem;}
	#section-awards .awards-tab > a{font-size:1.35rem; padding-bottom:0.4rem;}
	#section-awards .awards-tab .year-sel{
		margin-left:0;
		flex-basis:100%;
		width:100%;
		min-width:0;
		max-width:100%;
		padding:0.9rem 3rem 0.9rem 1.2rem;
		font-size:1.3rem;
		box-sizing:border-box;
	}
	#section-awards .awards-year h3{font-size:2.4rem; padding-left:1.4rem;}
	#section-awards .awards-year h3::before{width:0.4rem; height:2rem;}
}
@media (max-width:480px){
	#section-awards .awards-tab{gap:0.6rem 1rem;}
	#section-awards .awards-tab > a{font-size:1.25rem;}
	#section-awards .awards-tab .year-sel{font-size:1.25rem; padding:0.8rem 2.8rem 0.8rem 1rem;}
}

/* PAGE-ADDITIONS:awards tablet (1024px 2-col grid) */
@media (max-width:1024px) and (min-width:481px){
	#section-awards .awards-year > ul,
	.awards-year > ul {
		grid-template-columns: 1fr 1fr !important;
		gap: 20px !important;
	}
}

/* === END PAGE-ADDITIONS: awards === */

/* === PAGE-ADDITIONS: ci === */
/* CI 심볼/로고: 검정 X(h1_logo.svg) 재활용 → 빨강 인라인 SVG + BUSINESS 라벨 화살표 디자인 */
#section-ci .ci-symbol-board{
	padding:5rem 2rem;
	background-color:#f7f7f9;
	background-image:linear-gradient(#e8e8ed 1px, transparent 1px), linear-gradient(90deg, #e8e8ed 1px, transparent 1px);
	background-size:2.4rem 2.4rem;
	border:1px solid #e8e8ed;
	box-sizing:border-box;
}
#section-ci .ci-symbol-row{
	display:flex;
	align-items:stretch;
	justify-content:center;
	gap:1.5rem;
	margin:0;
	padding:0;
	list-style:none;
}
#section-ci .ci-symbol-row .sym-cell{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	padding:1.5rem 0.8rem;
	text-align:center;
	gap:1.4rem;
}
#section-ci .ci-symbol-row .sym-cell .sym-mark{
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
#section-ci .ci-symbol-row .sym-cell .sym-mark svg{
	display:block;
	width:7rem;
	height:7rem;
}
#section-ci .ci-symbol-row .sym-arrow .sym-mark svg{
	width:14rem;
	height:8rem;
}
#section-ci .ci-symbol-row .sym-x-big .sym-mark svg{
	width:11rem;
	height:11rem;
}
#section-ci .ci-symbol-row .sym-caption{
	font-size:1.3rem;
	color:#000;
	margin:0;
	line-height:1.5;
}
#section-ci .ci-symbol-row .sym-label{
	flex:0 0 auto;
	padding-bottom:5rem; /* caption 라인과 시각적으로 맞춤 */
}
#section-ci .ci-symbol-row .sym-tag{
	display:inline-block;
	font-family:'Arial Black', Arial, sans-serif;
	font-weight:700;
	font-size:1.05rem;
	letter-spacing:0.08em;
	color:#000;
	background:#fff;
	border:1px solid #d0d0d6;
	padding:0.35rem 0.7rem;
	border-radius:0.2rem;
	line-height:1;
}
#section-ci .ci-symbol-row .sym-arrow{flex:0 1 auto;}
#section-ci .ci-symbol-row .sym-x{flex:0 1 auto;}

/* 빨강 EXPORUM 로고(텍스트) — 검정 X 마크 제거 */
#section-ci .ci-logo-row .ci-logo-text{
	display:inline-block;
	font-family:'Arial Black', Arial, sans-serif;
	font-weight:900;
	font-size:3.6rem;
	letter-spacing:0.02em;
	color:#e4002b;
}

/* LOGO TYPE: 검정 X 제거 → 빨강 텍스트 로고 */
#section-ci .logo-type .logo-text{
	display:inline-flex;
	align-items:baseline;
	gap:0.4rem;
	font-family:'Arial Black', Arial, sans-serif;
	font-weight:900;
	font-size:2.8rem;
	color:#e4002b;
	letter-spacing:0.02em;
}
#section-ci .logo-type .logo-text b{color:#e4002b;}
#section-ci .logo-type .logo-text small{
	font-size:1.4rem;
	font-weight:700;
	color:#e4002b;
	margin-left:0.3rem;
	letter-spacing:0;
}

/* 태블릿 */
@media (max-width:1024px){
	#section-ci .ci-symbol-row{gap:0.8rem;}
	#section-ci .ci-symbol-row .sym-cell .sym-mark svg{width:5.5rem; height:5.5rem;}
	#section-ci .ci-symbol-row .sym-arrow .sym-mark svg{width:10rem; height:6rem;}
	#section-ci .ci-symbol-row .sym-x-big .sym-mark svg{width:8rem; height:8rem;}
	#section-ci .ci-symbol-row .sym-tag{font-size:0.95rem;}
}

/* 모바일: 가로 5칸 → 세로 1열로 자연 폴드 */
@media (max-width:640px){
	#section-ci .ci-symbol-board{padding:3rem 1rem;}
	#section-ci .ci-symbol-row{flex-wrap:wrap; gap:1.2rem;}
	#section-ci .ci-symbol-row .sym-cell{flex:1 1 100%; padding:1rem 0.5rem;}
	#section-ci .ci-symbol-row .sym-label{padding-bottom:1rem;}
	#section-ci .ci-symbol-row .sym-cell .sym-mark svg{width:6rem; height:6rem;}
	#section-ci .ci-symbol-row .sym-arrow .sym-mark svg{width:12rem; height:7rem;}
	#section-ci .ci-symbol-row .sym-x-big .sym-mark svg{width:9rem; height:9rem;}
	#section-ci .ci-logo-row .ci-logo-text{font-size:2.8rem;}
}
/* @needs-review: ci mobile (<=480px) - 본문/캡션/버튼 가독성 보정 */
@media (max-width:480px){
	#section-ci .ci-intro p{font-size:14px; line-height:1.7;}
	#section-ci .ci-section{margin-bottom:5rem;}
	#section-ci .ci-section .ci-head{gap:1.2rem;}
	#section-ci .ci-section .ci-head h4,
	#section-ci .ci-section > h4{font-size:16px; line-height:1.3; padding-bottom:1.6rem;}
	#section-ci .ci-section .ci-down{gap:0.8rem; width:100%;}
	#section-ci .ci-section .ci-down a{font-size:13px; line-height:1.3; padding:1rem 1.4rem; min-height:40px; display:inline-flex; align-items:center; justify-content:center;}
	#section-ci .ci-section .ci-desc{font-size:13px; line-height:1.7; margin:1rem 0 2.4rem;}
	#section-ci .ci-symbol-board{padding:2.4rem 1rem;}
	#section-ci .ci-symbol-row{flex-wrap:wrap; gap:1.2rem;}
	#section-ci .ci-symbol-row .sym-cell{flex:1 1 100%; padding:1rem 0.5rem;}
	#section-ci .ci-symbol-row .sym-label{padding-bottom:1rem;}
	#section-ci .ci-symbol-row .sym-cell .sym-mark svg{width:6rem; height:6rem;}
	#section-ci .ci-symbol-row .sym-arrow .sym-mark svg{width:12rem; height:7rem;}
	#section-ci .ci-symbol-row .sym-x-big .sym-mark svg{width:9rem; height:9rem;}
	#section-ci .ci-symbol-row .sym-caption{font-size:13px; line-height:1.5;}
	#section-ci .ci-symbol-row .sym-tag{font-size:12px; padding:0.5rem 0.9rem; letter-spacing:0.06em;}
	#section-ci .ci-logo-row{flex-direction:column; gap:2rem; text-align:center; margin-top:3rem;}
	#section-ci .ci-logo-row .ci-logo-text{font-size:32px; line-height:1.1;}
	#section-ci .ci-logo-row p{font-size:13px; line-height:1.7; text-align:left;}
	#section-ci .logo-type{grid-template-columns:1fr;}
	#section-ci .logo-type > li{padding:3rem 2rem;}
	#section-ci .logo-type li figure{min-height:8rem; padding:1.6rem;}
	#section-ci .logo-type .logo-text{font-size:24px;}
	#section-ci .logo-type .logo-text small{font-size:14px;}
	#section-ci .logo-type > li p{font-size:13px; line-height:1.5; margin-top:1.6rem;}
	#section-ci .logo-colors{grid-template-columns:1fr; gap:1.6rem;}
	#section-ci .logo-colors > li .swatch{height:14rem;}
	#section-ci .logo-colors > li dl{padding:1.6rem 1.8rem;}
	#section-ci .logo-colors > li dl dt{font-size:15px; line-height:1.3; letter-spacing:0.04em;}
	#section-ci .logo-colors > li dl dd{font-size:12.5px; line-height:1.7;}
}

/* === G1-TABLET: ci (481~1024px) — logo-type/logo-colors 2열, 시안 비율 유지 === */
@media (max-width:1024px) and (min-width:481px){
	/* LOGO TYPE: 시안에선 2열 그리드 — 481~768 구간에서 1열로 떨어지지 않게 강제 */
	#section-ci .logo-type{grid-template-columns:repeat(2, 1fr);}
	/* LOGO COLORS: 시안에선 2열 그리드 — 동일하게 481~768도 2열 유지 */
	#section-ci .logo-colors{grid-template-columns:repeat(2, 1fr);}
	/* LOGO TYPE 텍스트 크기 — 셀 폭이 줄어 터지지 않도록 살짝 축소 */
	#section-ci .logo-type .logo-text{font-size:2.4rem;}
	#section-ci .logo-type .logo-text small{font-size:1.2rem;}
}
/* === END G1-TABLET: ci === */
/* === END PAGE-ADDITIONS: ci === */

/* === PAGE-ADDITIONS: talent === */
/* 모바일 ≤480px — talent: 2열 grid → 1열, mice 4원형 1열 + xcode-bg margin 보정 */
@media (max-width:480px){
	#section-talent .talent-row{
		display:flex;
		flex-flow:column nowrap;
		gap:1.8rem;
		margin:4rem 0;
	}
	#section-talent .talent-row > figure{width:100%; aspect-ratio:3/2;}
	#section-talent .talent-row > dl > dt{font-size:2.2rem; margin-bottom:1.2rem;}
	#section-talent .talent-row > dl > dd{font-size:1.4rem; line-height:2.1rem;}

	#section-talent .talent-xcode-bg{
		margin:4rem -1.5rem;
		padding:4rem 1.5rem;
	}
	#section-talent .talent-xcode{
		display:flex;
		flex-flow:column nowrap;
		gap:1.8rem;
		padding:0;
	}
	#section-talent .talent-xcode > dl > dt{font-size:2.2rem; margin-bottom:1.6rem;}
	#section-talent .talent-xcode > dl .xcode-item{margin-bottom:1.6rem;}
	#section-talent .talent-xcode > dl .xcode-item h5{font-size:1.55rem; margin-bottom:0.6rem;}
	#section-talent .talent-xcode > dl .xcode-item p{font-size:1.4rem; line-height:2.1rem;}
	#section-talent .talent-xcode > figure{width:100%; aspect-ratio:3/2;}

	#section-talent .talent-mice{
		grid-template-columns:1fr;
		gap:2.4rem;
		margin-top:3rem;
	}
	#section-talent .talent-mice > li{
		grid-template-columns:auto 1fr;
		column-gap:1.4rem;
		row-gap:1.4rem;
		padding:1.6rem 0;
		border-bottom:1px solid #eee;
	}
	#section-talent .talent-mice > li:last-child{border-bottom:0;}
	#section-talent .talent-mice .mice-circle.outline,
	#section-talent .talent-mice .mice-circle.solid{
		width:5.2rem; height:5.2rem; font-size:2rem;
	}
	#section-talent .talent-mice .mice-circle.solid::before{height:1.8rem; top:-1.8rem;}
	#section-talent .talent-mice .mice-circle.solid::after{top:-0.8rem;}
	#section-talent .talent-mice .mice-name{font-size:1.8rem;}
	#section-talent .talent-mice .mice-sub{font-size:1.7rem;}
	#section-talent .talent-mice .mice-desc{font-size:1.35rem; line-height:2rem;}
	#section-talent .talent-mice .mice-desc p br{display:none;}
}
/* === END PAGE-ADDITIONS: talent === */

/* === PAGE-ADDITIONS: journey === */
/* 모바일 ≤480px — journey: 4단계 세로 1열, 화살표 아래방향 */
@media (max-width:480px){
	#section-journey .journey-steps{
		flex-flow:column nowrap;
		gap:0.4rem;
		margin:2rem 0 4rem;
	}
	#section-journey .journey-steps > li{
		flex:1 1 100%;
		width:100%;
		padding:2rem 1.5rem;
		display:flex;
		flex-flow:row nowrap;
		align-items:center;
		gap:1.4rem;
		text-align:left;
	}
	#section-journey .journey-steps > li .num{
		font-size:1.3rem;
		margin:0;
		min-width:2.4rem;
		color:#999;
	}
	#section-journey .journey-steps > li figure{
		width:5rem; height:5rem;
		margin:0;
		flex:0 0 5rem;
	}
	#section-journey .journey-steps > li figure svg{width:2.4rem !important; height:2.4rem !important;}
	#section-journey .journey-steps > li dl{flex:1; text-align:left;}
	#section-journey .journey-steps > li dl dt{font-size:1.55rem; margin-bottom:0.3rem;}
	#section-journey .journey-steps > li dl dd{font-size:1.25rem;}

	/* 화살표 → 아래방향 표시 */
	#section-journey .journey-steps > li.arrow{
		display:flex !important;
		flex:0 0 auto;
		padding:0;
		justify-content:center;
		align-items:center;
		height:2.4rem;
	}
	#section-journey .journey-steps > li.arrow:before{
		content:"\2193";
		font-size:2rem;
		color:#bbb;
		line-height:1;
	}

	#section-journey .journey-detail > dl{
		grid-template-columns:1fr;
		gap:1rem;
		padding:1.8rem 0;
	}
	#section-journey .journey-detail > dl dt{font-size:1.55rem;}
	#section-journey .journey-detail > dl dt figure{width:3.6rem; height:3.6rem;}
	#section-journey .journey-detail > dl dt figure svg{width:2rem !important; height:2rem !important; margin-right:0 !important;}
	#section-journey .journey-detail > dl dd{font-size:1.3rem; line-height:2rem;}
	#section-journey .journey-detail > dl dd br{display:none;}

	#section-journey .journey-notice{padding:1.6rem 1.8rem; margin-top:2rem;}
	#section-journey .journey-notice h5{font-size:1.4rem;}
	#section-journey .journey-notice ul > li{font-size:1.25rem; line-height:2rem;}
}
/* === END PAGE-ADDITIONS: journey === */


/* === PAGE-ADDITIONS: press === */
/* PAGE-ADDITIONS:press mobile (<=480px) board-table responsive */
@media (max-width:480px){
	#section-press .board-table thead th:nth-child(1),  /* NO */
	#section-press .board-table tbody td:nth-child(1),
	#section-press .board-table thead th:nth-child(4),  /* 조회수 */
	#section-press .board-table tbody td:nth-child(4){
		display: none !important;
	}
	#section-press .board-table th,
	#section-press .board-table td{
		padding: 12px 8px !important;
		font-size: 13px !important;
	}
	#section-press .board-table thead th:nth-child(2),
	#section-press .board-table tbody td:nth-child(2){
		width: auto !important;
		text-align: left !important;
	}
	#section-press .board-table thead th:nth-child(3),
	#section-press .board-table tbody td:nth-child(3){
		width: 90px !important;
		text-align: center !important;
		white-space: nowrap !important;
	}
}
/* === END PAGE-ADDITIONS: press === */

/* === PAGE-ADDITIONS: portfolio-modal-mobile-fix (2026-06-16) === */
/* port-modal 모바일 (<=480px) 강제 오버라이드 — 닫기 절대위치, 썸네일 2열, 본문 스크롤 안정화 */
@media (max-width:480px){
	.port-modal .modal-box{width:94vw !important; max-width:none !important; margin:3vh auto 0 !important; max-height:94vh !important; overflow:hidden !important; display:flex !important; flex-direction:column !important;}

	/* 헤더: 닫기 버튼 절대위치 우상단 고정, 제목 우측 패딩 확보 */
	.port-modal .modal-head{position:relative !important; padding:2.4rem 9rem 2.4rem 2.4rem !important; gap:0.8rem !important; flex-wrap:wrap !important;}
	.port-modal .modal-head .m-title{font-size:2.8rem !important; line-height:1.3 !important; flex:1 1 100% !important;}
	.port-modal .modal-head .m-link{font-size:2rem !important; flex:1 1 100% !important; margin-top:0.4rem !important;}
	.port-modal .modal-head .m-link .m-link-ico{font-size:2.2rem !important;}
	.port-modal .modal-head .m-close{position:absolute !important; top:1.2rem !important; right:1.2rem !important; width:8rem !important; height:8rem !important; min-width:44px !important; min-height:44px !important; font-size:4rem !important; border-radius:50% !important; background:#f5f5f5 !important; z-index:2 !important;}

	/* 본문: 단일 컬럼, 자체 스크롤 */
	.port-modal .modal-body{display:block !important; padding:2rem 2.4rem 3rem !important; gap:2.4rem !important; overflow-y:auto !important; -webkit-overflow-scrolling:touch !important; flex:1 1 auto !important;}

	/* 대표 이미지: 모바일 비율 16/10 */
	.port-modal .m-main{aspect-ratio:16 / 10 !important; margin-bottom:2rem !important;}

	/* 썸네일: 3열→2열 (가독성) */
	.port-modal .m-thumbs{grid-template-columns:repeat(2, 1fr) !important; gap:1rem !important; margin-bottom:2rem !important;}
	.port-modal .m-thumbs .thumb{aspect-ratio:4 / 3 !important; min-height:8rem !important;}

	/* 정보 패널 간격 */
	.port-modal .m-info{gap:1.4rem !important;}
	.port-modal .m-tags{gap:1.2rem 2rem !important; font-size:2.2rem !important;}
	.port-modal .m-name{font-size:3rem !important; margin:0.4rem 0 1rem !important;}
	.port-modal .m-info dl{grid-template-columns:9rem 1fr !important; font-size:2.4rem !important; gap:0.8rem 1.4rem !important; padding:1rem 0 !important;}
}
/* === END PAGE-ADDITIONS: portfolio-modal-mobile-fix === */

/* === PAGE-ADDITIONS: news-mobile-fix === */
/* 모바일에서 PR/News 페이지 — 검색·뷰토글 적층, 카드 1열, 페이지네이션 축소 */
@media (max-width:768px){
	#section-news{padding:0 0.4rem;}
	#section-news .board-toolbar{flex-flow:column nowrap; align-items:stretch !important; gap:1.2rem;}
	#section-news .board-toolbar .total{font-size:1.35rem;}
	#section-news .board-toolbar .toolbar-right{width:100%; justify-content:space-between; gap:1rem;}
	#section-news .board-toolbar .search-form{flex:1 1 auto; min-width:0; gap:0.6rem;}
	#section-news .board-toolbar .search-form select{min-width:8rem; height:4rem; font-size:1.4rem;}
	#section-news .board-toolbar .search-form input[type=text]{flex:1 1 auto; width:auto; min-width:0; height:4rem; font-size:1.4rem;}
	#section-news .board-toolbar .search-form button{height:4rem; padding:0 1.6rem; font-size:1.4rem; white-space:nowrap;}
	#section-news .view-toggle > a{width:4rem; height:4rem;}
	#section-news .board-cards{grid-template-columns:1fr !important; gap:2rem 0;}
	#section-news .board-cards > li dl{padding:1.2rem 0.2rem;}
	#section-news .board-cards > li dl dt{font-size:1.55rem; line-height:2.2rem;}
	#section-news .paginate{margin-top:3rem; gap:0.4rem; flex-wrap:wrap;}
	#section-news .paginate > a{min-width:3.6rem; height:3.6rem; font-size:1.3rem;}
}
@media (max-width:480px){
	#section-news .board-toolbar .toolbar-right{flex-flow:column; align-items:stretch; gap:0.8rem;}
	#section-news .view-toggle{align-self:flex-end;}
	#section-news .board-list > li > a{padding:1.6rem 0.4rem; gap:1rem;}
	#section-news .board-list > li figure{padding-top:58%;}
	#section-news .board-list > li dl dt{font-size:1.55rem; line-height:2.2rem;}
	#section-news .board-list > li dl .excerpt{font-size:1.3rem; line-height:1.9rem;}
	#section-news .board-list > li dl .date{font-size:1.2rem;}
	#section-news .board-cards > li figure{padding-top:60%;}
	#section-news .board-cards > li dl .excerpt{font-size:1.3rem;}
}
/* === END PAGE-ADDITIONS: news-mobile-fix === */

/* === PAGE-ADDITIONS: notice-mobile-fix === */
/* 모바일에서 공지/PR.notice — 표 NO컬럼 숨김, 검색폼 적층, 제목 좌측 가변 */
@media (max-width:768px){
	#section-notice{padding:0 0.4rem;}
	#section-notice .board-toolbar{flex-flow:column nowrap; align-items:stretch !important; gap:1.2rem;}
	#section-notice .board-toolbar .total{font-size:1.35rem;}
	#section-notice .board-toolbar .search-form{display:flex; gap:0.6rem; align-items:stretch; width:100%;}
	#section-notice .board-toolbar .search-form select{min-width:9rem; height:4rem; font-size:1.4rem;}
	#section-notice .board-toolbar .search-form input[type=text]{flex:1 1 auto; width:auto; min-width:0; height:4rem; font-size:1.4rem;}
	#section-notice .board-toolbar .search-form button{height:4rem; padding:0 1.6rem; font-size:1.4rem; white-space:nowrap;}
	#section-notice .board-table colgroup col:first-child{width:0 !important;}
	#section-notice .board-table th:first-child,
	#section-notice .board-table td.num{display:none;}
	#section-notice .board-table th, #section-notice .board-table td{padding:1.4rem 0.6rem; font-size:1.4rem;}
	#section-notice .board-table td.subject{text-align:left; line-height:2rem;}
	#section-notice .board-table td.subject a{display:inline-block; word-break:keep-all;}
	#section-notice .board-table td.date{white-space:nowrap; font-size:1.25rem; color:#888; text-align:right; min-width:8rem;}
	#section-notice .paginate{margin-top:3rem; gap:0.4rem; flex-wrap:wrap;}
	#section-notice .paginate > a{min-width:3.6rem; height:3.6rem; font-size:1.3rem;}
}
@media (max-width:480px){
	#section-notice .board-table th, #section-notice .board-table td{padding:1.3rem 0.4rem;}
	#section-notice .board-table td.subject{font-size:1.4rem;}
	#section-notice .board-table td.subject a{line-height:2rem;}
	#section-notice .board-table td.date{font-size:1.15rem; min-width:7.4rem;}
}
/* === END PAGE-ADDITIONS: notice-mobile-fix === */

/* === PAGE-ADDITIONS: talent-mobile-fix === */
/* 모바일에서 Careers/Talent — 좌우 패딩, 타이틀 사이즈, MICE 카드 1열 가독성 보강 */
@media (max-width:768px){
	#section-talent{padding:0 0.4rem;}
	#section-talent .talent-row{margin:4rem 0;}
	#section-talent .talent-row > dl > dt{font-size:2rem; line-height:2.8rem; margin-bottom:1rem;}
	#section-talent .talent-row > dl > dd{font-size:1.45rem; line-height:2.2rem;}
	#section-talent .talent-xcode-bg{padding:4rem 1.5rem;}
	#section-talent .talent-xcode > dl > dt{font-size:2rem; line-height:2.8rem;}
	#section-talent .talent-mice{gap:2rem;}
}
@media (max-width:480px){
	#section-talent .talent-row > dl > dt{font-size:1.9rem; line-height:2.7rem;}
	#section-talent .talent-row > dl > dt br{display:none;}
	#section-talent .talent-row > dl > dd br{display:none;}
	#section-talent .talent-row > dl > dd{font-size:1.4rem; line-height:2.1rem;}
	#section-talent .talent-xcode-bg{margin-left:-0.4rem; margin-right:-0.4rem; padding:3.2rem 1.4rem;}
	#section-talent .talent-mice > li{
		display:grid;
		grid-template-columns:5.4rem 1fr !important;
		align-items:start;
		gap:1rem 1.4rem;
		padding:1.6rem 0;
		border-bottom:1px solid #eee;
	}
	#section-talent .talent-mice > li:last-child{border-bottom:0;}
	#section-talent .talent-mice .mice-circle.outline{
		grid-column:1; grid-row:1;
		width:5.2rem !important; height:5.2rem !important; font-size:1.9rem !important;
	}
	#section-talent .talent-mice .mice-name{
		grid-column:2; grid-row:1;
		align-self:center;
		font-size:1.7rem; margin:0;
	}
	#section-talent .talent-mice .mice-circle.solid{
		grid-column:1; grid-row:2;
		width:5.2rem !important; height:5.2rem !important; font-size:1.9rem !important;
	}
	#section-talent .talent-mice .mice-sub{
		grid-column:2; grid-row:2;
		align-self:center;
		font-size:1.6rem; line-height:2.2rem; margin:0;
	}
	#section-talent .talent-mice .mice-desc{
		grid-column:1 / span 2; grid-row:3;
		font-size:1.32rem; line-height:2rem; margin:0.4rem 0 0;
	}
	#section-talent .talent-mice .mice-desc p br{display:none;}
	#section-talent .talent-mice .mice-circle.solid::before,
	#section-talent .talent-mice .mice-circle.solid::after{display:none;}
}
/* === END PAGE-ADDITIONS: talent-mobile-fix === */

/* === PAGE-ADDITIONS: life-mobile-fix === */
/* 모바일에서 Careers/Life — 섹션 간격, 리스트 행간, 풀폭 단순 적층 */
@media (max-width:768px){
	#section-life{padding:0 0.4rem;}
	#section-life .life-block{margin-bottom:3.4rem;}
	#section-life .life-block h4{font-size:1.85rem; line-height:2.6rem;}
	#section-life .life-block .sub{font-size:1.3rem; line-height:2rem;}
	#section-life .life-list,
	#section-life .life-grid3{display:flex !important; flex-flow:column nowrap; gap:0;}
	#section-life .life-list > li,
	#section-life .life-grid3 > li{
		width:100%;
		border-bottom:1px solid #eee;
	}
	#section-life .life-list > li:last-child,
	#section-life .life-grid3 > li:last-child{border-bottom:0;}
	#section-life .life-grid3 > li{
		display:flex !important;
		flex-flow:row nowrap;
		align-items:center;
		gap:1.2rem;
		padding:1.6rem 0.4rem !important;
	}
	#section-life .life-grid3 > li dl{flex:1 1 auto; min-width:0; margin:0;}
	#section-life .life-grid3 > li dl dt{font-size:1.45rem; line-height:2rem;}
	#section-life .life-grid3 > li dl dt .small,
	#section-life .life-grid3 > li dl dt span.small{display:block; font-size:1.2rem; color:#888; margin-top:0.2rem;}
}
@media (max-width:480px){
	#section-life .life-block{margin-bottom:3rem;}
	#section-life .life-block h4{font-size:1.7rem;}
	#section-life .life-block .sub{font-size:1.25rem; padding-left:1rem;}
	#section-life .life-list > li{gap:1rem; padding:1.4rem 0.2rem;}
	#section-life .life-list > li dl dt{font-size:1.42rem; line-height:2rem;}
	#section-life .life-list > li dl dd{font-size:1.25rem; line-height:1.85rem;}
	#section-life .life-grid3 > li{padding:1.4rem 0.2rem !important;}
	#section-life .life-grid3 > li dl dt{font-size:1.4rem;}
}
/* === END PAGE-ADDITIONS: life-mobile-fix === */

/* === PAGE-ADDITIONS: mobile-pr-careers-fix (2026-06-16) === */
/* CTO 피드백: PR/Careers 모바일 적합화. px 명시(rem 트랩 회피). 480px 이하 강제 오버라이드. */

/* ───────── press: 검색 폼/페이지네이션 모바일 ───────── */
@media (max-width:480px){
	#section-press .board-toolbar{
		flex-flow:column nowrap !important;
		align-items:stretch !important;
		gap:10px !important;
		margin-bottom:16px !important;
		padding:0 4px !important;
	}
	#section-press .board-toolbar .total{
		font-size:13px !important;
		margin:0 !important;
		text-align:left !important;
	}
	#section-press .board-toolbar .search-form{
		display:flex !important;
		flex-flow:row nowrap !important;
		gap:6px !important;
		width:100% !important;
		align-items:stretch !important;
	}
	#section-press .board-toolbar .search-form select{
		flex:0 0 84px !important;
		min-width:0 !important;
		width:auto !important;
		height:40px !important;
		padding:0 8px !important;
		font-size:13px !important;
		border:1px solid #ddd !important;
		background:#fff !important;
		box-sizing:border-box !important;
	}
	#section-press .board-toolbar .search-form input[type=text]{
		flex:1 1 auto !important;
		min-width:0 !important;
		width:auto !important;
		height:40px !important;
		padding:0 10px !important;
		font-size:14px !important;
		border:1px solid #ddd !important;
		box-sizing:border-box !important;
	}
	#section-press .board-toolbar .search-form button{
		flex:0 0 60px !important;
		height:40px !important;
		padding:0 10px !important;
		font-size:13px !important;
		background:#000 !important;
		color:#fff !important;
		border:none !important;
		box-sizing:border-box !important;
	}
	/* board-table 모바일 폰트/패딩 강화 (기존 rem 위에 px 덮기) */
	#section-press .board-table{table-layout:fixed !important; width:100% !important;}
	#section-press .board-table th,
	#section-press .board-table td{padding:12px 6px !important; font-size:13px !important; line-height:1.4 !important;}
	#section-press .board-table tbody td.subject{font-size:14px !important; line-height:1.45 !important; padding:14px 6px !important;}
	#section-press .board-table tbody td.subject a{
		display:-webkit-box !important;
		-webkit-line-clamp:2 !important;
		-webkit-box-orient:vertical !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		word-break:break-all !important;
	}
	#section-press .board-table tbody td.date{font-size:12px !important; color:#888 !important; white-space:nowrap !important;}
	/* 페이지네이션 — 36px 정사각, 가로 스크롤 X */
	#section-press .paginate{
		display:flex !important;
		flex-wrap:wrap !important;
		justify-content:center !important;
		gap:4px !important;
		margin-top:24px !important;
		padding:0 4px !important;
	}
	#section-press .paginate > a{
		min-width:36px !important;
		height:36px !important;
		padding:0 6px !important;
		font-size:13px !important;
		line-height:36px !important;
		box-sizing:border-box !important;
	}
}

/* ───────── awards: 1열 적층 + 연도 필터 가로 스크롤 ───────── */
@media (max-width:480px){
	/* 연도 탭 — 가로 스크롤(터치) */
	#section-awards .awards-tab{
		display:flex !important;
		flex-flow:row nowrap !important;
		gap:14px !important;
		overflow-x:auto !important;
		overflow-y:hidden !important;
		-webkit-overflow-scrolling:touch !important;
		scrollbar-width:none !important;
		padding:0 4px 12px !important;
		margin-bottom:16px !important;
		border-bottom:1px solid #eee !important;
		flex-wrap:nowrap !important;
		align-items:center !important;
	}
	#section-awards .awards-tab::-webkit-scrollbar{display:none !important;}
	#section-awards .awards-tab > a{
		flex:0 0 auto !important;
		white-space:nowrap !important;
		font-size:14px !important;
		padding:8px 2px !important;
		min-height:44px !important;
		display:inline-flex !important;
		align-items:center !important;
	}
	#section-awards .awards-tab .year-sel{
		flex:0 0 auto !important;
		width:auto !important;
		min-width:140px !important;
		max-width:200px !important;
		height:40px !important;
		padding:0 32px 0 10px !important;
		font-size:13px !important;
		box-sizing:border-box !important;
		margin-left:auto !important;
	}
	/* 카드 1열 풀폭 */
	#section-awards .awards-year{margin-bottom:24px !important;}
	#section-awards .awards-year h3{font-size:18px !important; padding-left:12px !important; margin-bottom:12px !important;}
	#section-awards .awards-year h3::before{width:4px !important; height:18px !important;}
	#section-awards .awards-year > ul,
	.awards-year > ul{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:12px !important;
	}
	#section-awards .awards-year > ul > li{
		padding:16px !important;
		min-height:0 !important;
		box-sizing:border-box !important;
	}
	#section-awards .awards-year .badge{
		display:inline-block !important;
		font-size:12px !important;
		padding:4px 10px !important;
		margin-bottom:8px !important;
		line-height:1.4 !important;
	}
	#section-awards .awards-year > ul > li h5{
		font-size:15px !important;
		line-height:1.45 !important;
		margin:0 0 6px !important;
	}
	#section-awards .awards-year > ul > li p{
		font-size:13px !important;
		line-height:1.55 !important;
		color:#666 !important;
	}
}

/* ───────── journey: 세로 적층 + 화살표 아래 + 가독성 px ───────── */
@media (max-width:480px){
	#section-journey{padding:0 4px !important;}
	#section-journey .journey-steps{
		display:flex !important;
		flex-flow:column nowrap !important;
		gap:6px !important;
		margin:16px 0 28px !important;
		padding:0 !important;
	}
	#section-journey .journey-steps > li{
		display:flex !important;
		flex-flow:row nowrap !important;
		align-items:center !important;
		gap:14px !important;
		width:100% !important;
		min-height:72px !important;
		padding:14px 16px !important;
		background:#fafafa !important;
		border:1px solid #eee !important;
		border-radius:8px !important;
		box-sizing:border-box !important;
		text-align:left !important;
	}
	#section-journey .journey-steps > li .num{
		flex:0 0 auto !important;
		font-size:13px !important;
		color:#999 !important;
		margin:0 !important;
		min-width:24px !important;
		font-weight:600 !important;
	}
	#section-journey .journey-steps > li figure{
		flex:0 0 44px !important;
		width:44px !important;
		height:44px !important;
		margin:0 !important;
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		background:#fff !important;
		border-radius:50% !important;
	}
	#section-journey .journey-steps > li figure svg{
		width:22px !important;
		height:22px !important;
	}
	#section-journey .journey-steps > li dl{
		flex:1 1 auto !important;
		margin:0 !important;
		min-width:0 !important;
	}
	#section-journey .journey-steps > li dl dt{
		font-size:15px !important;
		font-weight:600 !important;
		margin:0 0 2px !important;
		line-height:1.35 !important;
	}
	#section-journey .journey-steps > li dl dd{
		font-size:12px !important;
		color:#666 !important;
		margin:0 !important;
		line-height:1.4 !important;
	}
	/* 화살표 아래방향 */
	#section-journey .journey-steps > li.arrow{
		display:flex !important;
		flex:0 0 auto !important;
		width:100% !important;
		min-height:0 !important;
		height:18px !important;
		padding:0 !important;
		margin:0 !important;
		background:transparent !important;
		border:none !important;
		justify-content:center !important;
		align-items:center !important;
	}
	#section-journey .journey-steps > li.arrow::before{
		content:"\2193" !important;
		font-size:18px !important;
		color:#bbb !important;
		line-height:1 !important;
	}

	/* 상세 dl */
	#section-journey .journey-detail{margin-top:8px !important;}
	#section-journey .journey-detail > dl{
		display:block !important;
		grid-template-columns:1fr !important;
		gap:8px !important;
		padding:16px 0 !important;
		border-top:1px solid #eee !important;
	}
	#section-journey .journey-detail > dl dt{
		display:flex !important;
		align-items:center !important;
		gap:8px !important;
		font-size:15px !important;
		font-weight:600 !important;
		margin-bottom:8px !important;
	}
	#section-journey .journey-detail > dl dt figure{
		width:32px !important;
		height:32px !important;
		margin:0 !important;
		flex:0 0 32px !important;
	}
	#section-journey .journey-detail > dl dt figure svg{
		width:18px !important;
		height:18px !important;
		margin:0 !important;
	}
	#section-journey .journey-detail > dl dd{
		font-size:13px !important;
		line-height:1.6 !important;
		color:#555 !important;
	}
	#section-journey .journey-detail > dl dd br{display:none !important;}
	#section-journey .journey-detail .dd-grid{
		display:flex !important;
		flex-direction:column !important;
		gap:14px !important;
	}
	#section-journey .journey-detail .dd-grid .t{
		font-size:14px !important;
		font-weight:600 !important;
		margin:0 0 4px !important;
		color:#222 !important;
	}

	/* 유의사항 */
	#section-journey .journey-notice{
		margin-top:24px !important;
		padding:16px 18px !important;
		background:#f7f7f7 !important;
		border-radius:8px !important;
	}
	#section-journey .journey-notice h5{
		font-size:14px !important;
		margin:0 0 8px !important;
		font-weight:600 !important;
	}
	#section-journey .journey-notice ul > li{
		font-size:13px !important;
		line-height:1.6 !important;
		color:#555 !important;
	}
}

/* ───────── jobs: 탭 가로 스크롤 + 정렬 풀폭 + 카드 1열 ───────── */
@media (max-width:480px){
	#section-jobs{padding:0 4px !important;}
	#section-jobs .jobs-summary{
		font-size:13px !important;
		color:#666 !important;
		margin:0 0 12px !important;
	}
	#section-jobs .jobs-summary em{font-size:14px !important; color:var(--point,#e4002b) !important; font-style:normal !important; font-weight:700 !important;}

	/* cat-row: 가로 탭 + 풀폭 정렬 (세로 적층) */
	#section-jobs .jobs-cat-row{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		gap:10px !important;
		padding-bottom:0 !important;
		margin-bottom:12px !important;
		border-bottom:1px solid #000 !important;
		flex-wrap:nowrap !important;
	}
	#section-jobs .jobs-cat{
		display:flex !important;
		flex-flow:row nowrap !important;
		overflow-x:auto !important;
		overflow-y:hidden !important;
		-webkit-overflow-scrolling:touch !important;
		scrollbar-width:none !important;
		gap:16px !important;
		padding:0 0 8px !important;
		width:100% !important;
		flex-wrap:nowrap !important;
	}
	#section-jobs .jobs-cat::-webkit-scrollbar{display:none !important;}
	#section-jobs .jobs-cat > a{
		flex:0 0 auto !important;
		white-space:nowrap !important;
		font-size:14px !important;
		padding:8px 2px !important;
		min-height:44px !important;
		display:inline-flex !important;
		align-items:center !important;
	}
	#section-jobs .jobs-cat > a.active:after{bottom:-9px !important; height:2px !important;}
	#section-jobs .jobs-sort{
		width:100% !important;
		min-width:0 !important;
		height:40px !important;
		padding:0 32px 0 12px !important;
		font-size:13px !important;
		border:1px solid #ddd !important;
		background-position:right 10px center !important;
		box-sizing:border-box !important;
	}

	/* jobs-list: 카드 1열 풀폭, 우측 입사지원 풀폭 버튼 */
	#section-jobs .jobs-list{margin-top:8px !important; padding:0 !important;}
	#section-jobs .jobs-list > li{
		display:flex !important;
		flex-direction:column !important;
		flex-wrap:nowrap !important;
		align-items:stretch !important;
		gap:10px !important;
		padding:16px 4px !important;
		border-bottom:1px solid #eee !important;
		box-sizing:border-box !important;
	}
	#section-jobs .jobs-list .job-info{flex:1 1 auto !important; width:100% !important;}
	#section-jobs .jobs-list .job-info h5{
		font-size:16px !important;
		font-weight:700 !important;
		margin:0 0 6px !important;
		line-height:1.4 !important;
	}
	#section-jobs .jobs-list .job-info .tags{
		font-size:12px !important;
		color:#9a9a9a !important;
		line-height:1.5 !important;
		margin:0 !important;
	}
	#section-jobs .jobs-list .job-meta{
		flex:1 1 auto !important;
		width:100% !important;
		display:flex !important;
		flex-flow:row wrap !important;
		gap:6px 14px !important;
		font-size:13px !important;
		color:#555 !important;
		margin:0 !important;
	}
	#section-jobs .jobs-list .job-meta p{
		display:inline-flex !important;
		align-items:center !important;
		gap:5px !important;
		margin:0 !important;
		font-size:13px !important;
	}
	#section-jobs .jobs-list .job-meta p i{font-size:13px !important; min-width:14px !important;}

	#section-jobs .jobs-list .job-action{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		gap:6px !important;
		width:100% !important;
		flex:1 1 auto !important;
		margin-top:4px !important;
	}
	#section-jobs .jobs-list .job-action .btn-apply{
		display:flex !important;
		width:100% !important;
		min-height:44px !important;
		padding:12px 16px !important;
		font-size:14px !important;
		font-weight:600 !important;
		border-radius:4px !important;
		margin:0 !important;
		box-sizing:border-box !important;
		justify-content:center !important;
		align-items:center !important;
	}
	#section-jobs .jobs-list .job-action .deadline,
	#section-jobs .jobs-list .job-action .newdate{
		display:block !important;
		text-align:right !important;
		margin:0 !important;
		font-size:12px !important;
	}
	#section-jobs .jobs-list .job-action .deadline{color:#222 !important; font-weight:500 !important;}
	#section-jobs .jobs-list .job-action .newdate{color:var(--point,#e4002b) !important;}

	/* paginate — 36px 정사각 */
	#section-jobs .paginate{
		display:flex !important;
		flex-wrap:wrap !important;
		justify-content:center !important;
		gap:4px !important;
		margin-top:24px !important;
	}
	#section-jobs .paginate > a{
		min-width:36px !important;
		height:36px !important;
		padding:0 6px !important;
		font-size:13px !important;
		line-height:36px !important;
		box-sizing:border-box !important;
	}
}
/* === END PAGE-ADDITIONS: mobile-pr-careers-fix === */

/* === PAGE-ADDITIONS: recruit-agentC-mobile-supplement (2026-06-16) === */
/* C 에이전트: textarea 모바일 최소 높이 / 셀렉트 패딩 / 캡차 가독성 / 정책 라인 마감 */
@media (max-width: 480px){
	#section-recruit table.form-table td textarea{min-height:160px; line-height:1.6; resize:vertical;}
	#section-recruit table.form-table td textarea[name="mb_intro"]{min-height:180px;}
	#section-recruit table.form-table td select.select-wide{padding-right:36px; background-position:right 12px center;}
	#section-recruit table.form-table td.captcha-row .captcha-input{flex-basis:140px;}
	#section-recruit table.form-table td.captcha-row .captcha-refresh{min-height:40px; min-width:64px; padding:6px 12px; font-size:13px;}
	#section-recruit .form-policy .agree-row .check-label{min-height:36px; padding:4px 2px;}
	#section-recruit .form-policy .agree-row .check-label input[type=checkbox]{width:18px; height:18px;}
	#section-recruit .form-policy .policy-box{-webkit-overflow-scrolling:touch;}
	#section-recruit .form-btns button.btn-submit:active{background:#b8002a;}
	#section-recruit .form-btns a.btn-cancel:active{background:#000;}
	#section-recruit table.form-table th{color:#222;}
	/* 가로 스크롤 방지 */
	#section-recruit{overflow-x:hidden;}
	#section-recruit table.form-table td.phone-row,
	#section-recruit table.form-table td.email-row{overflow:hidden;}
}
/* === END PAGE-ADDITIONS: recruit-agentC-mobile-supplement === */

/* === PAGE-ADDITIONS: news-agentC-mobile-supplement (2026-06-16) === */
/* C 에이전트: 검색폼/페이지네이션/empty 상태 모바일 마감 */
@media (max-width: 480px){
	#section-news .board-toolbar{gap:10px; padding:0 2px;}
	#section-news .board-toolbar .toolbar-right{gap:8px;}
	#section-news .view-toggle > a{width:40px; height:40px;}
	#section-news .board-list > li > a{padding:16px 4px;}
	#section-news .board-list > li dl dt{font-size:15px; line-height:1.45; margin-bottom:6px;}
	#section-news .board-list > li dl .excerpt{font-size:13px; line-height:1.6; margin-bottom:10px;}
	#section-news .board-list > li dl .date{font-size:12px;}
	#section-news .board-list > li.empty{padding:48px 12px; font-size:14px;}
	#section-news .board-pager a,
	#section-news .board-pager strong,
	#section-news .board-paging a,
	#section-news .board-paging strong{min-width:36px; min-height:36px; line-height:36px; padding:0 4px; font-size:13px; display:inline-flex; align-items:center; justify-content:center;}
}
/* === END PAGE-ADDITIONS: news-agentC-mobile-supplement === */

/* === PAGE-ADDITIONS: awards-agentC-mobile-supplement (2026-06-16) === */
/* C 에이전트: 카드 터치/타이포 마감, 가로 스크롤 방지 */
@media (max-width: 480px){
	#section-awards{overflow-x:hidden;}
	#section-awards .awards-year{margin-bottom:32px;}
	#section-awards .awards-year h3{font-size:20px; padding-left:12px; margin-bottom:16px;}
	#section-awards .awards-year h3::before{width:4px; height:18px;}
	#section-awards .awards-year > ul{grid-template-columns:1fr !important; gap:12px !important;}
	#section-awards .awards-year > ul > li{min-height:64px; padding:14px 14px;}
	#section-awards .awards-year > ul > li *{word-break:keep-all;}
	#section-awards .awards-tab .year-sel{min-height:44px; font-size:14px;}
	#section-awards .awards-tab > a{min-height:36px; line-height:36px; padding:0 4px; font-size:14px;}
}
/* === END PAGE-ADDITIONS: awards-agentC-mobile-supplement === */

/* === PAGE-ADDITIONS: talent-agentC-mobile-supplement (2026-06-16) === */
/* C 에이전트: mice-circle connector 시인성, 타이포 정돈 */
@media (max-width: 480px){
	#section-talent{overflow-x:clip;} /* FIX talent-nested-scroll 2026-06-21 hidden->clip: overflow-x hidden forces overflow-y auto -> nested scroll from Our People */
	#section-talent .talent-row > dl > dd p{margin:0 0 8px;}
	#section-talent .talent-xcode > dl .xcode-item:last-child{margin-bottom:0;}
	#section-talent .talent-mice > li{align-items:start;}
	#section-talent .talent-mice .mice-circle.outline,
	#section-talent .talent-mice .mice-circle.solid{flex-shrink:0;}
	#section-talent .talent-mice .mice-desc{word-break:keep-all;}
	#section-talent .talent-mice .mice-name,
	#section-talent .talent-mice .mice-sub{word-break:keep-all;}
}
/* === END PAGE-ADDITIONS: talent-agentC-mobile-supplement === */

/* === PAGE-ADDITIONS: notice (agentD 2026-06-16) === */
/* notice 게시판 모바일 보강 — 검색바, 페이지네이션, 행 터치영역 */
#bo_notice .board-toolbar,
.bo_notice .board-toolbar,
body[class*="notice"] .board-toolbar{margin-bottom:1.5rem;}

@media (max-width:768px){
	.board-toolbar{
		display:flex !important;
		flex-flow:column nowrap !important;
		gap:0.8rem !important;
		align-items:stretch !important;
		padding:0 !important;
	}
	.board-toolbar .total{
		font-size:1.3rem !important;
		color:#777 !important;
		margin:0 !important;
		order:0;
	}
	.board-toolbar .search-form{
		display:flex !important;
		flex-flow:row nowrap !important;
		gap:0.4rem !important;
		width:100% !important;
		order:1;
	}
	.board-toolbar .search-form select{
		flex:0 0 8rem !important;
		min-width:8rem !important;
		height:4.4rem !important;
		font-size:1.3rem !important;
		padding:0 0.6rem !important;
		border:1px solid #ddd !important;
		border-radius:4px !important;
	}
	.board-toolbar .search-form input[type="text"]{
		flex:1 1 auto !important;
		min-width:0 !important;
		height:4.4rem !important;
		font-size:1.4rem !important;
		padding:0 1rem !important;
		border:1px solid #ddd !important;
		border-radius:4px !important;
	}
	.board-toolbar .search-form button{
		flex:0 0 6rem !important;
		min-width:6rem !important;
		height:4.4rem !important;
		font-size:1.35rem !important;
		background:#222 !important;
		color:#fff !important;
		border:0 !important;
		border-radius:4px !important;
		cursor:pointer !important;
	}

	/* board-table 행 터치 영역 + 링크 풀폭 */
	.board-table tbody td.subject{padding:1.4rem 0.8rem !important;}
	.board-table tbody td.subject a{
		display:block !important;
		min-height:2.4rem !important;
		line-height:1.5 !important;
		color:#222 !important;
		text-decoration:none !important;
	}
	.board-table tbody tr:hover td{background:#fafafa !important;}

	/* paginate — 정사각 버튼 */
	.paginate{
		display:flex !important;
		flex-flow:row wrap !important;
		justify-content:center !important;
		gap:0.4rem !important;
		margin:2.4rem 0 !important;
		padding:0 !important;
	}
	.paginate a{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		min-width:3.8rem !important;
		height:3.8rem !important;
		padding:0 0.6rem !important;
		font-size:1.35rem !important;
		line-height:1 !important;
		border:1px solid #e2e2e2 !important;
		border-radius:4px !important;
		color:#444 !important;
		background:#fff !important;
		text-decoration:none !important;
	}
	.paginate a.on{
		background:#222 !important;
		color:#fff !important;
		border-color:#222 !important;
		font-weight:600 !important;
	}
	.paginate a.next,
	.paginate a.prev,
	.paginate a.first,
	.paginate a.last{
		min-width:3.8rem !important;
		font-size:1.4rem !important;
	}
}

@media (max-width:480px){
	.board-toolbar .search-form select{flex:0 0 7rem !important; min-width:7rem !important; font-size:1.2rem !important;}
	.board-toolbar .search-form input[type="text"]{font-size:1.3rem !important;}
	.board-toolbar .search-form button{flex:0 0 5.4rem !important; min-width:5.4rem !important; font-size:1.25rem !important;}
	.paginate a{min-width:3.4rem !important; height:3.4rem !important; font-size:1.25rem !important;}
	/* 너무 많은 페이지 버튼은 양 끝 first/last 숨김 (5~7개 표시) */
	.paginate a.first,
	.paginate a.last{display:none !important;}
}
/* === END PAGE-ADDITIONS: notice (agentD) === */


/* === PAGE-ADDITIONS: press-extra (agentD 2026-06-16) === */
/* press 추가 보완 — 말머리 가독성, 검색 영역(공유 .board-toolbar 규칙 활용) */
@media (max-width:480px){
	#section-press .board-table tbody td.subject a{
		font-size:1.35rem !important;
		line-height:1.55 !important;
		display:block !important;
		min-height:2.4rem !important;
	}
	/* 말머리(보도자료/사진자료/매일경제 등) 배지 스타일 */
	#section-press .board-table tbody td.subject a strong,
	#section-press .board-table tbody td.subject a em,
	#section-press .board-table tbody td.subject a span.cate,
	#section-press .board-table tbody td.subject a span.head{
		display:inline-block !important;
		font-size:1.1rem !important;
		font-style:normal !important;
		padding:0.15rem 0.5rem !important;
		margin-right:0.4rem !important;
		background:#f0f3f8 !important;
		color:#3a5a8a !important;
		border-radius:3px !important;
		font-weight:600 !important;
		vertical-align:middle !important;
	}
	#section-press .board-table tbody td.date{
		font-size:1.15rem !important;
		color:#888 !important;
	}
}
/* === END PAGE-ADDITIONS: press-extra (agentD) === */


/* === PAGE-ADDITIONS: life-extra (agentD 2026-06-16) === */
/* life 추가 보완 — 섹션 간 구분 강화, 행간, 디바이더 */
@media (max-width:768px){
	#section-life .life-block{
		padding-bottom:2.4rem;
		border-bottom:1px solid #eee;
		margin-bottom:2.8rem;
	}
	#section-life .life-block:last-child{
		border-bottom:0;
		padding-bottom:0;
		margin-bottom:0;
	}
	#section-life .life-list > li dl dd,
	#section-life .life-grid3 > li dd{
		line-height:1.7 !important;
	}
	/* h4 좌측 인디케이터 더 진하게 */
	#section-life .life-block h4 i{
		background:var(--point) !important;
		border-radius:1px;
	}
	/* life-grid3 카드 내부 패딩 + 그림자 */
	#section-life .life-grid3 > li{
		background:#fff;
		border:1px solid #ececec;
		border-radius:6px;
		padding:1.8rem 1.4rem !important;
	}
}
@media (max-width:480px){
	#section-life .life-block{
		padding-bottom:2rem;
		margin-bottom:2.4rem;
	}
	#section-life .life-grid3 > li{
		padding:1.6rem 1.2rem !important;
	}
}
/* === END PAGE-ADDITIONS: life-extra (agentD) === */


/* === PAGE-ADDITIONS: journey-extra (agentD 2026-06-16) === */
/* journey 추가 보완 — 단계 번호 디자인, 유의사항 박스 강조 */
@media (max-width:480px){
	#section-journey .journey-steps > li{
		background:#fff;
		border:1px solid #ececec;
		border-radius:8px;
		box-shadow:0 1px 3px rgba(0,0,0,0.03);
	}
	/* 단계 번호 — 원형 배지 */
	#section-journey .journey-steps > li .num{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		width:3.4rem !important;
		min-width:3.4rem !important;
		height:3.4rem !important;
		border-radius:50% !important;
		background:var(--point, #1a4b8c) !important;
		color:#fff !important;
		font-size:1.4rem !important;
		font-weight:700 !important;
		line-height:1 !important;
		flex:0 0 3.4rem !important;
	}
	/* 화살표 — chevron 더 명확히 */
	#section-journey .journey-steps > li.arrow{
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		height:2.8rem !important;
		margin:0.2rem 0 !important;
	}
	#section-journey .journey-steps > li.arrow:before{
		content:"\25BC" !important;
		font-size:1.4rem !important;
		color:var(--point, #1a4b8c) !important;
		opacity:0.6;
	}

	/* 유의사항 박스 — 빨간 보더 + 좌측 액센트 */
	#section-journey .journey-notice{
		border:1px solid #f3c5c5 !important;
		border-left:4px solid #d9534f !important;
		background:#fff8f8 !important;
		border-radius:6px !important;
		padding:1.6rem !important;
	}
	#section-journey .journey-notice h5{
		color:#c0392b !important;
		font-weight:700 !important;
		margin-bottom:0.8rem !important;
	}
	#section-journey .journey-notice ul > li{
		color:#555 !important;
		padding-left:0.4rem !important;
	}

	/* detail dl 카드 강조 */
	#section-journey .journey-detail > dl{
		background:#fafbfc !important;
		border-radius:6px !important;
		padding:1.6rem !important;
	}
}
/* === END PAGE-ADDITIONS: journey-extra (agentD) === */

/* === PAGE-ADDITIONS: portfolio-modal-thumbs-carousel (2026-06-16) === */
/* 포트폴리오 모달 썸네일을 모든 미디어에서 가로 스크롤 캐러셀로 통일 */
.port-modal .m-thumbs{
	display:flex !important;
	flex-direction:row !important;
	grid-template-columns:none !important;
	grid-auto-rows:auto !important;
	gap:0.8rem !important;
	overflow-x:auto !important;
	overflow-y:hidden !important;
	scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch;
	padding-bottom:0.4rem;
	margin-bottom:1.2rem;
}
.port-modal .m-thumbs.single{display:none !important;}
.port-modal .m-thumbs .thumb{
	flex:0 0 auto !important;
	width:9rem !important;
	height:9rem !important;
	aspect-ratio:auto !important;
	min-height:0 !important;
	scroll-snap-align:start;
	border-radius:0.4rem !important;
	overflow:hidden;
	opacity:0.65;
	transition:opacity .2s, outline .2s, border-color .2s;
	border:1px solid transparent !important;
	padding:0;
	background:#f5f5f5;
	cursor:pointer;
}
.port-modal .m-thumbs .thumb:hover{opacity:0.9;}
.port-modal .m-thumbs .thumb.active{
	opacity:1;
	border-color:var(--point,#e4002b) !important;
	outline:2px solid var(--point,#e4002b);
}
.port-modal .m-thumbs .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.port-modal .m-thumbs::-webkit-scrollbar{height:4px;}
.port-modal .m-thumbs::-webkit-scrollbar-track{background:transparent;}
.port-modal .m-thumbs::-webkit-scrollbar-thumb{background:#ccc; border-radius:2px;}
.port-modal .m-thumbs::-webkit-scrollbar-thumb:hover{background:#999;}

/* 작은 모바일에서 썸네일 조금 작게 */
@media (max-width:480px){
	.port-modal .m-thumbs{gap:1rem !important; margin-bottom:2rem !important;}
	.port-modal .m-thumbs .thumb{width:12rem !important; height:12rem !important;}
}
/* 태블릿/PC */
@media (min-width:481px) and (max-width:1023px){
	.port-modal .m-thumbs .thumb{width:9rem !important; height:9rem !important;}
}
@media (min-width:1024px){
	.port-modal .m-thumbs .thumb{width:8rem !important; height:8rem !important;}
}
/* === END PAGE-ADDITIONS: portfolio-modal-thumbs-carousel === */

/* === PAGE-ADDITIONS: overview-aligned-a4-jobs (2026-06-16) === */
/* overview 토큰 정렬: 모바일 본문 ≥14px, line-height ≥1.5, 헤딩 15-18px */
@media (max-width:480px){
	#section-jobs .jobs-list .job-info h5{font-size:15px; line-height:1.3; margin:0 0 0.6rem;}
	#section-jobs .jobs-list .job-info .tags{font-size:13px; line-height:1.5; color:#888;}
	#section-jobs .jobs-list .job-meta{font-size:13px; line-height:1.6;}
	#section-jobs .jobs-list .job-meta p i{font-size:13px;}
	#section-jobs .jobs-list .job-action .btn-apply{font-size:13px; min-height:44px; padding:10px 14px;}
	#section-jobs .jobs-list .job-action .deadline{font-size:13px;}
	#section-jobs .jobs-list .job-action .newdate{font-size:12px;}
	#section-jobs .jobs-cat > a{font-size:14px; min-height:40px; padding:8px 0; line-height:1.2;}
	#section-jobs .jobs-cat-row{padding-bottom:10px;}
	#section-jobs .jobs-sort{min-height:40px; font-size:13px; padding:8px 28px 8px 10px;}
	#section-jobs .paginate > a{min-width:36px; height:36px; font-size:13px;}
}
/* tablet 481-1024 — overview 정렬 (rem 유지) */
@media (max-width:1024px) and (min-width:481px){
	#section-jobs .jobs-list .job-info h5{font-size:1.55rem; line-height:1.35;}
	#section-jobs .jobs-list .job-info .tags{font-size:1.2rem; line-height:1.6; color:#888;}
	#section-jobs .jobs-list .job-meta{font-size:1.3rem; line-height:1.6;}
	#section-jobs .jobs-list .job-action .btn-apply{font-size:1.3rem; min-height:3.6rem;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a4-jobs === */

/* === PAGE-ADDITIONS: overview-aligned-a4-recruit (2026-06-16) === */
/* overview 토큰 정렬: 안내문 가독성 + 정책/버튼 일관 */
@media (max-width:480px){
	#section-recruit .form-required{font-size:13px; line-height:1.5; margin:0 0 12px;}
	#section-recruit table.form-table th{font-size:14px; line-height:1.4; padding:10px 2px;}
	#section-recruit table.form-table td{padding:6px 2px 12px;}
	#section-recruit table.form-table td label,
	#section-recruit table.form-table td span{font-size:14px; line-height:1.5;}
	#section-recruit .form-policy h6{font-size:15px; line-height:1.4;}
	#section-recruit .form-policy .policy-box{font-size:13px; line-height:1.7; padding:14px;}
	#section-recruit .form-policy .agree-row .check-label{font-size:14px; line-height:1.5; min-height:36px;}
	#section-recruit .form-btns button.btn-submit,
	#section-recruit .form-btns a.btn-cancel{font-size:15px; line-height:1.4;}
}
/* tablet — overview 정렬 */
@media (max-width:1024px) and (min-width:481px){
	#section-recruit .form-required{font-size:1.3rem; color:#888;}
	#section-recruit table.form-table th{font-size:1.35rem; line-height:1.4;}
	#section-recruit table.form-table td{font-size:1.4rem; line-height:1.6;}
	#section-recruit .form-policy h6{font-size:1.4rem;}
	#section-recruit .form-policy .policy-box{font-size:1.3rem; line-height:1.7;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a4-recruit === */

/* === PAGE-ADDITIONS: overview-aligned-a4-inquiry (2026-06-16) === */
/* overview 토큰 정렬: 카테고리 라디오 / 폼 라벨 가독성 */
@media (max-width:480px){
	#section-inquiry .form-required{font-size:13px; line-height:1.5; margin:0 0 12px;}
	#section-inquiry table.form-table th{font-size:14px; line-height:1.4; padding:10px 2px;}
	#section-inquiry table.form-table td.radio-row label{font-size:14px; line-height:1.5; min-height:36px;}
	#section-inquiry .form-policy h6{font-size:15px; line-height:1.4; padding-bottom:10px;}
	#section-inquiry .form-policy .policy-box{font-size:13px; line-height:1.7;}
	#section-inquiry .form-policy label{font-size:14px; line-height:1.5; min-height:36px;}
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{font-size:15px; line-height:1.4;}
}
/* tablet — overview 정렬 */
@media (max-width:1024px) and (min-width:481px){
	#section-inquiry table.form-table th{font-size:1.35rem; line-height:1.4;}
	#section-inquiry table.form-table td{font-size:1.4rem; line-height:1.6;}
	#section-inquiry table.form-table td.radio-row label{font-size:1.4rem; line-height:1.5;}
	#section-inquiry .form-policy h6{font-size:1.4rem;}
	#section-inquiry .form-policy .policy-box{font-size:1.3rem; line-height:1.7;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a4-inquiry === */

/* === PAGE-ADDITIONS: overview-aligned-a4-faq (2026-06-16) === */
/* overview 토큰 정렬: 본문 14px 통일, 아코디언 헤더/페이지네이션 */
@media (max-width:480px){
	#section-faq .faq-cat > a{font-size:14px; line-height:1.3; min-height:44px; padding:10px 0 12px;}
	#section-faq .faq-toolbar .total{font-size:13px; line-height:1.5;}
	#section-faq .faq-toolbar .search-form select,
	#section-faq .faq-toolbar .search-form input[type=text]{font-size:14px;}
	#section-faq .faq-table tr.faq-q td.subject{font-size:14px; line-height:1.5;}
	#section-faq .faq-table tr.faq-q td{font-size:13px; line-height:1.5;}
	#section-faq .faq-table tr.faq-a td.content{font-size:13px; line-height:1.7;}
	#section-faq .paginate > a{min-width:40px; height:40px; font-size:13px;}
}
/* tablet — overview 정렬 */
@media (max-width:1024px) and (min-width:481px){
	#section-faq .faq-cat > a{font-size:1.4rem; line-height:1.3;}
	#section-faq .faq-toolbar .total{font-size:1.35rem; line-height:1.5;}
	#section-faq .faq-table tr.faq-q td.subject{font-size:1.4rem; line-height:1.5;}
	#section-faq .faq-table tr.faq-a td.content{font-size:1.35rem; line-height:1.7;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a4-faq === */

/* ============================================================ */
/* === PAGE-ADDITIONS: overview-aligned-a3 (2026-06-16) === */
/* overview.php 표준 토큰으로 4개 페이지 정합화 */
/* 토큰: base20/lineHeight1.6, h3 1.25em·lh1.3, p.tit 1.1em·600 */
/* 색상: #000 강조 / #666 본문 / var(--point) 포인트 */
/* 섹션 gap: desktop 7.5rem / tablet 6rem / mobile 5rem */
/* ============================================================ */

/* ---------- PAGE-ADDITIONS: overview-aligned-a3-awards ---------- */
/* awards: 연도 dt(14rem) 토큰 정합 + 카드 라벨 색상 + 행간 */
#section-awards .awards-year{gap:5rem; margin-bottom:5rem; padding-bottom:5rem;}
#section-awards .awards-year h3{font-weight:600; font-size:2.4rem; line-height:1.3; color:#000;}
#section-awards .awards-list > li{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-awards .awards-list > li strong, 
#section-awards .awards-list > li .tit{font-weight:600; color:#000; line-height:1.3;}
#section-awards .card-prize .badge,
#section-awards .card-cert .badge{font-weight:600; line-height:1;}
#section-awards .card-prize .badge{background:var(--point); color:#fff;}
#section-awards .card-cert .badge{background:#000; color:#fff;}
@media (max-width:1024px){
	#section-awards .awards-year{gap:3rem; margin-bottom:4rem; padding-bottom:4rem;}
	#section-awards .awards-year h3{font-size:2rem; line-height:1.3;}
	#section-awards .awards-list > li{font-size:15px; line-height:1.6;}
	#section-awards .awards-list > li strong{font-size:17px; line-height:1.3;}
}
@media (max-width:480px){
	#section-awards .awards-year{gap:2rem; margin-bottom:5rem; padding-bottom:5rem;}
	#section-awards .awards-year h3{font-size:18px; line-height:1.3;}
	#section-awards .awards-list > li{font-size:14px; line-height:1.6;}
	#section-awards .awards-list > li strong{font-size:15px; line-height:1.3; margin-top:0.6rem;}
	#section-awards .awards-list > li + li{margin-top:1.2rem;}
}

/* ---------- PAGE-ADDITIONS: overview-aligned-a3-talent ---------- */
/* talent: overview .overview-layout dl 토큰 정합 (dt 1.25em·600·#000, dd base20·lh1.6·#666) */
#section-talent .talent-row{margin:8rem 0; column-gap:5rem;}
#section-talent .talent-row + .talent-row{margin-top:8rem;}
#section-talent .talent-row > dl > dt{font-weight:600; font-size:2.5rem; line-height:1.3; color:#000; margin-bottom:2rem;}
#section-talent .talent-row > dl > dd{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-talent .talent-xcode > dl > dt{font-weight:600; font-size:2.5rem; line-height:1.3; color:#000; margin-bottom:3rem;}
#section-talent .talent-xcode > dl .xcode-item h5{font-weight:600; font-size:1.65em; color:#000; margin-bottom:1rem; line-height:1.3;}
#section-talent .talent-xcode > dl .xcode-item p{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-talent .talent-mice{margin-top:7.5rem; gap:2rem;}
#section-talent .talent-mice .mice-name{font-weight:600; font-size:2.2rem; line-height:1.3; color:#000;}
#section-talent .talent-mice .mice-sub{font-weight:600; font-size:2.2rem; line-height:1.35; color:#000;}
#section-talent .talent-mice .mice-desc{font-size:var(--base20); line-height:var(--lineHeight); color:#666; margin-top:1rem;}
#section-talent .talent-mice .mice-desc p:first-letter,
#section-talent .talent-mice .mice-name:first-letter{color:var(--point);}
@media (max-width:1024px){
	#section-talent .talent-row{margin:5rem 0; column-gap:3rem;}
	#section-talent .talent-row > dl > dt{font-size:20px; line-height:1.3; margin-bottom:1.4rem;}
	#section-talent .talent-row > dl > dd{font-size:15px; line-height:1.6;}
	#section-talent .talent-xcode-bg{padding:5rem 0; margin:5rem -2rem;}
	#section-talent .talent-xcode > dl > dt{font-size:20px; line-height:1.3; margin-bottom:2rem;}
	#section-talent .talent-xcode > dl .xcode-item h5{font-size:17px; line-height:1.3;}
	#section-talent .talent-xcode > dl .xcode-item p{font-size:15px; line-height:1.6;}
	#section-talent .talent-mice{margin-top:5rem;}
}
@media (max-width:480px){
	#section-talent .talent-row > dl > dt{font-size:18px; line-height:1.3; margin-bottom:1.2rem;}
	#section-talent .talent-row > dl > dd{font-size:14px; line-height:1.6;}
	#section-talent .talent-xcode > dl > dt{font-size:18px; line-height:1.3; margin-bottom:1.6rem;}
	#section-talent .talent-xcode > dl .xcode-item h5{font-size:15px; line-height:1.3;}
	#section-talent .talent-xcode > dl .xcode-item p{font-size:13px; line-height:1.5;}
	#section-talent .talent-mice{margin-top:5rem;}
	#section-talent .talent-mice .mice-name,
	#section-talent .talent-mice .mice-sub{font-size:18px; line-height:1.3;}
	#section-talent .talent-mice .mice-desc{font-size:13px; line-height:1.5;}
}

/* ---------- PAGE-ADDITIONS: overview-aligned-a3-life ---------- */
/* life: 4섹션 복지 카드 — overview .overview-point li 토큰 (p.tit 1.1em·600 / p.txt base·lh1.6) */
#section-life .life-block{margin-bottom:7.5rem;}
#section-life .life-block + .life-block{margin-top:0;}
#section-life .life-block h4{font-weight:600; font-size:2.4rem; line-height:1.3; color:#000; padding-bottom:1.5rem;}
#section-life .life-block h4 i{background:var(--point);}
#section-life .life-block .sub{font-size:1.5rem; line-height:var(--lineHeight); color:#666;}
#section-life .life-list > li{padding:2.4rem 0;}
#section-life .life-list > li dl dt{font-weight:600; font-size:1.65em; line-height:1.3; color:#000;}
#section-life .life-list > li dl dd{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-life .life-grid3 > li{padding:2.4rem 1.5rem;}
#section-life .life-grid3 > li dl dt{font-weight:600; font-size:1.55em; line-height:1.3; color:#000;}
#section-life .life-grid3 > li dl dt .small{font-weight:400; font-size:0.78em; color:#888;}
@media (max-width:1024px){
	#section-life .life-block{margin-bottom:6rem;}
	#section-life .life-block h4{font-size:20px; line-height:1.3;}
	#section-life .life-block .sub{font-size:14px; line-height:1.6;}
	#section-life .life-list > li dl dt{font-size:17px; line-height:1.3;}
	#section-life .life-list > li dl dd{font-size:15px; line-height:1.6;}
	#section-life .life-grid3 > li dl dt{font-size:16px; line-height:1.3;}
}
@media (max-width:480px){
	#section-life .life-block{margin-bottom:5rem;}
	#section-life .life-block h4{font-size:18px; line-height:1.3;}
	#section-life .life-block .sub{font-size:13px; line-height:1.5;}
	#section-life .life-list > li dl dt{font-size:15px; line-height:1.3;}
	#section-life .life-list > li dl dd{font-size:14px; line-height:1.6; margin-top:0.6rem;}
	#section-life .life-grid3 > li dl dt{font-size:15px; line-height:1.3;}
}

/* ---------- PAGE-ADDITIONS: overview-aligned-a3-journey ---------- */
/* journey: 4단계 화살표 프로세스 — overview .overview-point 4분할 카드 토큰 정합 */
#section-journey .journey-steps{margin:5rem 0 7.5rem; gap:0;}
#section-journey .journey-steps > li{padding:3.6rem 1.5rem;}
#section-journey .journey-steps > li .num{font-weight:600; font-size:1.4rem; line-height:1; color:var(--point); margin-bottom:1.5rem;}
#section-journey .journey-steps > li dl dt{font-weight:600; font-size:1.65em; line-height:1.3; color:#000; margin-bottom:0.8rem;}
#section-journey .journey-steps > li dl dt:first-letter{color:var(--point);}
#section-journey .journey-steps > li dl dd{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-journey .journey-steps > li.arrow:before{color:#bbb;}
#section-journey .journey-detail{margin-top:5rem; margin-bottom:5rem;}
#section-journey .journey-detail > dl{padding:3rem 0; gap:3rem;}
#section-journey .journey-detail > dl dt{font-weight:600; font-size:1.9rem; line-height:1.3; color:#000;}
#section-journey .journey-detail > dl dd{font-size:var(--base20); line-height:var(--lineHeight); color:#666;}
#section-journey .journey-detail > dl dd .dd-grid p.t{font-weight:600; color:#000; line-height:1.3;}
#section-journey .journey-notice{margin-top:5rem; padding:2.4rem 3rem;}
#section-journey .journey-notice h5{font-weight:600; font-size:1.6rem; line-height:1.3; color:#000;}
#section-journey .journey-notice ul > li{font-size:1.4rem; line-height:var(--lineHeight); color:#666;}
@media (max-width:1024px){
	#section-journey .journey-steps{margin:4rem 0 6rem;}
	#section-journey .journey-steps > li{padding:2.4rem 1rem;}
	#section-journey .journey-steps > li dl dt{font-size:17px; line-height:1.3;}
	#section-journey .journey-steps > li dl dd{font-size:14px; line-height:1.6;}
	#section-journey .journey-detail > dl{padding:2.4rem 0; gap:2rem;}
	#section-journey .journey-detail > dl dt{font-size:17px; line-height:1.3;}
	#section-journey .journey-detail > dl dd{font-size:15px; line-height:1.6;}
}
@media (max-width:480px){
	#section-journey .journey-steps{margin:3rem 0 5rem;}
	#section-journey .journey-steps > li dl dt{font-size:15px; line-height:1.3;}
	#section-journey .journey-steps > li dl dd{font-size:13px; line-height:1.5;}
	#section-journey .journey-detail > dl dt{font-size:15px; line-height:1.3;}
	#section-journey .journey-detail > dl dd{font-size:13px; line-height:1.5;}
	#section-journey .journey-notice h5{font-size:14px; line-height:1.3;}
	#section-journey .journey-notice ul > li{font-size:12px; line-height:1.5;}
}

/* === END PAGE-ADDITIONS: overview-aligned-a3 === */
/* === PAGE-ADDITIONS: overview-aligned-a10-portfolio (2026-06-16) === */
/* overview 기준치 align: 모바일 본문 14px 하한, dd line-height 1.5~1.6, dt line-height 1.3 */
@media (max-width:480px){
	#section-portfolio .port-grid dd.excerpt{line-height:1.5 !important; -webkit-line-clamp:2 !important;}
	#section-portfolio .port-grid dt{line-height:1.3 !important; margin:0 0 0.6rem !important;}
	#section-portfolio .port-grid > li a.port-open{gap:1rem !important;}
	#section-portfolio{padding-top:5rem !important;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a10-portfolio === */

/* === PAGE-ADDITIONS: overview-aligned-a10-areas (2026-06-16) === */
/* overview 기준 align: 모바일 본문 14px+, dt 15px+, 섹션 5rem 간격 */
@media (max-width:480px){
	#section-areas{padding-top:5rem;}
	#section-areas .icon-list>li>dl>dt{font-size:15px; line-height:1.3;}
	#section-areas .icon-list>li>dl>dd{font-size:13px; line-height:1.5; margin-top:0.6rem;}
	#section-areas .areas-detail{margin-top:5rem;}
	#section-areas .areas-detail+.areas-detail{margin-top:5rem;}
	#section-areas .areas-detail dl>dt{font-size:18px; line-height:1.3;}
	#section-areas .areas-detail dl>dd{font-size:14px; line-height:1.6; margin-top:0.8rem;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a10-areas === */

/* === PAGE-ADDITIONS: overview-aligned-a10-life (2026-06-16) === */
/* overview 기준 align: 모바일 본문 dd 1.2rem(12px)→14px 회복, dt line-height 1.3, life-block sub 14px */
@media (max-width:480px){
	#section-life{padding-top:5rem;}
	#section-life .life-list > li dl dt{font-size:15px; line-height:1.3;}
	#section-life .life-list > li dl dd{font-size:14px; line-height:1.5;}
	#section-life .life-grid3 > li dl dt{font-size:15px; line-height:1.3;}
	#section-life .life-grid3 > li dl dd{font-size:13px; line-height:1.5; margin-top:0.6rem;}
	#section-life .life-block{margin-top:5rem;}
	#section-life .life-block .sub{font-size:13px; line-height:1.5;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a10-life === */

/* === PAGE-ADDITIONS: overview-aligned-a10-inquiry (2026-06-16) === */
/* overview 기준 align: 모바일 폼 라벨/값 14px 하한, captcha-help 13px, 섹션 5rem 상단 */
@media (max-width:480px){
	#section-inquiry{padding-top:5rem;}
	#section-inquiry table.form-table th{font-size:14px; line-height:1.3;}
	#section-inquiry table.form-table td{font-size:14px; line-height:1.5;}
	#section-inquiry table.form-table td input[type=text],
	#section-inquiry table.form-table td input[type=email],
	#section-inquiry table.form-table td input[type=tel],
	#section-inquiry table.form-table td select,
	#section-inquiry table.form-table td textarea{font-size:14px; line-height:1.5;}
	#section-inquiry table.form-table td.radio-row label{font-size:14px;}
	#section-inquiry .captcha-help{font-size:13px; line-height:1.5;}
	#section-inquiry .form-required{font-size:13px; line-height:1.5;}
	#section-inquiry .form-policy label{font-size:13px; line-height:1.5;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a10-inquiry === */
/* PAGE-ADDITIONS: overview-aligned-a2-portfolio */
#section-portfolio h2 {
  font-size: 33px;
  line-height: 33px;
  font-weight: 800;
}
#section-portfolio .port-grid h3,
#section-portfolio .port-cat h3 {
  font-size: 19.8px;
  line-height: 25.74px;
  font-weight: 700;
  color: #000;
}
#section-portfolio .port-grid h4 {
  font-size: 15.4px;
  line-height: 20.02px;
  font-weight: 700;
  color: #111;
}
#section-portfolio .port-grid dl dt,
#section-portfolio .port-open dl dt {
  font-size: 15px;
  line-height: 19.5px;
  font-weight: 600;
  color: #000;
}
#section-portfolio .port-grid dl dd,
#section-portfolio .port-open dl dd {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 400;
  color: #888;
}
@media (min-width: 768px) {
  #section-portfolio h2 {
    font-size: 39px;
    line-height: 39px;
  }
  #section-portfolio .port-grid h3,
  #section-portfolio .port-cat h3 {
    font-size: 23.4px;
    line-height: 30.42px;
  }
  #section-portfolio .port-grid h4 {
    font-size: 17.16px;
    line-height: 22.31px;
  }
  #section-portfolio .port-grid dl dt,
  #section-portfolio .port-open dl dt {
    font-size: 15.6px;
    line-height: 22.1px;
  }
  #section-portfolio .port-grid dl dd,
  #section-portfolio .port-open dl dd {
    font-size: 13.65px;
    line-height: 19.5px;
  }
}
@media (min-width: 1024px) {
  #section-portfolio h2 {
    font-size: 50px;
    line-height: 50px;
  }
  #section-portfolio .port-grid h3,
  #section-portfolio .port-cat h3 {
    font-size: 36px;
    line-height: 46.8px;
  }
  #section-portfolio .port-grid h4 {
    font-size: 22px;
    line-height: 28.6px;
  }
  #section-portfolio .port-grid dl dt,
  #section-portfolio .port-open dl dt {
    font-size: 20px;
    line-height: 30px;
  }
  #section-portfolio .port-grid dl dd,
  #section-portfolio .port-open dl dd {
    font-size: 17px;
    line-height: 25.5px;
  }
}
/* PAGE-ADDITIONS-END: portfolio */
/* PAGE-ADDITIONS: overview-aligned-a2-news */
#section-news .board-cards dl dt,
#section-news .board-cards dt {
  font-size: 15px;
  line-height: 19.5px;
  font-weight: 600;
  color: #000;
}
#section-news .board-cards dl dd,
#section-news .board-cards dd {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 400;
  color: #555;
}
@media (min-width: 768px) {
  #section-news .board-cards dl dt,
  #section-news .board-cards dt {
    font-size: 15.6px;
    line-height: 22.1px;
  }
  #section-news .board-cards dl dd,
  #section-news .board-cards dd {
    font-size: 13.65px;
    line-height: 19.5px;
  }
}
@media (min-width: 1024px) {
  #section-news .board-cards dl dt,
  #section-news .board-cards dt {
    font-size: 20px;
    line-height: 28px;
  }
  #section-news .board-cards dl dd,
  #section-news .board-cards dd {
    font-size: 17px;
    line-height: 25.5px;
  }
}
/* PAGE-ADDITIONS-END: news */
/* PAGE-ADDITIONS: overview-aligned-a2-notice */
#section-notice .board-table {
  font-size: 13px;
  line-height: 19.5px;
}
#section-notice .board-table th {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 600;
  color: #000;
  padding: 10px 6px;
}
#section-notice .board-table td {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 400;
  color: #555;
  padding: 12px 6px;
}
@media (min-width: 768px) {
  #section-notice .board-table {
    font-size: 15.6px;
    line-height: 22.1px;
  }
  #section-notice .board-table th {
    font-size: 15.6px;
    line-height: 22.1px;
    padding: 12px 8px;
  }
  #section-notice .board-table td {
    font-size: 15.6px;
    line-height: 22.1px;
    padding: 14px 8px;
  }
}
@media (min-width: 1024px) {
  #section-notice .board-table {
    font-size: 20px;
    line-height: 30px;
  }
  #section-notice .board-table th {
    font-size: 20px;
    line-height: 30px;
    padding: 18px 10px;
  }
  #section-notice .board-table td {
    font-size: 20px;
    line-height: 30px;
    padding: 20px 10px;
  }
}
/* PAGE-ADDITIONS-END: notice */
/* PAGE-ADDITIONS: overview-aligned-a2-press */
#section-press .board-table {
  font-size: 13px;
  line-height: 19.5px;
}
#section-press .board-table th {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 600;
  color: #000;
  padding: 10px 6px;
}
#section-press .board-table td {
  font-size: 13px;
  line-height: 19.5px;
  font-weight: 400;
  color: #555;
  padding: 12px 6px;
}
@media (min-width: 768px) {
  #section-press .board-table {
    font-size: 15.6px;
    line-height: 22.1px;
  }
  #section-press .board-table th {
    font-size: 15.6px;
    line-height: 22.1px;
    padding: 12px 8px;
  }
  #section-press .board-table td {
    font-size: 15.6px;
    line-height: 22.1px;
    padding: 14px 8px;
  }
}
@media (min-width: 1024px) {
  #section-press .board-table {
    font-size: 20px;
    line-height: 30px;
  }
  #section-press .board-table th {
    font-size: 20px;
    line-height: 30px;
    padding: 18px 10px;
  }
  #section-press .board-table td {
    font-size: 20px;
    line-height: 30px;
    padding: 20px 10px;
  }
}
/* PAGE-ADDITIONS-END: press */

/* === PAGE-ADDITIONS: overview-aligned-history === */
/* Align history dt/dd with overview tokens across viewports
   Tokens (overview ref): 360/390 dt 13.2/dd 14|lh21; 768 dt 15.6/dd 19.5|lh26; 1024/1440 dt 20/dd 25|lh35
   History uses small date-style dt/dd inside .history-list dl — we raise tablet/desktop sizes so they
   are readable while staying smaller than overview's body dl (intent: date-list, not narrative). */
#section-history .history-list dl dt,
#section-history .history-list dl dd {
  font-size: 13px;
  line-height: 1.5;
}
@media (min-width: 768px) {
  #section-history .history-list dl dt { font-size: 15px; line-height: 1.5; }
  #section-history .history-list dl dd { font-size: 15px; line-height: 1.55; }
}
@media (min-width: 1024px) {
  #section-history .history-list dl dt { font-size: 18px; line-height: 1.4; font-weight: 700; }
  #section-history .history-list dl dd { font-size: 17px; line-height: 1.55; }
}
@media (min-width: 1440px) {
  #section-history .history-list dl dt { font-size: 20px; line-height: 1.4; }
  #section-history .history-list dl dd { font-size: 18px; line-height: 1.6; }
}
/* hero text vertical rhythm to match overview body line-heights */
#section-history .hero-text .desc { line-height: 1.55; }
@media (max-width: 480px) {
  #section-history .hero-text .period { font-size: 14px; line-height: 1.4; }
  #section-history .hero-text .years  { font-size: 28px; line-height: 1.2; }
  #section-history .hero-text .desc   { font-size: 13px; line-height: 1.55; }
}
/* === END PAGE-ADDITIONS: overview-aligned-history === */

/* === PAGE-ADDITIONS: overview-aligned-areas === */
/* areas: dd english subtitle stays smaller (intent), but lock its line-height to 1.4 to match overview.
   On 768 the dd line-height was 17.42px (1.24) — too tight; widen. */
#section-areas .icon-list dt {
  line-height: 1.4;
}
#section-areas .icon-list dd {
  line-height: 1.45;
}
@media (min-width: 768px) and (max-width: 1023px) {
  #section-areas .icon-list dd { font-size: 15px; line-height: 1.45; }
  #section-areas .icon-list dt { font-size: 18px; line-height: 1.4; }
}
/* areas detail body paragraph: align with overview p tokens */
#section-areas .areas-detail .detail-desc { line-height: 1.6; }
#section-areas .areas-detail .detail-en   { line-height: 1.4; }
@media (max-width: 480px) {
  #section-areas .areas-detail h4         { font-size: 22px; line-height: 1.3; }
  #section-areas .areas-detail .detail-en { font-size: 13px; line-height: 1.4; }
  #section-areas .areas-detail .detail-desc { font-size: 13px; line-height: 1.6; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #section-areas .areas-detail h4 { font-size: 26px; line-height: 1.3; }
  #section-areas .areas-detail .detail-en { font-size: 15px; line-height: 1.4; }
  #section-areas .areas-detail .detail-desc { font-size: 15px; line-height: 1.6; }
}
/* === END PAGE-ADDITIONS: overview-aligned-areas === */

/* === PAGE-ADDITIONS: overview-aligned-capabilities === */
/* capabilities has no dt/dd — align h4/.detail-desc rhythm with overview tokens.
   overview p line-height ≈ 1.5; we apply 1.6 for narrative paragraphs to match historical practice. */
#section-capability .areas-detail .detail-desc { line-height: 1.6; }
@media (max-width: 480px) {
  #section-capability .areas-detail h4         { font-size: 22px; line-height: 1.3; }
  #section-capability .areas-detail .detail-desc { font-size: 13px; line-height: 1.6; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #section-capability .areas-detail h4 { font-size: 26px; line-height: 1.3; }
  #section-capability .areas-detail .detail-desc { font-size: 15px; line-height: 1.6; }
}
@media (min-width: 1024px) {
  #section-capability .areas-detail h4 { line-height: 1.25; }
  #section-capability .areas-detail .detail-desc { font-size: 17px; line-height: 1.65; }
}
@media (min-width: 1440px) {
  #section-capability .areas-detail .detail-desc { font-size: 18px; line-height: 1.65; }
}
/* === END PAGE-ADDITIONS: overview-aligned-capabilities === */

/* === PAGE-ADDITIONS: overview-aligned-sustainability === */
/* sustainability: keep card sizing but normalize line-heights for parity with overview.
   esg-cards dt/dd were tight (lh ≈ 1.0). sustain-cards dd was 33.8/26 ≈ 1.3 — bring to 1.5. */
#section-sustain .esg-cards .label dt { line-height: 1.3; }
#section-sustain .esg-cards .label dd { line-height: 1.5; }
#section-sustain .sustain-cards li dt { line-height: 1.4; }
#section-sustain .sustain-cards li dd { line-height: 1.55; }
#section-sustain .sustain-promise { line-height: 1.4; }
#section-sustain .sustain-desc    { line-height: 1.6; }
@media (max-width: 480px) {
  #section-sustain .esg-cards .label dt { font-size: 16px; line-height: 1.3; }
  #section-sustain .esg-cards .label dd { font-size: 15px; line-height: 1.5; }
  #section-sustain .sustain-cards li dt { font-size: 13px; line-height: 1.4; }
  #section-sustain .sustain-cards li dd { font-size: 14px; line-height: 1.55; }
  #section-sustain .sustain-promise     { font-size: 14px; line-height: 1.4; }
  #section-sustain .sustain-desc        { font-size: 13px; line-height: 1.6; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #section-sustain .esg-cards .label dt { font-size: 18px; line-height: 1.3; }
  #section-sustain .esg-cards .label dd { font-size: 17px; line-height: 1.5; }
  #section-sustain .sustain-cards li dt { font-size: 14px; line-height: 1.4; }
  #section-sustain .sustain-cards li dd { font-size: 15px; line-height: 1.55; }
}
/* === END PAGE-ADDITIONS: overview-aligned-sustainability === */

/* PAGE-ADDITIONS: overview-aligned-a8-sustainability — tab card image proportional shrink */
@media (min-width: 768px) and (max-width: 1023px) {
  .sustain-bg .sub_top_box01 ul li img,
  .sustain-bg .sub_top_box01 ul li > img,
  .full-area.sustain-bg img.aos-init,
  .full-area.sustain-social img.aos-init {
    max-width: 360px;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
  }
}

/* PAGE-ADDITIONS: overview-aligned-a8-journey — visual aligned with overview baseline (no content media diff) */
/* journey: bg_05 + social svg only; matches overview visual bar pattern. No additions required. */

/* PAGE-ADDITIONS: overview-aligned-a8-location — world_map responsive expansion */
.world-map-img {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
}
@media (min-width: 1024px) {
  .world-map-img {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
@media (min-width: 1440px) {
  .world-map-img {
    max-width: 1280px;
  }
}

/* PAGE-ADDITIONS: overview-aligned-a8-news — thumbnail aspect lock 16:10 + tab proportional */
.news .thumb,
.news_list .thumb,
.news-list .thumb,
.pr_news .thumb,
.pr_news_list .thumb,
.news_list li span[style*="background"],
.news_list li a > span[style*="background"] {
  aspect-ratio: 16 / 10;
  background-size: cover;
  background-position: 50% 50%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .news_list li span[style*="background"],
  .news_list li a > span[style*="background"],
  .news .thumb, .news_list .thumb, .news-list .thumb, .pr_news .thumb {
    max-width: 360px;
    width: 100%;
    aspect-ratio: 16 / 10;
  }
}

/* === PAGE-ADDITIONS: overview-aligned-a9-notice (2026-06-16) === */
/* A2: overview 기준 840/1024 brk 정렬 — notice 보드 */
@media only screen and (max-width:1024px){
	#section-notice .board-toolbar,
	#bo_notice .board-toolbar{padding:0 2rem;}
	#section-notice .board-table,
	#bo_notice .board-table{font-size:1.5rem;}
}
@media only screen and (max-width:840px){
	#section-notice .board-table thead th.no,
	#section-notice .board-table tbody td.no,
	#section-notice .board-table thead th.hit,
	#section-notice .board-table tbody td.hit,
	#bo_notice .board-table thead th.no,
	#bo_notice .board-table tbody td.no,
	#bo_notice .board-table thead th.hit,
	#bo_notice .board-table tbody td.hit{display:none;}
	#section-notice .board-table tbody td.subject,
	#bo_notice .board-table tbody td.subject{padding:1.6rem 0.8rem;}
	#section-notice .board-table tbody td.date,
	#bo_notice .board-table tbody td.date{font-size:1.3rem; color:#888; white-space:nowrap;}
	#section-notice .board-toolbar,
	#bo_notice .board-toolbar{padding:0 1.5rem; margin-bottom:1.6rem;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a9-notice === */

/* === PAGE-ADDITIONS: overview-aligned-a9-press (2026-06-16) === */
/* A2: overview 기준 840/1024 brk 정렬 — press 보드 */
@media only screen and (max-width:1024px){
	#section-press .board-toolbar{padding:0 2rem;}
	#section-press .board-table{font-size:1.5rem;}
}
@media only screen and (max-width:840px){
	#section-press .board-table thead th.no,
	#section-press .board-table tbody td.no,
	#section-press .board-table thead th.hit,
	#section-press .board-table tbody td.hit{display:none;}
	#section-press .board-table tbody td.subject{padding:1.6rem 0.8rem;}
	#section-press .board-table tbody td.subject a{display:block; line-height:1.6;}
	#section-press .board-table tbody td.date{font-size:1.3rem; color:#888; white-space:nowrap;}
	#section-press .board-toolbar{padding:0 1.5rem; margin-bottom:1.6rem;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a9-press === */

/* === PAGE-ADDITIONS: overview-aligned-a9-history (2026-06-16) === */
/* A1/A5: overview 기준 1280/1024/840 brk 보강 — history zigzag */
@media only screen and (max-width:1280px) and (min-width:1025px){
	#section-history .history-block{column-gap:4rem;}
	#section-history .history-block--left .history-list{padding-left:2rem;}
	#section-history .history-block--right .history-list{padding-right:2rem;}
}
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-history{max-width:none; padding:0 4rem;}
	#section-history .history-block{column-gap:3rem; margin-bottom:6rem;}
	#section-history .history-block .period-label{max-width:28rem;}
	#section-history .history-block .period-label p{font-size:2rem;}
	#section-history .history-hero{padding:7rem 2rem; margin-bottom:6rem;}
	#section-history .history-hero .hero-text .years{font-size:3.8rem;}
	#section-history .history-block--left .history-list{padding-left:2rem;}
	#section-history .history-block--right .history-list{padding-right:2rem;}
}
@media only screen and (max-width:840px) and (min-width:769px){
	/* 769~840: 모바일 1열 룰을 미리 끌어와 zigzag 깨짐 차단 */
	#section-history .history-axis{left:1.6rem; transform:none; top:-4rem;}
	#section-history .history-block{grid-template-columns:1fr; row-gap:3rem; margin-bottom:5rem; padding-left:4rem; column-gap:0;}
	#section-history .history-block--left .period-label,
	#section-history .history-block--right .period-label{grid-column:1; grid-row:1; justify-self:start; text-align:left; padding-top:0; max-width:32rem;}
	#section-history .history-block--left .history-list,
	#section-history .history-block--right .history-list{grid-column:1; grid-row:2; padding:0; text-align:left;}
	#section-history .history-block--right .history-list > li{text-align:left;}
	#section-history .history-block--left .history-list > li > h5,
	#section-history .history-block--right .history-list > li > h5{margin:0 0 1.2rem -2.4rem; padding:0 0 0 2.4rem;}
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{left:0; right:auto; transform:translate(-50%,-50%);}
	#section-history .history-block--right .history-list > li > dl{justify-content:flex-start;}
	#section-history .history-block--right .history-list > li > dl > dt{order:0;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a9-history === */

/* === PAGE-ADDITIONS: overview-aligned-a9-talent (2026-06-16) === */
/* A3/A6: overview 기준 1024/840 brk 보강 — talent 그리드 */
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-talent .talent-row{gap:0 4rem;}
	#section-talent .talent-row > figure{width:42%;}
	#section-talent .talent-row > dl{flex:1;}
	#section-talent .talent-row > dl > dt{font-size:2.2rem;}
	#section-talent .talent-xcode{grid-template-columns:1fr 1fr; gap:3rem;}
	#section-talent .talent-xcode-bg{padding:5rem 3rem;}
	#section-talent .talent-mice{grid-template-columns:repeat(2,1fr); gap:3rem;}
}
@media only screen and (max-width:840px) and (min-width:481px){
	#section-talent .talent-row{display:flex; flex-flow:column nowrap; gap:2rem; margin:5rem 0;}
	#section-talent .talent-row > figure{width:100%; aspect-ratio:3/2;}
	#section-talent .talent-row > dl > dt{font-size:2.4rem; margin-bottom:1.4rem;}
	#section-talent .talent-row > dl > dd{font-size:1.5rem; line-height:2.3rem;}
	#section-talent .talent-xcode-bg{margin:5rem -2rem; padding:5rem 2rem;}
	#section-talent .talent-xcode{display:flex; flex-flow:column nowrap; gap:2rem; padding:0;}
	#section-talent .talent-xcode > dl > dt{font-size:2.4rem; margin-bottom:1.8rem;}
	#section-talent .talent-xcode > figure{width:100%; aspect-ratio:3/2;}
	#section-talent .talent-mice{grid-template-columns:1fr 1fr; gap:2.4rem; margin-top:4rem;}
	#section-talent .talent-mice > li{padding:1.8rem 0;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a9-talent === */

/* PAGE-ADDITIONS: overview-aligned-a6-areas (cross-verification A1) */
/* Goal: align /business/areas.php sub-visual rhythm with /about/overview.php at d1920 */
@media (min-width: 1720px) {
  .full-area .areas-detail,
  .full-area .areas-bg .box-1720,
  .full-area .box-1720 { max-width: 1720px; margin-left: auto; margin-right: auto; }
}
.full-area .detail-en { line-height: 1.5; }
@media (min-width: 1280px) {
  .full-area .detail-en { font-size: 18px; }
}
/* END PAGE-ADDITIONS overview-aligned-a6-areas */

/* PAGE-ADDITIONS: overview-aligned-a6-talent (cross-verification A3) */
/* Goal: align /careers/talent.php inner widths to overview rhythm at d1920 */
@media (min-width: 1720px) {
  .talent-row,
  .talent-mice,
  .talent-xcode-bg .talent-xcode { max-width: 1720px; margin-left: auto; margin-right: auto; }
}
.talent-row .tit,
.talent-mice .tit { line-height: 1.45; }
/* END PAGE-ADDITIONS overview-aligned-a6-talent */

/* PAGE-ADDITIONS: overview-aligned-a6-inquiry (cross-verification A4) */
/* Goal: ensure /contact/inquiry.php sub-visual padding matches overview even when s-txt is empty */
.oPage .inConts .s-cate { min-height: 0; }
@media (min-width: 1280px) {
  .oPage .inConts { padding-left: 20px; padding-right: 20px; }
}
/* END PAGE-ADDITIONS overview-aligned-a6-inquiry */

/* PAGE-ADDITIONS: overview-aligned-a6-jobs (cross-verification A4) */
/* Goal: align /careers/jobs.php inConts spacing rhythm with overview baseline */
@media (min-width: 1280px) {
  .oPage .inConts { box-sizing: border-box; }
}
/* END PAGE-ADDITIONS overview-aligned-a6-jobs */

/* === PAGE-ADDITIONS: overview-aligned-a5-portfolio (2026-06-16) === */
/* A5 overview crosscheck: align #sVisual h2 to overview (50/36/33 px ladder) */
#sVisual.bg_03 h2{font-size:50px !important; line-height:50px !important;}
@media (max-width:1024px){
  #sVisual.bg_03 h2{font-size:50px !important; line-height:50px !important;}
}
@media (max-width:480px){
  #sVisual.bg_03 h2{font-size:36px !important; line-height:36px !important;}
}
@media (max-width:360px){
  #sVisual.bg_03 h2{font-size:33px !important; line-height:33px !important;}
}
/* === END PAGE-ADDITIONS: overview-aligned-a5-portfolio === */

/* === PAGE-ADDITIONS: overview-aligned-v2 === */
/* v2: raise specificity & use px+!important to defeat earlier rem-based PAGE-ADDITIONS rules.
   Reason: original blocks use !important inside (max-width:1024px) and rem trap pushes mobile to 5.5px html. */

/* ----- history ----- */
/* hero text: 768~1023 viewport had hero-text shrunk to 8.45px because of 6.5px html.
   Force readable px-based sizes for tablet + ensure desktop parity. */
@media (max-width: 1023px) and (min-width: 481px) {
  #section-history .history-hero .hero-text .desc   { font-size: 14px !important; line-height: 1.6 !important; }
  #section-history .history-hero .hero-text .period { font-size: 16px !important; line-height: 1.4 !important; }
  #section-history .history-hero .hero-text .years  { font-size: 32px !important; line-height: 1.15 !important; }
  #section-history .history-hero .hero-text .btns a { font-size: 13px !important; }
}
/* Desktop dt/dd: existing rule forces 14px on <=1024 only, but 1025+ falls to rem (1.3rem=13px @ html 10px).
   Lift to 16/15 px to improve readability while keeping size below overview body dl (intent: date list). */
@media (min-width: 1025px) {
  #section-history .history-list > li > dl > dt { font-size: 16px !important; line-height: 1.5 !important; }
  #section-history .history-list > li > dl > dd { font-size: 15px !important; line-height: 1.6 !important; }
  #section-history .history-block .period-label p { line-height: 1.1 !important; }
}
@media (min-width: 1440px) {
  #section-history .history-list > li > dl > dt { font-size: 18px !important; line-height: 1.5 !important; }
  #section-history .history-list > li > dl > dd { font-size: 16px !important; line-height: 1.65 !important; }
}

/* ----- areas ----- */
/* areas dt at 768 fell to 18/25.2 OK, dd 15/21.75 OK. Just ensure mobile detail-desc reads cleanly. */
@media (max-width: 480px) {
  #section-areas .areas-detail .detail-desc { font-size: 13px !important; line-height: 1.6 !important; }
  #section-areas .areas-detail .detail-en   { font-size: 13px !important; line-height: 1.4 !important; }
  #section-areas .areas-detail h4           { line-height: 1.3 !important; }
}
@media (min-width: 481px) and (max-width: 1023px) {
  #section-areas .areas-detail .detail-desc { font-size: 15px !important; line-height: 1.6 !important; }
  #section-areas .areas-detail .detail-en   { font-size: 15px !important; line-height: 1.4 !important; }
}

/* ----- capabilities ----- */
/* h4 was 30/34px at 1024/1440 — fine, but tighten line-height for cleaner two-line headings.
   Body desc at 17/18 px matches overview p — keep, just ensure mobile. */
@media (max-width: 480px) {
  #section-capability .areas-detail h4           { line-height: 1.3 !important; }
  #section-capability .areas-detail .detail-desc { font-size: 13px !important; line-height: 1.65 !important; }
}
@media (min-width: 481px) and (max-width: 1023px) {
  #section-capability .areas-detail h4           { line-height: 1.3 !important; }
  #section-capability .areas-detail .detail-desc { font-size: 15px !important; line-height: 1.65 !important; }
}
@media (min-width: 1024px) {
  #section-capability .areas-detail h4           { line-height: 1.25 !important; }
  #section-capability .areas-detail .detail-desc { line-height: 1.65 !important; }
}

/* ----- sustainability ----- */
/* esg-cards label has different markup — target via figcaption/label or direct dt/dd inside .esg-cards.
   Also sustain-promise was 0px at 768/1024 — that means font-size:0 somewhere. We restore. */
#section-sustain .sustain-promise { font-size: 16px !important; line-height: 1.4 !important; }
@media (min-width: 768px)  { #section-sustain .sustain-promise { font-size: 18px !important; } }
@media (min-width: 1024px) { #section-sustain .sustain-promise { font-size: 22px !important; line-height: 1.35 !important; } }
@media (min-width: 1440px) { #section-sustain .sustain-promise { font-size: 24px !important; } }

#section-sustain .esg-cards dt { line-height: 1.3 !important; }
#section-sustain .esg-cards dd { line-height: 1.5 !important; }
#section-sustain .sustain-cards li dt { line-height: 1.4 !important; }
#section-sustain .sustain-cards li dd { line-height: 1.55 !important; }
#section-sustain .sustain-desc { line-height: 1.65 !important; }

@media (max-width: 480px) {
  #section-sustain .esg-cards dt        { font-size: 16px !important; }
  #section-sustain .esg-cards dd        { font-size: 14px !important; }
  #section-sustain .sustain-cards li dt { font-size: 13px !important; }
  #section-sustain .sustain-cards li dd { font-size: 14px !important; }
  #section-sustain .sustain-desc        { font-size: 13px !important; }
}
@media (min-width: 481px) and (max-width: 1023px) {
  #section-sustain .esg-cards dt        { font-size: 18px !important; }
  #section-sustain .esg-cards dd        { font-size: 16px !important; }
  #section-sustain .sustain-cards li dt { font-size: 14px !important; }
  #section-sustain .sustain-cards li dd { font-size: 15px !important; }
  #section-sustain .sustain-desc        { font-size: 15px !important; }
}

/* === END PAGE-ADDITIONS: overview-aligned-v2 === */

/* PAGE-ADDITIONS: overview-aligned-a8-sustainability v2 — sustain-cards tab/lap proportional */
.sustain-cards li figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .sustain-cards li figure {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }
  .sustain-cards li figure img {
    max-width: 360px;
  }
}

/* PAGE-ADDITIONS: overview-aligned-a8-location v2 — world_map breakpoint expansion */
.world-map-fig .world-map-img {
  width: 100% !important;
  height: auto !important;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  object-fit: contain;
  object-position: center center;
}
@media (min-width: 1024px) {
  .world-map-fig .world-map-img {
    max-width: 1024px !important;
  }
}
@media (min-width: 1440px) {
  .world-map-fig .world-map-img {
    max-width: 1200px !important;
  }
}
@media (min-width: 1920px) {
  .world-map-fig .world-map-img {
    max-width: 1320px !important;
  }
}

/* PAGE-ADDITIONS: overview-aligned-a8-news v2 — board-cards thumbnail 16:10 + tab cap */
.board-cards li figure {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}
.board-cards li figure span {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: 50% 50% !important;
  aspect-ratio: 16 / 10;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .board-cards li {
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }
  .board-cards li figure {
    max-width: 360px;
    aspect-ratio: 16 / 10;
  }
}

/* === PAGE-ADDITIONS: overview-aligned-v3 === */
/* v3: override 1024 viewport (existing rule caps at 14px !important via max-width:1024).
   Use min-width:1024 with HIGHER specificity selector to win the cascade. */
@media (min-width: 1024px) {
  html body #section-history .history-list > li > dl > dt { font-size: 16px !important; line-height: 1.5 !important; }
  html body #section-history .history-list > li > dl > dd { font-size: 15px !important; line-height: 1.6 !important; }
}
@media (min-width: 1440px) {
  html body #section-history .history-list > li > dl > dt { font-size: 18px !important; line-height: 1.5 !important; }
  html body #section-history .history-list > li > dl > dd { font-size: 16px !important; line-height: 1.65 !important; }
}
/* === END PAGE-ADDITIONS: overview-aligned-v3 === */

/* PAGE-ADDITIONS: overview-aligned-a7-capabilities */
body.page-business-capabilities h4,
.page-business-capabilities h4,
html[data-page="business-capabilities"] h4 {
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
}
body.page-business-capabilities .cont-pad p,
.page-business-capabilities .cont-pad p {
    line-height: 1.7 !important;
}
body.page-business-capabilities .sub-visual,
.page-business-capabilities .sub-visual {
    background-color: inherit;
}
/* PAGE-ADDITIONS: overview-aligned-a7-capabilities END */

/* PAGE-ADDITIONS: overview-aligned-a7-life */
body.page-careers-life h4,
.page-careers-life h4 {
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
}
body.page-careers-life .cont-pad p,
.page-careers-life .cont-pad p {
    line-height: 1.7 !important;
}
/* PAGE-ADDITIONS: overview-aligned-a7-life END */

/* PAGE-ADDITIONS: overview-aligned-a7-faq */
body.page-contact-faq .cont-pad p,
.page-contact-faq .cont-pad p {
    line-height: 1.7 !important;
}
body.page-contact-faq .btn,
.page-contact-faq .btn {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 20px !important;
    line-height: 1.4 !important;
}
/* PAGE-ADDITIONS: overview-aligned-a7-faq END */

/* PAGE-ADDITIONS: overview-aligned-a7-recruit */
body.page-careers-recruit .cont-pad p,
.page-careers-recruit .cont-pad p {
    line-height: 1.7 !important;
}
body.page-careers-recruit .btn,
.page-careers-recruit .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
}
/* PAGE-ADDITIONS: overview-aligned-a7-recruit END */
/* PAGE-ADDITIONS: overview-aligned-a2-fix2 (specificity boost + sub-visual unify) */

/* === Sub-visual h2 unify to overview tokens (50/50 desktop, 33/33 mobile, 39/39 tablet) === */
#sVisual.bg_03 h2,
#sVisual.bg_04 h2 {
  font-size: 33px !important;
  line-height: 33px !important;
}
@media (min-width: 768px) {
  #sVisual.bg_03 h2,
  #sVisual.bg_04 h2 {
    font-size: 39px !important;
    line-height: 39px !important;
  }
}
@media (min-width: 1024px) {
  #sVisual.bg_03 h2,
  #sVisual.bg_04 h2 {
    font-size: 50px !important;
    line-height: 50px !important;
  }
}

/* === Portfolio dl dt/dd in cards (excerpt/date classes need specificity) === */
#section-portfolio .port-grid li dl dt,
#section-portfolio .port-open dl dt {
  font-size: 15px !important;
  line-height: 19.5px !important;
}
#section-portfolio .port-grid li dl dd,
#section-portfolio .port-grid li dl dd.excerpt,
#section-portfolio .port-grid li dl dd.date,
#section-portfolio .port-open dl dd {
  font-size: 13px !important;
  line-height: 19.5px !important;
}
@media (min-width: 768px) {
  #section-portfolio .port-grid li dl dt,
  #section-portfolio .port-open dl dt {
    font-size: 15.6px !important;
    line-height: 22.1px !important;
  }
  #section-portfolio .port-grid li dl dd,
  #section-portfolio .port-grid li dl dd.excerpt,
  #section-portfolio .port-grid li dl dd.date,
  #section-portfolio .port-open dl dd {
    font-size: 13.65px !important;
    line-height: 19.5px !important;
  }
}
@media (min-width: 1024px) {
  #section-portfolio .port-grid li dl dt,
  #section-portfolio .port-open dl dt {
    font-size: 20px !important;
    line-height: 30px !important;
  }
  #section-portfolio .port-grid li dl dd,
  #section-portfolio .port-grid li dl dd.excerpt,
  #section-portfolio .port-grid li dl dd.date,
  #section-portfolio .port-open dl dd {
    font-size: 17px !important;
    line-height: 25.5px !important;
  }
}

/* === News dt/dd: specificity boost === */
#section-news .board-cards li dl dt,
#section-news .board-cards a dl dt {
  font-size: 15px !important;
  line-height: 19.5px !important;
  font-weight: 600 !important;
  color: #000 !important;
}
#section-news .board-cards li dl dd,
#section-news .board-cards li dl dd.date,
#section-news .board-cards a dl dd,
#section-news .board-cards a dl dd.date {
  font-size: 13px !important;
  line-height: 19.5px !important;
  font-weight: 400 !important;
  color: #555 !important;
}
@media (min-width: 768px) {
  #section-news .board-cards li dl dt,
  #section-news .board-cards a dl dt {
    font-size: 15.6px !important;
    line-height: 22.1px !important;
  }
  #section-news .board-cards li dl dd,
  #section-news .board-cards li dl dd.date,
  #section-news .board-cards a dl dd,
  #section-news .board-cards a dl dd.date {
    font-size: 13.65px !important;
    line-height: 19.5px !important;
  }
}
@media (min-width: 1024px) {
  #section-news .board-cards li dl dt,
  #section-news .board-cards a dl dt {
    font-size: 20px !important;
    line-height: 28px !important;
  }
  #section-news .board-cards li dl dd,
  #section-news .board-cards li dl dd.date,
  #section-news .board-cards a dl dd,
  #section-news .board-cards a dl dd.date {
    font-size: 17px !important;
    line-height: 25.5px !important;
  }
}

/* PAGE-ADDITIONS-END: fix2 */

/* PAGE-ADDITIONS: overview-aligned-a8-news v3 — tab grid 2col override (fix prior li max-width collapse) */
@media (min-width: 768px) and (max-width: 1023px) {
  ul.board-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px;
  }
  ul.board-cards li {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
  }
  ul.board-cards li figure {
    max-width: none !important;
    width: 100%;
    aspect-ratio: 16 / 10;
  }
}
/* PAGE-ADDITIONS: overview-aligned-a2-fix3 (lh minor tune) */
@media (min-width: 1024px) {
  #section-news .board-cards li dl dt,
  #section-news .board-cards a dl dt {
    line-height: 30px !important;
  }
}
#section-press .board-table th,
#section-press .board-table td {
  line-height: 19.5px !important;
}
/* PAGE-ADDITIONS-END: fix3 */
/* PAGE-ADDITIONS: overview-aligned-a2-fix4 (press lh per-viewport) */
@media (min-width: 768px) {
  #section-press .board-table th,
  #section-press .board-table td {
    line-height: 22.1px !important;
  }
}
@media (min-width: 1024px) {
  #section-press .board-table th,
  #section-press .board-table td {
    line-height: 30px !important;
  }
}
/* PAGE-ADDITIONS-END: fix4 */

/* === PAGE-ADDITIONS: journey === */
/* 아이콘 색상: 시안 매칭(빨강 var(--point)=#e4002b) */
#section-journey .journey-steps li figure svg{
    fill:#e4002b !important;
    color:#e4002b !important;
    width:36px !important;
    height:36px !important;
}
#section-journey .journey-detail dl dt figure svg{
    fill:#e4002b !important;
    color:#e4002b !important;
    width:24px !important;
    height:24px !important;
}

/* 유의사항 박스: 폰트 키움 + 좌측 빨간 액센트 라인 */
#section-journey .journey-notice{
    margin-top:32px !important;
    padding:22px 26px !important;
    background:#fafafa !important;
    border-left:4px solid #e4002b !important;
    border-radius:6px !important;
}
#section-journey .journey-notice h5{
    font-size:18px !important;
    line-height:1.5 !important;
    font-weight:700 !important;
    color:#000 !important;
    margin:0 0 12px !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
}
#section-journey .journey-notice h5 i{
    width:20px !important;
    height:20px !important;
    background:#e4002b !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:700 !important;
    border-radius:50% !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
}
#section-journey .journey-notice ul{margin:0 !important; padding:0 !important;}
#section-journey .journey-notice ul > li{
    font-size:16px !important;
    line-height:1.7 !important;
    color:#444 !important;
    padding-left:14px !important;
    margin-bottom:4px !important;
    list-style:none !important;
    position:relative !important;
}
#section-journey .journey-notice ul > li:before{
    content:"·" !important;
    position:absolute !important;
    left:4px !important;
    color:#888 !important;
}

/* 태블릿 (769-1024) */
@media (max-width:1024px){
    #section-journey .journey-notice{padding:20px 22px !important;}
    #section-journey .journey-notice h5{font-size:16px !important;}
    #section-journey .journey-notice ul > li{font-size:15px !important; line-height:1.6 !important;}
}

/* 모바일 (≤480) */
@media (max-width:480px){
    #section-journey .journey-notice{
        padding:18px 20px !important;
        margin-top:24px !important;
        border-left-width:3px !important;
    }
    #section-journey .journey-notice h5{
        font-size:15px !important;
        margin:0 0 10px !important;
    }
    #section-journey .journey-notice h5 i{
        width:18px !important;
        height:18px !important;
        font-size:12px !important;
    }
    #section-journey .journey-notice ul > li{
        font-size:14px !important;
        line-height:1.6 !important;
        padding-left:12px !important;
    }
    /* 모바일 아이콘 색상 유지 */
    #section-journey .journey-steps > li figure svg{
        fill:#e4002b !important;
        color:#e4002b !important;
    }
    #section-journey .journey-detail > dl dt figure svg{
        fill:#e4002b !important;
        color:#e4002b !important;
    }
}
/* === END PAGE-ADDITIONS: journey === */

/* === PAGE-ADDITIONS: jobs-card-redesign (viewport-based card stack, px units) === */
/* CTO 피드백: 좁은 화면 글자 작음 + 가로 테이블 → 카드 적층. 가로사이즈 기준 미디어쿼리(px) */

/* 데스크톱(>=1024px) — 시안 베이스, px 명시로 rem 트랩 차단 */
@media (min-width: 1024px) {
  #section-jobs .jobs-summary{font-size:15px !important; margin-bottom:18px !important;}
  #section-jobs .jobs-cat > a{font-size:15px !important; padding:6px 0 !important;}
  #section-jobs .jobs-sort{font-size:14px !important; padding:9px 32px 9px 14px !important; min-width:140px !important; height:40px !important;}
  #section-jobs .jobs-list > li{padding:24px 12px !important; gap:24px !important;}
  #section-jobs .jobs-list .job-info h5{font-size:17px !important; line-height:1.4 !important; margin:0 0 10px !important;}
  #section-jobs .jobs-list .job-info .tags{font-size:13px !important; line-height:1.5 !important;}
  #section-jobs .jobs-list .job-meta{flex:0 0 200px !important; font-size:13px !important;}
  #section-jobs .jobs-list .job-meta p{margin:4px 0 !important; gap:8px !important;}
  #section-jobs .jobs-list .job-action{flex:0 0 150px !important;}
  #section-jobs .jobs-list .job-action .btn-apply{font-size:14px !important; padding:10px 18px !important; min-width:100px !important;}
  #section-jobs .jobs-list .job-action .deadline{font-size:13px !important;}
  #section-jobs .jobs-list .job-action .newdate{font-size:13px !important;}
}

/* 태블릿(768-1023px) — 가로 유지하되 정보 정리, 글자 키움 */
@media (min-width: 768px) and (max-width: 1023.98px) {
  #section-jobs .jobs-summary{font-size:15px !important; margin-bottom:14px !important;}
  #section-jobs .jobs-cat-row{flex-wrap:nowrap !important; gap:12px !important;}
  #section-jobs .jobs-cat{gap:18px !important;}
  #section-jobs .jobs-cat > a{font-size:15px !important; padding:8px 0 !important;}
  #section-jobs .jobs-sort{font-size:14px !important; padding:9px 32px 9px 14px !important; min-width:130px !important; height:40px !important;}
  #section-jobs .jobs-list > li{display:flex !important; flex-flow:row wrap !important; padding:18px 12px !important; gap:14px 20px !important; align-items:flex-start !important;}
  #section-jobs .jobs-list .job-info{flex:1 1 100% !important;}
  #section-jobs .jobs-list .job-info h5{font-size:17px !important; line-height:1.4 !important; margin:0 0 8px !important;}
  #section-jobs .jobs-list .job-info .tags{font-size:13px !important; line-height:1.6 !important;}
  #section-jobs .jobs-list .job-meta{flex:1 1 auto !important; font-size:14px !important;}
  #section-jobs .jobs-list .job-meta p{margin:3px 0 !important; gap:7px !important;}
  #section-jobs .jobs-list .job-action{flex:0 0 auto !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:14px !important;}
  #section-jobs .jobs-list .job-action .btn-apply{font-size:14px !important; padding:11px 22px !important; min-width:110px !important; min-height:42px !important;}
  #section-jobs .jobs-list .job-action .deadline{font-size:13px !important;}
  #section-jobs .jobs-list .job-action .newdate{font-size:13px !important; margin-left:0 !important;}
}

/* 좁은 태블릿/큰 모바일(481-767px) — 카드 적층 시작 */
@media (min-width: 481px) and (max-width: 767.98px) {
  #section-jobs .jobs-summary{font-size:14px !important; margin-bottom:12px !important;}
  #section-jobs .jobs-cat-row{flex-wrap:wrap !important; gap:10px !important; align-items:center !important;}
  #section-jobs .jobs-cat{gap:16px !important; flex:1 1 auto !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important;}
  #section-jobs .jobs-cat::-webkit-scrollbar{display:none !important;}
  #section-jobs .jobs-cat > a{font-size:14px !important; padding:10px 0 !important; min-height:44px !important; display:inline-flex !important; align-items:center !important; white-space:nowrap !important; flex-shrink:0 !important;}
  #section-jobs .jobs-sort{font-size:14px !important; padding:10px 32px 10px 12px !important; min-width:120px !important; height:42px !important;}

  /* 카드 적층 */
  #section-jobs .jobs-list{margin-top:8px !important; border-top:0 !important;}
  #section-jobs .jobs-list > li{display:block !important; padding:18px 16px !important; margin-bottom:12px !important; border:1px solid #e6e6e6 !important; border-radius:6px !important; background:#fff !important;}
  #section-jobs .jobs-list .job-info{margin-bottom:10px !important;}
  #section-jobs .jobs-list .job-info h5{font-size:17px !important; line-height:1.4 !important; margin:0 0 8px !important; color:#000 !important; font-weight:700 !important;}
  #section-jobs .jobs-list .job-info .tags{font-size:13px !important; line-height:1.6 !important; color:#888 !important;}
  #section-jobs .jobs-list .job-meta{font-size:13px !important; color:#555 !important; margin-bottom:12px !important; display:block !important; flex:none !important;}
  #section-jobs .jobs-list .job-meta p{display:flex !important; align-items:center !important; gap:7px !important; margin:4px 0 !important; font-size:13px !important;}
  #section-jobs .jobs-list .job-action{display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:10px !important; padding-top:10px !important; border-top:1px solid #f0f0f0 !important; flex:none !important; text-align:left !important;}
  #section-jobs .jobs-list .job-action .deadline{font-size:13px !important; color:#222 !important; font-weight:500 !important; order:1 !important; flex:1 1 auto !important;}
  #section-jobs .jobs-list .job-action .newdate{font-size:12px !important; color:var(--point) !important; order:2 !important; margin-left:6px !important;}
  #section-jobs .jobs-list .job-action .btn-apply{font-size:14px !important; padding:11px 22px !important; min-height:42px !important; min-width:108px !important; order:3 !important; margin-bottom:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;}
}

/* 모바일(<=480px) — 카드 적층 풀폭, 글자 키움 */
@media (max-width: 480px) {
  #section-jobs{padding:0 12px !important;}
  #section-jobs .jobs-summary{font-size:14px !important; margin-bottom:12px !important;}
  #section-jobs .jobs-summary em{font-size:14px !important;}

  /* 탭 + 정렬: wrap, 풀폭 처리 */
  #section-jobs .jobs-cat-row{display:flex !important; flex-wrap:wrap !important; gap:10px !important; align-items:center !important; justify-content:space-between !important; margin-bottom:14px !important; padding-bottom:10px !important;}
  #section-jobs .jobs-cat{display:flex !important; gap:14px !important; flex:1 1 auto !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important; scrollbar-width:none !important;}
  #section-jobs .jobs-cat::-webkit-scrollbar{display:none !important;}
  #section-jobs .jobs-cat > a{font-size:14px !important; padding:10px 2px !important; min-height:44px !important; display:inline-flex !important; align-items:center !important; white-space:nowrap !important; flex-shrink:0 !important;}
  #section-jobs .jobs-sort{font-size:13px !important; padding:10px 30px 10px 12px !important; min-width:110px !important; height:42px !important; flex:0 0 auto !important;}

  /* 카드 적층 */
  #section-jobs .jobs-list{margin:8px 0 !important; padding:0 !important; border-top:0 !important; list-style:none !important;}
  #section-jobs .jobs-list > li{display:block !important; padding:16px !important; margin-bottom:12px !important; gap:0 !important; border:1px solid #e6e6e6 !important; border-radius:6px !important; background:#fff !important; box-shadow:0 1px 2px rgba(0,0,0,0.03) !important; align-items:stretch !important;}

  /* 1행: 직무명 */
  #section-jobs .jobs-list .job-info{flex:none !important; margin-bottom:10px !important;}
  #section-jobs .jobs-list .job-info h5{font-size:16px !important; line-height:1.4 !important; margin:0 0 8px !important; color:#000 !important; font-weight:700 !important; word-break:keep-all !important;}

  /* 2행: 태그 wrap (라운드 배지 느낌은 줄 간격으로) */
  #section-jobs .jobs-list .job-info .tags{font-size:12px !important; line-height:1.6 !important; color:#888 !important; word-break:keep-all !important;}

  /* 3행: 메타 (경력/지역/학력) */
  #section-jobs .jobs-list .job-meta{flex:none !important; display:block !important; font-size:13px !important; color:#555 !important; margin-bottom:12px !important;}
  #section-jobs .jobs-list .job-meta p{display:flex !important; align-items:center !important; gap:7px !important; margin:4px 0 !important; font-size:13px !important; color:#555 !important;}
  #section-jobs .jobs-list .job-meta p i{color:#666 !important; min-width:16px !important; font-size:13px !important;}

  /* 4행: 마감일 (좌) + 입사지원 (우) */
  #section-jobs .jobs-list .job-action{display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; align-items:center !important; justify-content:space-between !important; gap:8px 10px !important; padding-top:10px !important; border-top:1px solid #f0f0f0 !important; flex:none !important; text-align:left !important;}
  #section-jobs .jobs-list .job-action .deadline{font-size:13px !important; color:#222 !important; font-weight:600 !important; order:1 !important; flex:1 1 auto !important; margin:0 !important;}
  #section-jobs .jobs-list .job-action .newdate{font-size:12px !important; color:var(--point) !important; order:2 !important; margin:0 6px 0 0 !important;}
  #section-jobs .jobs-list .job-action .btn-apply{font-size:14px !important; padding:11px 20px !important; min-height:44px !important; min-width:104px !important; order:3 !important; margin:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; font-weight:600 !important;}

  /* 페이지네이션 */
  #section-jobs .paginate{margin-top:20px !important;}
  #section-jobs .paginate > a{min-width:32px !important; height:32px !important; font-size:13px !important;}
}

/* 초소형(<=360px) — 입사지원이 좁아도 잘림 방지: 마감/newdate 한 줄, 버튼은 풀폭 */
@media (max-width: 360px) {
  #section-jobs .jobs-list .job-action{flex-direction:column !important; align-items:stretch !important;}
  #section-jobs .jobs-list .job-action .deadline{order:1 !important; flex:none !important; text-align:left !important;}
  #section-jobs .jobs-list .job-action .newdate{order:2 !important; text-align:left !important; margin:2px 0 8px 0 !important;}
  #section-jobs .jobs-list .job-action .btn-apply{order:3 !important; width:100% !important; min-width:0 !important;}
}
/* === END PAGE-ADDITIONS: jobs-card-redesign === */

/* === PAGE-ADDITIONS: high-fix-5 START === */
/* HIGH-fix-5 (2026-06-16): journey notice font-up, recruit/inquiry tablet form,
   jobs newdate uniform 13px, --point token confirmation. Scoped per page. */

/* ───────────────────────────────────────────────────────────
   [1] journey 유의사항 — 모바일 ≤480: 14→15px, 태블릿 481-1024: 15→16px
       accent border 3 → 4px (모바일/태블릿 공통)
   ─────────────────────────────────────────────────────────── */
@media (max-width:480px){
    #section-journey .journey-notice{
        border-left-width:4px !important;
    }
    #section-journey .journey-notice ul > li{
        font-size:15px !important;
        line-height:1.65 !important;
    }
}
@media (min-width:481px) and (max-width:1024px){
    #section-journey .journey-notice{
        border-left-width:4px !important;
    }
    #section-journey .journey-notice ul > li{
        font-size:16px !important;
        line-height:1.65 !important;
    }
}

/* ───────────────────────────────────────────────────────────
   [2] recruit / inquiry — 481-1024 폼 압축 보정
       input/select 44px height, textarea 120px min, font 15px
   ─────────────────────────────────────────────────────────── */
@media (max-width:1024px) and (min-width:481px){
    #section-recruit input[type="text"],
    #section-recruit input[type="email"],
    #section-recruit input[type="tel"],
    #section-recruit input[type="number"],
    #section-recruit input[type="password"],
    #section-recruit input[type="date"],
    #section-recruit input:not([type]),
    #section-recruit select{
        height:44px !important;
        font-size:15px !important;
        padding:0 12px !important;
        box-sizing:border-box !important;
    }
    #section-recruit textarea{
        min-height:120px !important;
        font-size:15px !important;
        line-height:1.6 !important;
        padding:12px !important;
        box-sizing:border-box !important;
    }
    #section-recruit label{
        font-size:15px !important;
    }

    #section-inquiry input[type="text"],
    #section-inquiry input[type="email"],
    #section-inquiry input[type="tel"],
    #section-inquiry input[type="number"],
    #section-inquiry input[type="password"],
    #section-inquiry input[type="date"],
    #section-inquiry input:not([type]),
    #section-inquiry select{
        height:44px !important;
        font-size:15px !important;
        padding:0 12px !important;
        box-sizing:border-box !important;
    }
    #section-inquiry textarea{
        min-height:120px !important;
        font-size:15px !important;
        line-height:1.6 !important;
        padding:12px !important;
        box-sizing:border-box !important;
    }
    #section-inquiry label{
        font-size:15px !important;
    }
}

/* ───────────────────────────────────────────────────────────
   [3] jobs 등록일 — 모든 viewport 13px 통일
       .newdate(빨강 메타) + .deadline(마감 표기) 모두 13px
   ─────────────────────────────────────────────────────────── */
#section-jobs .jobs-list .job-action .deadline,
#section-jobs .jobs-list .job-action .newdate{
    font-size:13px !important;
}
@media (max-width:1024px){
    #section-jobs .jobs-list .job-action .deadline,
    #section-jobs .jobs-list .job-action .newdate{
        font-size:13px !important;
    }
}
@media (max-width:767.98px){
    #section-jobs .jobs-list .job-action .deadline,
    #section-jobs .jobs-list .job-action .newdate{
        font-size:13px !important;
    }
}
@media (max-width:480px){
    #section-jobs .jobs-list .job-action .deadline,
    #section-jobs .jobs-list .job-action .newdate{
        font-size:13px !important;
    }
}

/* === PAGE-ADDITIONS: high-fix-5 END === */

/* === PAGE-ADDITIONS: high-fix-6 START (2026-06-16) === */
/* F2 + F3 + F4 + F5 + F6 + F7 — scoped page-specific tuning */

/* ============================================================
   F2: pr 검색폼 (news/press) 모바일/태블릿/데스크톱 폰트 + 높이
   awards는 search-form 없음 → 적용 제외
   ============================================================ */
/* 모바일 (≤480) — iOS zoom 방지 16px */
@media (max-width:480px) {
  #section-news .search-form input[type="text"],
  #section-news .search-form select,
  #section-press .search-form input[type="text"],
  #section-press .search-form select {
    font-size:16px !important;
    height:44px !important;
    line-height:44px !important;
    box-sizing:border-box !important;
  }
  #section-news .search-form button[type="submit"],
  #section-press .search-form button[type="submit"] {
    font-size:14px !important;
    height:44px !important;
    line-height:44px !important;
    min-width:60px !important;
    box-sizing:border-box !important;
  }
}
/* 태블릿 (481-1024) */
@media (min-width:481px) and (max-width:1024px) {
  #section-news .search-form input[type="text"],
  #section-news .search-form select,
  #section-press .search-form input[type="text"],
  #section-press .search-form select {
    font-size:15px !important;
    height:44px !important;
    line-height:44px !important;
    box-sizing:border-box !important;
  }
  #section-news .search-form button[type="submit"],
  #section-press .search-form button[type="submit"] {
    font-size:14px !important;
    height:44px !important;
    line-height:44px !important;
    min-width:64px !important;
    box-sizing:border-box !important;
  }
}
/* 데스크톱 (≥1025) */
@media (min-width:1025px) {
  #section-news .search-form input[type="text"],
  #section-news .search-form select,
  #section-press .search-form input[type="text"],
  #section-press .search-form select {
    font-size:14px !important;
    height:36px !important;
    line-height:36px !important;
    box-sizing:border-box !important;
  }
  #section-news .search-form button[type="submit"],
  #section-press .search-form button[type="submit"] {
    font-size:14px !important;
    height:36px !important;
    line-height:36px !important;
    min-width:64px !important;
    box-sizing:border-box !important;
  }
}

/* ============================================================
   F3: 1024 breakpoint 전역 통일 — 페이지별 스코프로 한정
   overview / history / news / press / awards / portfolio
   (recruit/jobs 등 menuFull 영역 제외 — 안전)
   ============================================================ */
@media (max-width:1024px) and (min-width:481px) {
  #section-overview h2,
  #section-history h2,
  #section-news h2,
  #section-press h2,
  #section-awards h2,
  #section-portfolio h2 {
    font-size:39px !important;
  }
  #section-overview dt,
  #section-history dt,
  #section-news dt,
  #section-press dt,
  #section-awards dt,
  #section-portfolio dt {
    font-size:15.6px !important;
  }
  #section-overview dd,
  #section-history dd,
  #section-news dd,
  #section-press dd,
  #section-awards dd,
  #section-portfolio dd {
    font-size:19.5px !important;
  }
}

/* ============================================================
   F4: p.total 페이지네이션 카운터 (news / press)
   ============================================================ */
@media (max-width:480px) {
  #section-news p.total,
  #section-press p.total {
    font-size:13px !important;
    padding:8px 0 !important;
    line-height:1.4 !important;
  }
}
@media (min-width:481px) and (max-width:1024px) {
  #section-news p.total,
  #section-press p.total {
    font-size:14px !important;
  }
}
@media (min-width:1025px) {
  #section-news p.total,
  #section-press p.total {
    font-size:14px !important;
  }
}

/* ============================================================
   F5: portfolio modal close 버튼 (실제 셀렉터 .m-close)
   ≥481 (태블릿/데스크톱) 44x44, font-size 24px
   모바일은 현재 44px 유지 (건드리지 않음)
   ============================================================ */
@media (min-width:481px) {
  #port-modal .m-close {
    width:44px !important;
    height:44px !important;
    line-height:44px !important;
    font-size:24px !important;
    text-align:center !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
}

/* ============================================================
   F6: 카드/리스트 본문 폰트 (portfolio / news / awards)
   portfolio: .port-grid li, .port-grid p
   news: .board-list li, .board-list p, .board-cards li, .board-cards p
   awards: .card-prize, .card-cert li, .card-prize p
   ============================================================ */
@media (max-width:480px) {
  #section-portfolio .port-grid li,
  #section-portfolio .port-grid p,
  #section-news .board-list li,
  #section-news .board-list p,
  #section-news .board-cards li,
  #section-news .board-cards p,
  #section-awards .card-prize,
  #section-awards .card-cert,
  #section-awards .card-prize p,
  #section-awards .card-cert p {
    font-size:13px !important;
    line-height:1.55 !important;
  }
}
@media (min-width:481px) and (max-width:1024px) {
  #section-portfolio .port-grid li,
  #section-portfolio .port-grid p,
  #section-news .board-list li,
  #section-news .board-list p,
  #section-news .board-cards li,
  #section-news .board-cards p,
  #section-awards .card-prize,
  #section-awards .card-cert,
  #section-awards .card-prize p,
  #section-awards .card-cert p {
    font-size:14px !important;
  }
}
@media (min-width:1025px) {
  #section-portfolio .port-grid li,
  #section-portfolio .port-grid p,
  #section-news .board-list li,
  #section-news .board-list p,
  #section-news .board-cards li,
  #section-news .board-cards p,
  #section-awards .card-prize,
  #section-awards .card-cert,
  #section-awards .card-prize p,
  #section-awards .card-cert p {
    font-size:15px !important;
  }
}

/* ============================================================
   F7: dd 토큰 미달 (portfolio / news) — F3 보강
   portfolio: #section-portfolio dd
   news: #section-news dd
   ============================================================ */
@media (min-width:481px) and (max-width:1024px) {
  #section-portfolio dd,
  #section-news dd {
    font-size:19.5px !important;
  }
}
@media (min-width:1025px) {
  #section-portfolio dd,
  #section-news dd {
    font-size:25px !important;
  }
}

/* === PAGE-ADDITIONS: high-fix-6 END === */

/* PAGE-ADDITIONS: sustainability-align START */
/* 좁은 화면: 이미지(카드)를 컨테이너 중앙 정렬 + 텍스트는 이미지 왼쪽 끝선에 맞춰 좌측 정렬.
   .sustain-text 와 .sustain-cards 를 동일 max-width 로 묶고 margin auto 로 중앙 → 두 블록의
   왼쪽 끝이 일치. 텍스트는 내부에서 text-align:left 유지. (CTO 지시 / scope: #section-sustain) */
@media (max-width:1024px){
	#section-sustain .sustain-section{align-items:center !important;}
	#section-sustain .sustain-section>.sustain-text{
		width:100% !important; max-width:360px !important;
		margin-left:auto !important; margin-right:auto !important;
		text-align:left !important;
	}
	#section-sustain .sustain-section>.sustain-cards{
		width:100% !important; max-width:360px !important;
		margin-left:auto !important; margin-right:auto !important;
	}
	#section-sustain .sustain-cards>li>figure{max-width:none !important; margin-left:0 !important; margin-right:0 !important;}
	#section-sustain .sustain-cards>li>figure>img{max-width:none !important; width:100% !important;}
	#section-sustain .sustain-cards>li>dl{text-align:left !important;}
}
/* PAGE-ADDITIONS: sustainability-align END */

/* PAGE-ADDITIONS: portfolio-modal-resize START (2026-06-16) */
#port-modal .m-main img{ border:3px solid #e4002b !important; box-sizing:border-box !important; }
@media (min-width:1025px){
  #port-modal .modal-box{ width:90vw !important; max-width:1080px !important; }
}
/* PAGE-ADDITIONS: portfolio-modal-resize END */

/* PAGE-ADDITIONS: news-list-fix START (2026-06-16) */
/* list view(.board-list) dt/dd 토큰 복원
   원인: high-fix-6 F7(#section-news dd !important: 19.5px/25px)이
   list view의 .excerpt/.date(dd)를 폭발시켜 레이아웃 깨짐.
   card view는 .board-cards li dl dd specificity override로 이미 방어됨.
   동일 패턴(.board-list li/a dl dt/dd, 2-class+요소)으로 list view 복원.
   card view(.board-cards) 미접촉 → 회귀 없음. */
#section-news .board-list li dl dt,
#section-news .board-list a dl dt {
  font-size: 15px !important;
  line-height: 22px !important;
  font-weight: 600 !important;
  color: #000 !important;
}
#section-news .board-list li dl dd,
#section-news .board-list li dl dd.excerpt,
#section-news .board-list li dl dd.date,
#section-news .board-list a dl dd,
#section-news .board-list a dl dd.excerpt,
#section-news .board-list a dl dd.date {
  font-size: 13px !important;
  line-height: 19.5px !important;
  font-weight: 400 !important;
}
#section-news .board-list li dl dd.excerpt,
#section-news .board-list a dl dd.excerpt {
  color: #666 !important;
}
#section-news .board-list li dl dd.date,
#section-news .board-list a dl dd.date {
  color: #999 !important;
}
@media (min-width: 481px) and (max-width: 1023px) {
  #section-news .board-list li dl dt,
  #section-news .board-list a dl dt {
    font-size: 15.6px !important;
    line-height: 22.1px !important;
  }
  #section-news .board-list li dl dd,
  #section-news .board-list li dl dd.excerpt,
  #section-news .board-list li dl dd.date,
  #section-news .board-list a dl dd,
  #section-news .board-list a dl dd.excerpt,
  #section-news .board-list a dl dd.date {
    font-size: 13.65px !important;
    line-height: 19.5px !important;
  }
}
@media (min-width: 1024px) {
  #section-news .board-list li dl dt,
  #section-news .board-list a dl dt {
    font-size: 20px !important;
    line-height: 28px !important;
  }
  #section-news .board-list li dl dd,
  #section-news .board-list li dl dd.excerpt,
  #section-news .board-list li dl dd.date,
  #section-news .board-list a dl dd,
  #section-news .board-list a dl dd.excerpt,
  #section-news .board-list a dl dd.date {
    font-size: 17px !important;
    line-height: 25.5px !important;
  }
}
/* PAGE-ADDITIONS: news-list-fix END */


/* PAGE-ADDITIONS: portfolio-modal-center START (2026-06-16) */
/* 모달을 화면 정중앙(수직+수평) 배치. 원인: 오버레이가 display:block + 박스 margin-top 고정(6vh/4vh/3vh)으로 위쪽 치우침. */
/* 오버레이를 flex 중앙정렬로. 콘텐츠가 viewport보다 길면 스크롤되도록 overflow-y:auto. */
#port-modal.port-modal.open{ display:flex !important; align-items:center !important; justify-content:center !important; overflow-y:auto !important; }
/* 박스의 고정 margin 제거 → margin:auto 로 중앙. 기존 width/max-width/max-height 는 건드리지 않음. */
#port-modal .modal-box{ margin:auto !important; }
@media (max-width:1024px){ #port-modal .modal-box{ margin:auto !important; } }
@media (max-width:480px){ #port-modal .modal-box{ margin:auto !important; } }
/* PAGE-ADDITIONS: portfolio-modal-center END */

/* PAGE-ADDITIONS: portfolio-modal-scrollbar START (2026-06-16) */
/* 1) 모달 메인 이미지 빨간 테두리 제거 (resize 블록 오버라이드) */
#port-modal .m-main img{ border:none !important; }
/* 2) 모달 썸네일 가로 스크롤바 빨간색 */
#port-modal .m-thumbs{ scrollbar-color:#e4002b transparent !important; scrollbar-width:thin !important; }
#port-modal .m-thumbs::-webkit-scrollbar{ height:8px !important; }
#port-modal .m-thumbs::-webkit-scrollbar-track{ background:transparent !important; }
#port-modal .m-thumbs::-webkit-scrollbar-thumb{ background:#e4002b !important; border-radius:4px !important; }
#port-modal .m-thumbs::-webkit-scrollbar-thumb:hover{ background:#e4002b !important; }
/* PAGE-ADDITIONS: portfolio-modal-scrollbar END */

/* PAGE-ADDITIONS: portfolio-modal-thumbs-overflow-fix START */
#port-modal .m-info{ min-width:0 !important; }
#port-modal .m-thumbs{ min-width:0 !important; max-width:100% !important; }
/* PAGE-ADDITIONS: portfolio-modal-thumbs-overflow-fix END */


/* PAGE-ADDITIONS: sustain-redesign START (2026-06-16) */
/* 시안(0203_지속 가능성.jpg) 일치: ESG 3카드 텍스트 좌측정렬 + 폭죽 배너 하단 걸침(straddle).
   areas.php 패턴(좌측 라벨/타이포)과 동일한 좌측정렬 톤으로 통일. 전부 #section-sustain 스코프. */

/* 1) ESG 카드 텍스트 좌측정렬 (시안: 번호/라벨/제목 모두 left) */
#section-sustain .esg-cards>li{ text-align:left; }
#section-sustain .esg-cards>li>p{ text-align:left; opacity:0.85; }
#section-sustain .esg-cards>li>dl{ text-align:left; margin-top:2.2rem; }
#section-sustain .esg-cards>li>dl>dt{ text-align:left; }
#section-sustain .esg-cards>li>dl>dd{ text-align:left; }
/* 아이콘은 시안처럼 우하단 고정 유지 */
#section-sustain .esg-cards .esg-icon{ width:auto; margin-top:0; position:absolute; right:2.8rem; bottom:2.6rem; }

/* 2) 폭죽 배너 하단에 카드가 걸치도록(straddle) — 배너 하단 패딩 축소 + 카드 음수 마진 */
#section-sustain .sustain-bg{ padding-bottom:6rem; }
#section-sustain .esg-cards{ margin-bottom:-11rem; position:relative; z-index:2; }
/* 다음 회색 섹션이 카드 아래로 자연스럽게 이어지도록 상단 여백 확보(음수마진 흡수) */
#section-sustain .full-area.gray{ position:relative; }

/* === G2-TABLET: sustain-redesign (481px ~ 1024px) === */
@media (min-width:481px) and (max-width:1024px){
	#section-sustain .esg-cards{ margin-bottom:-9rem; }
	#section-sustain .sustain-bg{ padding-bottom:5rem; }
}

/* === G2-MOBILE: sustain-redesign (max-width:480px) — 카드 세로 스택이라 straddle 해제 === */
@media (max-width:480px){
	#section-sustain .sustain-bg{ padding-bottom:8rem; }
	#section-sustain .esg-cards{ margin-bottom:0; }
	#section-sustain .esg-cards>li{ text-align:left !important; }
	#section-sustain .esg-cards>li>dl{ text-align:left !important; }
	#section-sustain .esg-cards>li>dl>dt{ text-align:left !important; }
	#section-sustain .esg-cards>li>dl>dd{ text-align:left !important; }
	#section-sustain .esg-cards .esg-icon{ right:4rem !important; bottom:4rem !important; }
}
/* PAGE-ADDITIONS: sustain-redesign END */

/* PAGE-ADDITIONS: news-hero START */
/* news.php 전용 히어로 이미지 (mask1.png). #section-news 가 news 페이지 고유 컨테이너 */
body:has(#section-news) #sVisual.bg_04{ background-image:url('/images/img_sVisual_news.png') !important; }
body:has(#section-news) #sVisual.bg_04::before{ background-image:url('/images/img_sVisual_news.png') !important; background-size:cover !important; background-position:center !important; }
/* PAGE-ADDITIONS: news-hero END */

/* === AREAS-RIGHT-ALIGN START (agentB) === */
/* areas.php 모바일(<=840px)에서 02/04(reverse) 항목 우측정렬 복원.
   기존 .areas-detail>.detail-text{text-align:left !important} 가 짝수도 좌측으로 강제 → #section-areas 스코프로 reverse만 되돌림 */
@media only screen and (max-width : 840px){
	#section-areas .areas-detail.reverse > .detail-text{ text-align:right !important; }
	#section-areas .areas-detail.reverse > .detail-text > h4{ justify-content:flex-end; }
	#section-areas .areas-detail.reverse .tag-list{ justify-content:flex-end !important; }
}
/* === AREAS-RIGHT-ALIGN END (agentB) === */


/* === UNIFY-C1 START === */
/* C1 통일 보정: 담당 4페이지(history/capabilities/sustainability/portfolio)를
   기준 페이지(overview/areas/ci/ceo) 실측값에 맞춤. ID 스코프 한정, append 전용. */

/* [1] portfolio 히어로 부제 .s-txt — 기준 20/15.6/13.2px 흰색으로 통일
   (기존 bg_03 .s-txt: 16/10.4/14.3px rgba(.85) → 기준 이탈, 768=10.4px 위험구간) */
#sVisual.bg_03 .s-txt{ font-size:2rem; color:#fff; }
@media only screen and (max-width:840px){
	#sVisual.bg_03 .s-txt{ font-size:2.4rem !important; color:#fff !important; }
}
@media only screen and (max-width:400px){
	/* 5.5px*2.4rem=13.2px (기준 360 일치). 기존 ≤480 2.6rem 오버라이드 차단 */
	#sVisual.bg_03 .s-txt{ font-size:2.4rem !important; color:#fff !important; }
}

/* [2] sustainability ESG 번호(.esg-cards>li>p) 768 rem트랩 보정
   1440=14px / 768=9.1px(위험) / 360=14.3px → 768 구간만 px 명시로 가독 보정 */
@media only screen and (max-width:840px){
	#section-sustain .esg-cards>li>p{ font-size:14px !important; line-height:1.2 !important; }
}
@media only screen and (max-width:400px){
	/* 모바일은 기존 2.6rem(=14.3px) 유지 — 명시로 안정화 */
	#section-sustain .esg-cards>li>p{ font-size:14px !important; line-height:1.2 !important; }
}
/* === UNIFY-C1 END === */

/* === UNIFY-C2 START === */
/* PR 4페이지(news/notice/press/awards) 본문 타이포 rem트랩 보정 + 색 통일.
   baseline_spec.md 기준. 히어로/layout.css 미접촉. contents.css 페이지 스코프만.
   주 타깃: 태블릿(481~1023px) 및 일부 모바일 구간에서 rem(html 6.5/5.5px)로 폰트가
   가독 한계까지 축소되던 요소들을 px 명시로 복구. 셀렉터는 tbody 포함으로 구체성 확보
   (기존 #section-press tbody td.date !important 규칙을 이기기 위함). */

/* ---- notice / press: td.date rem트랩 (768=8.45px, 360=6.3px) → 본문 td 스케일 복구 + 색 #666 통일 ---- */
@media (min-width:481px) and (max-width:1023px){
  #section-notice .board-table tbody td.date,
  #section-press .board-table tbody td.date{
    font-size:15.6px !important; line-height:22.1px !important; color:#666 !important;
  }
}
@media (max-width:480px){
  #section-notice .board-table tbody td.date,
  #section-press .board-table tbody td.date{
    font-size:13px !important; line-height:19.5px !important; color:#666 !important;
  }
}
@media (min-width:1024px){
  #section-notice .board-table tbody td.date,
  #section-press .board-table tbody td.date{
    color:#666 !important;
  }
}

/* ---- awards: 481~1023px 구간 rem트랩 일괄 보정 (yearH3 13px, h5 10.4px, badge 7.8px, tab 8.8px) ---- */
@media (min-width:481px) and (max-width:1023px){
  #section-awards .awards-year h3{
    font-size:18.7px !important; line-height:1.3 !important;
  }
  #section-awards .awards-year > ul > li h5{
    font-size:14px !important; line-height:20px !important;
  }
  #section-awards .awards-year > ul > li p{
    font-size:13.65px !important; line-height:19.5px !important;
  }
  #section-awards .awards-year > ul > li .badge,
  #section-awards .card-prize .badge,
  #section-awards .card-cert .badge{
    font-size:11px !important; line-height:1 !important;
  }
  #section-awards .awards-tab > a{
    font-size:13.65px !important;
  }
  #section-awards .awards-tab .year-sel{
    font-size:13px !important;
  }
}
/* === UNIFY-C2 END === */

/* === UNIFY-C4 START === */
/* contact 3p (inquiry/faq/location) 통일 보정 — rem트랩 768 px명시 + 폼 input 16px iOS줌방지.
   기준: /about overview/ci/areas. JS/폼submit/지도/아코디언 로직 미변경, 스타일만. C4 */

/* ---- 공통: 섹션 폭 컨테이너(1320) 정합 ---- */
#section-inquiry, #section-faq, #section-location{max-width:128rem; margin-left:auto; margin-right:auto;}

/* ============================================================
   768 태블릿 구간 (481~1024px) — html 6.5px rem트랩 px 보정
   baseline 768 적정 스케일 재현(라벨 14, 본문 13.2~15, 버튼 15)
   ============================================================ */
@media (min-width:481px) and (max-width:1024px){
	/* inquiry 폼 */
	#section-inquiry table.form-table th{font-size:14px; line-height:1.4;}
	#section-inquiry table.form-table td{font-size:14px;}
	#section-inquiry table.form-table td label{font-size:14px;}
	#section-inquiry table.form-table td input[type=text],
	#section-inquiry table.form-table td input[type=email],
	#section-inquiry table.form-table td input[type=tel],
	#section-inquiry table.form-table td input[type=file],
	#section-inquiry table.form-table td select,
	#section-inquiry table.form-table td textarea{font-size:15px;}
	#section-inquiry .form-required{font-size:13px;}
	#section-inquiry .captcha-refresh,
	#section-inquiry .captcha-help{font-size:12.5px;}
	#section-inquiry .form-policy{font-size:13px;}
	#section-inquiry .form-policy h6{font-size:14px;}
	#section-inquiry .form-policy h6 .link-r{font-size:13px;}
	#section-inquiry .form-btns button,
	#section-inquiry .form-btns a{font-size:15px;}

	/* faq */
	#section-faq .faq-cat > a{font-size:15px;}
	#section-faq .faq-toolbar .total{font-size:14px;}
	#section-faq .faq-toolbar .search-form select,
	#section-faq .faq-toolbar .search-form input[type=text]{font-size:14px;}
	#section-faq .faq-toolbar .search-form button{font-size:14px;}
	#section-faq .faq-table thead th{font-size:14px;}
	#section-faq .faq-table tr.faq-q td{font-size:14px;}
	#section-faq .faq-table tr.faq-q td.subject{font-size:15px;}
	#section-faq .faq-table tr.faq-a td.content,
	#section-faq .faq-table tr.faq-a td.content p{font-size:14px; line-height:1.7;}

	/* location */
	#section-location .loc-title{font-size:20px; line-height:1.3;}
	#section-location .loc-cards > li .cat{font-size:12px;}
	#section-location .loc-cards > li h5{font-size:15px; line-height:1.45;}
	#section-location .loc-cards > li .addr-en{font-size:12px; line-height:1.5;}
	#section-location .loc-cards > li dl{font-size:13px; line-height:1.6;}
}

/* ============================================================
   360 모바일 구간 (max-480px) — html 5.5px. 폼 input 16px(iOS 줌 방지)
   ============================================================ */
@media (max-width:480px){
	/* inquiry: 폼 입력요소 16px 이상 → iOS 자동 줌 방지 */
	#section-inquiry table.form-table td input[type=text],
	#section-inquiry table.form-table td input[type=email],
	#section-inquiry table.form-table td input[type=tel],
	#section-inquiry table.form-table td input[type=file],
	#section-inquiry table.form-table td select,
	#section-inquiry table.form-table td textarea{font-size:16px;}
	#section-inquiry table.form-table th{font-size:14px;}
	#section-inquiry table.form-table td,
	#section-inquiry table.form-table td label{font-size:14px;}
	#section-inquiry .form-required{font-size:13px;}
	#section-inquiry .form-policy{font-size:13px;}
	#section-inquiry .form-btns button,
	#section-inquiry .form-btns a{font-size:15px;}

	/* faq: 검색 input 16px(iOS 줌 방지) + 본문 가독 */
	#section-faq .faq-toolbar .search-form input[type=text]{font-size:16px;}
	#section-faq .faq-toolbar .search-form select{font-size:14px;}
	#section-faq .faq-cat > a{font-size:14px;}
	#section-faq .faq-table tr.faq-q td{font-size:14px;}
	#section-faq .faq-table tr.faq-q td.subject{font-size:14px;}
	#section-faq .faq-table tr.faq-a td{padding:18px 16px;}
	#section-faq .faq-table tr.faq-a td.content,
	#section-faq .faq-table tr.faq-a td.content p{font-size:13.5px; line-height:1.7;}
}

/* C4-FIX: btn 특정성 보강 — .form-btns .btn-submit/.btn-cancel 가 768구간 1.4rem로 추락하던 것 px 고정 */
@media (min-width:481px) and (max-width:1024px){
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{font-size:15px;}
}
@media (max-width:480px){
	#section-inquiry .form-btns .btn-submit,
	#section-inquiry .form-btns .btn-cancel{font-size:15px;}
}

/* === UNIFY-C4 END === */

/* === UNIFY-C3 START === */
/* C3 통일 보정: careers 5페이지(talent/life/journey/jobs/recruit) 본문 타이포
   rem 트랩 보정. baseline_spec.md 기준(본문 p 1440=20/768=15.6/360=13.2px, #666).
   html font-size 768=6.5px / 360=5.5px 위험구간에서 rem 본문이 7.7~9.75px로
   추락하던 요소를 px 명시로 복구. 색은 본문 #666 통일.
   히어로/layout.css/config/_common 미접촉. #section-* 페이지 스코프 한정, append 전용.
   jobs/recruit menuFull JS·메뉴 시스템 미접촉. #pageTop(전 서브페이지 공통) 미접촉. */

/* ---------- talent ---------- */
/* 본문 dd p(소개문) 768=9.75px / li(MICE) 768=11.7,360=9.9px → 본문 스케일 복구 */
@media (min-width:481px) and (max-width:1023px){
	#section-talent .talent-row dd p{ font-size:15.6px !important; line-height:1.6 !important; color:#666 !important; }
	#section-talent .talent-mice li{ font-size:14px !important; line-height:1.5 !important; }
	#section-talent .talent-mice .mice-desc{ font-size:15.6px !important; line-height:1.6 !important; color:#666 !important; }
}
@media (max-width:480px){
	#section-talent .talent-row dd p{ font-size:13.2px !important; line-height:1.6 !important; color:#666 !important; }
	#section-talent .talent-mice li{ font-size:13px !important; line-height:1.5 !important; }
	#section-talent .talent-mice .mice-desc{ font-size:13.2px !important; line-height:1.6 !important; color:#666 !important; }
}

/* ---------- life ---------- */
/* 혜택 리스트 li 768=11.7,360=9.9px → 본문 스케일 복구 */
@media (min-width:481px) and (max-width:1023px){
	#section-life .life-list li{ font-size:14px !important; line-height:1.5 !important; }
}
@media (max-width:480px){
	#section-life .life-list li{ font-size:13px !important; line-height:1.5 !important; }
}

/* ---------- journey ---------- */
/* 스텝 번호 p.num 768=9.1,360=7.7px(빨강) / 스텝 li 768=11.7,360=9.9px → 복구 */
@media (min-width:481px) and (max-width:1023px){
	#section-journey .journey-steps p.num{ font-size:14px !important; line-height:1.2 !important; color:#e4002b !important; }
	#section-journey .journey-steps li{ font-size:14px !important; line-height:1.5 !important; }
}
@media (max-width:480px){
	#section-journey .journey-steps p.num{ font-size:13.2px !important; line-height:1.2 !important; color:#e4002b !important; }
	#section-journey .journey-steps li{ font-size:13px !important; line-height:1.5 !important; }
}

/* ---------- jobs ---------- */
/* 공고 리스트 li 768=11.7,360=9.9px → 본문 스케일 복구. (menuFull JS·메뉴 미접촉) */
@media (min-width:481px) and (max-width:1023px){
	#section-jobs .jobs-list li{ font-size:14px !important; line-height:1.5 !important; }
}
@media (max-width:480px){
	#section-jobs .jobs-list li{ font-size:13px !important; line-height:1.5 !important; }
}

/* ---------- recruit ---------- */
/* 지원 폼 전반 768 구간 7.7~9.1px 대량 추락 → 폼 가독 px 복구. 360은 대체로 정상이라 유지 */
@media (min-width:481px) and (max-width:1023px){
	#section-recruit .form-required{ font-size:13px !important; line-height:1.5 !important; }
	#section-recruit table th{ font-size:14px !important; line-height:1.5 !important; }
	#section-recruit table td{ font-size:14px !important; line-height:1.5 !important; }
	#section-recruit .file-btn{ font-size:13px !important; }
	#section-recruit .captcha-refresh{ font-size:12px !important; }
	#section-recruit .captcha-help{ font-size:13px !important; }
	#section-recruit .link-r{ font-size:13px !important; }
	#section-recruit .btn-submit,
	#section-recruit .btn-cancel{ font-size:15px !important; line-height:1.4 !important; }
}
/* === UNIFY-C3 END === */

/* === UNIFY-C3-2 START === */
/* C3 추가 보정: 재측정에서 남은 rem트랩. recruit 폼 td 360 추락(7.7px) 및
   개인정보처리방침 본문 p 768 추락(8.45px) 복구. #section-recruit 스코프 한정.
   talent dd/life span.small/jobs a.on은 의도적 제외(보고 참조). */
@media (max-width:480px){
	#section-recruit .form-table td{ font-size:13px !important; line-height:1.5 !important; }
}
@media (min-width:481px) and (max-width:1023px){
	#section-recruit .form-table td{ font-size:14px !important; line-height:1.5 !important; }
	#section-recruit .form-policy .policy-box p{ font-size:13px !important; line-height:1.6 !important; }
}
/* === UNIFY-C3-2 END === */

/* === UNIFY-HIGHFIX START === */
/* CTO QA 잔여 HIGH 보정: 모바일 rem 트랩으로 본문 폰트 6-8px 추락 → px 명시 (2026-06-17) */
/* 스코프: #section-inquiry / #section-notice / #section-life 페이지 한정. 타 페이지 회귀 차단 */
@media (max-width:768px){
	/* inquiry: 개인정보처리방침 본문 p (8.45px → 14px) */
	#section-inquiry .form-policy .policy-box p{font-size:14px !important; line-height:1.6 !important;}
	/* notice: 게시물 수 + 게시판 제목/링크 (total 8.45px / subject @360 7.7px) */
	#section-notice .board-toolbar .total{font-size:14px !important; line-height:1.5 !important;}
	#section-notice .board-table td.subject{font-size:14px !important; line-height:1.45 !important;}
	#section-notice .board-table td.subject a{font-size:14px !important; line-height:1.45 !important;}
	/* life: 본문 카페 안내 span.small (7.8px) + 혜택 리스트 dd (페이지 한정) */
	#section-life .life-grid3 > li dl dt .small,
	#section-life .life-grid3 > li dl dt span.small{font-size:14px !important;}
	#section-life .life-list > li dl dd{font-size:14px !important; line-height:1.7 !important;}
	#section-life .life-list > li dl dt{font-size:14px !important;}
}
@media (max-width:480px){
	#section-inquiry .form-policy .policy-box p{font-size:14px !important; line-height:1.6 !important;}
	#section-notice .board-toolbar .total{font-size:14px !important; line-height:1.5 !important;}
	#section-notice .board-table td.subject{font-size:14px !important; line-height:1.45 !important;}
	#section-notice .board-table td.subject a{font-size:14px !important; line-height:1.45 !important;}
	#section-life .life-grid3 > li dl dt .small,
	#section-life .life-grid3 > li dl dt span.small{font-size:14px !important;}
	#section-life .life-list > li dl dd{font-size:13px !important; line-height:1.65 !important;}
	#section-life .life-list > li dl dt{font-size:14px !important;}
}
/* === UNIFY-HIGHFIX END === */

/* === SUSTAIN-IMG START === */
body:has(#section-sustain) #sVisual.bg_02{background-image:url('/images/img_sVisual_sustain.png');background-size:cover;background-position:center;background-repeat:no-repeat}
#section-sustain .sustain-bg{background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)), url('/images/sub/img_sustain_esg_bg.png') no-repeat center center/cover}
#section-sustain .full-area.gray{background-image:url('/images/sub/img_sustain_env_bg.png');background-repeat:no-repeat;background-position:center;background-size:cover}
#section-sustain .sustain-social{background-color:transparent;background-image:url('/images/sub/img_sustain_social_bg.png');background-repeat:no-repeat;background-position:center;background-size:cover}
/* === SUSTAIN-IMG END === */

/* PAGE-ADDITIONS: TALENT-MOBILE-IMG — careers/talent.php We Work by X.CODE 모바일 이미지 우선 (CSS order) */
@media (max-width:840px){
  #section-talent .talent-xcode > figure{order:-1;}
  #section-talent .talent-xcode > dl{order:0;}
}
/* === END PAGE-ADDITIONS: TALENT-MOBILE-IMG === */

/* === PAGE-ADDITIONS: AWARDS-LAYOUT === */
/* CTO 재구성: ①무조건 2열 ②빨간 bar=연도높이 ③전체표시+해시스크롤 ④탭/select 택일 토글 */

/* 부드러운 스크롤 + 헤더 가림 방지 앵커 오프셋 */
html{scroll-behavior:smooth;}
#section-awards .awards-year{scroll-margin-top:120px;}

/* ① 무조건 2열 그리드 (홀수여도 2열 유지, 마지막 카드 좌측에 자동 배치) */
#section-awards .awards-year > ul{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:1.5rem !important;
	padding:0; margin:0; list-style:none;
}
#section-awards .awards-year > ul > li{
	min-width:0; /* grid 자식 오버플로 방지 */
}

/* ② 연도 좌측 빨간 세로 bar = 연도 글자 높이와 정확히 일치, 수직 중앙 */
#section-awards .awards-year h3{
	position:relative; padding-left:1.6rem; margin:0;
	display:flex; align-items:center;
}
#section-awards .awards-year h3 .yr-label{
	display:inline-block; line-height:1; /* 글자 높이 = bar 기준 */
}
#section-awards .awards-year h3::before{
	content:""; position:absolute; left:0; top:50%; transform:translateY(-50%);
	width:0.5rem; height:1em; /* 연도 폰트 크기와 동일 높이 */
	background:#e4002b; border-radius:0.2rem;
}

/* ④ 탭 vs select 택일 — 데스크탑: 탭만 / 모바일: select만 */
#section-awards .awards-tab .year-sel{display:none;}            /* 데스크탑 기본: select 숨김 */
#section-awards .awards-tab > a.awards-tab-link{display:inline-block;} /* 데스크탑: 탭 보임 */
#section-awards .awards-tab > a.awards-tab-link{cursor:pointer;}

/* 태블릿(1024 이하)도 2열 유지 */
@media (max-width:1024px){
	#section-awards .awards-year{grid-template-columns:14rem 1fr;}
	#section-awards .awards-year > ul{grid-template-columns:1fr 1fr !important; gap:1.4rem !important;}
}

/* 모바일 768 이하: 탭 숨김, select만 / 연도-카드 세로 스택, 그러나 카드는 무조건 2열 유지 */
@media (max-width:768px){
	#section-awards .awards-tab > a.awards-tab-link{display:none !important;} /* 탭 숨김 */
	#section-awards .awards-tab .year-sel{
		display:block !important;
		margin-left:0; width:100%; min-width:0; max-width:100%; box-sizing:border-box;
		padding:11px 36px 11px 14px; font-size:14px;
	}
	#section-awards .awards-tab{padding-bottom:16px; gap:0;}
	#section-awards .awards-year{grid-template-columns:1fr; gap:18px;}
	#section-awards .awards-year h3{font-size:24px;}
	#section-awards .awards-year > ul{grid-template-columns:1fr 1fr !important; gap:12px !important;}
	#section-awards .awards-year > ul > li{padding:16px;}
	#section-awards .awards-year > ul > li h5{font-size:14px; line-height:1.45;}
	#section-awards .awards-year > ul > li p{font-size:13px; line-height:1.55;}
	#section-awards .awards-year > ul > li .badge{font-size:12px; padding:4px 12px; margin-bottom:10px;}
	#section-awards .awards-year{scroll-margin-top:80px;}
}

/* 모바일 360: 무조건 2열 유지 + 폰트/패딩 축소로 가독 확보 */
@media (max-width:480px){
	#section-awards .awards-year > ul{grid-template-columns:1fr 1fr !important; gap:8px !important;}
	#section-awards .awards-year > ul > li{padding:12px;}
	#section-awards .awards-year > ul > li h5{font-size:13px; line-height:1.4;}
	#section-awards .awards-year > ul > li p{font-size:12px; line-height:1.5;}
	#section-awards .awards-year > ul > li .badge{font-size:11px; padding:3px 9px; margin-bottom:8px;}
	#section-awards .awards-year h3{font-size:21px;}
	#section-awards .awards-tab .year-sel{font-size:14px;}
}
/* === END PAGE-ADDITIONS: AWARDS-LAYOUT === */

/* ============================================================
   BOARD-VIEW-RESPONSIVE
   PR 게시판 상세(view.skin.php / #section-pr-view) 모바일 반응형 보정.
   원인: html font-size 데스크탑 10px → 840px=6.5px / 480px=6px / 400px=5.5px
   로 축소되면서 rem 본문/제목/메타/버튼이 8~13px로 추락(가독 불가).
   대상: pf_news/pf_notice/pf_press/pf_awards 공통 스킨.
   스코프: #section-pr-view 한정(리스트뷰/타 페이지 회귀 차단).
   px 명시로 본문 스케일 복구 + img/table 가로넘침 안전망 + 버튼 터치크기.
   append 전용. 히어로/layout.css/config/_common/_head/_tail 미접촉.
   ============================================================ */

/* --- 본문 가로 넘침 안전망(전 viewport 공통) --- */
#section-pr-view .pr-view-body{max-width:100%; overflow-wrap:break-word; word-break:break-word;}
#section-pr-view .pr-view-body img,
#section-pr-view .pr-view-body video,
#section-pr-view .pr-view-body iframe{max-width:100% !important; height:auto;}
#section-pr-view .pr-view-body table{max-width:100%; display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;}
#section-pr-view .pr-view-body *{max-width:100%;}

/* ===== 768 구간(481~840px): rem 본문 스케일 px 복구 ===== */
@media (min-width:481px) and (max-width:840px){
  #section-pr-view{padding:3rem 16px 4rem;}
  #section-pr-view .pr-view-title{font-size:20px !important; line-height:1.4 !important;}
  #section-pr-view .pr-view-meta{font-size:13px !important; gap:10px !important;}
  #section-pr-view .pr-view-meta .pr-view-divider{height:11px !important;}
  #section-pr-view .pr-view-link{font-size:13px !important;}
  #section-pr-view .pr-view-link-label{font-size:13px !important;}
  #section-pr-view .pr-view-body{font-size:15.6px !important; line-height:1.7 !important;}
  #section-pr-view .pr-view-body p{font-size:15.6px !important; line-height:1.7 !important;}
  #section-pr-view .pr-view-body li{font-size:15.6px !important;}
  #section-pr-view .pr-view-body h2{font-size:18px !important;}
  #section-pr-view .pr-view-body h3{font-size:16.5px !important;}
  #section-pr-view .pr-view-body h4{font-size:15.6px !important;}
  #section-pr-view .pr-view-files{padding:16px 18px !important;}
  #section-pr-view .pr-view-files-title{font-size:13px !important;}
  #section-pr-view .pr-view-files li{font-size:13px !important;}
  #section-pr-view .pr-view-files .pr-file-size{font-size:12px !important;}
  #section-pr-view .pr-view-nav .pr-nav-label{font-size:13px !important;}
  #section-pr-view .pr-view-nav a{font-size:14px !important;}
  #section-pr-view .pr-view-nav .pr-nav-empty{font-size:13px !important;}
  #section-pr-view .pr-btn{font-size:15px !important; min-width:140px !important; height:46px !important;}
}

/* ===== 360 구간(≤480px): 본문 스케일 px 복구 + 여백 축소 + 터치 ===== */
@media (max-width:480px){
  #section-pr-view{padding:24px 14px 32px !important;}
  #section-pr-view .pr-view-head{padding:18px 0 !important;}
  #section-pr-view .pr-view-title{font-size:18px !important; line-height:1.4 !important; margin:0 0 10px !important;}
  #section-pr-view .pr-view-meta{font-size:12px !important; gap:8px !important;}
  #section-pr-view .pr-view-meta .pr-view-divider{height:10px !important;}
  #section-pr-view .pr-view-link{font-size:12px !important; padding:12px 14px !important; flex-direction:column; align-items:flex-start; gap:4px;}
  #section-pr-view .pr-view-link-label{font-size:12px !important;}
  #section-pr-view .pr-view-body{font-size:14px !important; line-height:1.75 !important; padding:24px 0 30px !important;}
  #section-pr-view .pr-view-body p{font-size:14px !important; line-height:1.75 !important; margin:0 0 12px;}
  #section-pr-view .pr-view-body li{font-size:14px !important;}
  #section-pr-view .pr-view-body h2{font-size:17px !important;}
  #section-pr-view .pr-view-body h3{font-size:15.5px !important;}
  #section-pr-view .pr-view-body h4{font-size:14px !important;}
  #section-pr-view .pr-view-body img{margin:14px auto !important;}
  #section-pr-view .pr-view-files{padding:14px 16px !important;}
  #section-pr-view .pr-view-files-title{font-size:13px !important;}
  #section-pr-view .pr-view-files li{font-size:12.5px !important;}
  #section-pr-view .pr-view-files .pr-file-size{font-size:11.5px !important;}
  #section-pr-view .pr-view-nav li{flex-direction:column; align-items:flex-start; gap:4px; padding:12px 0 !important;}
  #section-pr-view .pr-view-nav .pr-nav-label{width:auto; font-size:12.5px !important;}
  #section-pr-view .pr-view-nav a{white-space:normal; word-break:keep-all; font-size:14px !important;}
  #section-pr-view .pr-view-nav .pr-nav-empty{font-size:12.5px !important;}
  #section-pr-view .pr-btn{font-size:14px !important; min-width:130px !important; height:46px !important;}
}
/* === END BOARD-VIEW-RESPONSIVE === */

/* === FORMS-RESPONSIVE START === recruit/inquiry 폼 가로폭·행배열 viewport 보정 (레이아웃 전용, 폰트마커 별개) */
/* 단일 input/select/textarea: 셀 폭 100% 채우기 (recruit가 240px로 몰리던 문제 해결) */
#section-recruit table.form-table td > input[type=text],
#section-recruit table.form-table td > input[type=email],
#section-recruit table.form-table td > input[type=tel],
#section-recruit table.form-table td > textarea,
#section-recruit table.form-table td > select,
#section-inquiry table.form-table td > input[type=text],
#section-inquiry table.form-table td > input[type=email],
#section-inquiry table.form-table td > input[type=tel],
#section-inquiry table.form-table td > textarea,
#section-inquiry table.form-table td > select{width:100%; max-width:100%; min-width:0; box-sizing:border-box;}
/* 지원직군 셀렉트 등 와이드 셀렉트도 100% (고정 36rem 제거) */
#section-recruit table.form-table td select.select-wide{width:100%; max-width:100%; min-width:0;}
/* 복합행(전화/이메일/캡차)은 flex 유지하되 내부 필드는 flex-basis로 자연 분배 */
#section-recruit table.form-table td.phone-row, #section-inquiry table.form-table td.phone-row{display:flex; gap:0.6rem; align-items:center; flex-wrap:nowrap;}
#section-recruit table.form-table td.phone-row select, #section-inquiry table.form-table td.phone-row select{flex:0 0 auto; width:auto; min-width:8rem;}
#section-recruit table.form-table td.phone-row input, #section-inquiry table.form-table td.phone-row input{flex:1 1 0; width:auto; min-width:0; max-width:14rem;}
#section-recruit table.form-table td.email-row, #section-inquiry table.form-table td.email-row{display:flex; gap:0.6rem; align-items:center; flex-wrap:wrap;}
#section-recruit table.form-table td.email-row > input[type=text], #section-inquiry table.form-table td.email-row > input[type=text]{flex:1 1 16rem; width:auto; min-width:0; max-width:none;}
#section-recruit table.form-table td.email-row > select, #section-inquiry table.form-table td.email-row > select{flex:0 0 auto; width:auto; min-width:12rem; max-width:16rem;}
/* 캡차행: 이미지+input+버튼 자연 정렬, input은 셀 채우지 않게 고정폭 */
#section-recruit table.form-table td.captcha-row .captcha-input{flex:0 1 18rem; width:18rem; min-width:0;}
#section-inquiry table.form-table td:has(.captcha-img){display:flex; align-items:center; gap:0.8rem; flex-wrap:wrap;}
#section-inquiry table.form-table td:has(.captcha-img) > input[type=text]{flex:0 1 18rem; width:18rem; min-width:0;}
#section-inquiry table.form-table td:has(.captcha-img) .captcha-img img{margin:0; height:3.4rem;}
/* 첨부파일 행 정렬 */
#section-recruit table.form-table td.file-row .file-field, #section-inquiry table.form-table td.file-row .file-field{display:flex; width:100%; max-width:48rem;}
#section-recruit table.form-table td.file-row .file-name, #section-inquiry table.form-table td.file-row .file-name{flex:1 1 auto; width:auto; min-width:0;}
#section-recruit table.form-table td.file-row .file-btn, #section-inquiry table.form-table td.file-row .file-btn{flex:0 0 auto;}

/* 태블릿 이하: 복합행 줄바꿈 허용, 폭 여유 */
@media (max-width:1024px){
	#section-recruit table.form-table td.phone-row, #section-inquiry table.form-table td.phone-row{flex-wrap:wrap;}
	#section-recruit table.form-table td.phone-row input, #section-inquiry table.form-table td.phone-row input{max-width:none;}
}

/* 모바일: 1단 스택 + 복합행 정돈 + iOS 자동줌 방지(16px) */
@media (max-width:768px){
	#section-recruit table.form-table td > input[type=text],
	#section-recruit table.form-table td > input[type=email],
	#section-recruit table.form-table td > input[type=tel],
	#section-recruit table.form-table td > textarea,
	#section-recruit table.form-table td > select,
	#section-inquiry table.form-table td > input[type=text],
	#section-inquiry table.form-table td > input[type=email],
	#section-inquiry table.form-table td > input[type=tel],
	#section-inquiry table.form-table td > textarea,
	#section-inquiry table.form-table td > select{font-size:16px;}
	#section-recruit table.form-table td.phone-row input, #section-inquiry table.form-table td.phone-row input,
	#section-recruit table.form-table td.email-row > input[type=text], #section-inquiry table.form-table td.email-row > input[type=text],
	#section-recruit table.form-table td.captcha-row .captcha-input,
	#section-inquiry table.form-table td:has(.captcha-img) > input[type=text]{font-size:16px;}
	/* 전화 행: 3필드 한줄 유지하되 균등 분배 */
	#section-recruit table.form-table td.phone-row, #section-inquiry table.form-table td.phone-row{flex-wrap:nowrap;}
	#section-recruit table.form-table td.phone-row select, #section-inquiry table.form-table td.phone-row select{flex:1 1 0; min-width:0;}
	#section-recruit table.form-table td.phone-row input, #section-inquiry table.form-table td.phone-row input{flex:1 1 0; max-width:none;}
	/* 이메일 행: 아이디|@|도메인 한줄, 셀렉트는 아래로 */
	#section-recruit table.form-table td.email-row > select, #section-inquiry table.form-table td.email-row > select{flex:1 1 100%; max-width:none;}
	/* 캡차 input 폭 100% */
	#section-recruit table.form-table td.captcha-row .captcha-input{flex:1 1 100%; width:100%;}
	#section-inquiry table.form-table td:has(.captcha-img) > input[type=text]{flex:1 1 100%; width:100%;}
	/* 첨부 파일 폭 100% */
	#section-recruit table.form-table td.file-row .file-field, #section-inquiry table.form-table td.file-row .file-field{max-width:none;}
	/* 버튼 풀폭 정돈 */
	#section-recruit .form-btns, #section-inquiry .form-btns{flex-wrap:wrap;}
	#section-recruit .form-btns button, #section-recruit .form-btns a,
	#section-inquiry .form-btns button, #section-inquiry .form-btns a{flex:1 1 0; min-width:12rem;}
}
/* === FORMS-RESPONSIVE END === */

/* === LOCATION-PIN-POPUP START === */
.loc-pin-popup{
	position:fixed; left:0; top:0; z-index:99999;
	width:288px; max-width:88vw; box-sizing:border-box;
	padding:18px 20px 20px;
	background:#fff; border:1px solid #ececec; border-radius:10px;
	box-shadow:0 12px 36px rgba(0,0,0,0.18), 0 2px 8px rgba(0,0,0,0.08);
	pointer-events:none;
	opacity:0; visibility:hidden;
	transform:translateY(4px);
	transition:opacity 0.16s ease, visibility 0.16s ease, transform 0.16s ease;
}
.loc-pin-popup.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.loc-pin-popup .cat{
	display:inline-block; padding:3px 12px; margin:0 0 12px;
	background:#e4002b; color:#fff; font-size:12px; line-height:1.4;
	border-radius:12px; font-weight:600;
}
.loc-pin-popup h5{
	margin:0 0 8px; font-size:16px; line-height:1.45; font-weight:700; color:#000;
}
.loc-pin-popup .addr-en{
	margin:0 0 12px; font-size:13px; line-height:1.6; color:#888;
}
.loc-pin-popup dl{
	display:grid; grid-template-columns:48px 1fr; gap:4px 12px;
	margin:0; font-size:13px; line-height:1.7;
}
.loc-pin-popup dl dt{color:#999; margin:0; font-weight:500;}
.loc-pin-popup dl dd{color:#222; margin:0; font-weight:500;}
#section-location .loc-map .pin{transition:transform 0.15s ease;}
#section-location .loc-map .pin:hover{transform:scale(1.35); cursor:pointer;}
@media (hover: none){
	.loc-pin-popup{display:none !important;}
}
/* === LOCATION-PIN-POPUP END === */

/* === INQUIRY-FORM4 START === 라디오 정상화 + 캡차 + 약관 모달 (덮어쓰기 금지) */
/* 1. 라디오 라벨클릭 선택 보장 + input{width:100%} 류 영향 차단 */
#section-inquiry input[type=radio]{width:auto !important; min-width:0 !important; max-width:none !important; margin:0 6px 0 0; padding:0; vertical-align:middle; accent-color:#e4002b; flex:none;}
#section-inquiry table.form-table td.radio-row label,
#section-inquiry .form-policy label{cursor:pointer; display:inline-flex; align-items:center; gap:4px; font-size:1.4rem;}
#section-inquiry table.form-table td.radio-row{display:flex; gap:2rem; flex-wrap:wrap; align-items:center;}

/* 2. 캡차 영역 (captcha_html fieldset) 정렬 */
#section-inquiry table.form-table td.captcha-cell{padding:1.2rem 1.5rem;}
#section-inquiry fieldset#captcha.captcha{border:0; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:0.6rem;}
#section-inquiry fieldset#captcha.captcha legend{float:none; width:100%; padding:0; margin:0 0 0.6rem; font-size:1.3rem; font-weight:600; color:#000;}
#section-inquiry fieldset#captcha.captcha #captcha_img{vertical-align:middle; border:1px solid #ddd; height:3.6rem; width:auto;}
#section-inquiry fieldset#captcha.captcha input#captcha_key{width:9rem; min-width:0; max-width:9rem; flex:0 0 auto; padding:0.7rem 1rem; border:1px solid #ddd; font-size:1.4rem; box-sizing:border-box; background:#fff;}
#section-inquiry fieldset#captcha.captcha button{flex:0 0 auto; padding:0.6rem 1.2rem; border:1px solid #ddd; background:#f5f5f5; font-size:1.3rem; color:#333; cursor:pointer; border-radius:0.3rem;}
#section-inquiry fieldset#captcha.captcha #captcha_info{flex:1 1 100%; margin-top:0.4rem; font-size:1.2rem; color:#888;}

/* 3. 개인정보 취급방침 레이어팝업 모달 */
.inq-modal{display:none; position:fixed; inset:0; z-index:99999;}
.inq-modal.is-open{display:block;}
.inq-modal .inq-modal-overlay{position:absolute; inset:0; background:rgba(0,0,0,.55);}
.inq-modal .inq-modal-box{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:90%; max-width:760px; max-height:80vh; background:#fff; border-radius:6px; box-shadow:0 10px 40px rgba(0,0,0,.3); display:flex; flex-direction:column; overflow:hidden;}
.inq-modal .inq-modal-head{display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #eee; flex:0 0 auto;}
.inq-modal .inq-modal-head strong{font-size:16px; color:#000;}
.inq-modal .inq-modal-close{width:32px; height:32px; border:0; background:transparent; font-size:26px; line-height:1; color:#666; cursor:pointer;}
.inq-modal .inq-modal-close:hover{color:#e4002b;}
.inq-modal .inq-modal-body{flex:1 1 auto; overflow:auto; -webkit-overflow-scrolling:touch;}
.inq-modal .inq-modal-body iframe{display:block; width:100%; height:60vh; border:0;}

@media (max-width:768px){
	#section-inquiry input[type=radio]{width:16px !important; height:16px;}
	#section-inquiry table.form-table td.radio-row label,
	#section-inquiry .form-policy label{font-size:15px;}
	#section-inquiry fieldset#captcha.captcha input#captcha_key{font-size:16px; flex:0 0 9rem; width:9rem;}
	.inq-modal .inq-modal-box{width:94%; max-height:88vh;}
	.inq-modal .inq-modal-body iframe{height:65vh;}
}
/* === INQUIRY-FORM4 END === */

/* === INQUIRY-RADIO-FIX START === 전역 -webkit-appearance:none(layout.css:19) 오버라이드로 네이티브 라디오 복원 */
#section-inquiry input[type=radio]{
	-webkit-appearance:radio !important;
	-moz-appearance:radio !important;
	appearance:auto !important;
	opacity:1 !important;
	position:static !important;
	width:1.6rem !important; height:1.6rem !important;
	accent-color:#e4002b;
}
@media (max-width:768px){
	#section-inquiry input[type=radio]{width:18px !important; height:18px !important;}
}
/* === INQUIRY-RADIO-FIX END === */


/* === LOCATION-PIN-ALIGN START === 태평양중심 지도 기준 핀 좌표 재정렬 + 중앙정렬 + 호버 확대(빨간점 직접 그림) */
#section-location .loc-map .pin{transform:translate(-50%,-50%);}
#section-location .loc-map .pin:hover{transform:translate(-50%,-50%) scale(1.5);}
#section-location .loc-map .pin-korea{left:38.9%; top:43.0%;}
#section-location .loc-map .pin-busan{left:39.6%; top:44.3%;}
#section-location .loc-map .pin-china{left:37.3%; top:45.5%;}
#section-location .loc-map .pin-vietnam{left:33.4%; top:59.0%;}
#section-location .loc-map .pin-usa{left:69.9%; top:36.5%;}
/* === LOCATION-PIN-ALIGN END === */

/* === FAQ-SEARCH-HEIGHT START === */
/* faq 검색영역: 좁은 뷰포트에서 입력/셀렉트/버튼 터치영역 최소높이 44px(px명시) 보강.
   기존 480px 블록(font-size만 재정의)이 2206-2208의 min-height:44px를 셀렉터 경합으로
   덮을 수 있어 파일 끝에 우선순위 확보용으로 명시. height(rem)도 함께 px로 고정. */
@media (max-width:768px){
	#section-faq .faq-toolbar .search-form{display:flex; flex-wrap:nowrap; gap:6px; align-items:stretch;}
	#section-faq .faq-toolbar .search-form select{flex:0 0 auto; min-height:44px; height:44px; box-sizing:border-box; line-height:normal;}
	#section-faq .faq-toolbar .search-form input[type=text]{flex:1 1 0; min-width:0; min-height:44px; height:44px; box-sizing:border-box; line-height:normal;}
	#section-faq .faq-toolbar .search-form button{flex:0 0 auto; min-height:44px; height:44px; box-sizing:border-box; line-height:normal;}
}
@media (max-width:480px){
	#section-faq .faq-toolbar .search-form select{flex:0 0 80px; min-height:44px; height:44px; padding:0 22px 0 8px; font-size:14px;}
	#section-faq .faq-toolbar .search-form input[type=text]{flex:1 1 0; min-width:0; min-height:44px; height:44px; padding:0 10px; font-size:16px;}
	#section-faq .faq-toolbar .search-form button{flex:0 0 auto; min-height:44px; height:44px; padding:0 16px; font-size:14px;}
}
/* === FAQ-SEARCH-HEIGHT END === */

/* === AUDIT-RESPONSIVE START === */
/* notice 검색영역: 480px 이하에서 height:4rem(rem트랩)으로 붕괴되던 것 px 고정.
   news/press는 기존 F2 블록(height:44px)으로 이미 해결됨 → notice만 보강. */
@media (max-width:480px){
	#section-notice .board-toolbar .search-form{display:flex; flex-wrap:nowrap; gap:6px; align-items:stretch; width:100%;}
	#section-notice .board-toolbar .search-form select{flex:0 0 84px; min-width:0; width:auto; min-height:44px; height:44px; padding:0 8px; font-size:14px; box-sizing:border-box; line-height:normal;}
	#section-notice .board-toolbar .search-form input[type=text]{flex:1 1 auto; min-width:0; width:auto; min-height:44px; height:44px; padding:0 10px; font-size:16px; box-sizing:border-box; line-height:normal;}
	#section-notice .board-toolbar .search-form button{flex:0 0 auto; min-height:44px; height:44px; padding:0 14px; font-size:14px; box-sizing:border-box; line-height:normal; white-space:nowrap;}
}
/* === AUDIT-RESPONSIVE END === */

/* === CI-IMG START === */
/* CI 페이지 실제 로고/심볼 PNG 자산 적용 (시안 0104_CI 일치) */
#section-ci .ci-symbol-board .ci-symbol-img{margin:0; display:flex; align-items:center; justify-content:center;}
#section-ci .ci-symbol-board .ci-symbol-img img{display:block; width:100%; max-width:104rem; height:auto;}
#section-ci .ci-logo-row figure .ci-logo-img{display:block; width:auto; max-width:30rem; height:auto;}
#section-ci .logo-type > li figure img{display:block; width:auto; max-width:100%; max-height:5rem; height:auto;}
@media (max-width:768px){
	#section-ci .ci-symbol-board .ci-symbol-img img{max-width:100%;}
	#section-ci .ci-logo-row figure .ci-logo-img{max-width:24rem;}
	#section-ci .logo-type > li figure img{max-height:4rem;}
}
@media (max-width:480px){
	#section-ci .ci-logo-row figure .ci-logo-img{max-width:20rem;}
	#section-ci .logo-type > li figure img{max-height:3.4rem;}
}
/* === CI-IMG END === */

/* === PORTFOLIO-SELECT START === */
/* 포트폴리오 상단 카테고리 필터(.port-cat > a) 모바일 rem 트랩 방지: px 명시로 폰트/터치영역 하한 보장 */
/* 481~768px 구간: 기존 px 보정이 없어 rem 기반으로 폰트 8.7px/높이 22px로 붕괴하던 구간 복구 */
@media (max-width:768px) and (min-width:481px){
	#section-portfolio .port-cat{flex-wrap:wrap; gap:8px 8px;}
	#section-portfolio .port-cat > a{min-height:44px; height:auto; padding:0 16px; font-size:15px; line-height:1.2; border-radius:22px; min-width:auto;}
}
/* 480px 이하: iOS 줌방지 권장 16px 폰트, 터치영역 48px 보장 (rem 붕괴 무시하고 px 고정) */
@media (max-width:480px){
	#section-portfolio .port-cat{flex-wrap:wrap; gap:10px 10px !important; margin:0 0 28px !important;}
	#section-portfolio .port-cat > a{min-height:48px !important; height:auto !important; padding:0 18px !important; font-size:16px !important; line-height:1.2 !important; border-radius:24px !important; min-width:auto !important;}
}
/* 360px 초협폭: 폰트 16px / 높이 48px 그대로 유지(붕괴 재발 방지) */
@media (max-width:360px){
	#section-portfolio .port-cat{gap:8px 8px !important;}
	#section-portfolio .port-cat > a{min-height:48px !important; padding:0 16px !important; font-size:16px !important;}
}
/* === PORTFOLIO-SELECT END === */



/* === NOTICE-BOARD-UNIFY START === */
/* notice 검색폼을 news/press(다른 게시판형)와 동일 CSS로 통일.
   high-fix-6 F2 블록이 news/press만 강화하고 notice를 누락 → 동일 값으로 보강.
   값 출처: F2 블록(태블릿 15px/44px, 데스크톱 14px/36px). 480px 이하는 AUDIT-RESPONSIVE에서 이미 통일됨. */
/* 태블릿 (481-1024) */
@media (min-width:481px) and (max-width:1024px) {
  #section-notice .search-form input[type="text"],
  #section-notice .search-form select {
    font-size:15px !important;
    height:44px !important;
    line-height:44px !important;
    box-sizing:border-box !important;
  }
  #section-notice .search-form button[type="submit"] {
    font-size:14px !important;
    height:44px !important;
    line-height:44px !important;
    min-width:64px !important;
    box-sizing:border-box !important;
  }
}
/* 데스크톱 (≥1025) */
@media (min-width:1025px) {
  #section-notice .search-form input[type="text"],
  #section-notice .search-form select {
    font-size:14px !important;
    height:36px !important;
    line-height:36px !important;
    box-sizing:border-box !important;
  }
  #section-notice .search-form button[type="submit"] {
    font-size:14px !important;
    height:36px !important;
    line-height:36px !important;
    min-width:64px !important;
    box-sizing:border-box !important;
  }
}
/* === NOTICE-BOARD-UNIFY END === */

/* === NEWS-TYPEBTN-SQUARE START === */
/* 카드/리스트 타입 토글 버튼을 오른쪽 셀렉트박스 높이와 동일한 정사각형으로 통일 */
/* 셀렉트 높이 기준(F2 규칙): ≥1025=36px, ≤1024=44px. px 명시(rem 트랩 회피) */
#section-news .board-toolbar .toolbar-right .view-toggle{box-sizing:border-box; height:44px; align-self:center;}
#section-news .board-toolbar .toolbar-right .view-toggle > a{box-sizing:border-box; height:100%; width:auto; aspect-ratio:1 / 1;}
@media (min-width:1025px){
	#section-news .board-toolbar .toolbar-right .view-toggle{height:36px;}
}
/* === NEWS-TYPEBTN-SQUARE END === */

/* === NOTICE-BOARD-UNIFY-480 START === */
/* notice 검색폼 480px 이하: news/press(F2 블록)와 동일한 !important 강화.
   원인: .board-toolbar .search-form input{font-size:1.3rem !important}(480px) 공통 규칙이
   AUDIT-RESPONSIVE의 #section-notice 16px(non-important)를 이겨 7px로 붕괴.
   F2와 동일 값(input/select 16px, button 14px, height 44px)로 통일. */
@media (max-width:480px) {
  #section-notice .search-form input[type="text"],
  #section-notice .search-form select {
    font-size:16px !important;
    height:44px !important;
    line-height:44px !important;
    box-sizing:border-box !important;
  }
  #section-notice .search-form button[type="submit"] {
    font-size:14px !important;
    height:44px !important;
    line-height:44px !important;
    min-width:60px !important;
    box-sizing:border-box !important;
  }
}
/* === NOTICE-BOARD-UNIFY-480 END === */

/* === BOARD-PREVNEXT-MOBILE START === */
/* 모바일 이전글/다음글 네비 한 줄 표시: 라벨+제목 한 행, 제목 말줄임 */
@media (max-width: 540px){
  #section-pr-view .pr-view-nav li{flex-direction:row !important; align-items:center !important; gap:1.2rem !important;}
  #section-pr-view .pr-view-nav .pr-nav-label{width:auto !important; flex-shrink:0 !important;}
  #section-pr-view .pr-view-nav a{flex:1 1 auto !important; min-width:0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; word-break:normal !important;}
}
@media (max-width: 480px){
  #section-pr-view .pr-view-nav li{flex-direction:row !important; align-items:center !important; gap:10px !important;}
  #section-pr-view .pr-view-nav .pr-nav-label{width:auto !important; flex-shrink:0 !important;}
  #section-pr-view .pr-view-nav a{flex:1 1 auto !important; min-width:0 !important; white-space:nowrap !important; overflow:hidden !important; text-overflow:ellipsis !important; word-break:normal !important;}
}
/* === BOARD-PREVNEXT-MOBILE END === */

/* === TALENT-RESPONSIVE START === */
/* 481~1023.98px 구간 rem 트랩 교정: 이 밴드에서 html font-size=6.5px라
   기존 talent rem 폰트(2.4rem≈15.6px, 1.5rem≈9.8px)가 비정상 축소됨.
   해당 구간 폰트를 px로 명시해 가독성 정상화. talent 섹션 한정. */
@media (min-width:481px) and (max-width:1023.98px){
	#section-talent .talent-row > dl > dt{font-size:22px; line-height:1.3; margin-bottom:1.4rem;}
	#section-talent .talent-row > dl > dd{font-size:15px; line-height:1.6;}
	#section-talent .talent-row > dl > dd p{font-size:15px; line-height:1.6;}
	#section-talent .talent-xcode > dl > dt{font-size:22px; line-height:1.3; margin-bottom:2rem;}
	#section-talent .talent-xcode > dl .xcode-item h5{font-size:17px; line-height:1.3;}
	#section-talent .talent-xcode > dl .xcode-item p{font-size:15px; line-height:1.6;}
	#section-talent .talent-mice .mice-name{font-size:19px; line-height:1.3;}
	#section-talent .talent-mice .mice-sub{font-size:19px; line-height:1.35;}
	#section-talent .talent-mice .mice-desc{font-size:14px; line-height:1.6;}
	#section-talent .talent-mice .mice-desc p{font-size:14px; line-height:1.6;}
	#section-talent .talent-mice .mice-circle.outline,
	#section-talent .talent-mice .mice-circle.solid{width:52px; height:52px; font-size:21px;}
}
/* === TALENT-RESPONSIVE END === */


/* === NOTICE-TOTAL-PAGE-UNIFY START === */
/* notice의 total/page 카운터를 news/press(F4 블록)와 동일 값으로 통일.
   기존 #section-notice .board-toolbar .total{14px !important}(class 2)를 이기려면
   동일/상위 명시도 필요 → #section-notice .board-toolbar p.total (class 2 + type) 사용.
   셀렉터는 notice 스코프 한정, 타 게시판 영향 없음. */
@media (min-width:1025px) {
  #section-notice .board-toolbar p.total {
    font-size:14px !important;
    color:#666 !important;
    line-height:1.3 !important;
    padding:0 !important;
    margin:0 !important;
  }
}
@media (min-width:481px) and (max-width:1024px) {
  #section-notice .board-toolbar p.total {
    font-size:14px !important;
    color:#666 !important;
    line-height:1.3 !important;
    padding:0 !important;
    margin:0 !important;
  }
}
@media (max-width:480px) {
  #section-notice .board-toolbar p.total {
    font-size:13px !important;
    color:#777 !important;
    line-height:1.4 !important;
    padding:8px 0 !important;
    margin:0 !important;
  }
}
/* === NOTICE-TOTAL-PAGE-UNIFY END === */

/* === TALENT-IMG-SIZE START === */
/* careers/talent.php: 841~1024px 구간에서 .talent-row(1·3번 이미지) figure가
   width:42%로 collapse → 같은 grid열을 채우는 .talent-xcode(2번 이미지)와 크기 불일치.
   2번 이미지 기준(figure width:100%)으로 통일. 셀렉터 talent 스코프 한정. */
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-talent .talent-row > figure{width:100%;}
}
/* === TALENT-IMG-SIZE END === */

/* === HISTORY-TAB-TIMELINE START === */
/* 작업: (1) 모바일 history-tab 최소크기 보장  (2) 타임라인 연도 원형 마커 정렬
   - 원이 세로축(.history-axis, z-index:2)보다 앞면(위)에 오도록 z-index 상향
   - 원 가로중심을 세로축 가로중심과 정확히 일치 (breakpoint별 실측 보정)
   측정 도구: playwright. 보정 후 |delta| <= 1px 확인. */

/* ---- (2)-① z-index: 원형 마커가 세로축(z-index:2) 위에 렌더 ---- */
#section-history .history-list > li > h5{position:relative; z-index:5;}
#section-history .history-list > li > h5::before{z-index:6;}
#section-history .history-list > li > h5::after{z-index:7;}

/* ---- (2)-② 원 중심을 세로축 중심에 정렬 (breakpoint별 left/right 보정) ----
   left블록 마커: left:N(transform -50%) → 양수면 원이 우측 이동
   right블록 마커: right:N(transform +50%) → 양수면 원이 좌측 이동
   실측(보정 전, 원중심-축중심):
     >=1281(gap6rem):  left +14 / right -14  → left:-14 / right:-14
     1025~1280(gap4rem): left -6 / right +6  → left:6  / right:6
     841~1024(gap3rem):  left -11 / right +11 → left:11 / right:11
     <=840(1열):        left/right -1 (둘다 동일축) → 1px 보정 */

/* 기본(>=1281) */
#section-history .history-block--left .history-list > li > h5::before,
#section-history .history-block--left .history-list > li > h5::after{left:-14px;}
#section-history .history-block--right .history-list > li > h5::before,
#section-history .history-block--right .history-list > li > h5::after{right:-14px;}

@media only screen and (max-width:1280px) and (min-width:1025px){
	#section-history .history-block--left .history-list > li > h5::before,
	#section-history .history-block--left .history-list > li > h5::after{left:6px;}
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{right:6px;}
}
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-history .history-block--left .history-list > li > h5::before,
	#section-history .history-block--left .history-list > li > h5::after{left:11px;}
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{right:11px;}
}
/* <=840: 1열 — 좌/우 블록 모두 left:0 기준 동일축. 1px 미세보정 */
@media only screen and (max-width:840px){
	#section-history .history-block--left .history-list > li > h5::before,
	#section-history .history-block--left .history-list > li > h5::after,
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{left:1px; right:auto;}
}

/* ---- (1) 모바일 history-tab 최소크기 보장 (탭 형태 유지) ----
   html font-size가 360px에서 ~5.8px라 rem 폰트 붕괴 → px 명시.
   폰트 13~14px, 터치영역 min 44px, 좌우 패딩 확보. */
@media only screen and (max-width:768px){
	#section-history .history-tab{gap:1rem; row-gap:0.6rem; flex-wrap:wrap; justify-content:center;}
	#section-history .history-tab a{
		font-size:14px; line-height:1.2;
		padding:10px 12px; min-height:44px;
		display:inline-flex; align-items:center; justify-content:center;
		white-space:nowrap;
	}
}
@media only screen and (max-width:480px){
	#section-history .history-tab{gap:8px; row-gap:6px;}
	#section-history .history-tab a{font-size:14px; padding:10px 10px; min-height:44px;}
}
@media only screen and (max-width:360px){
	#section-history .history-tab{gap:6px; row-gap:6px;}
	#section-history .history-tab a{font-size:13px; padding:9px 8px; min-height:44px;}
}
/* === HISTORY-TAB-TIMELINE END === */


/* === BOARD-PAGINATE-TOUCH START === */
/* PR 게시판 공통 페이징 버튼 모바일 터치영역 확대.
   현상태: news/notice 페이징이 rem트랩으로 ~18px, press ~36px → 모두 너무 작음.
   목표: 좁은 화면에서 min 44px 터치영역 + 폰트 px 명시. news/notice/press 동시 적용.
   공통 .paginate 셀렉터 1곳 + 페이지별 스코프 오버라이드를 px로 덮음(명시도/important).
   스코프: PR 보드 컨테이너 한정으로 jobs/faq/portfolio 페이징 회귀 차단. */
@media (max-width:768px){
	#section-news .paginate,
	#section-notice .paginate,
	#section-press .paginate{
		display:flex !important;
		flex-flow:row wrap !important;
		justify-content:center !important;
		align-items:center !important;
		gap:6px !important;
		margin-top:32px !important;
		padding:0 4px !important;
	}
	#section-news .paginate > a,
	#section-notice .paginate > a,
	#section-press .paginate > a{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		box-sizing:border-box !important;
		min-width:44px !important;
		width:auto !important;
		height:44px !important;
		min-height:44px !important;
		padding:0 10px !important;
		font-size:15px !important;
		line-height:1 !important;
		border:1px solid #ddd !important;
		border-radius:4px !important;
		background:#fff !important;
		color:#444 !important;
		text-decoration:none !important;
	}
	#section-news .paginate > a.on,
	#section-notice .paginate > a.on,
	#section-press .paginate > a.on{
		background:#000 !important;
		border-color:#000 !important;
		color:#fff !important;
		font-weight:700 !important;
	}
	#section-news .paginate > a.prev,
	#section-news .paginate > a.next,
	#section-notice .paginate > a.prev,
	#section-notice .paginate > a.next,
	#section-press .paginate > a.prev,
	#section-press .paginate > a.next{
		font-size:18px !important;
		color:#666 !important;
	}
}
@media (max-width:360px){
	#section-news .paginate > a,
	#section-notice .paginate > a,
	#section-press .paginate > a{
		min-width:44px !important;
		height:44px !important;
		font-size:14px !important;
		padding:0 8px !important;
	}
}
/* === BOARD-PAGINATE-TOUCH END === */


/* === AWARDS-YEAR-BAR-ALIGN START === */
/* 연도 제목(.yr-label)과 빨간 세로바의 수직 중심을 동일 라인으로 정렬.
   기존 h3::before 바는 h3 박스(line-height/padding 비대칭으로 커진 152px) 중심에
   정렬되어 라벨 시각 중심보다 아래로 치우침(1440:16.5px / 768:10.7px / 375:9.1px).
   해결: 바를 .yr-label 박스(line-height:1 → 박스높이=글자높이) 기준으로 재정렬. */

/* 기존 h3::before 빨간 바 무효화 */
#section-awards .awards-year h3::before{
	content:none !important;
}

/* 라벨을 기준 박스로: 좌측에 바 공간 확보, 바의 positioning 컨텍스트 제공 */
#section-awards .awards-year h3 .yr-label{
	position:relative;
	display:inline-block;
	line-height:1;            /* 박스 높이 = 글자 높이 → 중심 일치 보장 */
	padding-left:1.6rem;      /* 바 + 간격 공간 (h3 padding-left 대체) */
}
/* h3 자체 padding-left 제거(라벨로 이관) — 중복 패딩 방지 */
#section-awards .awards-year h3{
	padding-left:0 !important;
}

/* 빨간 세로 바: 라벨 박스 수직 중심에 정확히 정렬 */
#section-awards .awards-year h3 .yr-label::before{
	content:"";
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);
	width:0.5rem;
	height:1em;               /* 라벨 폰트 크기에 비례 → 전 구간 자동 추종 */
	background:#e4002b;
	border-radius:0.2rem;
}

/* 반응형: 바 두께/좌측 공간을 폰트 스케일에 맞춰 px 명시(rem 트랩 방지).
   height는 1em이라 폰트 크기 따라 자동, 중심정렬은 top:50% 유지로 전 구간 보장. */
@media (max-width:768px){
	#section-awards .awards-year h3 .yr-label{padding-left:14px;}
	#section-awards .awards-year h3 .yr-label::before{width:4px;}
}
@media (max-width:480px){
	#section-awards .awards-year h3 .yr-label{padding-left:12px;}
	#section-awards .awards-year h3 .yr-label::before{width:4px;}
}
@media (max-width:360px){
	#section-awards .awards-year h3 .yr-label{padding-left:11px;}
	#section-awards .awards-year h3 .yr-label::before{width:4px;}
}
/* === AWARDS-YEAR-BAR-ALIGN END === */


/* === TALENT-MATCH-AREAS START === */
/* careers/talent.php의 이미지+텍스트 블록(.talent-row)을 business/areas.php의
   .areas-detail와 좁은 화면에서 동일하게 통일. 기준: areas 실측 px(playwright).
   - 정렬 순서: areas는 좁은 화면에서 "텍스트 위 → 이미지 아래"(normal/reverse 모두).
     talent-row는 DOM이 figure→dl(이미지 먼저)이므로 order로 텍스트를 위로 올림.
   - 폰트/간격/이미지비율을 areas와 동일 px로 명시. talent-row 스코프 한정.
   기존 TALENT-RESPONSIVE/TALENT-IMG-SIZE 마커는 보존하고, 본 블록이 append(뒤)이므로
   동일 명시도에서 우선 적용됨. xcode/mice는 본 작업 범위 아님(미수정). */

/* ---- 공통: 좁은 화면 1열에서 텍스트 위·이미지 아래 + 정렬/이미지비율 통일 ---- */
@media (max-width:768px){
	/* DOM: figure(1) → dl(2). order로 dl을 위로, figure를 아래로 (areas와 동일 순서) */
	#section-talent .talent-row{align-items:stretch;}
	#section-talent .talent-row > dl{order:1; width:100%; text-align:left;}
	#section-talent .talent-row > figure{order:2;}
	/* areas figure: width 100% + aspect-ratio(16/10 @ <=840 in areas) → talent도 동일 */
	#section-talent .talent-row > figure{width:100%; aspect-ratio:16 / 10; border-radius:1rem; background:#f5f5f5; overflow:hidden;}
	#section-talent .talent-row > figure img{width:100%; height:100%; aspect-ratio:16 / 10; object-fit:cover; display:block;}
	#section-talent .talent-row > dl > dd{text-align:left;}
	#section-talent .talent-row > dl > dd p{text-align:left;}
}

/* ---- 768px: areas 실측 (h4 26px/700, en·desc 15px, gap 26px) ---- */
@media (max-width:768px){
	#section-talent .talent-row{gap:26px 0;}
	#section-talent .talent-row > dl > dt{font-size:26px; line-height:1.3; font-weight:700; color:#000; margin-bottom:13px;}
	#section-talent .talent-row > dl > dd{font-size:15px; line-height:1.6; color:#666;}
	#section-talent .talent-row > dl > dd p{font-size:15px; line-height:1.6; color:#666; margin:0 0 8px;}
}

/* ---- 480px: areas 실측 (h4 21.6px/700, en·desc 15.6px, gap 18px) ---- */
@media (max-width:480px){
	#section-talent .talent-row{gap:18px 0;}
	#section-talent .talent-row > dl > dt{font-size:21.6px; line-height:1.3; font-weight:700; color:#000; margin-bottom:12px;}
	#section-talent .talent-row > dl > dd{font-size:15.6px; line-height:1.54; color:#666;}
	#section-talent .talent-row > dl > dd p{font-size:15.6px; line-height:1.54; color:#666; margin:0 0 8px;}
}

/* ---- 360px: areas 실측 (h4 19.8px/700, en·desc 14.3px, gap 16.5px) ---- */
@media (max-width:360px){
	#section-talent .talent-row{gap:16.5px 0;}
	#section-talent .talent-row > dl > dt{font-size:19.8px; line-height:1.3; font-weight:700; color:#000; margin-bottom:11px;}
	#section-talent .talent-row > dl > dd{font-size:14.3px; line-height:1.54; color:#666;}
	#section-talent .talent-row > dl > dd p{font-size:14.3px; line-height:1.54; color:#666; margin:0 0 8px;}
}

/* ---- 481~1023.98px(태블릿): areas 실측 h4 22~26px 구간. 기존 TALENT-RESPONSIVE가
   talent-row dt=22px로 두던 것을 areas 기준(상한 26px, 하한 22px 근사)으로 수렴.
   talent-row 한정으로만 상회(xcode/mice는 TALENT-RESPONSIVE 유지). ---- */
@media (min-width:481px) and (max-width:1023.98px){
	#section-talent .talent-row > dl{order:1; width:100%; text-align:left;}
	#section-talent .talent-row > figure{order:2; width:100%; aspect-ratio:16 / 10; border-radius:1rem; background:#f5f5f5; overflow:hidden;}
	#section-talent .talent-row > figure img{width:100%; height:100%; aspect-ratio:16 / 10; object-fit:cover; display:block;}
	#section-talent .talent-row{gap:22px 0;}
	#section-talent .talent-row > dl > dt{font-size:24px; line-height:1.3; font-weight:700; color:#000; margin-bottom:12px;}
	#section-talent .talent-row > dl > dd{font-size:15px; line-height:1.6; color:#666;}
	#section-talent .talent-row > dl > dd p{font-size:15px; line-height:1.6; color:#666; margin:0 0 8px;}
}
/* === TALENT-MATCH-AREAS END === */


/* === PRESS-MOBILE-LIST-FIX3 START === */
/* 버그픽스2: table-layout:fixed에서 colgroup<col>폭과 셀폭이 어긋나
   제목 컬럼이 0px로 붕괴(제목 안 보임). press 한정으로 table-layout:auto 복귀 →
   숨긴 NO/조회수는 display:none으로 폭 제거, 날짜는 nowrap으로 최소폭,
   제목 셀은 width:100%+max-width:0 트릭으로 나머지 폭을 흡수하며 한 줄 말줄임.
   스코프 #section-press 한정(notice/news 무관). 결과: 제목 한 줄 + 날짜 우측 작게. */
@media (max-width:768px){
	#section-press .board-table{table-layout:auto !important; width:100% !important;}
	#section-press .board-table tbody td.subject{
		width:100% !important;
		max-width:0 !important;       /* auto-layout에서 anchor ellipsis 안정화 */
		overflow:hidden !important;
	}
	#section-press .board-table tbody td.subject a{
		display:block !important;
		max-width:100% !important;
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
	}
	#section-press .board-table thead th:nth-child(3),
	#section-press .board-table tbody td.date{
		width:1% !important;
		white-space:nowrap !important;
		text-align:right !important;
	}
}
/* === PRESS-MOBILE-LIST-FIX3 END === */

/* === TALENT-MATCH-AREAS-FIX START === */
/* TALENT-MATCH-AREAS 적용 후 재측정 결과 보정:
   (1) dd p 본문이 UNIFY-C3 블록의 !important(13.2/15.6px)에 막혀 areas값 미반영
       → 동일 스코프 + !important + append(뒤)로 areas 기준 px 상회.
       areas desc 실측: 360=14.3 / 480=15.6 / 768=15 / 481~1023=15(px).
   (2) 이미지 종횡비: areas figure는 좁은 화면에서도 4/3 유지 → talent도 4/3로 통일
       (앞서 16/10으로 잘못 지정한 것 교정).
   (3) dt 768 상한 26px(areas 768 실측)로 통일.
   talent-row 스코프 한정. xcode/mice 미접촉. */

/* (2) 이미지 4/3 통일 (모든 좁은 화면) */
@media (max-width:1023.98px){
	#section-talent .talent-row > figure{aspect-ratio:4 / 3;}
	#section-talent .talent-row > figure img{aspect-ratio:4 / 3;}
}

/* (1) dd / dd p 본문 px — UNIFY-C3 !important 상회.
   areas는 em스케일이라 360~430px에서 desc=14.3px 유지, 480px에서 15.6px로 증가.
   흔한 모바일(360/375)에서 areas와 일치하도록 430px 경계로 분기. */
@media (max-width:430px){
	#section-talent .talent-row > dl > dd{font-size:14.3px !important; line-height:1.54 !important; color:#666 !important;}
	#section-talent .talent-row dd p{font-size:14.3px !important; line-height:1.54 !important; color:#666 !important;}
}
@media (min-width:430.02px) and (max-width:480px){
	#section-talent .talent-row > dl > dd{font-size:15.6px !important; line-height:1.54 !important; color:#666 !important;}
	#section-talent .talent-row dd p{font-size:15.6px !important; line-height:1.54 !important; color:#666 !important;}
}
@media (min-width:481px) and (max-width:1023.98px){
	#section-talent .talent-row > dl > dd{font-size:15px !important; line-height:1.6 !important; color:#666 !important;}
	#section-talent .talent-row dd p{font-size:15px !important; line-height:1.6 !important; color:#666 !important;}
}

/* (3) dt — areas h4 실측: 360~430=19.8 / 480=21.6 / 768~1023상한=26px */
@media (max-width:430px){
	#section-talent .talent-row > dl > dt{font-size:19.8px !important; line-height:1.3 !important; font-weight:700 !important; color:#000 !important;}
}
@media (min-width:430.02px) and (max-width:480px){
	#section-talent .talent-row > dl > dt{font-size:21.6px !important; line-height:1.3 !important; font-weight:700 !important; color:#000 !important;}
}
@media (min-width:481px) and (max-width:1023.98px){
	#section-talent .talent-row > dl > dt{font-size:26px !important; line-height:1.3 !important; font-weight:700 !important; color:#000 !important;}
}
/* === TALENT-MATCH-AREAS-FIX END === */




/* === PRESS-MOBILE-COLFIX START === */
/* 최종 안정화(동시작업 충돌 대비): NOTICE-MOBILE-LIST(공통 .board-table)가 press에
   table-layout:fixed를 강제 → press 4컬럼 colgroup(80/auto/130/90)과 셀폭이 어긋나
   제목 컬럼이 80px로 붕괴. press 전용 고명시도 셀렉터(#section-press table.board-table:
   id+type+class)로 NOTICE 규칙(id+class)을 소스순서와 무관하게 제압.
   해법: table-layout:auto + 숨긴 NO/조회수 col 폭 0 + 날짜 nowrap 최소폭 →
   제목 셀이 나머지 폭 전부 흡수하여 한 줄 말줄임. notice/news 무관(press 한정). */
@media (max-width:768px){
	#section-press table.board-table{table-layout:auto !important; width:100% !important;}
	/* colgroup col 폭 정리: NO(1)·조회수(4) 0, 제목(2) auto, 날짜(3) 좁게 */
	#section-press table.board-table colgroup col:nth-child(1),
	#section-press table.board-table colgroup col:nth-child(4){width:0 !important;}
	#section-press table.board-table colgroup col:nth-child(2){width:auto !important;}
	#section-press table.board-table colgroup col:nth-child(3){width:84px !important;}
	/* 제목 셀: 나머지 폭 흡수 + 한 줄 말줄임 */
	#section-press table.board-table tbody td.subject{
		width:100% !important;
		max-width:0 !important;
		overflow:hidden !important;
		text-align:left !important;
	}
	#section-press table.board-table tbody td.subject a{
		display:block !important;
		max-width:100% !important;
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		-webkit-line-clamp:none !important;
	}
	/* 날짜: 최소폭, nowrap, 우측 */
	#section-press table.board-table thead th:nth-child(3),
	#section-press table.board-table tbody td.date{
		width:1% !important;
		white-space:nowrap !important;
		text-align:right !important;
	}
}
/* === PRESS-MOBILE-COLFIX END === */

/* === NOTICE-MOBILE-LIST START === */
/* PR 게시판(notice/press) 모바일 목록 공통: 제목 한 줄 말줄임 + 날짜 보조.
   notice/press 동일 .board-table 구조 → 단일 공통 규칙으로 일관성 유지.

   [핵심] fixed-table 컬럼폭은 colgroup <col> 인라인 style(width:80px 등)이 최우선.
   td/th width 로는 못 이김 → colgroup col 을 !important 로 직접 장악해야 함.
     notice col: [NO 0] [제목 auto] [날짜 84px]
     press  col: [NO 0] [제목 auto] [날짜 84px] [조회 0]
   col 을 장악하면 제목 col(auto)이 고정폭(날짜) 제외 나머지를 흡수 → 제목 셀 풀폭.
   제목 셀 overflow:hidden + a{nowrap;ellipsis} 로 한 줄 말줄임.

   px 명시(rem 트랩 회피): 제목 14~15px / 날짜 12~13px / 행 min 44px.
   셀렉터 tbody 포함: 기존 press line-clamp:2 / 1.35rem(7.4px 붕괴) 규칙 덮기. */
@media (max-width:768px){
	#section-notice .board-table,
	#section-press .board-table{table-layout:fixed !important; width:100% !important;}

	/* colgroup 무력화: 인라인 col width(80/130/90px) 간섭 제거.
	   fixed-table 컬럼폭을 첫 행 th/td width 로 직접 결정. */
	#section-notice .board-table colgroup,
	#section-press .board-table colgroup{display:none !important;}

	/* NO / 조회수 셀 숨김 (colgroup 없으니 매핑 안전) */
	#section-notice .board-table thead th:first-child,
	#section-notice .board-table tbody td.num,
	#section-press .board-table thead th:first-child,
	#section-press .board-table tbody td.num,
	#section-press .board-table thead th:nth-child(4),
	#section-press .board-table tbody td.hit{display:none !important;}

	/* 제목 셀: width 미지정(나머지 흡수) + overflow 통제 */
	#section-notice .board-table thead th:nth-child(2),
	#section-notice .board-table tbody td.subject,
	#section-press .board-table thead th:nth-child(2),
	#section-press .board-table tbody td.subject{
		width:auto !important; max-width:0 !important;
		text-align:left !important; overflow:hidden !important;
		padding:11px 8px !important;
	}
	/* 제목 링크: 한 줄 말줄임 (기존 line-clamp:2 / -webkit-box 덮기) */
	#section-notice .board-table tbody td.subject a,
	#section-press .board-table tbody td.subject a{
		display:block !important;
		width:100% !important;
		-webkit-line-clamp:none !important;
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
		word-break:normal !important;
		min-height:0 !important;
		font-size:15px !important;
		line-height:1.5 !important;
		color:#222 !important;
	}
	/* 말머리 배지(press)가 한 줄 nowrap 깨지 않도록 인라인 */
	#section-press .board-table tbody td.subject a strong,
	#section-press .board-table tbody td.subject a em,
	#section-press .board-table tbody td.subject a span{
		display:inline !important; white-space:nowrap !important;
	}

	/* 날짜 셀: 고정폭 84px(제목이 나머지 흡수) + 우측 작게, 줄바꿈 금지 */
	#section-notice .board-table thead th:last-child,
	#section-notice .board-table tbody td.date,
	#section-press .board-table thead th:nth-child(3),
	#section-press .board-table tbody td.date{
		width:84px !important; min-width:84px !important; max-width:84px !important;
		white-space:nowrap !important; text-align:right !important;
		font-size:13px !important; color:#888 !important;
		padding:11px 8px !important;
	}
}
@media (max-width:480px){
	#section-notice .board-table thead th:last-child,
	#section-notice .board-table tbody td.date,
	#section-press .board-table thead th:nth-child(3),
	#section-press .board-table tbody td.date{
		width:74px !important; min-width:74px !important; max-width:74px !important;
		font-size:12px !important;
	}
	#section-notice .board-table tbody td.subject a,
	#section-press .board-table tbody td.subject a{font-size:14px !important;}
}
@media (max-width:360px){
	#section-notice .board-table thead th:last-child,
	#section-notice .board-table tbody td.date,
	#section-press .board-table thead th:nth-child(3),
	#section-press .board-table tbody td.date{
		width:70px !important; min-width:70px !important; max-width:70px !important;
	}
}
/* === NOTICE-MOBILE-LIST END === */

/* === LOCATION-PIN-LABEL START === 핀 라벨 처리: 배경 지도(world_map.png)에 이미 라벨(China=핀좌측/본사=핀우상/부산지사=핀우하/Vietnam/USA)이 인쇄돼 있어, 동일 텍스트의 DOM span을 표시하면 이미지 라벨과 이중으로 겹쳐 보임. 따라서 중복 DOM span 라벨을 숨겨 이미지 라벨만 한 겹으로 노출. 핀(a.pin) 자체는 유지되어 hover 팝업(LOCATION-PIN-POPUP)은 정상 동작. */
#section-location .loc-map .pin span{display:none;}
/* === LOCATION-PIN-LABEL END === */

/* === RECRUIT-INQUIRY-FORM-UNIFY START === */
/* recruit·inquiry 캡차 완전 통일: 양쪽 G5 captcha_html() 동일 마크업 사용.
   레이아웃/입력칸 모바일 최소폭·높이 보장 + 새로고침 버튼 recruit 기준(↻ 새로고침)으로 통일. */

/* (1) 공통 캡차 cell 레이아웃 */
#section-recruit table.form-table td.captcha-cell,
#section-inquiry table.form-table td.captcha-cell{padding:1.2rem 1.5rem;}
#section-recruit fieldset#captcha.captcha,
#section-inquiry fieldset#captcha.captcha{border:0; margin:0; padding:0; display:flex; align-items:center; flex-wrap:wrap; gap:0.6rem;}
#section-recruit fieldset#captcha.captcha legend,
#section-inquiry fieldset#captcha.captcha legend{float:none; width:100%; padding:0; margin:0 0 0.6rem; font-size:1.3rem; font-weight:600; color:#000;}
#section-recruit fieldset#captcha.captcha #captcha_img,
#section-inquiry fieldset#captcha.captcha #captcha_img{vertical-align:middle; border:1px solid #ddd; height:3.6rem; width:auto;}
#section-recruit fieldset#captcha.captcha #captcha_info,
#section-inquiry fieldset#captcha.captcha #captcha_info{flex:1 1 100%; margin:0.4rem 0 0; font-size:1.2rem; color:#888;}

/* (2) 캡차 input — 공통 베이스(데스크탑): 숫자 6자리 여유 */
#section-recruit fieldset#captcha.captcha input#captcha_key,
#section-inquiry fieldset#captcha.captcha input#captcha_key{
	flex:0 0 auto; box-sizing:border-box;
	width:12rem; min-width:12rem; max-width:none;
	height:3.6rem; padding:0.7rem 1rem;
	border:1px solid #ddd; background:#fff;
	font-size:1.4rem; font-family:inherit; color:#000;
}

/* (3) 새로고침 버튼 — recruit 기준(↻ 새로고침)으로 양쪽 통일. 플러그인 text-indent/overflow 무력화 */
#section-recruit fieldset#captcha.captcha button#captcha_reload,
#section-inquiry fieldset#captcha.captcha button#captcha_reload{
	display:inline-flex; align-items:center; gap:0.3rem;
	box-sizing:border-box; height:3.6rem; padding:0 1.2rem; margin:0;
	width:auto; min-width:auto; text-indent:0; overflow:visible;
	border:1px solid #ddd; background:#fff; color:#666;
	font-size:1.3rem; line-height:1; cursor:pointer; border-radius:0.3rem;
}
#section-recruit fieldset#captcha.captcha button#captcha_reload span,
#section-inquiry fieldset#captcha.captcha button#captcha_reload span{display:none;}
#section-recruit fieldset#captcha.captcha button#captcha_reload::before,
#section-inquiry fieldset#captcha.captcha button#captcha_reload::before{content:"\21BB"; font-size:1.5rem; color:var(--point);}
/* 음성듣기 버튼 숨김(시안 통일) */
#section-recruit fieldset#captcha.captcha button#captcha_mp3,
#section-inquiry fieldset#captcha.captcha button#captcha_mp3{display:none;}

/* (4) 반응형 — 모바일 캡차 input 최소폭/높이 보장(줌방지 16px, 터치 44px) */
@media (max-width:768px){
	#section-recruit fieldset#captcha.captcha input#captcha_key,
	#section-inquiry fieldset#captcha.captcha input#captcha_key{flex:0 0 auto; width:14rem; min-width:14rem; height:44px; font-size:16px;}
	#section-recruit fieldset#captcha.captcha button#captcha_reload,
	#section-inquiry fieldset#captcha.captcha button#captcha_reload{height:44px; min-height:44px; font-size:14px;}
	#section-recruit fieldset#captcha.captcha #captcha_img,
	#section-inquiry fieldset#captcha.captcha #captcha_img{height:44px;}
}
@media (max-width:480px){
	#section-recruit fieldset#captcha.captcha input#captcha_key,
	#section-inquiry fieldset#captcha.captcha input#captcha_key{flex:1 1 auto; width:auto; min-width:140px; height:44px; font-size:16px;}
	#section-recruit fieldset#captcha.captcha button#captcha_reload,
	#section-inquiry fieldset#captcha.captcha button#captcha_reload{flex:0 0 auto; height:44px; min-height:44px;}
}
@media (max-width:360px){
	#section-recruit fieldset#captcha.captcha input#captcha_key,
	#section-inquiry fieldset#captcha.captcha input#captcha_key{min-width:120px; width:auto; flex:1 1 auto;}
}
/* === RECRUIT-INQUIRY-FORM-UNIFY END === */

/* === AWARDS-TOP-ALIGN START === */
/* CTO 변경: 연도 제목 + 빨간 세로바를 행 '상단(top)'에 고정.
   기존(AWARDS-YEAR-BAR-ALIGN / AWARDS-LAYOUT)은 align-items:center + bar top:50%로
   수직 중앙정렬 → 수상이 여러 줄인 연도에서 연도가 행 중앙으로 내려가 어중간.
   목표: ①연도/바 둘 다 행 맨 위 고정 ②바 높이 = 수상 1줄일 때 연도 제목 1줄 높이.
   방법: h3 grid셀을 align-self:start로 콘텐츠 높이만큼 축소 + 라벨/바 top 고정.
   기존 블록을 덮어쓰지 않고 source-order 후행 + 동일 ID스코프로 상회. append-only. */

/* h3: grid 셀이 행 높이로 stretch 되지 않게 상단 정렬 → 셀 높이 = 연도 글자 높이 */
#section-awards .awards-year h3{
	align-self:start !important;
	align-items:flex-start !important; /* flex 자식(.yr-label)도 상단 */
}

/* 빨간 세로 바: 라벨 박스 상단에 고정, 높이 = 연도 글자(1em) 높이.
   기존 top:50%/translateY(-50%) 중앙정렬을 top:0/translateY(0)으로 상회. */
#section-awards .awards-year h3 .yr-label::before{
	top:0 !important;
	transform:none !important;
	height:1em !important; /* 1em = 라벨 폰트 1줄 높이 → 수상 1줄 연도 제목 높이와 동일 */
}
/* === AWARDS-TOP-ALIGN END === */

/* === TALENT-ORDER-FIX START === */
/* careers/talent.php — 중간폭(2열 그리드 유지) 교차레이아웃 복원.
   실측(playwright): .talent-row는 ≥841px에서 display:grid(2열, 원본=이미지 좌·텍스트 우),
   ≤840px에서 display:flex(1열 스택). 직전 TALENT-MATCH-AREAS의
   @media(min-width:481px)~(max-width:1023.98px) order 규칙이 841~1023px(여전히 2열 그리드)
   에서도 적용돼 figure가 2번째 컬럼(우측)으로 밀렸음.
   → ≥841px(2열 그리드 구간)에서 order를 초기값(0)으로 되돌려 DOM순서(figure→dl,
     즉 이미지 좌측)를 복원. figure 비율/폭도 원본(aspect 3/2, 100%)으로 복귀.
   ≤840px(1열 스택)은 기존 마커의 order:1(dl)/2(figure) 유지 → 텍스트-위·좌측정렬 그대로.
   append-only·고소스순서로 기존 order 규칙 상회. talent-row 스코프 한정. */
@media only screen and (min-width:841px){
	#section-talent .talent-row > dl{order:0;}
	#section-talent .talent-row > figure{order:0; width:100%; aspect-ratio:3/2; border-radius:0.5rem;}
	#section-talent .talent-row > figure img{aspect-ratio:auto;}
}
/* === TALENT-ORDER-FIX END === */

/* === JOURNEY-ICON-SVG START === */
/* 2톤 라인 아이콘 적용: 기존 fill:#e4002b !important 무력화하고
   SVG 자체 class(.g 회색 / .r·.rf 레드)로 렌더되도록 복원. journey 스코프 한정. */
#section-journey .journey-steps li figure svg,
#section-journey .journey-detail dl dt figure svg{
	fill:none !important;
	color:inherit !important;
}
#section-journey .journey-steps li figure svg .g,
#section-journey .journey-detail dl dt figure svg .g{stroke:#444 !important; fill:none !important;}
#section-journey .journey-steps li figure svg .r,
#section-journey .journey-detail dl dt figure svg .r{stroke:#e4002b !important; fill:none !important;}
#section-journey .journey-steps li figure svg .rf,
#section-journey .journey-detail dl dt figure svg .rf{fill:#e4002b !important; stroke:none !important;}
/* handshake(FA glyph) 그룹 색상 보존 */
#section-journey .journey-steps li figure svg g[fill="#444"] path,
#section-journey .journey-detail dl dt figure svg g[fill="#444"] path{fill:#444 !important;}
#section-journey .journey-steps li figure svg g[fill="#e4002b"] path,
#section-journey .journey-detail dl dt figure svg g[fill="#e4002b"] path{fill:#e4002b !important;}
/* === JOURNEY-ICON-SVG END === */

/* === PAGE-ADDITIONS: LIFE-WELFARE-LINE (구성원의 몸과 마음을 살피는 복지 — 카드 배경박스 제거, 가로줄만 통일) === */
/* 원인: life-extra(agentD) 블록이 모바일(≤768)에서 life-grid3 > li 에 background/border/radius 부여해 카드(박스)화 */
/* 처리: 정상 섹션(life-list)과 동일하게 하단 가로줄만 남기고 박스 제거. life-list 행은 손대지 않음 */
@media (max-width:768px){
	#section-life .life-grid3 > li{
		background:transparent !important;
		border:0 !important;
		border-bottom:1px solid #eee !important;
		border-radius:0 !important;
	}
	#section-life .life-grid3 > li:last-child{
		border-bottom:0 !important;
	}
}
/* === END PAGE-ADDITIONS: LIFE-WELFARE-LINE === */

/* === RECRUIT-AGREE-RADIO-UNIFY: 동의 라디오 UI를 inquiry와 동일하게 통일 === */
#section-recruit .form-policy label{
	display:inline-flex; align-items:center; gap:0.4rem;
	margin-right:1.5rem; color:#000; font-size:1.35rem; cursor:pointer;
}
#section-recruit .form-policy label input[type=radio]{
	width:1.5rem; height:1.5rem; margin:0; accent-color:#e4002b; cursor:pointer;
}
@media (max-width:768px){
	#section-recruit .form-policy label{font-size:14px; min-height:32px; padding:4px 2px; margin-right:14px;}
	#section-recruit .form-policy label input[type=radio]{width:16px; height:16px;}
}
/* === END RECRUIT-AGREE-RADIO-UNIFY === */

/* === TALENT-GAP-FIX START === */
/* careers/talent.php 2건 수정 (playwright 실측 기반, 추정 없음). append-only·고소스순서.
   talent-row / talent-xcode 스코프 한정. mice·다른 요소 미접촉.

   [문제1] 841~1023.98px 구간에서 .talent-row(1·3번)가 2열 그리드(TALENT-ORDER-FIX로
     복원됨)인데 column-gap이 0 → 이미지와 텍스트가 딱 붙음.
     원인: TALENT-MATCH-AREAS의 @media(481~1023.98px) `gap:22px 0`가 column-gap을 0으로 만듦
     (해당 블록은 1열 스택 전제로 작성됐으나 이후 TALENT-ORDER-FIX가 2열 그리드 복원).
     실측 colGap: 900px=0px / 1023px=0px (1200·1440은 50px 정상).
     해결: 2열 그리드가 유지되는 841~1023.98px에서 column-gap을 명시 복구(40px).
     column-gap 롱핸드는 gap 숏핸드보다 뒤·동일명시도로 상회. row-gap(22px)은 유지.

   [문제2] ≤840px(1열 스택)에서 .talent-xcode(2번)가 TALENT-MOBILE-IMG의
     `figure{order:-1}`로 이미지가 텍스트 위에 옴 → 1·3번(텍스트 위·이미지 아래)과 불일치.
     xcode DOM순서는 dl(텍스트)→figure(이미지)이므로 order를 초기값(0)으로 되돌리면
     자연히 텍스트 위·이미지 아래가 됨(1·3번과 동일). 텍스트 좌측정렬도 명시 통일. */

/* --- 문제1: 841~1023.98px 2열 그리드 column-gap 복구 --- */
@media only screen and (min-width:841px) and (max-width:1023.98px){
	#section-talent .talent-row{column-gap:40px;}
}

/* --- 문제2: ≤840px 스택에서 xcode 텍스트 위·이미지 아래 + 좌측정렬(1·3번과 통일) --- */
@media (max-width:840px){
	#section-talent .talent-xcode > figure{order:0;}
	#section-talent .talent-xcode > dl{order:0; text-align:left;}
	#section-talent .talent-xcode > dl > dt{text-align:left;}
	#section-talent .talent-xcode > dl .xcode-item h5{text-align:left;}
	#section-talent .talent-xcode > dl .xcode-item p{text-align:left;}
}
/* === TALENT-GAP-FIX END === */

/* === RECRUIT-RADIO-FIX START === inquiry와 동일: 전역 -webkit-appearance:none 오버라이드로 네이티브 라디오 복원 === */
#section-recruit input[type=radio]{
	-webkit-appearance:radio !important;
	-moz-appearance:radio !important;
	appearance:auto !important;
	opacity:1 !important;
	position:static !important;
	width:1.6rem !important; height:1.6rem !important;
	accent-color:#e4002b;
}
@media (max-width:768px){
	#section-recruit input[type=radio]{width:18px !important; height:18px !important;}
}
/* === RECRUIT-RADIO-FIX END === */

/* === LOCATION-MAP-WIDTH START === 지도 맵 가로폭을 하단 카드 영역(.loc-cards) 컨테이너 폭과 일치. 데스크탑/태블릿(641px~)에서만 적용(640px 이하는 이미 일치). 핀은 %기반이라 상대위치 유지. */
@media (min-width:641px){
	#section-location .loc-map{max-width:100%; margin-left:auto; margin-right:auto;}
	#section-location .world-map-fig{max-width:100%; margin-left:auto; margin-right:auto;}
	#section-location .world-map-fig .world-map-img{max-width:100%;}
}
/* === LOCATION-MAP-WIDTH END === */

/* === TALENT-XCODE-ALIGN START === */
/* careers/talent.php 2번 블록(.talent-xcode = We Work by X.CODE) 좁은화면 좌측정렬 완전 통일.
   playwright 실측 규명(추정 없음):
     근본원인 = .talent-xcode가 전 폭에서 display:flex; align-items:center.
     ≤840px 1열 스택(flex-flow:column)일 때 align-items:center가 교차축(수평) 가운데정렬을
     의미 → 자식 dl이 콘텐츠폭(248~285px)으로 수축 후 컨테이너 수평중앙에 배치됨.
     text-align:left(TALENT-GAP-FIX)는 dl '내부' 텍스트만 왼끝정렬할 뿐, dl 블록 자체가
     중앙에 떠 있어 1번 블록(.talent-row, align-items:stretch=dl 100%폭=좌끝)과 어긋남.
   실측 dl/dt/dd left(=좌측 x): 1번 vs 2번
     360: 13.2 vs 55.7(+42.5) / 480: 14.4 vs 115.7(+101.3)
     700: 15.6 vs 207.4(+191.8) / 840: 43.0 vs 277.4(+234.4)
   해결: ≤840px에서 .talent-xcode align-items:stretch + dl/figure width:100%로
     1번 블록과 동일한 좌끝정렬 복원. 텍스트 정렬도 명시 통일.
   append-only·고소스순서로 상위 align-items:center 룰 상회. talent-xcode 스코프 한정.
   1·3번(.talent-row)·talent-mice·중간폭/데스크탑 미접촉. */
@media (max-width:840px){
	#section-talent .talent-xcode{align-items:stretch;}
	#section-talent .talent-xcode > dl{width:100%; text-align:left;}
	#section-talent .talent-xcode > figure{width:100%;}
	#section-talent .talent-xcode > dl > dt{text-align:left;}
	#section-talent .talent-xcode > dl > dd{text-align:left;}
	#section-talent .talent-xcode > dl .xcode-item{width:100%; text-align:left;}
	#section-talent .talent-xcode > dl .xcode-item h5{text-align:left;}
	#section-talent .talent-xcode > dl .xcode-item p{text-align:left;}
}
/* === TALENT-XCODE-ALIGN END === */

/* === TALENT-XCODE-ALIGN-2 START === */
/* careers/talent.php 2번 블록 좁은화면 좌측 x좌표 1번과 완전 일치(보정).
   TALENT-XCODE-ALIGN 적용 후 재측정(playwright):
     700/840px = 1번과 완전 일치(OK). 그러나 ≤480px에서 2번 텍스트가 1번보다
     11~12px 더 왼쪽(360: 1번 13.2 vs 2번 2.2 / 480: 14.4 vs 2.4).
   원인 규명(추정 없음):
     .talent-xcode-bg는 base(line1250) margin:8rem -2rem의 좌우 음수마진(-2rem)을
     유지 → 실측 margin-left 360:-11px / 480:-12px(=html font 5.5/6px × -2rem, rem트랩).
     그런데 이후 룰(padding:5rem 0 등)이 좌우 padding을 0으로 덮어 음수마진 보정이 사라짐
     → 배경박스가 컨테이너 밖으로 -2rem 빠지고 내부 텍스트도 그만큼 좌측으로 밀림.
     1번(.talent-row)은 음수마진 없이 #section-talent 좌패딩 위치(13.2/14.4)에 정렬됨.
   해결: ≤840px에서 .talent-xcode-bg padding-left를 음수마진과 동일한 2rem으로 명시 →
     음수마진(-2rem)을 정확히 상쇄(rem 동조로 폭 무관 일치) → 내부 텍스트가 1번과 동일
     x좌표 복귀. 배경 풀폭은 유지. box-sizing:border-box로 폭 넘침 방지.
   append-only·고소스순서. talent-xcode-bg 스코프 한정. 1·3번·mice·중간폭/데스크탑 미접촉. */
@media (max-width:840px){
	#section-talent .talent-xcode-bg{box-sizing:border-box; padding-left:2rem;}
}
/* === TALENT-XCODE-ALIGN-2 END === */

/* === PORTFOLIO-HERO-IMG: 히어로 배경을 03portfolio/mask1.png로 교체 (요청) 2026-06-17 append-only, bg_03 스코프 한정 === */
#sVisual.bg_03{background-image:url("/images/img_sVisual_03_mask1.png") !important;}
#sVisual.bg_03::before{background-image:url("/images/img_sVisual_03_mask1.png") !important;}
/* === PORTFOLIO-HERO-IMG END === */

/* === INQUIRY-HERO-IMG: contact/inquiry.php 히어로 배경을 06contact/mask1.png로 교체 (요청) 2026-06-17 append-only, #section-inquiry 스코프 한정 === */
body:has(#section-inquiry) #sVisual.bg_06{background-image:url("/images/img_sVisual_inquiry.png") !important;}
body:has(#section-inquiry) #sVisual.bg_06::before{background-image:url("/images/img_sVisual_inquiry.png") !important;background-size:cover !important;background-position:center !important;}
/* === INQUIRY-HERO-IMG END === */

/* === EX_CONTACT_HERO_UNIFY_20260727 START: contact/faq + contact/location 히어로를 inquiry와 동일 이미지로 통일 (KO+EN). EN_CONTACT_HERO_FIX 블록은 EN 전용이었고 본 블록이 KO 포함 전체 언어를 커버해 그 블록을 논리적으로 흡수 (중복 무해) === */
body:has(#section-faq) #sVisual.bg_06,
body:has(#section-location) #sVisual.bg_06{background-image:url("/images/img_sVisual_inquiry.png") !important;}
body:has(#section-faq) #sVisual.bg_06::before,
body:has(#section-location) #sVisual.bg_06::before{background-image:url("/images/img_sVisual_inquiry.png") !important;background-size:cover !important;background-position:center !important;}
/* === EX_CONTACT_HERO_UNIFY_20260727 END === */

/* === RECRUIT-MATCH-INQUIRY-BOX START === recruit 폼 섹션 박스를 inquiry와 동일하게(테이블 폭 일치). ≤480 모바일은 기존 유지 */
@media (min-width:481px){
	#section-recruit{max-width:128rem; margin-left:auto; margin-right:auto; padding-left:0; padding-right:0;}
}
/* === RECRUIT-MATCH-INQUIRY-BOX END === */

/* === RECRUIT-TABLE-FIXED-BAND START === 481~768px에서 넓은 필드(파일첨부/select-wide)가 테이블을 컨테이너 밖으로 밀어 우측에 붙는 것 방지. inquiry처럼 폭 100% 고정 */
@media (min-width:481px) and (max-width:768px){
	#section-recruit table.form-table{table-layout:fixed; width:100%;}
	#section-recruit table.form-table th{width:12rem;}
	#section-recruit table.form-table td input,
	#section-recruit table.form-table td select,
	#section-recruit table.form-table td textarea{max-width:100%; min-width:0; box-sizing:border-box;}
	#section-recruit table.form-table td select.select-wide{width:100%; max-width:100%; min-width:0;}
	#section-recruit table.form-table td.captcha-row .captcha-input{width:auto; min-width:0; flex:1 1 8rem;}
	#section-recruit table.form-table td.file-row .file-field{max-width:100%;}
}
/* === RECRUIT-TABLE-FIXED-BAND END === */
/* === TALENT-MICE-ARROW-FIX START (agent: arrow-snap) === */
/* 흰원-화살표-빨원 밀착 + 4컬럼 수직 라인 통일 */
/* row-gap을 고정해 흰원 바닥~빨원 상단 간격을 결정론적으로 만든다(폰트/줄수 변동 무시) */
#section-talent .talent-mice > li{row-gap:3rem;}
/* 세로선: 흰원 바닥(=-row-gap 3rem)부터 빨원 상단까지 꽉 채워 양쪽 원에 밀착 */
#section-talent .talent-mice .mice-circle.solid::before{top:-3rem; height:3rem;}
/* 화살촉(0.8rem rotate45): 하단 꼭짓점이 빨원 상단에 닿도록 밀착 */
#section-talent .talent-mice .mice-circle.solid::after{top:-0.55rem;}
/* === TALENT-MICE-ARROW-FIX END (agent: arrow-snap) === */
/* === TALENT-MICE-ARROW-FIX2 START (agent: arrow-snap) === */
/* 1차 수정 후 컬럼별 흰원~빨원 간격이 sub 줄수에 따라 달라지는 문제 해결.
   빨원이 sub가 든 행에서 수직 중앙 정렬되어 sub가 길수록 아래로 밀렸음.
   원을 각 행 상단에 고정(align-self:start)하면 흰원 바닥~빨원 상단 간격이
   항상 row-gap(3rem)으로 통일 → 화살표가 4컬럼 모두 밀착. */
#section-talent .talent-mice .mice-circle.outline,
#section-talent .talent-mice .mice-circle.solid{align-self:start;}
/* === TALENT-MICE-ARROW-FIX2 END (agent: arrow-snap) === */
/* === TALENT-MICE-ARROW-FIX3 START (agent: arrow-snap) === */
/* 근본원인: 첫 행(ocirc/name) 높이가 컬럼마다 80~92px로 달라져(원 70 + name 박스 여유)
   빨원 시작점이 밀리며 흰원~빨원 간격이 40~52px로 들쭉날쭉했음.
   첫 행 높이를 원 크기(7rem=70px)로 명시 고정 → 흰원 바닥~빨원 상단 간격이
   항상 row-gap(3rem=30px)으로 통일되고, 세로선(height 3rem)이 양쪽 원에 정확히 밀착.
   둘째 행은 auto 유지(sub 3줄 89px 수용), 셋째 행 desc도 auto. */
#section-talent .talent-mice > li{grid-template-rows:7rem auto auto;}
/* === TALENT-MICE-ARROW-FIX3 END (agent: arrow-snap) === */

/* === RECRUIT-PHONE-WRAP-NARROW START === 좁은폭에서 td.phone-row/email-row가 display:flex+nowrap이라 table-layout:fixed 제약을 못 받고 셀 밖으로 넘침 → wrap+축소로 셀 안에 가둠 */
@media (max-width:768px){
	#section-recruit table.form-table td.phone-row,
	#section-recruit table.form-table td.email-row{flex-wrap:wrap; max-width:100%; box-sizing:border-box;}
	#section-recruit table.form-table td.phone-row select{flex:0 1 auto; min-width:0; width:auto; max-width:34%;}
	#section-recruit table.form-table td.phone-row input{flex:1 1 4rem; min-width:0; width:auto; max-width:none;}
	#section-recruit table.form-table td.email-row > input[type=text]{flex:1 1 8rem; min-width:0; width:auto; max-width:none;}
	#section-recruit table.form-table td.email-row > select{flex:1 1 100%; min-width:0; width:auto; max-width:none;}
}
/* === RECRUIT-PHONE-WRAP-NARROW END === */

/* === PF-PORTFOLIO-BOARD START 20260617 (게시판 연동: 빈 이미지/유형태그) === */
.port-modal .m-main .m-noimg{display:flex; align-items:center; justify-content:center; width:100%; height:100%; color:#aaa; font-size:1.35rem;}
.port-modal .m-tags .t-cat{white-space:normal; line-height:1.5;}
/* === PF-PORTFOLIO-BOARD END 20260617 === */


/* === HISTORY-NARROW-FONT START 20260617 (좁은화면 폰트 확대: overview/areas 기준 정렬, rem트랩 보정 px명시) === */
/* 문제: 500px(1rem=6.5px) 구간이 max-width:480px 블록과 min-width:768px 블록 사이에 끼어
   period-label p(2.4rem≈15.6px)·list h5(2rem≈13px) 등이 rem스케일로 축소됨.
   회사소개(#section-overview)·사업영역(#section-areas) 좁은화면 기준 폰트(제목 ~23px, 본문 14~17px)에
   맞춰 연혁 페이지 텍스트를 px 명시로 키운다. 데스크탑(>768px) 미변경. */
@media (max-width: 767px){
	/* 탭 라벨 */
	#section-history .history-tab a{font-size: 15px; line-height: 1.3;}
	/* 히어로 영역 */
	#section-history .history-hero .hero-text .period{font-size: 16px; line-height: 1.4;}
	#section-history .history-hero .hero-text .years{font-size: 32px; line-height: 1.15;}
	#section-history .history-hero .hero-text .desc{font-size: 15px; line-height: 1.6;}
	#section-history .history-hero .hero-text .btns a{font-size: 14px; line-height: 1.3;}
	/* 구간 제목(period-label) — overview 제목 톤에 맞춰 확대 */
	#section-history .history-block .period-label p{font-size: 22px; line-height: 1.25;}
	/* 연도(h5) — list 그룹 제목 확대 */
	#section-history .history-block--left .history-list > li > h5,
	#section-history .history-block--right .history-list > li > h5{font-size: 20px; line-height: 1.25;}
	/* 월(dt)·본문(dd) — areas/overview 본문 톤에 맞춰 확대 */
	#section-history .history-list > li > dl > dt,
	#section-history .history-list dl dt{font-size: 15px; line-height: 1.55;}
	#section-history .history-list > li > dl > dd,
	#section-history .history-list dl dd{font-size: 15px; line-height: 1.6;}
}
/* === HISTORY-NARROW-FONT END 20260617 === */


/* === HISTORY-NARROW-FONT-FIX START 20260617 (481~767 구간 !important 충돌 보정) === */
/* 기존 @media(max-width:1024px and min-width:481px) 블록이 period-label p / list dt / list dd 에
   font-size:14px !important 를 강제 → 500px 구간에서 확대가 무력화됨.
   동일 우선순위로 덮기 위해 좁은화면(<=767px)에서 !important 로 재지정. */
@media (max-width: 767px){
	#section-history .history-block .period-label p{font-size: 22px !important; line-height: 1.25 !important;}
	#section-history .history-list > li > dl > dt,
	#section-history .history-list dl dt{font-size: 15px !important; line-height: 1.55 !important;}
	#section-history .history-list > li > dl > dd,
	#section-history .history-list dl dd{font-size: 15px !important; line-height: 1.6 !important;}
	#section-history .history-hero .hero-text .desc{font-size: 15px !important; line-height: 1.6 !important;}
}
/* === HISTORY-NARROW-FONT-FIX END 20260617 === */

/* === PAGE-ADDITIONS: NEWS-LIST-MOBILE-ROW (2026-06-17) === */
/* 소식 리스트 뷰: 모바일(480px 이하)에서도 좌-이미지/우-텍스트 가로배치 유지(복원).
   기존 480px 규칙의 grid-template-columns:1fr(세로 스택)을 가로배치로 되돌림.
   카드뷰는 손대지 않음. rem 트랩 회피 위해 모바일 폰트/치수는 px 명시. */
@media (max-width:480px){
	#section-news .board-list > li > a{
		grid-template-columns:118px 1fr;
		gap:14px;
		padding:16px 4px;
		align-items:center;
	}
	#section-news .board-list > li figure{
		width:118px;
		padding-top:0;
		height:78px;
		align-self:center;
	}
	#section-news .board-list > li dl{
		min-width:0;
	}
	#section-news .board-list > li dl dt{
		font-size:15px;
		line-height:1.4;
		margin-bottom:6px;
		-webkit-line-clamp:2;
	}
	#section-news .board-list > li dl .excerpt{
		font-size:13px;
		line-height:1.55;
		margin-bottom:8px;
		-webkit-line-clamp:2;
	}
	#section-news .board-list > li dl .date{
		font-size:12px;
	}
}
@media (max-width:360px){
	#section-news .board-list > li > a{
		grid-template-columns:96px 1fr;
		gap:12px;
	}
	#section-news .board-list > li figure{
		width:96px;
		height:66px;
	}
	#section-news .board-list > li dl dt{
		font-size:14px;
	}
	#section-news .board-list > li dl .excerpt{
		font-size:12px;
		-webkit-line-clamp:2;
	}
}
/* === END PAGE-ADDITIONS: NEWS-LIST-MOBILE-ROW === */

/* === HISTORY-YEARGROUP START (연도그룹 자동탭 + 그룹이미지) === */
#section-history .history-tab a.history-tab-link{cursor:pointer;}
#section-history .history-empty{text-align:center; padding:6rem 2rem; color:#888; font-size:1.5rem;}
/* 그룹 대표 이미지가 없을 때 period-label 상단 여백 보정 */
#section-history .history-block .period-label figure{margin-top:0;}
@media (max-width:480px){
	#section-history .history-tab a.history-tab-link{font-size:13px;}
	#section-history .history-empty{font-size:14px; padding:4rem 1.6rem;}
}
/* === HISTORY-YEARGROUP END === */
/* ===== JOBS-LIST-MANAGE START ===== */
/* 진행중 공고 목록형 관리 — 정규직여부 아이콘 / 마감 뱃지 / 마감 비활성 버튼 */
#section-jobs .jobs-list .job-meta p i.i-emp:before{content:"\f0f7"; font-family:FontAwesome;}
#section-jobs .jobs-list .job-meta{flex:0 0 22rem;}
#section-jobs .jobs-list .job-info h5 .job-badge-closed{display:inline-block; vertical-align:middle; margin-left:0.6rem; padding:0.2rem 0.8rem; background:#888; color:#fff; font-size:1.2rem; font-weight:600; border-radius:0.3rem; line-height:1.5;}
#section-jobs .jobs-list > li.is-closed{opacity:0.6;}
#section-jobs .jobs-list > li.is-closed .job-info h5{color:#666;}
#section-jobs .jobs-list .job-action .btn-apply.btn-apply-off{background:#bbb; color:#fff; cursor:default; pointer-events:none;}
@media (max-width:768px){
	#section-jobs .jobs-list .job-meta{flex:0 0 auto;}
	#section-jobs .jobs-list .job-info h5 .job-badge-closed{font-size:11px; padding:2px 7px;}
}
@media (max-width:480px){
	#section-jobs .jobs-list .job-info h5{font-size:16px;}
	#section-jobs .jobs-list .job-info .tags{font-size:13px;}
	#section-jobs .jobs-list .job-meta{font-size:13px;}
	#section-jobs .jobs-list .job-action .btn-apply{font-size:14px; padding:11px 20px; min-height:44px; display:inline-flex; align-items:center;}
	#section-jobs .jobs-list .job-action .deadline{font-size:13px;}
	#section-jobs .jobs-list .job-info h5 .job-badge-closed{font-size:11px;}
}
/* ===== JOBS-LIST-MANAGE END ===== */

/* === HISTORY-LAYOUT-LR START === */
/* 요청(CTO): (1) 모든 연혁 블록 = 연도그룹 라벨 '왼쪽' + 세부내용 '오른쪽' 고정
   (PHP가 짝/홀로 --left/--right 교대 생성 → --right를 --left와 동일 레이아웃으로 통일)
   (2) 세로 타임라인(.history-axis)을 최하단 레이어로 → 히어로 이미지/원형 마커를 덮지 않게.
   범위: #section-history 한정. 파일 끝 append. 기존 정렬/노출 로직 무회귀. */

/* ---- (2) 세로축 z-index 최하단 + 히어로/마커가 항상 위 ---- */
#section-history .history-hero{position:relative; z-index:1;}
#section-history .history-content{position:relative; z-index:1;}
#section-history .history-axis{z-index:0;}
#section-history .history-block{z-index:1;}
#section-history .history-block .period-label{position:relative; z-index:2;}
#section-history .history-list{z-index:2;}
/* 원형 마커는 기존 z-index(5~7) 유지 → 축(0) 위 보장 */

/* ---- (1) --right 블록을 --left와 동일 레이아웃으로 통일 (>=841px) ---- */
@media only screen and (min-width:841px){
	/* 라벨: 왼쪽 칸(grid-column 1), 우측정렬(축에 붙임) — left블록과 동일 */
	#section-history .history-block--right .period-label{grid-column:1; grid-row:1; justify-self:end; text-align:right;}
	/* 세부내용: 오른쪽 칸(grid-column 2), 좌측정렬 — left블록과 동일 */
	#section-history .history-block--right .history-list{grid-column:2; grid-row:1; padding-left:3rem; padding-right:0; text-align:left;}
	#section-history .history-block--right .history-list > li{text-align:left;}
	/* 연도 h5: left블록과 동일하게 좌측 마진/패딩 */
	#section-history .history-block--right .history-list > li > h5{margin:0 0 1.4rem -4.6rem; padding:0 0 0 4.6rem;}
	#section-history .history-block--right .history-list > li > h5::before{left:0; right:auto; transform:translate(-50%,-50%);}
	#section-history .history-block--right .history-list > li > h5::after{left:0; right:auto; transform:translate(-50%,-50%);}
	/* dl(월/내용): 좌측정렬 + dt 원위치(order 0) */
	#section-history .history-block--right .history-list > li > dl{justify-content:flex-start;}
	#section-history .history-block--right .history-list > li > dl > dt{order:0;}
}

/* ---- (1)-축 정렬: --right 마커를 --left와 동일 left 보정값으로 (breakpoint별) ---- */
/* 기본(>=1281, gap6rem): left:-14 */
#section-history .history-block--right .history-list > li > h5::before,
#section-history .history-block--right .history-list > li > h5::after{left:-14px; right:auto;}
@media only screen and (max-width:1280px) and (min-width:1025px){
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{left:6px; right:auto;}
}
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-history .history-block--right .history-list > li > h5::before,
	#section-history .history-block--right .history-list > li > h5::after{left:11px; right:auto;}
}
/* <=840: 기존 1열 스택(모바일) 규칙 유지 — left:1px 동일축, 건드리지 않음 */
/* === HISTORY-LAYOUT-LR END === */

/* EX_AWARD_LINK START — 수상/인증 카드의 관련 기사 링크. scope: #section-awards .award-news-link */
#section-awards .award-news-link{margin-top:0.4rem;}
#section-awards .award-news-link a{color:var(--point); font-weight:600; text-decoration:underline; text-underline-offset:2px;}
#section-awards .award-news-link a:hover{opacity:0.8;}
/* EX_AWARD_LINK END */
/* EX_HISTSUM_LINK START — 연혁 요약/풀버전 상호 이동 버튼. scope: #section-history .histsum-more, .histsum-toplink */
#section-history .histsum-more{margin:0 0 4rem; text-align:center;}
#section-history .histsum-more .histsum-more-btn{display:inline-block; padding:1.2rem 3rem; font-weight:600; font-size:1.4rem; letter-spacing:0.02em; color:#fff; background:#e4002b; border:1px solid #e4002b; border-radius:0.3rem; text-decoration:none; transition:opacity 0.2s;}
#section-history .histsum-more .histsum-more-btn:hover{opacity:0.85;}
#section-history .histsum-toplink{margin:0 0 3rem; text-align:right;}
#section-history .histsum-toplink a{display:inline-block; padding:0.9rem 2.2rem; font-weight:600; font-size:1.3rem; color:#e4002b; background:#fff; border:1px solid #e4002b; border-radius:0.3rem; text-decoration:none; transition:all 0.2s;}
#section-history .histsum-toplink a:hover{background:#e4002b; color:#fff;}
@media (max-width:768px){
  #section-history .histsum-more .histsum-more-btn{font-size:14px; padding:14px 28px;}
  #section-history .histsum-toplink a{font-size:13px; padding:11px 22px;}
  #section-history .histsum-toplink{text-align:center;}
}
/* EX_HISTSUM_LINK END */

/* EX_HISTSTICKY START — 연혁 기간 탭 상단 고정(sticky). scope: #section-history .history-tab
   - 사이트 헤더(#header position:fixed, 데스크탑 ~10rem / 840px이하 9rem)만큼 top 오프셋.
   - 배경 불투명(#fff) + 상하 패딩으로 스크롤 시 본문 비침 방지.
   - z-index 5: history-axis(0)/block(1)/period-label(2) 위로.
   - 조상 #wrap에 overflow:hidden 있으나 height 제한 없어 뷰포트 기준 sticky 정상. */
#section-history .history-tab{
	position:-webkit-sticky;
	position:sticky;
	top:10rem;
	z-index:5;
	background:#fff;
	padding-top:1.6rem;
	padding-bottom:1.6rem;
	margin-bottom:2.4rem;
	-webkit-transition:top .25s ease;
	transition:top .25s ease;
}
@media only screen and (max-width:840px){
	#section-history .history-tab{top:9rem; padding-top:1.2rem; padding-bottom:1.2rem; margin-bottom:2rem;}
}
@media only screen and (max-width:480px){
	#section-history .history-tab{top:9rem; padding-top:1rem; padding-bottom:1rem;}
}

/* EX_HISTSTICKY_SYNC START — 헤더(TNB) 오토-하이드 동기화. scope: #section-history.tnb-hidden .history-tab
   헤더 숨김 시(JS가 #header 인라인 top 음수화를 관찰해 #section-history 에 .tnb-hidden 부여)
   탭도 top:0 으로 올라붙음. 헤더 노출(인라인 top:0) 시 .tnb-hidden 제거 → 기본 규칙
   (top:10rem / 840px이하 9rem) 복귀. 위 base 규칙의 transition:top 으로 헤더와 함께 부드럽게 이동.
   PC(>1024px)에서만 헤더 오토-하이드 존재 → 모바일은 .tnb-hidden 미부여(항상 헤더 아래 유지). */
#section-history.tnb-hidden .history-tab{top:0;}
/* EX_HISTSTICKY_SYNC END */

/* 조상 #wrap{overflow:hidden} 이 sticky 스크롤 컨테이너를 가로채 탭이 고정되지 않음.
   연혁 페이지(=#section-history 보유)에 한해 overflow:clip 으로 전환.
   clip 은 가로 넘침 클리핑은 유지하되 스크롤 컨테이너를 만들지 않아 sticky 복원.
   :has() 미지원 구형 브라우저는 기존 hidden 유지(sticky만 미동작, 레이아웃 무손상). */
#wrap:has(#section-history){overflow:clip;}
/* EX_HISTSTICKY END */

/* EX_HISTSPY START — 연혁 그룹 탭: 수상/인증식 빨간 슬라이딩 언더바 + 스크롤 연동(scrollspy).
   scope: #section-history .history-tab (타 페이지 영향 0)
   - 활성 탭: 검정 굵게(awards.php active 톤). 기존 빨강 점(::before)은 숨김.
   - 단일 인디케이터(.history-tab__indicator)를 absolute로 두고 JS가 활성 탭의
     left/width를 계산해 transform:translateX + width로 이동(transition으로 슬라이딩).
   - sticky(EX_HISTSTICKY)와 무충돌: 탭 컨테이너는 그대로 고정되고 인디케이터만 내부 이동. */
/* position 미지정: EX_HISTSTICKY 의 position:sticky 가 인디케이터(absolute)의 containing block 역할. relative 로 덮어쓰지 않음(sticky 회귀 방지) */
/* 기존 활성 빨강 점 비활성화(언더바로 대체) */
#section-history .history-tab a.active::before{display:none;}
#section-history .history-tab a.active{color:#111; font-weight:700;}
/* 슬라이딩 인디케이터(빨간 언더바) */
#section-history .history-tab .history-tab__indicator{
	position:absolute;
	bottom:0;
	left:0;
	height:2px;
	width:0;
	background:var(--point,#e4002b);
	transform:translateX(0);
	transition:transform .3s ease, width .3s ease;
	pointer-events:none;
	z-index:1;
}
/* 인디케이터 초기 위치 미계산 상태(JS 비활성/측정전)에는 숨김 → 깜빡임 방지 */
#section-history .history-tab .history-tab__indicator:not(.ready){opacity:0;}
#section-history .history-tab .history-tab__indicator.ready{opacity:1; transition:transform .3s ease, width .3s ease, opacity .2s ease;}
/* EX_HISTSPY END */

/* EX_HISTTAB_HSCROLL START — 연혁 그룹 탭: 줄바꿈(2줄) 대신 한 줄(가로 1행) 유지 + 가로 스크롤.
   목적: 탭이 화면보다 길어질 때 wrap(2줄)되면 슬라이딩 인디케이터(.history-tab__indicator,
   absolute bottom:0)가 컨테이너 바닥에 그려져 활성 탭과 어긋나는 구조적 약점 해소.
   방식: .history-tab 을 nowrap 한 줄 + overflow-x:auto 로 가로 스크롤. 항목은 flex-shrink:0.
   - sticky(EX_HISTSTICKY)·헤더동기화(EX_HISTSTICKY_SYNC)·슬라이딩 언더바(EX_HISTSPY) 무충돌.
     overflow-x:auto 는 sticky 컨테이너 자체에 가해도 세로 sticky 정상(가로 스크롤만 생성).
   - 인디케이터는 .history-tab 의 absolute 자식이므로 가로 스크롤 콘텐츠와 함께 이동 →
     스크롤해도 활성 탭 아래에 정확히 정렬. (offsetLeft/offsetWidth 기준 동일)
   - 데스크탑(안 넘칠 때): justify-content:center 유지로 기존처럼 가운데. 넘칠 때만 스크롤.
     (center+overflow의 좌측 잘림은 EX_HISTTAB_HSCROLL_JS 의 scrollIntoView/auto-center 로 보완)
   - 스크롤바 숨김(scrollbar-width:none / ::-webkit-scrollbar) 으로 깔끔. 가로 스크롤 동작은 유지.
   scope: #section-history .history-tab (타 페이지 영향 0). 기존 마커 무력화 없음(아래에서 override). */
#section-history .history-tab{
	-ms-overflow-style:none;        /* IE/Edge 스크롤바 숨김 */
	scrollbar-width:none;           /* Firefox 스크롤바 숨김 */
}
#section-history .history-tab::-webkit-scrollbar{display:none; width:0; height:0;} /* WebKit 스크롤바 숨김 */

/* 모든 폭에서 한 줄 강제(기존 flex-wrap:wrap / white-space 줄바꿈 규칙 override) + 가로 스크롤 */
#section-history .history-tab,
#section-history.tnb-hidden .history-tab{
	-webkit-flex-wrap:nowrap;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap !important;
	white-space:nowrap;
	overflow-x:auto;
	overflow-y:hidden;
	-webkit-overflow-scrolling:touch;
	row-gap:0 !important;            /* 줄바꿈 제거로 row-gap 불필요(잔여 간격 제거) */
}
/* 탭 항목: 한 줄에서 줄어들지 않게(눌림/줄바꿈 방지) */
#section-history .history-tab a.history-tab-link{
	-webkit-flex:0 0 auto;
	-ms-flex:0 0 auto;
	flex:0 0 auto;
	white-space:nowrap;
}
/* EX_HISTTAB_HSCROLL END */

/* ============================================================
   EX_HISTSCROLLMARGIN START — 그룹탭 클릭 스크롤 오프셋 보정(2026-06-19)
   scope: #section-history .history-block[id^="g-"]
   탭 클릭 시 scrollIntoView({block:'start'}) 대상이 sticky 그룹탭 + 고정헤더 뒤로
   가려지는 문제를, 스크롤 앵커(각 그룹 블록)에 scroll-margin-top 을 줘서 그만큼
   위에서 멈추게 보정. 값 = 헤더높이 + 그룹탭높이 + 여유여백(헤더 보일 때 기준).
   - 데스크탑: 헤더 ~101 + 탭 ~58 + 여백 → 180px
   - 768이하: 헤더 ~50 + 탭 ~55 + 여백 → 140px
   - 480이하: 헤더 ~50 + 탭 ~55 + 여백 → 125px
   px 명시(rem 트랩 회피). 기존 sticky/scrollspy/가로스크롤 무회귀(레이아웃 미변경). */
#section-history .history-block[id^="g-"]{scroll-margin-top:180px;}
@media only screen and (max-width:768px){
	#section-history .history-block[id^="g-"]{scroll-margin-top:140px;}
}
@media only screen and (max-width:480px){
	#section-history .history-block[id^="g-"]{scroll-margin-top:125px;}
}
/* EX_HISTSCROLLMARGIN END */

/* ============================================================
   EX_HISTCROSSBTN START — 히어로 교차이동 버튼(전체↔요약)(2026-06-19)
   scope: #section-history .history-hero .hero-text .btns a.btn-cross
   "전체 추진실적" 버튼 우측에 배치. 베이스 .btns a (padding/폰트/라운드) 상속.
   기본: 아웃라인 톤(투명배경 + 흰 테두리/글자, btn2 와 동일 톤).
   hover: 빨간배경(#e4002b) + 흰 글자로 부드럽게 전환(베이스 opacity hover 무력화). */
#section-history .history-hero .hero-text .btns a.btn-cross{
	background:transparent;
	color:#fff;
	border:1px solid rgba(255,255,255,0.5);
	transition:background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
#section-history .history-hero .hero-text .btns a.btn-cross:hover{
	opacity:1;
	background:#e4002b;
	color:#fff;
	border-color:#e4002b;
}
/* EX_HISTCROSSBTN END */

/* ============================================================
   EX_HISTLEFTSTICKY START — 그룹 좌측 패널(라벨+이미지) sticky 상단고정(2026-06-19)
   scope: #section-history .history-block .period-label (전체/요약 공통)
   요청: 세로 목록에서 좌측 영역(그룹명/이미지)을 스크롤해도 사라지지 않게 상단고정,
        다음 그룹 진입 시 자동으로 위로 밀려 올라가 새 그룹 좌측 패널로 교체.
   구현: 각 .history-block(그리드 부모) 안에서 .period-label 을 position:sticky.
        sticky 는 부모 블록 영역 안에서만 붙으므로, 블록을 벗어나면 자연히 위로 밀림
        → "다음 그룹 나오면 자동으로 위로" 컨셉이 추가 JS 없이 성립.
   오프셋: 상단 sticky 그룹탭(.history-tab, top:100px·높이~58px → bottom~158px) 아래로.
          데스크탑 170px(탭 아래 ~12px 여유). 헤더 오토숨김(.tnb-hidden)시 탭 top:0(bottom~58px)
          → 라벨 top:70px 로 동기화(base transition:top 으로 헤더와 함께 부드럽게 이동).
   레이아웃: 그리드 아이템 기본 stretch 를 align-self:start 로 풀어 라벨이 자기 콘텐츠
            높이만 차지 → 짧은 라벨이 블록 상단에 붙어 sticky 동작(필수).
   조상 overflow: #wrap:has(#section-history){overflow:clip}(EX_HISTSTICKY)로 이미 해결.
                .history-content/.history-block 에 overflow:hidden 없음(sticky 무손상).
   모바일(<=840px): 그리드가 1열로 스택(period-label=row1, history-list=row2)되므로
                   sticky 미적용(쌓이는 레이아웃에 sticky 부자연 → 해제). 기존 레이아웃 유지.
   무회귀: sticky그룹탭/scrollspy/가로스크롤/scroll-margin/교차버튼/tnb동기화 전부 미변경.
   px 명시(rem 트랩 회피). #section-history 스코프 한정(타 페이지 영향 0).
   ============================================================ */
@media only screen and (min-width:841px){
	#section-history .history-block .period-label{
		position:-webkit-sticky;
		position:sticky;
		top:170px;
		-webkit-align-self:start;
		-ms-flex-item-align:start;
		align-self:start;
		-webkit-transition:top .25s ease;
		transition:top .25s ease;
	}
	/* 헤더 오토숨김 동기화: 탭이 top:0 으로 올라붙으면 라벨도 그만큼 위로 */
	#section-history.tnb-hidden .history-block .period-label{
		top:70px;
	}
}
/* EX_HISTLEFTSTICKY END */

/* EX_SEARCH_BTN START - 검색폼 버튼 텍스트 세로 가운데 정렬 공통 처리 */
.board-toolbar .search-form button,
#section-faq .faq-toolbar .search-form button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	line-height:1;
}
/* EX_SEARCH_BTN END */

/* EX_TALENT_PAD START - careers/talent.php "We Work by X.CODE" 단락 좌측 여백 2.5배 (컨테이너 padding-left 20px → 총 50px). dl 텍스트 블록에만 적용, figure(이미지) 미접촉. 데스크탑 기준 2.5배, 좁은화면 단계축소. talent-xcode 스코프 한정. */
#section-talent .talent-xcode > dl{margin-left:3rem;}
@media (max-width:1440px){
	#section-talent .talent-xcode > dl{margin-left:3rem;}
}
@media (max-width:840px){
	#section-talent .talent-xcode > dl{margin-left:0;}
}
@media (max-width:768px){
	#section-talent .talent-xcode > dl{margin-left:16px;}
}
@media (max-width:480px){
	#section-talent .talent-xcode > dl{margin-left:10px;}
}
@media (max-width:360px){
	#section-talent .talent-xcode > dl{margin-left:6px;}
}
/* EX_TALENT_PAD END */

/* ============================================================
   EX_AWARDS_STICKY START — 수상/인증 그룹탭 상단 고정(sticky) + 연혁 거동 이식.
   scope: #section-awards .awards-tab (타 페이지 영향 0)
   연혁(EX_HISTSTICKY/SYNC/SPY/HSCROLL/SCROLLMARGIN) 거동을 awards 구조에 맞게 치환.
   - 사이트 헤더(#header position:fixed, 데스크탑 ~10rem / 840px이하 9rem)만큼 top 오프셋.
   - 배경 불투명(#fff)으로 스크롤 시 본문 비침 방지. 기존 하단 보더(#eee)/패딩 유지.
   - z-index 5: awards-list 콘텐츠 위로.
   - 조상 #wrap{overflow:hidden} 이 sticky 를 가로채므로 awards 페이지 한정 overflow:clip.
   ============================================================ */
#section-awards .awards-tab{
	position:-webkit-sticky;
	position:sticky;
	top:10rem;
	z-index:5;
	background:#fff;
	-webkit-transition:top .25s ease;
	transition:top .25s ease;
}
@media only screen and (max-width:840px){
	#section-awards .awards-tab{top:9rem;}
}
@media only screen and (max-width:480px){
	#section-awards .awards-tab{top:9rem;}
}

/* EX_AWARDS_SYNC START — 헤더(TNB) 오토-하이드 동기화. scope: #section-awards.tnb-hidden .awards-tab
   헤더 숨김 시(JS가 #header 인라인 top 음수화를 관찰해 #section-awards 에 .tnb-hidden 부여)
   탭도 top:0 으로 올라붙음. 헤더 노출 시 .tnb-hidden 제거 → base 규칙(top:10rem/9rem) 복귀.
   base 의 transition:top 으로 헤더와 함께 부드럽게 이동. PC에서만 헤더 오토-하이드 존재. */
#section-awards.tnb-hidden .awards-tab{top:0;}
/* EX_AWARDS_SYNC END */

/* 조상 #wrap{overflow:hidden} → awards 페이지 한정 overflow:clip 으로 sticky 복원.
   clip 은 가로 넘침 클리핑 유지하되 스크롤 컨테이너를 만들지 않음. :has() 미지원시 기존 유지. */
#wrap:has(#section-awards){overflow:clip;}
/* EX_AWARDS_STICKY END */

/* EX_AWARDS_SPY START — 그룹탭 빨간 슬라이딩 언더바 + 스크롤 연동(scrollspy).
   scope: #section-awards .awards-tab (타 페이지 영향 0)
   - 기존 정적 언더바(.active{border-color:#e4002b}) 비활성화 → 슬라이딩 인디케이터로 대체.
   - 단일 인디케이터(.awards-tab__indicator)를 absolute로 두고 JS가 활성 탭의
     left/width를 계산해 transform:translateX + width로 이동(transition 슬라이딩).
   - sticky(EX_AWARDS_STICKY)가 인디케이터(absolute)의 containing block 역할(position:sticky). */
/* 기존 정적 빨간 언더바 비활성(슬라이딩 인디케이터로 대체) */
#section-awards .awards-tab > a.active{border-color:transparent;}
#section-awards .awards-tab > a.active{color:#000; font-weight:700;}
/* 슬라이딩 인디케이터(빨간 언더바) — 하단 1px 보더 위에 정렬 */
#section-awards .awards-tab .awards-tab__indicator{
	position:absolute;
	bottom:-1px;
	left:0;
	height:2px;
	width:0;
	background:var(--point,#e4002b);
	transform:translateX(0);
	transition:transform .3s ease, width .3s ease;
	pointer-events:none;
	z-index:1;
}
/* 측정전(JS 비활성/측정전)에는 숨김 → 깜빡임 방지 */
#section-awards .awards-tab .awards-tab__indicator:not(.ready){opacity:0;}
#section-awards .awards-tab .awards-tab__indicator.ready{opacity:1; transition:transform .3s ease, width .3s ease, opacity .2s ease;}
/* EX_AWARDS_SPY END */

/* EX_AWARDS_HSCROLL START — 그룹탭 한 줄(가로 1행) 유지 + 가로 스크롤.
   목적: 탭이 화면보다 길 때 wrap(2줄)되면 슬라이딩 인디케이터(absolute bottom)가 어긋나는
   구조 약점 해소. 방식: .awards-tab 을 nowrap + overflow-x:auto. 항목은 flex-shrink:0.
   - 데스크탑(year-sel 숨김 상태)에서 탭 링크만 가로 1행. 안 넘치면 기존 좌측 정렬 유지.
   - 스크롤바 숨김. sticky/sync/spy 무충돌.
   scope: #section-awards .awards-tab (타 페이지 영향 0). */
#section-awards .awards-tab{
	-ms-overflow-style:none;        /* IE/Edge 스크롤바 숨김 */
	scrollbar-width:none;           /* Firefox 스크롤바 숨김 */
}
#section-awards .awards-tab::-webkit-scrollbar{display:none; width:0; height:0;} /* WebKit 스크롤바 숨김 */
/* 모든 폭에서 한 줄 강제(기존 flex-wrap:wrap override) + 가로 스크롤 */
#section-awards .awards-tab,
#section-awards.tnb-hidden .awards-tab{
	-webkit-flex-wrap:nowrap;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap;
	white-space:nowrap;
	overflow-x:auto;
	overflow-y:hidden;
	-webkit-overflow-scrolling:touch;
	row-gap:0;
}
/* 탭 항목: 한 줄에서 줄어들지 않게(눌림/줄바꿈 방지) */
#section-awards .awards-tab > a.awards-tab-link{
	-webkit-flex:0 0 auto;
	-ms-flex:0 0 auto;
	flex:0 0 auto;
	white-space:nowrap;
}
/* EX_AWARDS_HSCROLL END */

/* ============================================================
   EX_AWARDS_SCROLLMARGIN START — 그룹탭 클릭 스크롤 오프셋 보정(2026-06-19)
   scope: #section-awards .awards-year[id^="y-"]
   탭/select 클릭 시 scrollIntoView({block:'start'}) 대상이 sticky 그룹탭 + 고정헤더 뒤로
   가려지는 문제를, 스크롤 앵커(각 연도 블록)에 scroll-margin-top 을 줘서 그만큼 위에서 멈춤.
   값 = 헤더높이 + 그룹탭높이 + 여백(헤더 보일 때 기준). 기존 PAGE-ADDITIONS 의
   scroll-margin-top(120/80px)을 sticky 높이 반영해 상향(append 후순위 → 본 규칙 우선).
   px 명시(rem 트랩 회피). 기존 sticky/scrollspy/가로스크롤 무회귀. */
#section-awards .awards-year[id^="y-"]{scroll-margin-top:175px;}
@media only screen and (max-width:768px){
	#section-awards .awards-year[id^="y-"]{scroll-margin-top:140px;}
}
@media only screen and (max-width:480px){
	#section-awards .awards-year[id^="y-"]{scroll-margin-top:125px;}
}
/* EX_AWARDS_SCROLLMARGIN END */

/* EX_AWARDS_STICKY_FIX START — 모바일(≤480px) sticky 회귀 수정(2026-06-19)
   문제: 기존 마커(awards-agentC-mobile-supplement)의 @media(max-width:480px)
        #section-awards{overflow-x:hidden} 이, 한 축이 visible 이 아니면 다른 축이
        auto 로 계산되는 규칙 때문에 #section-awards 가 스크롤 컨테이너(overflow-y:auto)가
        되어, 그 자손인 sticky 그룹탭(.awards-tab)이 섹션 내부 기준으로만 고정 → 화면 밖으로
        스크롤되는 회귀 발생(데스크탑은 무관, 480 이하만 영향).
   해결: 같은 브레이크포인트에서 overflow-x:clip 로 override. clip 은 가로 넘침 클리핑은
        유지(기존 의도: 가로 스크롤 방지)하되 스크롤 컨테이너를 만들지 않아 overflow-y 가
        visible 로 남음 → sticky 가 뷰포트 기준으로 정상 고정. append 후순위 → 본 규칙 우선.
   :has()/clip 미지원 구형은 기존 hidden 유지(sticky만 미동작, 레이아웃 무손상). scope 한정. */
@media only screen and (max-width:480px){
	#section-awards{overflow-x:clip;}
}
/* EX_AWARDS_STICKY_FIX END */

/* === EX_TALENT_MICE_ALIGN START (careers/talent.php MICE: 화살표 원중심 정렬 + 텍스트 top정렬) 2026-06-19 append-only, #section-talent .talent-mice 스코프 한정 === */
/* [1] 텍스트 세로정렬 top: name/sub를 원 상단에 맞춰 시작(기존 align-self:center → start).
   원(.mice-circle)은 이미 align-self:start(상단 고정)이므로 텍스트도 start로 통일 → 원 위쪽부터 시작.
   모든 폭에서 동일 적용(append 순서로 base/미디어쿼리 위에 적용). */
#section-talent .talent-mice .mice-name{align-self:start;}
#section-talent .talent-mice .mice-sub{align-self:start;}
/* [2] 화살표 가로중심 정렬 보강: 원 박스가 auto 컬럼에서 stretch되지 않도록 좌측 고정 →
   ::before/::after(left:50%)가 항상 시각적 원 중심선과 일치(폭 변해도 어긋남 없음). */
#section-talent .talent-mice .mice-circle.outline,
#section-talent .talent-mice .mice-circle.solid{justify-self:start;}
/* [3] 연결 화살표(아래방향 ↓): 세로선/화살촉을 원 가로중심(left:50%)에 명시 고정.
   기존 화살촉 크기/위치(밀착)는 유지하고 중심정렬만 보강. */
#section-talent .talent-mice .mice-circle.solid::before{left:50%; transform:translateX(-50%);}
#section-talent .talent-mice .mice-circle.solid::after{left:50%; transform:translateX(-50%) rotate(45deg);}
/* === EX_TALENT_MICE_ALIGN END === */

/* ============================================================
   EX_AWARDS_CENTER START — 수상/인증 그룹탭 가로 가운데 정렬(연혁 history-tab 거동 일치) 2026-06-19
   scope: #section-awards .awards-tab (타 페이지 영향 0)
   목적/배경:
   - awards 기본 규칙(.awards-tab{display:flex;...})에는 연혁(.history-tab{justify-content:center})과
     달리 가로 정렬이 없어 탭이 좌측 정렬됨. 연혁과 동일하게 가운데 정렬로 보정.
   - 탭이 적어(3~4개) 보통 영역 안에 다 들어옴 → 가운데 정렬이 기본으로 보여야 함.
   동시 충족(가운데 vs 가로스크롤):
   - justify-content:safe center 사용. 'safe' 키워드: 항목이 컨테이너에 다 들어오면 center(가운데),
     넘쳐서 콘텐츠가 잘릴 상황이면 자동으로 start 정렬로 폴백 → 좌측(첫 탭) 잘림 방지 + 가로스크롤 정상.
     EX_AWARDS_HSCROLL(overflow-x:auto, nowrap)과 결합해 넘침 시 가로스크롤, 미넘침 시 가운데.
   - 'safe' 미지원 구형 브라우저는 일반 center 로 폴백(연혁과 동일). 이 경우 넘침 시 좌측 잘림은
     EX_AWARDS_HSCROLL_JS 의 active 탭 auto-center(scrollTo inline:center)로 보완 → 연혁과 동일 거동.
   - 데스크탑에서만 탭 링크 노출(≤768px 는 탭 숨김 + select). 따라서 가운데 정렬은 데스크탑에 적용.
     ≤768px 에서는 탭이 숨겨져 정렬 무의미(select 단일 항목) → 회귀 없음.
   - append 후순위 → 기존 base(좌측) 규칙보다 우선 적용. EX_AWARDS_STICKY/SPY/SYNC/HSCROLL 무충돌.
   ============================================================ */
#section-awards .awards-tab{
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	-webkit-justify-content:center;
	justify-content:center;
	justify-content:safe center;
}
/* ≤768px: 탭 숨김 + select 단일 → 정렬 영향 없음. 안전상 명시(연혁/awards 기존 모바일 규칙 무회귀) */
@media only screen and (max-width:768px){
	#section-awards .awards-tab{
		-webkit-box-pack:start;
		-ms-flex-pack:start;
		-webkit-justify-content:flex-start;
		justify-content:flex-start;
	}
}
/* EX_AWARDS_CENTER END */

/* ============================================================
   === EX_AWARDS_HEIGHT START === — 수상/인증 sticky 그룹탭 세로높이를 연혁(.history-tab)과 정확히 일치(2026-06-19)
   scope: #section-awards .awards-tab (+ 내부 링크/select). 타 페이지·연혁 CSS 무영향(연혁은 손대지 않음).
   배경(실측 1440px):
     - 연혁 .history-tab: padding 16/16, border-bottom 0, 링크 a{font-size:14px; padding:4px 0; lh:18.2px; h=26.19} → 총높이 58.19px
     - 수상 .awards-tab(수정전): padding 0/20, border-bottom 1px, 링크 a{font-size:15px; padding-bottom:6px; h=27.5} → 총높이 48.50px (9.69px 낮음)
   해결(awards 쪽만 연혁 수치로 통일):
     (A) 컨테이너 세로패딩을 연혁과 동일 균등(pt 1.6rem / pb 계산값)으로. 단 awards는 border-bottom 1px 보유 →
         box 총높이 = pt + content + pb + 1px. 연혁(border 0)과 같은 58.19px 만들려면 pb를 1px 줄여 보더 두께를 흡수.
         pt 1.6rem(=16px), pb 1.5rem(=15px) + border 1px → 세로 합 = 16+15+1 = 32px (연혁 16+16=32px와 동일).
     (B) 링크 폰트/패딩/라인하이트를 연혁 a와 동일하게(font-size 1.4rem, padding 0.4rem 0) → content 높이 26.19px 일치.
     (C) 모바일(≤840/≤480): 연혁 sticky 패딩(840:pt1.2/pb1.2, 480:pt1/pb1)과 동일하게(보더 1px 흡수 위해 pb를 0.1rem 가감 대신
         px 명시로 정확 보정). awards 모바일은 탭 숨김+select 구조라 select 높이도 함께 고려.
   주의: sticky/sync/spy/hscroll/center 동작 무회귀 — 본 블록은 padding/font-size/line-height/border 만 손댐.
         position/overflow/justify-content/flex 등 동작성 속성은 일절 건드리지 않음.
   append 후순위 → 기존 base/EX_AWARDS_* 규칙보다 우선 적용.
   ============================================================ */

/* (A) 컨테이너 세로패딩: 연혁과 동일 세로합(32px) — awards border-bottom 1px 흡수 위해 pb를 1px 줄임 */
#section-awards .awards-tab{
	padding-top:1.6rem;          /* 16px — 연혁과 동일 */
	padding-bottom:1.5rem;       /* 15px — 연혁 pb16 - border 1px = 15px (보더 두께 흡수) */
	margin-bottom:2.4rem;        /* 연혁 margin-bottom 과 동일(레이아웃 정합) */
}
/* (B) 내부 탭 링크: 연혁 a 와 동일 폰트/패딩/라인하이트 → content 높이 일치 */
#section-awards .awards-tab > a.awards-tab-link{
	font-size:1.4rem;            /* 연혁 a 와 동일(기존 1.5rem → 1.4rem) */
	padding-top:0.4rem;          /* 연혁 a padding:0.4rem 0 와 동일(기존 padding-bottom:0.6rem 대체) */
	padding-bottom:0.4rem;
	line-height:1.3;             /* 연혁 a 와 동일 톤(lh ~18.2px @14px) */
}

/* (C) 모바일 정합 — 연혁 sticky 패딩과 동일 세로합(보더 1px 흡수) */
@media only screen and (max-width:840px){
	#section-awards .awards-tab{
		padding-top:1.2rem;       /* 연혁 840이하 pt 와 동일 */
		padding-bottom:1.1rem;    /* 연혁 pb1.2rem - border 1px ≈ 보더 흡수 */
		margin-bottom:2rem;       /* 연혁 840이하 margin-bottom 과 동일 */
	}
}
@media only screen and (max-width:480px){
	#section-awards .awards-tab{
		padding-top:10px;         /* 연혁 480이하 pt(1rem→ rem트랩 회피 위해 px 명시) */
		padding-bottom:9px;       /* 연혁 pb 10px - border 1px = 9px */
	}
}
/* === EX_AWARDS_HEIGHT END === */

/* === EX_AWARDS_HEIGHT2 START === — 수상 탭 링크 border-bottom 2px 제거로 연혁 링크높이(26.19px) 정확 일치(2026-06-19)
   원인: awards base(.awards-tab > a{border-bottom:2px solid transparent})의 2px 가 box 높이에 가산 →
         링크 28.19px(연혁 26.19px 대비 +2px), 컨테이너 60.19px(연혁 58.19px 대비 +2px).
   연혁 a 는 border 없음. awards 활성 언더바는 EX_AWARDS_SPY 슬라이딩 인디케이터(컨테이너 absolute)가 담당하므로
   링크 자체 border-bottom 제거해도 인디케이터/active 표시 무영향(이미 active{border-color:transparent}).
   scope 한정. append 후순위 우선. sticky/sync/spy/hscroll/center 무회귀. */
#section-awards .awards-tab > a.awards-tab-link{
	border-bottom-width:0;
}
/* === EX_AWARDS_HEIGHT2 END === */

/* === EX_AWARDS_HEIGHT3 START === — 수상 sticky 바 모바일 세로높이를 연혁과 정확히 일치(px 강제) 2026-06-19
   배경(실측 375px):
     - 연혁 .history-tab: pt5.5 + 링크코어 44(min-height) + pb5.5 = 55px (border 0)
     - 수상 .awards-tab: pt0 + select코어 44(min-height) + pb12 + border 1px = 57px (+2px)
   모바일은 연혁=탭링크(44) / 수상=select(44) 로 코어 높이는 동일(44px). 차이는 컨테이너 세로패딩.
   해결: 수상 컨테이너 세로패딩 합을 연혁(11px)과 동일하게. awards 는 border-bottom 1px 보유 →
         pt+pb = 10px 로 두고 +border 1px = 11px → 44 + 11 = 55px (연혁과 동일).
   rem 트랩(html font-size 가변) 회피 위해 px 명시. ≤768(탭숨김+select 구간) 전체에 적용해
   기존 ≤768 padding-bottom:16px / EX_AWARDS_HEIGHT 의 rem 패딩(가변)을 px 로 확정.
   scope 한정. sticky/sync/spy/hscroll/center/select 동작 무회귀(패딩만 손댐). append 최후순위 우선. */
@media only screen and (max-width:768px){
	#section-awards .awards-tab{
		padding-top:5px;          /* 연혁 모바일 상단패딩과 동일 톤(합 10px) */
		padding-bottom:5px;       /* +border 1px = 11px → 연혁 11px 와 동일 */
	}
}
/* === EX_AWARDS_HEIGHT3 END === */

/* === EX_AWARDS_HEIGHT4 START === — 수상 sticky 바 ≤480 세로높이 정확 일치(기존 !important 규칙 대응) 2026-06-19
   원인 특정: 기존 ≤480 규칙 "#section-awards .awards-tab{ ... padding:0 4px 12px !important; margin-bottom:16px !important; }"
              의 !important shorthand 가, 앞서 append 한 EX_AWARDS_HEIGHT/HEIGHT3 의 longhand(비-important)를
              모두 덮어 pt0/pb12(총 57px) 로 고정됨 → 연혁(55px) 대비 +2px.
   해결: 동일 !important 특정성으로 상하패딩만 px 재지정. 좌우 4px(가로스크롤 여백)·하단보더 1px 유지.
         연혁 ≤480 실측: pt5.5+코어44+pb5.5 = 55px(border0). 수상은 border 1px 보유 → 상하패딩 합 10px + border1 = 11px.
         padding:5px 4px 5px → 44(select min-height) + 5 + 5 + 1(border) = 55px (연혁과 정확 일치).
         margin-bottom 도 연혁(11px)과 통일하면 더 정합이나, 레이아웃 간격은 요청범위(바 높이) 밖이라
         기존 16px 유지(바 '높이' 자체는 padding+core+border 로 결정 → margin 은 높이에 미포함).
   scope 한정. 가로스크롤/select/sticky/spy 동작 무회귀(상하패딩만 손댐). append 최후순위. */
@media only screen and (max-width:480px){
	#section-awards .awards-tab{
		padding-top:5px !important;
		padding-bottom:5px !important;
	}
}
/* === EX_AWARDS_HEIGHT4 END === */

/* ============================================================
   === EX_AWARDS_TAB_MOBILE START === — 수상/인증 모바일도 탭으로 표시 + 연도선택 select 제거(2026-06-19)
   요청(CTO): "수상 인증 모바일버전도 탭으로 표시. 연도선택 셀렉트 없애고."
   배경: 기존 ≤768px 에서 .awards-tab-link{display:none !important} 로 탭 숨기고
         .year-sel{display:block !important} 로 select 노출했음. select 마크업은 awards.php 에서 제거됨.
   처리(append 최후순위 우선, 기존 마커 직접수정 없음 — override 로 정합):
     (1) 모바일에서 탭링크 보이게(기존 display:none !important 무력화). 데스크탑과 동일 탭 동작.
     (2) 잔여 .year-sel 규칙 무력화(요소 제거됐으므로 안전망). display:none 강제.
     (3) 높이 정합: 기존 HEIGHT3/HEIGHT4 는 select(min-height:44px)를 코어로 패딩 계산했음.
         select 제거 후엔 탭링크가 코어 → 연혁(history-tab a{min-height:44px})과 동일하게 탭링크 min-height:44px 보장.
   scope: #section-awards .awards-tab (타 페이지/연혁 영향 0). sticky/spy/hscroll/center/scrollmargin 동작 무회귀.
   ============================================================ */

/* (1) 모바일 탭 표시 — 기존 ≤768 의 display:none !important 무력화 */
@media only screen and (max-width:768px){
	#section-awards .awards-tab > a.awards-tab-link{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		flex:0 0 auto !important;
		white-space:nowrap !important;
		min-height:44px !important;   /* 연혁 history-tab a 와 동일 — 터치영역 + 높이 정합 */
		font-size:14px !important;    /* 본문 13~15px 범위 — px 명시(rem 트랩 회피) */
		padding:0 8px !important;
	}
	/* (2) select 잔여 규칙 무력화(요소 제거됨 — 안전망) */
	#section-awards .awards-tab .year-sel{display:none !important;}
}

/* ≤480: 탭 폰트/터치영역 명시(가독 + 44px 유지) */
@media only screen and (max-width:480px){
	#section-awards .awards-tab > a.awards-tab-link{
		font-size:13px !important;    /* 본문 13~15px 범위 */
		min-height:44px !important;   /* 터치영역 + 연혁 정합 */
		padding:0 6px !important;
	}
	#section-awards .awards-tab .year-sel{display:none !important;}
}
/* === EX_AWARDS_TAB_MOBILE END === */


/* === EX_FAQ_PAGING_UNIFY START === */
/* CTO: "faq 페이징을 엑스포럼 소식 등 다른 게시판과 같게."
   FAQ 페이징(빨강 .on / 회색테두리 / 3rem / gap 0.4rem)을 news·notice·press 공통 페이징
   (검정 .on / #ddd 테두리 / 3.4rem / gap 0.6rem / margin-top 5rem)과 시각·동작 동일하게 통일.
   기존 #section-faq .paginate 룰(명시도 동일)을 파일 후순위로 덮어씀. append-only. */
#section-faq .paginate{
	display:flex; gap:0.6rem; justify-content:center; align-items:center;
	margin-top:5rem;
}
#section-faq .paginate > a{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:3.4rem; height:3.4rem; padding:0 0.8rem;
	background:#fff; border:1px solid #ddd; font-size:1.3rem; color:#666;
	text-decoration:none;
}
#section-faq .paginate > a.on{
	background:#000; border-color:#000; color:#fff; font-weight:700;
}
#section-faq .paginate > a.prev,
#section-faq .paginate > a.next{color:#666;}
#section-faq .paginate > a.prev:before{content:"\2039";}
#section-faq .paginate > a.next:before{content:"\203A";}

/* 모바일: PR 게시판 공통 터치블록(44px)과 동일하게 — FAQ도 합류 */
@media (max-width:768px){
	#section-faq .paginate{
		display:flex !important;
		flex-flow:row wrap !important;
		justify-content:center !important;
		align-items:center !important;
		gap:6px !important;
		margin-top:32px !important;
		padding:0 4px !important;
	}
	#section-faq .paginate > a{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		box-sizing:border-box !important;
		min-width:44px !important;
		width:auto !important;
		height:44px !important;
		min-height:44px !important;
		padding:0 10px !important;
		font-size:15px !important;
		line-height:1 !important;
		border:1px solid #ddd !important;
		border-radius:4px !important;
		background:#fff !important;
		color:#444 !important;
		text-decoration:none !important;
	}
	#section-faq .paginate > a.on{
		background:#000 !important;
		border-color:#000 !important;
		color:#fff !important;
		font-weight:700 !important;
	}
	#section-faq .paginate > a.prev,
	#section-faq .paginate > a.next{
		font-size:18px !important;
		color:#666 !important;
	}
}
@media (max-width:360px){
	#section-faq .paginate > a{
		min-width:44px !important;
		height:44px !important;
		font-size:14px !important;
		padding:0 8px !important;
	}
}
/* === EX_FAQ_PAGING_UNIFY END === */


/* === EX_PR_VIEW_BREADCRUMB_GAP START === */
/* CTO: "게시글 상세보기 페이지 간격이 너무 좁음" — PR 상세 상단 브레드크럼 행 주변 세로 여백 확대.
   브레드크럼 위(컨테이너 padding-top 4rem→6.4rem) + 아래(margin-bottom 24px→4rem) 모두 여유있게.
   view.skin.php 인라인 <style>(#id .class = 명시도 1,1,0)을 태그 추가(nav.클래스 = 1,1,1)로 덮음.
   append-only. 모든 PR 상세(news/notice/press/awards) 공통 #section-pr-view 적용. */
#section-pr-view{padding-top:6.4rem;}
#section-pr-view nav.pr-view-breadcrumb{margin:0 0 4rem;}
/* 모바일: 기존 간격(24px) 이상으로만 확대(축소 금지). padding-top 은 기존 shorthand 유지. */
@media (max-width:768px){
	#section-pr-view nav.pr-view-breadcrumb{margin:0 0 28px;}
}
@media (max-width:480px){
	#section-pr-view nav.pr-view-breadcrumb{margin:0 0 24px;}
}
/* === EX_PR_VIEW_BREADCRUMB_GAP END === */

/* === EX_PR_VIEW_BREADCRUMB_SEP START === */
/* 근본원인: 브레드크럼 구분자(›, \203A) 및 구조 CSS 가 view.skin.php 인라인 <style> 안에만
   존재 → ajax-board.js fetchDetail 이 응답에서 #section-pr-view div 만 추출(<style> 미포함)
   하므로 AJAX 진입 시 구분자 CSS 미적용 → "PR 알려드립니다 제목" 처럼 텍스트가 붙어 보임.
   해결: 항상 로드되는 contents.css 로 구분자/구조 규칙 이관 → 직접접속·AJAX 동일 적용.
   스코프 #section-pr-view 유지(타 페이지 회귀 차단). append-only. */
#section-pr-view .pr-view-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:#888;padding:0;line-height:1.4;}
#section-pr-view .pr-view-breadcrumb a,
#section-pr-view .pr-view-breadcrumb span{display:inline-flex;align-items:center;color:#888;text-decoration:none;}
#section-pr-view .pr-view-breadcrumb a:hover{color:#222;}
#section-pr-view .pr-view-breadcrumb a + span::before,
#section-pr-view .pr-view-breadcrumb span + a::before,
#section-pr-view .pr-view-breadcrumb span + span::before,
#section-pr-view .pr-view-breadcrumb a + a::before{content:"\203A";display:inline-block;margin-right:8px;color:#bbb;font-size:14px;}
#section-pr-view .pr-view-breadcrumb .fa-home{font-size:15px;color:#888;}
#section-pr-view .pr-view-breadcrumb .current{color:#222;font-weight:500;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:768px){
  #section-pr-view .pr-view-breadcrumb{font-size:13px;gap:6px;}
  #section-pr-view .pr-view-breadcrumb .current{max-width:18ch;}
}
/* === EX_PR_VIEW_BREADCRUMB_SEP END === */

/* === EX_HIST_TIMELINE_LINE START === */
/* 근본원인: 세로 타임라인(.history-axis)의 top 이 음수(데스크탑 -10rem / 768 -4rem / 480 -2rem)라
   .history-content 컨테이너 위쪽 = 히어로 이미지 영역까지 라인이 침범해 위로 뻗음(CTO 지적).
   해결: axis 시작점을 콘텐츠 상단(top:0)으로 내려 히어로 이미지 아래(첫 연도 블록부터) 라인이 시작되게 함.
   bottom:0 유지 → 마지막 항목까지 라인 길이 동일. 라인 색/두께/위치(left)·기타 레이아웃 무변경.
   scope: #section-history .history-axis 한정. append-only. 데스크탑/768/480 모두 적용(반응형 무회귀). */
#section-history .history-axis{top:0;}
@media (max-width:768px){
	#section-history .history-axis{top:0;}
}
@media (max-width:480px){
	#section-history .history-axis{top:0;}
}
/* === EX_HIST_TIMELINE_LINE END === */

/* === EX_ETC_LOGO_SIZE START === */
/* etc 정책 페이지(약관/개인정보/이메일거부) 로고를 메인 상단 헤더 로고(#header h1>a img: height:2.4rem)와 동일 크기로 통일.
   기존 .clause-style .logo img{height:6rem} 및 .no 변형(무제약) 오버라이드. 인라인 style 미사용. */
.etc_clause .logo img{height:2.4rem; width:auto;}
/* === EX_ETC_LOGO_SIZE END === */


/* === EX_PORT_PAGING_MATCH_NEWS START === */
/* 요청: portfolio 페이징 아이콘(크기·모양)을 pr/news 페이징과 완전 동일화.
   news는 공통 .paginate(boxed) 스타일을 그대로 사용 → portfolio의 밑줄강조 오버라이드를
   동일 명시도로 덮어 boxed 버튼형으로 통일. prev/next 화살표(‹ ›)는 공통 ::before 유니코드 공유.
   값은 news 실측(데스크톱 3.4rem/font1.3rem, ≤768 44px/15px, ≤360 44px/14px) 기준. */
#section-portfolio .paginate{display:flex; gap:0.6rem; justify-content:center; align-items:center; margin-top:5rem;}
#section-portfolio .paginate > a{min-width:3.4rem; height:3.4rem; padding:0 0.8rem; display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1px solid #ddd; border-radius:0; font-size:1.3rem; color:#666; font-weight:400; text-decoration:none;}
#section-portfolio .paginate > a.on{background:#000; border-color:#000; color:#fff; font-weight:700; text-decoration:none; text-underline-offset:auto;}
#section-portfolio .paginate > a.prev,
#section-portfolio .paginate > a.next{border:1px solid #ddd; background:#fff; color:#666; border-radius:0;}
@media (max-width:768px){
	#section-portfolio .paginate{display:flex !important; flex-flow:row wrap !important; justify-content:center !important; align-items:center !important; gap:6px !important; margin-top:32px !important; padding:0 4px !important;}
	#section-portfolio .paginate > a{display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; min-width:44px !important; width:auto !important; height:44px !important; min-height:44px !important; padding:0 10px !important; font-size:15px !important; line-height:1 !important; border:1px solid #ddd !important; border-radius:4px !important; background:#fff !important; color:#444 !important; text-decoration:none !important;}
	#section-portfolio .paginate > a.on{background:#000 !important; border-color:#000 !important; color:#fff !important; font-weight:700 !important; text-decoration:none !important;}
	#section-portfolio .paginate > a.prev,
	#section-portfolio .paginate > a.next{font-size:18px !important; color:#666 !important;}
}
@media (max-width:360px){
	#section-portfolio .paginate > a{min-width:44px !important; height:44px !important; font-size:14px !important; padding:0 8px !important;}
}
/* === EX_PORT_PAGING_MATCH_NEWS END === */
/* OURBIZ-SEQ-CSS-START : OUR BUSINESS scroll-pinned overlay sequence (#mainMotion 내부 핀 오버레이) */
	#mainMotion .mBizSeq{position:absolute; left:0; top:0; width:100%; height:100%; z-index:5; pointer-events:none;}
	/* Partner 로고 아래 영역(빨간 박스)에서 통과: 밴드 중심을 화면 하부로 내림 */
	#mainMotion .mBizStep{position:absolute; left:50%; top:60%; transform:translate(-50%,-50%); width:100%; max-width:150rem; padding:0 6rem; box-sizing:border-box; text-align:center; opacity:0; color:#fff;}
	/* 좌우 교차 정렬: OUR BUSINESS·01·03 = 왼쪽 / 02·04 = 오른쪽 */
	#mainMotion .mBizStep--left{text-align:left;}
	#mainMotion .mBizStep--right{text-align:right;}
	#mainMotion .mBizStep--title h2{font-weight:800; font-size:9rem; line-height:1; letter-spacing:1rem; text-transform:uppercase; color:#fff;}
	/* OURBIZ-RED : "BUSINESS" 단어만 사이트 포인트 레드(.red 표준값 #e4002b). OUR(h2)=흰색 유지, 그림자 h2상속 유지. */
	#mainMotion .mBizStep--title h2 .bizRed{color:#e4002b;}
	/* OURBIZ-SHADOW : white-text legibility over bright bg (shadow only; color/size/align unchanged) */
	#mainMotion .mBizStep--title h2,
	#mainMotion .mBizStep--item dl>dt>strong,
	#mainMotion .mBizStep--item dl>dt>p,
	#mainMotion .mBizStep--item dl>dd,
	#mainMotion .mBizStep--item dl>dd>strong{text-shadow:0 0 .6rem rgba(0,0,0,.55), 0 .2rem .8rem rgba(0,0,0,.45), 0 0 .15rem rgba(0,0,0,.6);}
	/* item: dt(제목+영문부제) → 빨간 단일 라인(.mBizLine) → dd(설명) 세로 스택. 원본 #mainBusiness 타이포 그대로(색만 흰색). */
	#mainMotion .mBizStep--item dl{display:flex; flex-flow:column nowrap; align-items:stretch; font-size:var(--base20); color:#fff;}
	#mainMotion .mBizStep--item dl>dt{position:relative; line-height:1; color:#fff;}
	/* 제목 : 원본 dt>strong font-size:2.5em(=5rem) / weight 800 */
	#mainMotion .mBizStep--item dl>dt>strong{display:block; font-weight:800; font-size:2.5em; line-height:1; color:#fff;}
	/* 영문부제 : 원본 dt>p margin-top:1rem / font-size:1.5em(=3rem) */
	#mainMotion .mBizStep--item dl>dt>p{margin-top:1rem; font-size:1.5em; font-weight:500; color:#fff; opacity:0.9;}
	/* ───── 빨간 단일 라인(.mBizLine) : CTO 정정 — 4변 테두리(border) 아님. line_top/line_btm.svg
	   (viewBox 0 0 559.11 205.19 = 상단 가로선 + 한쪽 끝 하향 곡선) 단일 라인. 화면(뷰포트) 좌끝→우끝
	   풀폭(100vw bleed)으로 깔고, 곡선이 크게 아래로 내려오도록 높이를 키운다. 좌측결(01·03)=line_top(우측 끝
	   하향곡선) / 우측결(02·04)=line_btm(좌측 끝 하향곡선, 미러). background-size:100% 100%로 가로는 뷰포트
	   풀폭 stretch, 세로는 .mBizLine 높이만큼 곡선이 깊게 내려옴. ───── */
	#mainMotion .mBizStep--item dl>.mBizLine{position:relative; width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-top:2rem; height:22rem; margin-bottom:-19.7rem; background-repeat:no-repeat; background-position:center top; background-size:100% 100%; pointer-events:none;}
	/* 좌측결(01·03) : 우측 끝 하향 곡선 = line_top_biz.svg(굵은 stroke + preserveAspectRatio none) */
	#mainMotion .mBizStep--left.mBizStep--item dl>.mBizLine{background-image:url('/images/main/line_top_biz.svg');}
	/* 우측결(02·04) : 좌측 끝 하향 곡선 = line_btm_biz.svg(미러) */
	#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{background-image:url('/images/main/line_btm_biz.svg');}
	/* OURBIZ-NIUN-RIGHT : 02/04 niun(ㄴ) — CTO 정정. flex order swap 없음(마크업 순서 dt→line→dd 유지, 텍스트는 평평선 아래).
	   01·03(ㄱ)의 상하 미러: bg center top→bottom(평평선이 박스 하단=제목 바로 아래), margin-top↔margin-bottom 교환(음수 mt로 박스를 위로 끌어 다리가 제목쪽 솟음, dd는 평평선 바로 아래). --left(01·03) 불변 */
	#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{background-position:center bottom; margin-top:-19.7rem; margin-bottom:2rem;}
	/* 설명(dd) : 테두리/패딩 제거 → 제목과 동일한 좌측 기준선에 정렬. 우측결은 우측 기준선 일치. */
	#mainMotion .mBizStep--item dl>dd{position:relative; margin-top:1rem; padding:0; border:0; box-sizing:border-box; font-size:1.5em; line-height:calc(1em + 1.5rem); color:#fff; opacity:0.92;}
	#mainMotion .mBizStep--item dl>dd>strong{font-weight:700; color:#fff;}
	/* 구 #mainBusiness 안전 제거(마크업 이전됨, 잔존 시 노출 차단) */
	#mainBusiness{display:none !important;}

	@media only screen and (max-width:1440px){
		#mainMotion .mBizStep{max-width:140rem;}
		#mainMotion .mBizStep--item dl>.mBizLine{height:19.5rem; margin-bottom:-17.4rem;}
		#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{margin-top:-17.4rem; margin-bottom:2rem;}
	}
	@media only screen and (max-width:1024px){
		#mainMotion .mBizStep{top:58%; max-width:none; padding:0 4rem;}
		#mainMotion .mBizStep--title h2{font-size:6.4rem; letter-spacing:0.4rem;}
		#mainMotion .mBizStep--item dl>.mBizLine{height:17rem; margin-top:1.8rem; margin-bottom:-15.2rem;}
		#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{margin-top:-15.2rem; margin-bottom:1.8rem;}
		#mainMotion .mBizStep--item dl>dd{margin-top:0.8rem;}
	}
	@media only screen and (max-width:640px){
		#mainMotion .mBizStep{top:58%; padding:0 2.4rem;}
		#mainMotion .mBizStep--title h2{font-size:32px; letter-spacing:2px;}
		#mainMotion .mBizStep--item dl>dt>strong{font-size:24px; line-height:1.2;}
		#mainMotion .mBizStep--item dl>dt>p{margin-top:6px; font-size:15px;}
		#mainMotion .mBizStep--item dl>.mBizLine{height:136px; margin-top:14px; margin-bottom:-120px;}
		#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{margin-top:-120px; margin-bottom:14px;}
		#mainMotion .mBizStep--item dl>dd{margin-top:8px; font-size:15px; line-height:1.7;}
	}
	@media only screen and (max-width:480px){
		#mainMotion .mBizStep--title h2{font-size:28px;}
		#mainMotion .mBizStep--item dl>dt>strong{font-size:21px;}
		#mainMotion .mBizStep--item dl>dt>p{font-size:14px;}
		#mainMotion .mBizStep--item dl>.mBizLine{height:116px; margin-top:12px; margin-bottom:-102px;}
		#mainMotion .mBizStep--right.mBizStep--item dl>.mBizLine{margin-top:-102px; margin-bottom:12px;}
		#mainMotion .mBizStep--item dl>dd{margin-top:7px; font-size:14px;}
	}
/* OURBIZ-SEQ-CSS-END */

/* === TALENT-MICE-SVG START (2026-06-20 careers/talent.php MICE SVG 재구현, append-only, #section-talent .talent-mice 스코프) === */
/* 배경: 원/화살표/글자를 인라인 SVG(viewBox 0 0 70 170 고정)로 교체.
   폭 무관 원-선-화살촉 간격 항상 동일·밀착, 글자는 <text> text-anchor=middle + dominant-baseline=central로 원 정중앙.
   기존 .mice-circle / ::before / ::after / arrow-snap / EX_TALENT_MICE_ALIGN 화살표 규칙은 아래 [무력화]에서 정리. */

/* [1] li 그리드: 좌측 SVG가 name+sub 2행을 span, 우측 name/sub, 하단 desc 풀폭. */
#section-talent .talent-mice > li{
	grid-template-columns:auto 1fr !important;
	grid-template-areas:"graphic name" "graphic sub" "desc desc" !important;
	grid-template-rows:8.5rem 8.5rem auto !important;
	column-gap:2.4rem; row-gap:0;
	align-items:start;
}
/* [2] SVG 그래픽: 세로 고정 비율, 높이만 폭별 고정(width:auto). 기본(>840px) 1440 기준 원70/간격30 재현. */
#section-talent .talent-mice .mice-svg{
	grid-area:graphic;
	display:block;
	height:17rem;            /* viewBox 170 → 1rem=10px 구간에서 170px, 원 지름 70px 동일 */
	width:auto;
	align-self:start;
	flex-shrink:0;
	overflow:visible;
}
#section-talent .talent-mice .mice-svg-outline{fill:#fff; stroke:var(--point); stroke-width:1.8;}
#section-talent .talent-mice .mice-svg-solid{fill:var(--point); stroke:var(--point); stroke-width:1.8;}
#section-talent .talent-mice .mice-svg-line{stroke:var(--point); stroke-width:1.5; stroke-linecap:butt;}
#section-talent .talent-mice .mice-svg-head{fill:var(--point); stroke:var(--point); stroke-width:1; stroke-linejoin:miter; stroke-linecap:butt;}
#section-talent .talent-mice .mice-svg-txt{font-family:Outfit,Arial,sans-serif; font-weight:700; font-size:26px;}
#section-talent .talent-mice .mice-svg-txt-out{fill:var(--point);}
#section-talent .talent-mice .mice-svg-txt-sol{fill:#fff;}
/* [3] name/sub 우측 텍스트: 그래픽 2행에 맞춰 원 중심 정렬. desc는 풀폭 공통 트랙. */
#section-talent .talent-mice .mice-name{grid-area:name; align-self:center; margin:0;}
#section-talent .talent-mice .mice-sub{grid-area:sub; align-self:center; margin:0;}
#section-talent .talent-mice .mice-desc{grid-area:desc; align-self:start; margin-top:2.4rem;}
/* [4] desc 4컬럼 baseline 통일: name+sub가 차지하는 상단(=SVG 높이 17rem)을 li min-height로 고정 →
   desc 시작점이 컬럼별 sub 줄수와 무관하게 항상 같은 높이. (그래픽 행은 SVG 높이로 결정론적) */

/* [무력화] 기존 div 원/가상요소 화살표 규칙 — SVG로 대체되어 더는 div.mice-circle DOM 없음.
   혹시 모를 캐시/잔존 대비 가상요소만 숨김(브레이스 영향 없는 단순 선언). */
#section-talent .talent-mice .mice-circle{display:none !important;}
#section-talent .talent-mice .mice-circle.solid::before,
#section-talent .talent-mice .mice-circle.solid::after{display:none !important;}

/* [반응형] ≤840px(768): SVG 높이를 px 고정으로 폭 무관 동일하게(rem 트랩 회피). */
@media only screen and (max-width:840px){
	#section-talent .talent-mice .mice-svg{height:150px; min-height:0;}
	#section-talent .talent-mice > li{column-gap:1.8rem; grid-template-rows:75px 75px auto !important;}
}
/* ≤480px(375): 1열 스택. li가 모바일 전용 그리드로 재정의되므로 SVG를 graphic 영역에 맞춤(2행 span). */
@media only screen and (max-width:480px){
	#section-talent .talent-mice > li{
		grid-template-columns:auto 1fr !important;
		grid-template-areas:"graphic name" "graphic sub" "desc desc" !important;
		grid-template-rows:auto auto auto !important;
		column-gap:1.4rem !important; row-gap:0 !important;
		grid-template-rows:59px 59px auto !important;
		align-items:start;
	}
	#section-talent .talent-mice .mice-svg{height:118px; min-height:0; grid-area:graphic; grid-column:1; grid-row:1 / span 2;}
	#section-talent .talent-mice .mice-name{grid-area:name; grid-column:2; grid-row:1;}
	#section-talent .talent-mice .mice-sub{grid-area:sub; grid-column:2; grid-row:2;}
	#section-talent .talent-mice .mice-desc{grid-area:desc; grid-column:1 / span 2; grid-row:3; margin-top:1.2rem;}
	#section-talent .talent-mice .mice-svg-txt{font-size:30px;}
}
/* === TALENT-MICE-SVG END === */

/* EX_HISTTAB_LEFTCLIP START — 연혁 그룹탭 첫 탭 왼쪽 잘림 수정 (2026-06-21)
   증상: #section-history .history-tab 은 justify-content:center + overflow-x:auto(nowrap).
   탭 콘텐츠가 컨테이너보다 넓을 때, 중앙정렬은 넘침을 좌우로 분산시켜 첫 탭 좌측이
   컨테이너 밖(offsetLeft 음수)으로 밀려나 scrollLeft:0 에서도 잘려 보임(스크롤로도 복구 불가).
   특히 EN(영문 라벨이 더 길어 더 많이 넘침)에서 "2020 ~ Present" 좌측이 절반 잘림.
   해결: justify-content:safe center — 콘텐츠가 넘칠 때만 중앙정렬을 포기하고 start(좌측)로
   폴백해 첫 탭이 잘리지 않게 함(안 넘치면 기존처럼 가운데 정렬 유지). 미지원 구형 브라우저는
   center 폴백(기존 동작, 무회귀). 추가로 좌우 안전 패딩 + scroll-padding 으로 첫/끝 탭 여백 확보.
   sticky(EX_HISTSTICKY)·헤더동기화(EX_HISTSTICKY_SYNC)·인디케이터(EX_HISTSPY)·가로스크롤
   (EX_HISTTAB_HSCROLL) 무회귀: justify-content/padding 만 조정(position/overflow 미변경).
   scope: #section-history .history-tab (타 페이지 영향 0). */
#section-history .history-tab,
#section-history.tnb-hidden .history-tab{
	-webkit-box-pack:safe center;
	-ms-flex-pack:safe center;
	justify-content:safe center;
	padding-left:12px;
	padding-right:12px;
	scroll-padding-left:12px;
	scroll-padding-right:12px;
}
/* EX_HISTTAB_LEFTCLIP END */

/* EN_CONTACT_HERO_FIX START */
html[lang="en"] body:has(#section-faq) #sVisual.bg_06,
html[lang="en"] body:has(#section-location) #sVisual.bg_06{background-image:url("/images/img_sVisual_inquiry.png") !important;}
html[lang="en"] body:has(#section-faq) #sVisual.bg_06::before,
html[lang="en"] body:has(#section-location) #sVisual.bg_06::before{background-image:url("/images/img_sVisual_inquiry.png") !important;background-size:cover !important;background-position:center !important;}
/* EN_CONTACT_HERO_FIX END */

/* ===== FAQ_DESIGN_MATCH START (시안 일치: 배경/토글/화살표/세로줄) ===== */
/* 시안 대조 4개 항목만 보정. #section-faq ID 스코프 한정. */

/* [4] 컬럼 세로 divider: 번호|제목|버튼 사이 옅은 회색 세로선 */
#section-faq .faq-table tr.faq-q td:first-child,
#section-faq .faq-table tr.faq-q td.subject{border-right:1px solid #ededed;}

/* [2] 토글 버튼: 닫힘=테두리 없는 회색/검정 '+' (원형 테두리 제거) */
#section-faq .faq-table tr.faq-q td.toggle span{
	background:transparent; border:0; border-radius:0;
	color:#555; font-size:1.8rem; line-height:1;
}
/* [2] 토글 버튼: 열림=옅은 주황 '−' (시안) */
#section-faq .faq-table tr.faq-q.open td.toggle span{
	background:transparent; border:0; color:#ef8b3a;
}

/* [3] 답변 화살표 '↳': 시안의 옅은 주황 톤 */
#section-faq .faq-table tr.faq-a td.content:before{color:#ef8b3a;}

/* [1] 배경색: 질문행 흰색 유지 / 펼친 답변영역만 아주 옅은 회색 */
#section-faq .faq-table tr.faq-q td{background:#fff;}
#section-faq .faq-table tr.faq-a td,
#section-faq .faq-table tr.faq-a td.content{background:#f7f7f7;}
/* ===== FAQ_DESIGN_MATCH END ===== */

/* ===== JOURNEY_DESIGN_MATCH START (시안 journey_design_ref.jpg 완전일치) ===== */
/* 목적: 카드/상세 figure의 원형 테두리·핑크 배경 제거(시안=테두리없는 2톤 라인아이콘),
   번호/제목 강제 빨강 제거(시안=회색·검정), SVG 통짜 빨강 fill 제거(시안=회색+레드 2톤),
   인터뷰 소제목 빨강 처리. 전부 #section-journey 스코프, append-only override. */

/* [1] 4단계 카드 figure — 빨간 원 테두리/고정크기 제거 → 시안처럼 아이콘만 노출 */
#section-journey .journey-steps li figure{
	width:auto !important; height:auto !important;
	margin:0 auto 1.6rem !important;
	background:transparent !important;
	border:0 !important; border-radius:0 !important;
}
#section-journey .journey-steps li figure svg{
	width:48px !important; height:48px !important;
	fill:none !important; color:inherit !important;
}

/* [2] 상세 섹션 figure — 핑크 원 배경 제거 → 시안처럼 아이콘만 노출 */
#section-journey .journey-detail dl dt figure{
	width:auto !important; height:auto !important;
	margin:0 1rem 0 0 !important;
	background:transparent !important;
	border-radius:0 !important;
}
#section-journey .journey-detail dl dt figure svg{
	width:34px !important; height:34px !important;
	fill:none !important; color:inherit !important;
}

/* [3] 카드 번호 — 빨강 제거 → 시안의 회색·검정 톤 */
#section-journey .journey-steps > li .num{color:#222 !important;}

/* [4] 카드 제목 — 첫 글자 빨강 강조 제거 → 시안처럼 전체 검정 */
#section-journey .journey-steps > li dl dt{color:#000 !important;}
#section-journey .journey-steps > li dl dt:first-letter{color:inherit !important;}

/* [5] 인터뷰 2열 소제목 — 시안의 빨강 소제목 */
#section-journey .journey-detail > dl dd .dd-grid p.t{color:#e4002b !important;}

/* [6] 카드 사이 화살표 — 시안의 옅은 회색 '›' */
#section-journey .journey-steps > li.arrow:before{color:#bbb !important;}
/* ===== JOURNEY_DESIGN_MATCH END ===== */


/* === LOCATION-SIAN-MATCH START === 오시는 길 시안(0603) 3개 항목 정합: (1) 지도 회색박스 제거+자연비율 (2) 카드 글자크기 (3) 우하단 진회색 원형 흰핀 버튼. 모든 셀렉터 #section-location 스코프. CTO 지시 범위 한정. */

/* (1) 지도: 폴백용 회색 그라데이션 박스/테두리/min-height 제거 → 시안처럼 흰 배경 위 지도만. 이미지 자연비율(1280:620) 유지(왜곡 금지). */
#section-location .world-map-fig{
	background:none !important;
	border:none !important;
	border-radius:0 !important;
	min-height:0 !important;
	overflow:visible;
}
#section-location .world-map-fig .world-map-img{
	max-width:100%;
	width:100%;
	height:auto;
	opacity:1;
}

/* (2) 카드 글자크기 시안 기준 상향: 라벨 pill / 주소 / 영문주소 */
#section-location .loc-cards > li .cat{font-size:1.3rem;}
#section-location .loc-cards > li h5{font-size:1.6rem; line-height:2.4rem;}
#section-location .loc-cards > li .addr-en{font-size:1.3rem; line-height:1.9rem;}
#section-location .loc-cards > li dl{font-size:1.3rem;}

/* (3) 지도보기 핀 버튼: 우측 하단 모서리, 진회색 원 + 흰색 location 핀 아이콘 */
#section-location .loc-cards > li .map-btn{
	right:1.8rem !important;
	top:auto !important;
	bottom:1.8rem !important;
	width:3.8rem !important;
	height:3.8rem !important;
	background:#666 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") no-repeat center/1.8rem !important;
	border-radius:50% !important;
	transition:background-color 0.2s !important;
}
#section-location .loc-cards > li .map-btn:before{content:none !important; display:none !important;}
#section-location .loc-cards > li .map-btn:hover{
	background-color:#e4002b !important;
}
#section-location .loc-cards > li .map-btn:hover:before{background:none !important;}

/* 모바일(480 이하): 핀 버튼 탭타깃 유지 + 우하단 위치 보장 */
@media (max-width:480px){
	#section-location .loc-cards > li .map-btn{
		right:14px !important;
		top:auto !important;
		bottom:14px !important;
		width:36px !important;
		height:36px !important;
		background-size:18px !important;
	}
	#section-location .loc-cards > li .cat{font-size:12px;}
	#section-location .loc-cards > li h5{font-size:15px; line-height:22px;}
	#section-location .loc-cards > li .addr-en{font-size:12px; line-height:18px;}
	#section-location .loc-cards > li dl{font-size:12px;}
}
/* === LOCATION-SIAN-MATCH END === */

/* === PAGE-ADDITIONS: LIFE-DESIGN-MATCH (시안 1:1 매칭 — 헤더라인/짝수행/아이콘·컬럼/세로바/복지3열그리드/조직문화2열) === */
/* 데스크탑 기준 시안 매칭. 모바일(≤768)은 기존 life 블록 규칙 유지. append-only, #section-life 스코프 한정. */
@media (min-width:769px){
	/* (4) 빨간 세로바 두께 — 시안대로 더 두껍게 */
	#section-life .life-block h4 i{width:0.5rem; height:1.9rem; background:var(--point); border-radius:1px;}

	/* (1) 헤더라인 구조: 제목 아래 보조문구, 그 아래 테이블 헤더 가로줄.
	   → h4의 하단선 제거, 보조문구 여백 정리, 리스트 상단에 진한 헤더라인 부여 */
	#section-life .life-block h4{border-bottom:0; padding-bottom:0; gap:0.9rem; margin:0 0 0.6rem;}
	#section-life .life-block .sub{margin:0 0 1.4rem; padding-left:0; font-size:1.4rem; color:#999;}
	#section-life .life-list,
	#section-life .life-grid3{border-top:2px solid #4a4a4a;}

	/* (3) 아이콘 크기 / 컬럼 가로길이 — 시안 비율 */
	#section-life .life-list > li{display:flex; align-items:center; padding:2.1rem 0; border-bottom:1px solid #ededed; background:transparent;}
	#section-life .life-list li figure{width:11rem; height:auto; flex:0 0 11rem; display:flex; align-items:center; justify-content:center; background:transparent; border-radius:0;}
	#section-life .life-list li figure svg{width:4.4rem; height:4.4rem; color:var(--point);}
	#section-life .life-list > li dl{display:flex; flex:1; align-items:center; gap:0; margin:0;}
	#section-life .life-list > li dl dt{flex:0 0 21rem; font-weight:700; font-size:1.6rem; color:#222; line-height:1.4;}
	#section-life .life-list > li dl dd{flex:1; font-size:1.4rem; line-height:1.6; color:#777;}

	/* (2) 짝수 행 배경색 — b1/b2 섹션(life-list, grid2 제외) 2번째 행 옅은 회색.
	   life-grid2(조직문화)는 제외 */
	#section-life .life-list:not(.life-grid2) > li:nth-child(even){background:#f7f7f7;}

	/* (5) 복지 = 가는 가로·세로 그리드(3열 × 2행). 컨테이너 좌·상 라인 + 셀 우·하 라인 */
	#section-life .life-grid3{display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border-left:1px solid #e3e3e3;}
	#section-life .life-grid3 > li{display:flex; align-items:center; gap:1.4rem; padding:2.4rem 2rem; border-right:1px solid #e3e3e3; border-bottom:1px solid #e3e3e3; background:transparent; border-radius:0;}
	#section-life .life-grid3 li figure{flex:0 0 5rem; width:5rem; height:auto; display:flex; align-items:center; justify-content:center; background:transparent; border-radius:0;}
	#section-life .life-grid3 li figure svg{width:3.6rem; height:3.6rem; color:var(--point);}
	#section-life .life-grid3 > li dl{margin:0;}
	#section-life .life-grid3 > li dl dt{font-weight:600; font-size:1.45rem; color:#222; line-height:1.4;}
	#section-life .life-grid3 > li dl dt .small{display:block; font-weight:400; font-size:1.2rem; color:#999; margin-top:0.2rem;}

	/* (6) 조직 문화 = 가로 2칸 + 가운데 세로 구분선 */
	#section-life .life-grid2{display:grid; grid-template-columns:repeat(2, 1fr); gap:0;}
	#section-life .life-grid2 > li{padding:2.2rem 2rem 2.2rem 0; border-bottom:0;}
	#section-life .life-grid2 > li:nth-child(odd){padding-right:3rem;}
	#section-life .life-grid2 > li:nth-child(even){padding-left:3rem; border-left:1px solid #e3e3e3; background:transparent;}
	#section-life .life-grid2 > li dl{display:flex; flex-direction:column; align-items:flex-start; gap:0.5rem; margin:0;}
	#section-life .life-grid2 > li dl dt{flex:0 0 auto; font-weight:700; font-size:1.6rem; color:#222; line-height:1.4;}
	#section-life .life-grid2 > li dl dd{font-size:1.4rem; line-height:1.6; color:#777; margin:0;}
}
/* === END PAGE-ADDITIONS: LIFE-DESIGN-MATCH === */

/* ===== JOURNEY_DESIGN_MATCH2 START (유의사항 박스 시안 정밀일치) ===== */
/* 시안 journey_design_ref.jpg: 유의사항 박스에 좌측 빨간 세로바 없음, "!" 아이콘은 검정 원 */
#section-journey .journey-notice{
	border-left:0 !important;
	background:#f6f6f8 !important;
	padding-left:2.5rem !important;
}
#section-journey .journey-notice h5 i{
	background:#000 !important;
	color:#fff !important;
}
/* ===== JOURNEY_DESIGN_MATCH2 END ===== */

/* ===== JOURNEY_DESIGN_MATCH3 START (모바일 톤 데스크탑 시안과 통일) ===== */
/* 타 에이전트 journey-extra 모바일 블록이 .num을 빨간 원형배지, 유의사항을 빨간보더로 만들어
   데스크탑 시안과 톤 불일치 → 데스크탑 시안과 동일하게 회색 텍스트 번호 + 회색 유의사항 박스로 통일 */
@media (max-width:480px){
	#section-journey .journey-steps > li .num{
		display:inline-flex !important;
		width:auto !important; min-width:24px !important; height:auto !important;
		background:transparent !important;
		color:#999 !important;
		border-radius:0 !important;
		font-size:13px !important;
		font-weight:600 !important;
		flex:0 0 auto !important;
	}
	#section-journey .journey-steps li figure{
		background:transparent !important;
		border:0 !important; border-radius:0 !important;
	}
	#section-journey .journey-notice{
		border:0 !important;
		background:#f6f6f8 !important;
		border-radius:6px !important;
	}
	#section-journey .journey-notice h5{color:#000 !important;}
	#section-journey .journey-notice h5 i{background:#000 !important; color:#fff !important;}
}
/* ===== JOURNEY_DESIGN_MATCH3 END ===== */

/* === PAGE-ADDITIONS: LIFE-FIX2 START (CTO 요청: ①복지표 좌우 외곽 세로선 투명 ②부제 좌측을 타이틀 글자 시작선에 정렬) === */
/* append-only / #section-life 스코프 / 데스크탑(≥769px) 한정. 내부 격자선·가로선·타 섹션 무손상. */
@media (min-width:769px){
	/* ② 부제(.sub) 왼쪽을 타이틀 글자 시작선에 맞춤.
	   타이틀 글자 시작 = h4 좌측(0) + 빨간바 width(0.5rem) + h4 gap(0.9rem) = 1.4rem */
	#section-life .life-block .sub{padding-left:1.4rem;}

	/* ① 복지 3열 그리드: 표 전체 좌·우 바깥 외곽 세로선만 제거(투명).
	   - 컨테이너 border-left 제거 → 맨 왼쪽 외곽선 제거
	   - 3n번째 li(맨 오른쪽 열) border-right 제거 → 맨 오른쪽 외곽선 제거
	   - 1·2번째 열 li의 border-right(안쪽 세로선)와 모든 li border-bottom(가로선)은 유지 */
	#section-life .life-grid3{border-left:0;}
	#section-life .life-grid3 > li:nth-child(3n){border-right:0;}
}
/* === PAGE-ADDITIONS: LIFE-FIX2 END === */

/* ===== FAQ_BG_FIX START (CTO 교정: 질문=회색/답변=흰색/헤더=회색+세로줄. FAQ_DESIGN_MATCH 배경반전 override) ===== */
/* 시안 픽셀 측정: 헤더행=#f8f8f8, 질문행=#f8f8f8, 답변영역=#fff, 세로구분선=#ededed */
/* [1] 질문행(아코디언 헤더) 배경 = 회색 */
#section-faq .faq-table tr.faq-q td,
#section-faq .faq-table tr.faq-q.open td{background:#f8f8f8;}
/* [1] 펼친 답변 영역 배경 = 흰색 */
#section-faq .faq-table tr.faq-a td,
#section-faq .faq-table tr.faq-a td.content{background:#fff;}
/* [3] 테이블 헤더 행 = 질문행과 동일 회색 */
#section-faq .faq-table thead th{background:#f8f8f8;}
/* [4] 헤더 행 세로 구분선 = 질문행과 동일(번호|제목 사이). 마지막 버튼칸 제외 */
#section-faq .faq-table thead th:not(:last-child){border-right:1px solid #ededed;}
/* ===== FAQ_BG_FIX END ===== */

/* === EX_PORT_MASONRY START === — 포트폴리오 시안 정합(2026-06-23): (1)필터 좌측정렬+비선택 버튼 시안톤 (2)CSS columns 메이슨리: 가로폭 고정+세로 원본비율+빈칸 안 채움. 모든 셀렉터 #section-portfolio 스코프. append-only. CTO 지시 5항목 한정 */

/* (2)(3) 필터 버튼: 좌측 정렬 + 비선택=흰배경/옅은회색테두리(pill)/어두운글자, 선택=빨강채움/흰글자 */
#section-portfolio .port-cat{justify-content:flex-start; gap:0.8rem 0.8rem; margin:0 0 3rem;}
#section-portfolio .port-cat > a{min-width:0; height:auto; padding:0.7rem 1.6rem; border:1px solid #e0e0e0; border-radius:2rem; background:#fff; color:#333; font-size:1.35rem; line-height:1.4; transition:all 0.2s;}
#section-portfolio .port-cat > a:hover{border-color:#bbb; color:#111;}
#section-portfolio .port-cat > a.active{background:var(--point,#e4002b); border-color:var(--point,#e4002b); color:#fff; font-weight:600;}

/* (4)(5) 메이슨리: CSS columns — 가로 폭만 컬럼에 맞추고 세로는 원본비율(height auto). featured(2칸) 특수처리 무력화, 빈칸 채우지 않음 */
#section-portfolio .port-grid{display:block; columns:4; column-gap:2rem; grid-template-columns:none; grid-auto-flow:initial; gap:0;}
#section-portfolio .port-grid > li{display:block; width:auto; break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid; margin:0 0 3rem; grid-column:auto; grid-row:auto;}
#section-portfolio .port-grid > li.empty{column-span:all; -webkit-column-span:all; text-align:center; padding:6rem 0; color:#999; font-size:1.4rem;}
/* featured(과거 2x2) 무력화 */
#section-portfolio .port-grid > li.featured{grid-column:auto; grid-row:auto;}

/* 썸네일: 가로폭 고정 + 세로 원본비율(height auto). aspect-ratio 강제크롭 제거 */
#section-portfolio .port-grid figure{position:static; margin:0; padding:0; overflow:hidden; background:#f3f3f3; aspect-ratio:auto; border-radius:0.4rem; line-height:0;}
#section-portfolio .port-grid figure img{display:block; width:100%; height:auto; transition:transform 0.4s ease;}
#section-portfolio .port-grid > li.featured figure{aspect-ratio:auto;}
#section-portfolio .port-grid > li a.port-open:hover figure img{transform:scale(1.04);}

/* 반응형 컬럼 수: 1440 4열 / 1024 3열 / 768 2열 / 480 1열(필요시 2열은 모바일 가독성상 1열 유지) */
@media (max-width:1280px){
	#section-portfolio .port-grid{columns:3;}
}
@media (max-width:768px){
	#section-portfolio .port-grid{columns:2; column-gap:1.6rem;}
	#section-portfolio .port-grid > li{margin:0 0 2.4rem;}
}
@media (max-width:480px){
	#section-portfolio .port-cat{gap:0.6rem !important; margin:0 0 2.4rem !important;}
	#section-portfolio .port-cat > a{height:auto !important; padding:8px 16px !important; font-size:13px !important; border-radius:20px !important; min-width:0 !important;}
	#section-portfolio .port-grid{columns:1 !important; column-gap:0 !important;}
	#section-portfolio .port-grid > li{margin:0 0 2.4rem !important;}
	#section-portfolio .port-grid > li.featured figure{aspect-ratio:auto !important;}
	#section-portfolio .port-grid dt{font-size:15px !important;}
	#section-portfolio .port-grid dd.excerpt{font-size:13px !important;}
	#section-portfolio .port-grid dd.date{font-size:12px !important;}
}
/* === EX_PORT_MASONRY END === */

/* === EX_PORT_MASONRY_FIX START === — figure 잔여 padding-top:75%(구 그리드블록) 제거: 메이슨리에서 figure 높이는 img(원본비율)에만 따라야 함. 2026-06-23 */
#section-portfolio .port-grid figure{padding-top:0 !important; padding:0 !important; min-height:0 !important;}
/* === EX_PORT_MASONRY_FIX END === */

/* === PAGE-ADDITIONS: LIFE-FIX3 START (CTO 요청: 조직 문화 표 하단 가로줄 추가 — 복지표 격자선과 동일 톤 1px #e3e3e3) === */
/* append-only / #section-life 스코프 / 데스크탑(≥769px) 한정. 상단선·가운데 세로선·타 섹션 무손상. */
@media (min-width:769px){
	/* 조직 문화 2열 표(life-grid2)의 맨 아래 가로 구분선 추가.
	   기존 LIFE-DESIGN-MATCH에서 border-bottom:0으로 제거돼 하단선이 없었음.
	   복지 표(life-grid3) 격자선과 동일한 1px solid #e3e3e3 톤으로 모든 셀에 하단선 부여
	   → 1행 2열 구조이므로 표 맨 아래 가로줄로 표시됨. */
	#section-life .life-grid2 > li{border-bottom:1px solid #e3e3e3;}
}
/* 모바일(≤768px)은 life-grid2 전용 규칙이 없어 기본 life-list 하단선(#f0f0f0)이 적용되므로 별도 분기 불필요. */
/* === PAGE-ADDITIONS: LIFE-FIX3 END === */

/* === EX_PF_GRID_MASONRY START === — 포트폴리오 2칸 폭 지원 메이슨리 (CTO 2026-06-23 지시)
   요구: 등록 시 지정한 wr_6=2 아이템은 가로 2칸 폭, 나머지는 1칸. 높이는 원본 이미지 비율대로(세로 강제 없음).
   순수 CSS columns 로는 특정 아이템만 2칸 span 불가 → CSS Grid + JS row-span 계산 방식으로 전환.
   append-only / 전부 #section-portfolio 스코프 / 직전 EX_PORT_MASONRY(columns)블록을 의도적으로 오버라이드. */

/* 그리드: 4열 1fr. grid-auto-rows 작은 단위(1px)로 두고 JS 가 각 아이템 실측 높이를 grid-row:span N 으로 채움 → 메이슨리 */
#section-portfolio .port-grid{display:grid !important; columns:auto !important; grid-template-columns:repeat(4, 1fr) !important; grid-auto-rows:1px; column-gap:2rem; gap:0 2rem; align-items:start;}
#section-portfolio .port-grid > li{display:block; width:auto !important; margin:0 !important; break-inside:auto; grid-column:span 1;}
#section-portfolio .port-grid > li.empty{grid-column:1 / -1; text-align:center; padding:6rem 0; color:#999; font-size:1.4rem;}
/* 2칸 아이템: 가로 2칸 폭. 높이는 JS row-span(원본비율) 그대로 */
#section-portfolio .port-grid > li.featured{grid-column:span 2; grid-row:auto;}

/* 썸네일: 가로폭 100% + 세로 원본비율(height auto). 강제 크롭/비율 없음 */
#section-portfolio .port-grid figure{position:static; margin:0; padding:0 !important; overflow:hidden; background:#f3f3f3; aspect-ratio:auto !important; border-radius:0.4rem; line-height:0; min-height:0 !important;}
#section-portfolio .port-grid figure img{display:block; width:100%; height:auto; transition:transform 0.4s ease;}
#section-portfolio .port-grid > li.featured figure{aspect-ratio:auto !important;}
#section-portfolio .port-grid > li a.port-open:hover figure img{transform:scale(1.04);}

/* JS masonry 미적용(로드 전) 폴백: grid-row span 없으면 자동높이로라도 보이게 */
#section-portfolio .port-grid.pf-masonry-ready > li{align-self:start;}

/* 반응형: 1280 3열 / 768 2열 / 480 1열. 2칸 아이템은 컬럼수 줄면 전체폭(span 만큼) */
@media (max-width:1280px){
	#section-portfolio .port-grid{grid-template-columns:repeat(3, 1fr) !important;}
}
@media (max-width:768px){
	#section-portfolio .port-grid{grid-template-columns:repeat(2, 1fr) !important; gap:0 1.6rem;}
	/* 2칸 아이템: 2열 레이아웃에선 가로 2칸(=전체폭) */
	#section-portfolio .port-grid > li.featured{grid-column:span 2;}
}
@media (max-width:480px){
	#section-portfolio .port-grid{grid-template-columns:1fr !important; gap:0 !important;}
	/* 1열에서는 2칸 개념 없음 → 1칸 폭 */
	#section-portfolio .port-grid > li.featured{grid-column:span 1 !important;}
}
/* === EX_PF_GRID_MASONRY END === */

/* === EX_PF_ROWGRID START === — 포트폴리오 행 기반 그리드 전환 (CTO 2026-06-23 지시)
   요구: 세로 메이슨리(벽돌쌓기) 폐기 → 왼→오 행 우선(row-major)으로 한 줄씩 가지런히 배치.
   각 아이템은 한 행 안에만 놓이고 아래 행을 세로로 침범하지 않음. 2칸(featured)=가로 2칸 폭 유지.
   직전 EX_PF_GRID_MASONRY(grid-auto-rows:1px + JS row-span) 블록을 의도적으로 오버라이드.
   append-only / 전부 #section-portfolio 스코프 / 시안 0301_목록 4열 매거진 그리드 정합. */

/* 그리드: 4열 1fr, 행 우선 흐름(dense 아님). auto-rows 자동 → JS row-span 무력화. align-items:start 로 위 정렬 */
#section-portfolio .port-grid{display:grid !important; columns:auto !important; grid-template-columns:repeat(4, 1fr) !important; grid-auto-rows:auto !important; grid-auto-flow:row !important; gap:3rem 2rem !important; align-items:start !important;}
/* 모든 아이템: 1칸 폭, 행 침범 금지(grid-row:auto). JS 가 부여하던 span 무력화 */
#section-portfolio .port-grid > li{display:block; width:auto !important; margin:0 !important; grid-column:span 1; grid-row:auto !important; align-self:start !important;}
#section-portfolio .port-grid > li.empty{grid-column:1 / -1 !important; text-align:center; padding:6rem 0; color:#999; font-size:1.4rem;}
/* 2칸 아이템: 가로 2칸 폭 유지. 세로는 1행만(grid-row:auto) */
#section-portfolio .port-grid > li.featured{grid-column:span 2 !important; grid-row:auto !important;}

/* 썸네일: 가로폭 100% + 세로 원본비율(height auto). 강제 크롭/비율 없음 */
#section-portfolio .port-grid figure{position:static; margin:0; padding:0 !important; overflow:hidden; background:#f3f3f3; aspect-ratio:auto !important; border-radius:0.4rem; line-height:0; min-height:0 !important;}
#section-portfolio .port-grid figure img{display:block; width:100%; height:auto; transition:transform 0.4s ease;}
#section-portfolio .port-grid > li.featured figure{aspect-ratio:auto !important;}
#section-portfolio .port-grid > li a.port-open:hover figure img{transform:scale(1.04);}

/* 반응형: 1440 4열 / 1280 3열 / 768 2열 / 480 1열. 2칸 아이템은 480에서 1칸 */
@media (max-width:1280px){
	#section-portfolio .port-grid{grid-template-columns:repeat(3, 1fr) !important;}
}
@media (max-width:768px){
	#section-portfolio .port-grid{grid-template-columns:repeat(2, 1fr) !important; gap:2.4rem 1.6rem !important;}
	#section-portfolio .port-grid > li.featured{grid-column:span 2 !important;}
}
@media (max-width:480px){
	#section-portfolio .port-grid{grid-template-columns:1fr !important; gap:2.4rem 0 !important;}
	#section-portfolio .port-grid > li.featured{grid-column:span 1 !important;}
}
/* === EX_PF_ROWGRID END === */

/* === START PAGE-ADDITIONS: overview-banner-aspect-20260623 (CTO design parity) === */
/* 시안(0101_회사개요) 메인 비주얼 배너 높이 정합.
   시안 1440 환산 기준 배너 높이 약 308px(기존 36rem=360px 대비 -52px).
   box-1720 폭가변 대응: 데스크탑 aspect-ratio(1679:359)로 시안 비율 유지하되
   하한 안정화를 위해 height 명시. 태블릿/모바일(<=768) 미변경. */
@media (min-width:1721px){
	#section-overview .overview-visual{height:auto; aspect-ratio:1679 / 359;}
}
/* === END PAGE-ADDITIONS: overview-banner-aspect-20260623 === */

/* ===== AREAS-CARD-ACTIVE-FIX 20260623 START ===== */
/* 1024px 이하에서 공용 .icon-list>li{background:point}가 4개 카드를 전부 빨강으로 만들던 문제 #section-areas 스코프로 복원: active 1개만 강조 */
@media only screen and (max-width:1024px){
	#section-areas .icon-list>li{background-color: rgba(0,0,0,0.5) !important;}
	#section-areas .icon-list>li>dl>dt{font-weight:400 !important;}
	#section-areas .icon-list>li>dl>dd{opacity:0.3 !important;}
	#section-areas .icon-list>li.active{background-color: var(--point) !important;}
	#section-areas .icon-list>li.active>dl>dt{font-weight:700 !important;}
	#section-areas .icon-list>li.active>dl>dd{opacity:1 !important;}
}
/* ===== AREAS-CARD-ACTIVE-FIX 20260623 END ===== */

/* === ESG-3RED: sustainability ESG 3카드 기본 빨강(시안 일치) — hover 유지 === */
#section-sustain .esg-cards>li{background-color:var(--point);}
#section-sustain .esg-cards>li.active{background-color:var(--point);}
#section-sustain .esg-cards>li:hover{background-color:var(--point);}
/* === END ESG-3RED === */

/* ===== EX_CAREERS_JOURNEY_20260623 START ===== */
/* 시안(0503_합류 여정.jpg) 일치: 단계카드/상세 아이콘은 SVG 2톤 라인 아이콘만 노출.
   구버전 FontAwesome 전제 블록(빨간 원 테두리 / 분홍 원 배경)이 SVG 마크업과 충돌 → 스코프 복원.
   append-only, #section-journey 스코프 한정. 다른 페이지 누수 없음. */
#section-journey .journey-steps > li figure{
	width:6rem; height:6rem; margin:0 auto 1.5rem;
	background:transparent; border:none; border-radius:0;
	display:flex; align-items:center; justify-content:center;
}
#section-journey .journey-steps > li figure svg{width:4.2rem; height:4.2rem;}
#section-journey .journey-detail > dl dt figure{
	width:4rem; height:4rem; margin:0 1rem 0 0;
	background:transparent; border-radius:0;
	display:inline-flex; align-items:center; justify-content:center;
}
#section-journey .journey-detail > dl dt figure svg{width:3rem; height:3rem; margin-right:0;}
/* ===== EX_CAREERS_JOURNEY_20260623 END ===== */

/* EX_CAREERS_JOBS_20260623_START - 시안 메타아이콘 빨강 복원(디자인 일치) */
#section-jobs .jobs-list .job-meta p i{color:var(--point,#e4002b);}
/* EX_CAREERS_JOBS_20260623_END */

/* ===== EX_CAREERS_LIFE_20260623 START — 모바일 아이콘 rem깨짐 보정(px 명시). 데스크탑(>=769px) 무손상. #section-life 스코프 한정 ===== */
/* 원인: 모바일 svg/figure가 rem 단위라 html font-size(360~390px서 5.5~6.5px) 붕괴로 아이콘이 15px로 비정상 축소됨.
   처리: 768px 이하에서 figure/svg 크기를 px로 고정. CLAUDE.md 품질원칙4(모바일 px 명시) 준수. */
@media (max-width:768px){
	#section-life .life-list li figure,
	#section-life .life-grid3 li figure{width:56px; height:56px; flex:0 0 56px;}
	#section-life .life-list li figure svg,
	#section-life .life-grid3 li figure svg{width:34px; height:34px;}
}
@media (max-width:480px){
	#section-life .life-list li figure,
	#section-life .life-grid3 li figure{width:48px; height:48px; flex:0 0 48px;}
	#section-life .life-list li figure svg,
	#section-life .life-grid3 li figure svg{width:30px; height:30px;}
}
/* ===== EX_CAREERS_LIFE_20260623 END ===== */

/* EX_CAREERS_JOBS_20260623_M_START - 모바일(480px↓)서도 시안대로 메타아이콘 빨강 유지(5886 #666!important 상쇄) */
@media (max-width:480px){
	#section-jobs .jobs-list .job-meta p i{color:var(--point,#e4002b) !important;}
}
/* EX_CAREERS_JOBS_20260623_M_END */

/* EX_CAREERS_RECRUIT_20260623_START — 시안 0505 정합: 지원직군 select 폭 제한(전체폭→시안 360px급) */
#section-recruit table.form-table td select.select-wide{max-width:36rem;}
@media (max-width:1024px) and (min-width:481px){#section-recruit table.form-table td select.select-wide{max-width:36rem;}}
@media (max-width:480px){#section-recruit table.form-table td select.select-wide{max-width:none;}}
/* EX_CAREERS_RECRUIT_20260623_END */

/* === EX_CONTACT_INQUIRY_20260623 START — 시안 픽셀 보정 (이름/부서 input 폭) === */
/* 시안: 이름/부서 input은 td영역의 약 35% (중간폭). 제목/내용/파일은 풀폭 유지 */
#section-inquiry table.form-table td > input[name=wr_name]:only-child,
#section-inquiry table.form-table td > input[name=wr_5]:only-child{width:38rem; max-width:38rem;}
@media (max-width:1024px) and (min-width:481px){
	#section-inquiry table.form-table td > input[name=wr_name]:only-child,
	#section-inquiry table.form-table td > input[name=wr_5]:only-child{width:38rem; max-width:38rem;}
}
@media (max-width:768px){
	#section-inquiry table.form-table td > input[name=wr_name]:only-child,
	#section-inquiry table.form-table td > input[name=wr_5]:only-child{width:100%; max-width:none;}
}
@media (max-width:480px){
	#section-inquiry table.form-table td > input[name=wr_name]:only-child,
	#section-inquiry table.form-table td > input[name=wr_5]:only-child{width:100%; max-width:none;}
}
/* === EX_CONTACT_INQUIRY_20260623 END === */

/* === EX_CONTACT_INQUIRY_20260623_B START — 제목 input 풀폭 보정(시안: 내용 textarea와 우측끝 정렬) === */
#section-inquiry table.form-table td > input[name=wr_subject]:only-child{max-width:none; width:100%;}
/* === EX_CONTACT_INQUIRY_20260623_B END === */

/* === EX_CONTACT_LOCATION_20260623 START === */
/* 시안(0603_오시는 길.jpg) 정밀 일치 오버라이드 — append-only, #section-location 스코프 */

/* 1) loc-title: 시안엔 하단 밑줄(가로줄) 없음 → 제거 */
#section-location .loc-title{
	border-bottom:0;
	padding-bottom:0;
	margin:5rem 0 2.4rem;
}

/* 2) map-btn: 시안은 카드 우하단 + 진회색 원 + 흰 핀 */
#section-location .loc-cards > li .map-btn{
	right:1.8rem; top:auto; bottom:1.8rem;
	background:#666;
}
#section-location .loc-cards > li .map-btn:hover{background:#e4002b;}
#section-location .loc-cards > li .map-btn:before{
	background:#fff;
}
#section-location .loc-cards > li .map-btn:hover:before{background:#fff;}

/* 모바일에서도 우하단 유지 */
@media (max-width:640px){
	#section-location .loc-cards > li .map-btn{right:1.4rem; top:auto; bottom:1.4rem;}
}
@media (max-width:480px){
	#section-location .loc-cards > li .map-btn{right:12px; top:auto; bottom:12px;}
}
/* === EX_CONTACT_LOCATION_20260623 END === */

/* ===== EX_CONTACT_FAQ_20260623 START — FAQ 시안(0602_FAQ.jpg) 픽셀 정합. append-only. 직전 FAQ_DESIGN_MATCH/FAQ_BG_FIX의 토글·화살표·페이지네이션을 시안에 맞게 최종 오버라이드. 전부 #section-faq 스코프 ===== */
/* [1] 토글 버튼 닫힘 = 시안의 회색 원형 + 검정 '+' (사각/테두리없음 → 원형 복원) */
#section-faq .faq-table tr.faq-q td.toggle span{
	width:3.4rem; height:3.4rem;
	background:#f0f0f0; border:0; border-radius:50%;
	color:#333; font-size:1.8rem; line-height:1;
}
/* [2] 토글 버튼 열림 = 시안의 빨강 원형 + 흰 '−' (주황/투명 → 빨강 원형) */
#section-faq .faq-table tr.faq-q.open td.toggle span{
	background:#e4002b; border:0; color:#fff;
}
/* [3] 답변 화살표 '↳' = 시안의 빨강 (주황 #ef8b3a → 빨강) */
#section-faq .faq-table tr.faq-a td.content:before{color:#e4002b;}
/* [4] 페이지네이션 현재페이지 = 시안의 흰배경+회색테두리+검정글씨 (검정박스 → 흰박스) */
#section-faq .paginate > a.on{background:#fff; border:1px solid #e5e5e5; color:#111; font-weight:700;}
/* ===== EX_CONTACT_FAQ_20260623 END ===== */

/* === EX_PORTFOLIO_REVIEW_20260623 START — 시안 검수 일치(목록/팝업) append-only === */
/* 모달 썸네일: 시안은 우측 상단 가로 4열 한 줄 배열 */
.port-modal .m-thumbs{grid-template-columns:repeat(4, 1fr); grid-auto-rows:auto; gap:0.5rem;}
.port-modal .m-thumbs .thumb{aspect-ratio:4 / 3;}
/* 썸네일 영역을 정보 패널 최상단에 고정, 메인 이미지와 상단 정렬 */
.port-modal .m-info{gap:0.9rem;}
.port-modal .m-info .m-thumbs{order:-1;}
/* === EX_PORTFOLIO_REVIEW_20260623 END === */

/* ===== EX_CONTACT_FAQ_M_20260623 START — 모바일(≤768px) 페이지네이션 현재페이지도 시안(흰배경 회색테두리 검정글씨)로 통일. 직전 모바일 !important(검정) 상쇄. #section-faq 스코프 ===== */
@media (max-width:768px){
	#section-faq .paginate > a.on{background:#fff !important; border:1px solid #e5e5e5 !important; color:#111 !important; font-weight:700 !important;}
}
/* ===== EX_CONTACT_FAQ_M_20260623 END ===== */

/* === EX_PORTFOLIO_REVIEW2_20260623 START — 페이지네이션 시안 일치(검정박스, underline 제거, prev/next 라운드) === */
#section-portfolio .paginate > a{min-width:3.4rem; height:3.4rem; padding:0 0.8rem; background:#fff; border:1px solid #ddd; border-radius:0.3rem; color:#666; text-decoration:none;}
#section-portfolio .paginate > a.on{background:#000; border-color:#000; color:#fff; font-weight:700; text-decoration:none;}
#section-portfolio .paginate > a.prev,
#section-portfolio .paginate > a.next{border:1px solid #ddd; background:#fff; color:#999; border-radius:0.3rem;}
/* === EX_PORTFOLIO_REVIEW2_20260623 END === */

/* === EX_PORTFOLIO_REVIEW3_20260623 START — 시안 일치: 포트폴리오 페이지의 #snb(좌측네비 깨진아이콘)·#pageTop 숨김. :has()로 포트폴리오 페이지에만 스코프(타 서브페이지 누수 없음). 시안 0301_목록엔 히어로 아래 바로 필터탭만 존재 === */
#container_wr:has(#section-portfolio) #snb{display:none !important;}
#container_wr:has(#section-portfolio) #pageTop{display:none !important;}
/* === EX_PORTFOLIO_REVIEW3_20260623 END === */

/* EX_FOCUS_COLOR_overview_20260623 */
#section-overview .overview-point .tit::first-letter { color: #e4002b; }

/* EX_FOCUS_BG_jobs_20260623 START — 채용공고 카테고리 탭 활성 언더바 배경색 시안 일치(빨강). 시안: #e4002b, 기존: #000. scope: #section-jobs */
#section-jobs .jobs-cat > a.active:after{ background:#e4002b !important; }
/* EX_FOCUS_BG_jobs_20260623 END */

/* ===== EX_FOCUS_SIZE_awards_20260623 ===== */
/* 글자크기 전용 보정: awards 좌측 연도 라벨이 시안(연도 글자높이≈카드제목의 1.67배) 대비 작아 데스크탑에서 상향. 모바일 기존규칙 보호 위해 min-width 1025 스코프 */
@media only screen and (min-width:1025px){
  #section-awards .awards-year h3{font-size:3.4rem;}
}
/* ===== /EX_FOCUS_SIZE_awards_20260623 ===== */

/* ===== EX_FOCUS_LINE2_notice_press_20260623 START — 시안(0402/0403) 테이블 상단선 픽셀측정: 2px #666(라이브 1px #000과 두께차). border-width/color만 보정 ===== */
#section-notice .board-table, #section-press .board-table { border-top:2px solid #666 !important; }
/* ===== EX_FOCUS_LINE2_notice_press_20260623 END ===== */

/* ===== EX_HISTORY_YEARS_20260623 START — 시안(0103_연혁) 부합: 좌측 연도그룹 라벨/대표이미지·우측 연도 헤딩만 확대. 탭/이벤트목록/타임라인선 불변. 데스크탑(min-width:1025px) 스코프로 모바일 회귀 방지. 측정: 시안 좌라벨 cap~33px→font 4.6rem, 우연도 cap~20px→font 2.8rem, 이미지 시안~530px→좌컬럼(550px) 거의 채움(48rem). cap-height비율 Outfit700≈0.728 ===== */
@media (min-width:1025px){
  #section-history .history-block .period-label p{font-size:4.6rem;}
  #section-history .history-block .period-label .period-years{font-size:2rem; margin-bottom:2rem;}
  #section-history .history-block .period-label{max-width:53rem;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:2.8rem;}
}
/* ===== EX_HISTORY_YEARS_20260623 END ===== */

/* ===== EX_HISTORY_EVENTS_20260623 START — 시안(0103_연혁) 이벤트목록 부합. 데스크탑(min-width:1025px) 스코프, 모바일 무회귀.
   측정(시안 1920px 원본): 월숫자cap 14px·제목영문cap 14px → Outfit/본문 font 19px(14/0.728). 제목한글 글자높이 17px≈19px폰트.
   연도cap 21px(=2.8rem 유지). 마커: 진한빨강 솔리드중심 직경 9~10px + 분홍 헤일로 직경 18px(box-shadow). 흰링/과녁 아님.
   조치: (1)월색 빨강→검정 (2)월 우측정렬(고정폭2.6rem+right) (3)월·제목 19px (4)마커 시안형(솔리드+헤일로). ===== */
@media (min-width:1025px){
  /* (1)(3) 월 숫자: 검정 + 19px + 우측정렬 고정폭. html body 프리픽스로 기존 !important 규칙 우선순위 상회 */
  html body #section-history .history-list > li > dl > dt{
    color:#111 !important;
    font-size:19px !important;
    line-height:1.6 !important;
    flex:0 0 2.6rem !important;
    min-width:2.6rem !important;
    text-align:right !important;
  }
  /* (3) 제목: 19px */
  html body #section-history .history-list > li > dl > dd{
    font-size:19px !important;
    line-height:1.6 !important;
  }
  /* 우측 블록(--right)은 월이 order:2로 우측에 오므로 텍스트는 좌측정렬(시안 미러) */
  html body #section-history .history-block--right .history-list > li > dl > dt{text-align:left !important;}

  /* (4) 마커 — 시안형: ::before=분홍 헤일로(채운 원, 흰링/테두리 제거), ::after=빨강 솔리드 중심원 */
  #section-history .history-block--left .history-list > li > h5::before,
  #section-history .history-block--right .history-list > li > h5::before{
    width:1.8rem; height:1.8rem;
    background:rgba(228,0,43,0.22);
    border:0;
    box-shadow:none;
  }
  #section-history .history-block--left .history-list > li > h5::after,
  #section-history .history-block--right .history-list > li > h5::after{
    width:1rem; height:1rem;
    background:#e4002b;
  }
}
/* ===== EX_HISTORY_EVENTS_20260623 END ===== */

/* ===== EX_AREAS_ALIGN_20260623 START ===== */
/* areas.php 02/04(reverse) 제목줄(h4 flex 컨테이너) 데스크탑 우측정렬 보강.
   기존 text-align:right 는 detail-en/desc/tag-list 에만 먹고, h4 는 display:flex 라
   justify-content 로 제어해야 우측정렬됨. 모바일(<=840px)은 6399~6401 기존 규칙이 처리. */
@media only screen and (min-width:1025px){
	#section-areas .areas-detail.reverse > .detail-text > h4{ justify-content:flex-end; }
}
/* ===== EX_AREAS_ALIGN_20260623 END ===== */

/* === EX_CAPABILITIES_20260623 START === */
/* CTO 지시 2건 (capabilities 데스크탑 >=1025px 전용):
   1) 02·04(reverse) 제목 h4 우측정렬 — h4가 display:flex라 text-align:right만으론
      안 붙어 justify-content:flex-end 필요(areas와 동일 패턴).
   2) 4개 항목 모두 텍스트 묶음 상단을 이미지 상단 라인에 맞춤 — 기존
      .areas-detail{align-items:center}로 텍스트가 세로중앙(이미지 top 대비 78~99px 아래)
      → align-items:flex-start로 상단정렬.
   모바일(<=840/480px) 무영향: 데스크탑 미디어쿼리 스코프 한정. */
@media only screen and (min-width:1025px){
	#section-capability .areas-detail{ align-items:flex-start; }
	#section-capability .areas-detail.reverse > .detail-text > h4{ justify-content:flex-end; }
}
/* === EX_CAPABILITIES_20260623 END === */

/* ===== EX_HISTORY_MONTHWEIGHT_20260623 START — 시안(0103_연혁) 부합: 우측 이벤트목록 월(dt) 굵기 제거.
   현상: EX_HISTORY_EVENTS 및 base 규칙으로 dt가 font-weight:700(bold) 렌더. 시안의 월 숫자(11,10 등)는 얇은 일반 굵기(normal).
   조치: dt font-weight만 normal로 덮어씀. EX_HISTORY_EVENTS의 html body 프리픽스 셀렉터와 동일 특이도로 우선순위 확보(!important).
   데스크탑(min-width:1025px) + 모바일 모두 normal 통일(base 규칙이 700이라 모바일도 bold였음→시안 기준 통일). 색/크기/정렬/마커 불변. ===== */
html body #section-history .history-list > li > dl > dt,
html body #section-history .history-list dl dt{
  font-weight:normal !important;
}
@media (min-width:1025px){
  html body #section-history .history-list > li > dl > dt,
  html body #section-history .history-list dl dt{
    font-weight:normal !important;
  }
}
/* ===== EX_HISTORY_MONTHWEIGHT_20260623 END ===== */

/* === EX_SUSTAINABILITY_20260623 START ===
   시안(0203_지속 가능성.jpg) 기준 ESG 빨간 박스 비율 + 내부 아이콘 크기 보정.
   측정: 시안 박스 w398:h419 (w:h=0.9499) / 아이콘 비중 약 22.6%.
   라이브 데스크탑 보정 전: 박스 307x240(w:h=1.278), 아이콘 img 45px(14.7%).
   데스크탑(min-width:1025px) 스코프 전용. 모바일/태블릿 기존값 유지(회귀 방지). */
@media (min-width:1025px){
	/* 1) 빨간 박스 가로세로 비율을 시안(398:419)에 맞춤. 폭은 flex calc 유지, aspect-ratio로 높이 결정 */
	#section-sustain .esg-cards>li{ aspect-ratio:398/419; min-height:0; }
	/* 2) 박스 안 아이콘 이미지를 시안 비중(약 22.6% ≈ 7rem)으로 확대 */
	#section-sustain .esg-cards>li>figure.esg-icon img{ width:7rem; }
}
/* === EX_SUSTAINABILITY_20260623 END === */

/* === EX_SUSTAIN_PIXEL_20260623 START ===
   시안(0203_지속 가능성.jpg, 1920px 1:1) 픽셀 측정 기준 ESG 카드 정밀 보정.
   측정(절대 px): 박스 400x420, 카드 gap 40, 컨테이너(3박스+2gap) 1280,
   좌패딩 42, 상단패딩 61(번호top), 번호폰트~19(cap15), 라벨폰트~23(한글18/영cap15),
   제목폰트~34(글리프31), 번호->라벨 43, 라벨->제목 21, 아이콘 ~100(98~108).
   라이브 보정전: 컨테이너 960, 박스 307x323, gap 20, 좌패딩30/상단25,
   번호14/라벨15/제목26, dl mt22/dd mt14, 아이콘img 70.
   데스크탑(min-width:1025px) 전용. 모바일/태블릿 기존값 유지(회귀 방지).
   주: 박스 aspect-ratio(398/419)는 직전 마커 EX_SUSTAINABILITY_20260623 값 유지(시안 400/420과 동일 수준). */
@media (min-width:1025px){
	/* 1) 컨테이너 폭: 시안 1280px (3*400 + 2*40). max-width override */
	#section-sustain .esg-cards{ max-width:128rem; gap:4rem; }
	/* 2) 박스 폭: 시안 400px = (1280 - 2*40)/3. flex calc 자동 400. 패딩 시안값 */
	#section-sustain .esg-cards>li{ padding:6.1rem 4.2rem 8rem; }
	/* 3) 번호: 시안 ~19px */
	#section-sustain .esg-cards>li>p{ font-size:1.9rem; }
	/* 4) 라벨(dt) + 영문 span: 시안 한글~23px, 번호->라벨 간격 43px */
	#section-sustain .esg-cards>li>dl{ margin-top:4.3rem; }
	#section-sustain .esg-cards>li>dl>dt{ font-size:2.3rem; }
	#section-sustain .esg-cards>li>dl>dt>span{ font-size:1.9rem; }
	/* 5) 제목(dd): 시안 ~34px, 라벨->제목 간격 21px */
	#section-sustain .esg-cards>li>dl>dd{ font-size:3.4rem; margin-top:2.1rem; }
	/* 6) 아이콘: 시안 ~100px (98~108 평균). 우하단 정렬 유지 */
	#section-sustain .esg-cards>li>figure.esg-icon img{ width:10rem; }
}
/* === EX_SUSTAIN_PIXEL_20260623 END === */

/* === EX_SUSTAIN_PIXEL_FIX_20260623 START ===
   보강: EX_SUSTAIN_PIXEL_20260623 적용 후 flex 아이템 폭이 aspect-ratio(398/419,
   직전 마커 EX_SUSTAINABILITY_20260623)와 충돌해 72px로 붕괴하는 문제 수정.
   원인: 폰트/패딩 확대로 콘텐츠 높이 증가 -> flex-shrink가 폭을 줄이고 aspect-ratio가 역산.
   해결: flex 아이템 폭을 시안 400px로 고정(flex:0 0 40rem). 높이는 aspect-ratio가
   400*419/398 = 421px ~= 시안 420px로 결정. append-only, 더 뒤라 우선 적용.
   데스크탑(min-width:1025px) 전용. 모바일 기존값 유지. */
@media (min-width:1025px){
	#section-sustain .esg-cards>li{ flex:0 0 40rem; width:40rem; max-width:40rem; }
}
/* === EX_SUSTAIN_PIXEL_FIX_20260623 END === */


/* ===== EX_HISTORY_HERO_20260623 START — 연혁 히어로/탭 시안 정합(데스크탑 전용) ===== */
@media (min-width:1025px){
  /* 탭 글자 크기 시안(~20px) */
  #section-history .history-tab{gap:5rem !important; margin:0 0 2.6rem !important;}
  #section-history .history-tab a{font-size:2.0rem !important;}

  /* 히어로: 어두운 딤/오버레이 제거 + 원본 이미지 그대로 + 풀블리드 가로폭 */
  #section-history .history-hero{
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    background-color:transparent !important;
    background-size:cover !important;
    border-radius:0 !important;
    padding:9rem 2rem !important;
    margin-bottom:8rem !important;
  }
  #section-history .history-hero .hero-overlay{display:none !important;}

  /* 히어로 내 텍스트 시안 크기 */
  #section-history .history-hero .hero-text{max-width:90rem !important;}
  #section-history .history-hero .hero-text .period{font-size:5.2rem !important; margin:0 0 1.4rem !important; line-height:1.1 !important;}
  #section-history .history-hero .hero-text .years{font-size:4.8rem !important;}
  #section-history .history-hero .hero-text .desc{font-size:2.2rem !important; line-height:3.2rem !important; max-width:74rem !important; margin:0 auto 3rem !important; color:rgba(255,255,255,0.92) !important;}
}
/* ===== EX_HISTORY_HERO_20260623 END ===== */

/* ===== EX_HISTORY_TIMELINE2_20260623 START — 타임라인 정렬/세로줄 시안 정합(데스크탑 전용) ===== */
@media (min-width:1025px){
  /* 세로줄(axis): 히어로 이미지까지 위로 연장 + 히어로 뒤(z-index 0)로 */
  #section-history .history-axis{top:-42rem !important; z-index:0 !important;}
  #section-history .history-hero{z-index:1;}
  #section-history .history-block{z-index:1;}

  /* 우측 영역: 연도(h5)·월(dt)·내용(dd) 모두 동일 시작점 + 월 우정렬 취소 */
  #section-history .history-block--left .history-list > li > h5{
    margin-left:0 !important;
    padding-left:0 !important;
  }
  #section-history .history-block--left .history-list > li > h5::before,
  #section-history .history-block--left .history-list > li > h5::after{
    left:-3rem !important;
  }
  #section-history .history-list > li > dl{gap:1.4rem !important;}
  #section-history .history-list > li > dl > dt{
    flex:0 0 2.6rem !important;
    text-align:left !important;
  }
}
/* ===== EX_HISTORY_TIMELINE2_20260623 END ===== */



/* ===== EX_HISTORY_TIMELINE2B_20260623 START — 월(dt) 우정렬 취소 + 연도/월/내용 동일 시작점(데스크탑) =====
   EX_HISTORY_EVENTS의 html body 프리픽스 text-align:right !important 를 동일 특이도로 좌정렬 오버라이드.
   파일 뒤쪽이라 우선순위 승. ===== */
@media (min-width:1025px){
  html body #section-history .history-list > li > dl > dt{
    text-align:left !important;
  }
}
/* ===== EX_HISTORY_TIMELINE2B_20260623 END ===== */

/* ===== EX_HISTORY_AXIS_FIX_20260623 START — 세로선 히어로 뒤 배치 + 연도점과 수직 일치(데스크탑 전용) =====
   원인: #section-history(static) 아래 .history-hero 와 .history-content 가 형제이며 둘 다 z-index:1.
         후순위 DOM인 .history-content(및 그 자손 .history-axis)가 히어로 위로 페인트됨 → 선이 히어로 관통.
         또한 axis는 left:50%(content기준 580px)인데 연도점 ::before 중심은 content기준 610px → 30px 어긋남.
   해결: (1) .history-hero z-index:2 로 올려 불투명 히어로가 연장된 선을 가림(content는 z-index:1).
         (2) axis를 +30px 우측 이동해 연도점 중심(610px)과 정확히 일치시킴(단일 요소라 전구간 직선). */
@media (min-width:1025px){
  #section-history .history-hero{position:relative !important; z-index:2 !important;}
  #section-history .history-content{position:relative !important; z-index:1 !important;}
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(calc(-50% + 30px)) !important;
    z-index:0 !important;
  }
}
/* ===== EX_HISTORY_AXIS_FIX_20260623 END ===== */

/* ===== EX_PORTFOLIO_FILTER_COLOR_20260623 START — 포트폴리오 카테고리 필터 버튼 색상 시안 일치(색상만) =====
   시안: resources/260427_requests/03포트폴리오/0301_목록.jpg 필터 영역 픽셀 추출.
   활성:   배경 #e40033 / 글자 #fff
   비활성: 배경 #f8f8f8 / 글자 #666 / 테두리 #f8f8f8(테두리 거의 안 보임)
   hover(비활성): 배경 약간 진하게 #eee / 글자 #333 (시안엔 hover 명시 없어 비활성 톤 기준 자연스럽게)
   색상만 지정 — 크기/위치/폰트/모양 미관여. 데스크탑·모바일 공통(미디어쿼리 무관). */
#section-portfolio .port-cat > a{
	background:#f8f8f8 !important;
	color:#666 !important;
	border-color:#f8f8f8 !important;
}
#section-portfolio .port-cat > a:hover{
	background:#eee !important;
	color:#333 !important;
	border-color:#eee !important;
}
#section-portfolio .port-cat > a.active{
	background:#e40033 !important;
	color:#fff !important;
	border-color:#e40033 !important;
}
#section-portfolio .port-cat > a.active:hover{
	background:#e40033 !important;
	color:#fff !important;
	border-color:#e40033 !important;
}
/* ===== EX_PORTFOLIO_FILTER_COLOR_20260623 END ===== */

/* === EX_SUSTAIN_INTRO_20260623 START ===
   시안(0203_지속 가능성.jpg, 1920px 1:1) 인트로/메인 영역 픽셀 정합(데스크탑 >=1025px 전용).
   범위: (A) 상단 인트로 히어로(중앙정렬: .sGroup h4/div, .sustain-promise),
         (B) 환경/공정경영/사회 섹션의 좌측 텍스트(.sustain-text) + 우측 카드(.sustain-cards).
   하단 ESG 빨간 3카드(.esg-cards)는 기존 마커(EX_SUSTAINABILITY/EX_SUSTAIN_PIXEL*)로 완료 — 미관여.

   [시안 측정 px → 적용]
   (A) 인트로 히어로:
     - h4 "지금, 전시의 미래를 시작합니다." : 글리프31 → 40px (라이브 40 동일, 유지)
     - body div 3줄 : 글리프19/줄간격32 → 24px / line-height 32px (라이브 22)
     - .sustain-promise "지속가능을 위한..." : 글리프30 → 38px (라이브 24 → 38)
   (B) 환경 섹션 좌측 텍스트:
     - h4 "환경" : 글리프39 → 48px (라이브 32 → 48)
     - .sustain-desc 2줄 : 글리프19/줄간격32 → 26px / line-height 32px (라이브 18)
     - .sustain-keyword "탄소중립실천" : 글리프35 → 40px (라이브 24 → 40)
   (B) 우측 카드:
     - 카드 폭 시안 398 / gap 가로 52 (라이브 406 / gap 20). cards컨테이너 832 고정 →
       gap 4rem(40px) 적용 시 카드폭 (832-40)/2=396 ≈ 시안398. (52는 시안 컨테이너 여유폭, 832 컨테이너엔 40이 최적합)
     - 카드 이미지 종횡비 시안 398:220 ≈ 16:9 (라이브 4:3 304px → 16:9로 납작하게)
     - 카드 제목 strong : 글리프22 → 24px (라이브 18)
     - 카드 desc span : 글리프16 → 18px (라이브 15.3)
     - 카드 라벨 dt : 글리프13 → 14px (라이브 13, 거의 동일 → 14 통일)
   인라인 style 미추가. 모바일/태블릿(<1025) 무회귀. !important로 base 및 후순위 마커 우선. */
@media (min-width:1025px){
	/* (A) 인트로 히어로 ----------------------------------------- */
	#section-sustain .sGroup>div{ font-size:2.4rem !important; line-height:3.2rem !important; }
	#section-sustain .sustain-promise{ font-size:3.8rem !important; line-height:1.3 !important; }

	/* (B) 좌측 텍스트 ------------------------------------------- */
	#section-sustain .sustain-section>.sustain-text>h4{ font-size:4.8rem !important; line-height:1.25 !important; }
	#section-sustain .sustain-section>.sustain-text>.sustain-desc{ font-size:2.6rem !important; line-height:3.2rem !important; }
	#section-sustain .sustain-section>.sustain-text>.sustain-keyword{ font-size:4rem !important; line-height:1.25 !important; }

	/* (B) 우측 카드 박스 ---------------------------------------- */
	#section-sustain .sustain-cards{ gap:4rem !important; }
	#section-sustain .sustain-cards>li>figure img{ aspect-ratio:16/9 !important; }
	#section-sustain .sustain-cards>li>dl>dt{ font-size:1.4rem !important; }
	#section-sustain .sustain-cards>li>dl>dd>strong{ font-size:2.4rem !important; }
	#section-sustain .sustain-cards>li>dl>dd>span{ font-size:1.8rem !important; }
}
/* === EX_SUSTAIN_INTRO_20260623 END === */

/* ===== EX_OVERVIEW_ALIGN_20260624 START ===== */
@media (min-width:1025px){
  #section-overview .overview-layout > li{justify-content:space-between !important;}
  #section-overview .overview-layout > li > figure{flex:0 0 45% !important; width:45% !important; max-width:45% !important;}
  #section-overview .overview-layout > li > dl{flex:0 0 45% !important; width:45% !important; max-width:45% !important;}
}
/* ===== EX_OVERVIEW_ALIGN_20260624 END ===== */


/* ===== EX_HISTORY_RESPONSIVE_20260624 START =====
   CTO 요청 묶음 #1 세로선 정렬 견고화 + #2 반응형 비례 축소 + #4 브레이크포인트 정리.
   scope: #section-history 한정. append-only. 데스크탑(>=1025px) 시안 마커값은 보존하고
   (a) axis 정렬을 폭 무관(column-gap 종속)으로 교정 (b) 그 아래 구간 비례값을 신규 추가.

   [#1 세로선 견고화 — 근본원인/해결]
   원인: 점 중심 = content중앙(50%) + column-gap/2. column-gap이 구간별 6/4/3rem로 줄어드는데
        EX_HISTORY_AXIS_FIX 가 +30px(=6rem/2) 고정 보정 → 1120px(gap4rem) 등에서 점-선 -20px 어긋남.
        (실측: 1920 gap60 delta0 / 1120 gap40 delta-20)
   해결: axis 보정을 column-gap 에 종속. --hist-gap 변수로 단일화하고 axis transform 을
        translateX(calc(-50% + var(--hist-gap) - 3rem)) 로. (gap6rem→+3rem=+30 / gap4rem→+1rem=+10 / gap3rem→0)
        => 점중심(50% + gap/2)과 항상 일치. 폭이 바뀌어도 gap만 따라가면 0 정합.
   주의: 1열 스택 구간(<=840 / <=768 / <=480)은 axis 가 좌측(left:1.6rem 등) 고정이라 이 보정 비대상. */

/* --hist-gap 기본값(데스크탑 base column-gap 과 동일) */
#section-history{--hist-gap:6rem;}

/* axis 정렬: AXIS_FIX 의 고정 +30px(translateX(calc(-50% + 30px))) 를 gap 종속으로 후순위 오버라이드.
   데스크탑 2열(>=1025px) 전구간 공통 — gap 변수만 구간별로 바뀌면 자동 추종. */
@media (min-width:1025px){
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(calc(-50% + (var(--hist-gap) / 2))) !important;
  }
}
/* 데스크탑 구간별 column-gap 에 맞춰 --hist-gap 동기화(기존 column-gap 규칙과 동일 폭) */
@media only screen and (max-width:1280px) and (min-width:1025px){
  #section-history{--hist-gap:4rem;}   /* 기존 column-gap:4rem 구간 */
}

/* ---------------------------------------------------------------------------
   [#2 반응형 비례 축소] 데스크탑(1920 기준) → 태블릿 → 모바일 단계적 축소.
   데스크탑 측정 기준값: 히어로풀블리드 / period52 / years48 / desc22 /
   좌라벨46 / figure530 / h5(연도)28 / dt·dd(월/이벤트)19 / 점 헤일로1.8rem·중심1rem / gap6rem.
   브레이크포인트 세트(정리안): 1280 / 1024 / 768 / 480 / 360.
   --------------------------------------------------------------------------- */

/* === 태블릿 상단 1025~1280 (2열 유지, gap 4rem) — 데스크탑 대비 약 0.78배 === */
@media only screen and (max-width:1280px) and (min-width:1025px){
  #section-history .history-hero{padding:7rem 2rem !important; margin-bottom:6rem !important;}
  #section-history .history-hero .hero-text .period{font-size:4rem !important;}
  #section-history .history-hero .hero-text .years{font-size:3.8rem !important;}
  #section-history .history-hero .hero-text .desc{font-size:1.9rem !important; line-height:2.8rem !important;}
  #section-history .history-block .period-label{max-width:42rem !important;}
  #section-history .history-block .period-label p{font-size:3.6rem !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:2.4rem !important;}
  html body #section-history .history-list > li > dl > dt{font-size:16px !important;}
  html body #section-history .history-list > li > dl > dd{font-size:16px !important;}
}

/* === 태블릿 하단 841~1024 (2열 유지, gap 3rem) — 데스크탑 대비 약 0.62배 ===
   이 구간은 데스크탑 시안 마커(min-width:1025) 밖이라 base 작은값 → 비례값으로 끌어올림.
   axis: base(translateX(-50%)) + gap3rem 이라 점(50%+1.5rem)과 1.5rem 어긋남 → 이 구간 전용 보정. */
@media only screen and (max-width:1024px) and (min-width:841px){
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(calc(-50% + 1.5rem)) !important;  /* gap3rem/2 */
    top:0 !important;
  }
  #section-history .history-hero .hero-text .period{font-size:3.2rem !important; line-height:1.3 !important;}
  #section-history .history-hero .hero-text .years{font-size:3.4rem !important;}
  #section-history .history-hero .hero-text .desc{font-size:1.7rem !important; line-height:2.6rem !important;}
  #section-history .history-tab a{font-size:1.7rem !important;}
  #section-history .history-block .period-label{max-width:30rem !important;}
  #section-history .history-block .period-label p{font-size:2.8rem !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:2rem !important;}
  html body #section-history .history-list > li > dl > dt{font-size:15px !important;}
  html body #section-history .history-list > li > dl > dd{font-size:15px !important;}
}

/* === 769~840 (1열 전환 시작) — 1열 모바일 톤 비례. axis 좌측고정 === */
@media only screen and (max-width:840px) and (min-width:769px){
  #section-history .history-hero .hero-text .period{font-size:24px !important; line-height:1.3 !important;}
  #section-history .history-hero .hero-text .years{font-size:34px !important; line-height:1.15 !important;}
  #section-history .history-hero .hero-text .desc{font-size:16px !important; line-height:1.6 !important;}
  #section-history .history-block .period-label p{font-size:26px !important; line-height:1.25 !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:22px !important; line-height:1.25 !important;}
  html body #section-history .history-list > li > dl > dt{font-size:15px !important;}
  html body #section-history .history-list > li > dl > dd{font-size:15px !important;}
  /* 좌측 연도 대표 이미지 1열에서 과대 방지 */
  #section-history .history-block .period-label figure{max-width:34rem;}
}

/* === 모바일 481~768 (1열) — px 명시(360px 구간 html font 5.5~6.5px rem 트랩 회피) ===
   본문 13~15px · 제목 16~22px · 터치영역 44px 보장. 767/768 혼재 정리: 768 단일 기준으로 통일.
   (기존 max-width:767 폰트확대 블록과 동일 px값을 768 기준으로 흡수 — 767/768 1px 갭 제거) */
@media (max-width:768px) and (min-width:481px){
  #section-history .history-tab a{font-size:15px !important; line-height:1.3 !important; min-height:44px; display:flex; align-items:center;}
  #section-history .history-hero .hero-text .period{font-size:18px !important; line-height:1.4 !important;}
  #section-history .history-hero .hero-text .years{font-size:30px !important; line-height:1.15 !important;}
  #section-history .history-hero .hero-text .desc{font-size:15px !important; line-height:1.6 !important;}
  #section-history .history-hero .hero-text .btns a{font-size:14px !important; line-height:1.3 !important; min-height:44px; display:inline-flex; align-items:center;}
  #section-history .history-block .period-label p{font-size:22px !important; line-height:1.25 !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:20px !important; line-height:1.25 !important;}
  html body #section-history .history-list > li > dl > dt{font-size:15px !important; line-height:1.55 !important;}
  html body #section-history .history-list > li > dl > dd{font-size:15px !important; line-height:1.6 !important;}
  #section-history .history-block .period-label figure{max-width:30rem;}
}

/* === 모바일 ~480 (1열) — px 명시. 본문 13·제목 16~20 ·터치 44px === */
@media (max-width:480px){
  #section-history .history-tab a{font-size:13px !important; line-height:1.2 !important; min-height:44px; display:flex; align-items:center;}
  #section-history .history-hero .hero-text .period{font-size:14px !important; line-height:1.4 !important;}
  #section-history .history-hero .hero-text .years{font-size:28px !important; line-height:1.1 !important;}
  #section-history .history-hero .hero-text .desc{font-size:13px !important; line-height:1.6 !important;}
  #section-history .history-hero .hero-text .btns a{font-size:13px !important; line-height:1.3 !important; min-height:44px; display:inline-flex; align-items:center; justify-content:center;}
  #section-history .history-block .period-label p{font-size:18px !important; line-height:1.2 !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:16px !important; line-height:1.2 !important;}
  html body #section-history .history-list > li > dl > dt{font-size:13px !important; line-height:1.5 !important;}
  html body #section-history .history-list > li > dl > dd{font-size:13px !important; line-height:1.5 !important;}
  #section-history .history-block .period-label figure{max-width:24rem;}
  /* 점 크기 모바일 비례(기존 480 규칙 유지 톤) */
  #section-history .history-block--left .history-list > li > h5::before,
  #section-history .history-block--right .history-list > li > h5::before{width:1.4rem; height:1.4rem;}
  #section-history .history-block--left .history-list > li > h5::after,
  #section-history .history-block--right .history-list > li > h5::after{width:0.6rem; height:0.6rem;}
}

/* === 초소형 ~360 — 제목/본문 하한 px (rem 트랩 완전 차단) === */
@media (max-width:360px){
  #section-history .history-hero .hero-text .years{font-size:24px !important;}
  #section-history .history-hero .hero-text .period{font-size:13px !important;}
  #section-history .history-block .period-label p{font-size:16px !important;}
  #section-history .history-block--left .history-list > li > h5,
  #section-history .history-block--right .history-list > li > h5{font-size:15px !important;}
  html body #section-history .history-list > li > dl > dt{font-size:13px !important;}
  html body #section-history .history-list > li > dl > dd{font-size:13px !important;}
}
/* ===== EX_HISTORY_RESPONSIVE_20260624 END ===== */

/* ===== EX_HISTORY_TABBAR_LINE_20260624 START =====
   CTO 요청 #3: 상단 고정(sticky) 탭 바 아래 라인을 화면 양쪽 끝까지 연장.
   현상: #section-history .history-tab 에 border-bottom 없음(0px). 시안의 탭 아래 옅은 회색
        구분선이 sticky 시 명확치 않거나 컨테이너(max-width:120rem) 폭에만 머묾.
   해결: sticky 탭 컨테이너에 ::after 로 라인을 그리되 좌우 100vw 풀블리드(viewport 양끝)로 연장.
        탭은 position:sticky(=relative 컨테이닝블록)이므로 ::after(absolute) left:calc(50% - 50vw)+width:100vw
        로 화면 전체폭. 인디케이터(.history-tab__indicator, 빨간 언더바)는 z-index 1 로 라인 위.
   scope: #section-history .history-tab 한정. 데스크탑/모바일 공통(양끝 연장은 전폭 동일 요구).
   무회귀: sticky/scrollspy/인디케이터/가로스크롤 미변경(::after 추가만). */
#section-history .history-tab{position:sticky;}  /* base 와 동일 — ::after containing block 보장(회귀 없음) */
#section-history .history-tab::after{
  content:"";
  position:absolute;
  left:calc(50% - 50vw);
  bottom:0;
  width:100vw;
  height:1px;
  background:#e8e8ed;
  pointer-events:none;
  z-index:0;  /* 빨간 인디케이터(z-index:1) 아래 */
}
/* 인디케이터를 라인 위로 명시 보장 */
#section-history .history-tab .history-tab__indicator{z-index:2;}
/* ===== EX_HISTORY_TABBAR_LINE_20260624 END ===== */


/* ===== EX_HISTORY_AXIS_REFINE_20260624 START =====
   EX_HISTORY_RESPONSIVE_20260624 의 axis 보정 정밀화(후순위 오버라이드).
   실측: 1280(gap4rem) 적용 후 점-선 delta 여전히 -10px.
   근본원인 추가발견: 점 위치 = content중앙 + gap/2 + history-list.padding-left + h5offset.
        history-list padding-left 가 구간별로 다름(base 3rem → 1025~1280 2rem, 841~1024 2rem).
        앞 블록이 gap/2 만 반영해 list padding 차이(3rem-2rem=1rem=10px)만큼 어긋남.
   정확한 보정: axis_offset = gap/2 - (3rem - listPadLeft).
     >=1281  : gap6/pad3 → +3rem - 0    = +3rem  (delta0, AXIS_FIX 와 동일 — 유지)
     1025~1280: gap4/pad2 → +2rem - 1rem = +1rem  (앞블록 +2rem 에서 -1rem 교정)
     841~1024 : gap3/pad2 → +1.5rem-1rem = +0.5rem (앞블록 +1.5rem 에서 -1rem 교정)
   scope: #section-history .history-axis 한정. !important + 후순위로 정확 우선. */

/* >=1281: 변경 없음(기존 +3rem 유지) — 1025~1280 구간만 교정 */
@media only screen and (max-width:1280px) and (min-width:1025px){
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(calc(-50% + 1rem)) !important;  /* gap4rem/2(2rem) - (3rem-2rem)=1rem */
  }
}
/* 841~1024 정밀 교정 */
@media only screen and (max-width:1024px) and (min-width:841px){
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(calc(-50% + 0.5rem)) !important; /* gap3rem/2(1.5rem) - (3rem-2rem)=0.5rem */
    top:0 !important;
  }
}
/* ===== EX_HISTORY_AXIS_REFINE_20260624 END ===== */


/* ===== EX_HISTORY_AXIS_REFINE2_20260624 START =====
   841~1024 구간 axis 실측 미세교정(후순위 최종 오버라이드).
   실측: REFINE(+0.5rem) 적용 후 이 구간 delta 여전히 -5px → 보정을 0 으로(translateX(-50%)만).
   (이 구간 실제 list padding-left 가 3rem 로 적용되어 점이 content중앙에 옴 — gap/2 와 pad차가 상쇄.)
   scope: #section-history .history-axis 한정. */
@media only screen and (max-width:1024px) and (min-width:841px){
  #section-history .history-axis{
    left:50% !important;
    transform:translateX(-50%) !important;
    top:0 !important;
  }
}
/* ===== EX_HISTORY_AXIS_REFINE2_20260624 END ===== */



/* ===== EX_OVERVIEW_IMG_CLIP_20260624 START =====
   CTO 요청: 회사개요 본문 손 이미지 베벨(사선 모서리) 복원.
   원인: 스테이징 base 규칙(.overview-layout>li figure>span)이 clip-path:none 으로
         운영(prix) 의 polygon clip-path 를 무효화 → 베벨/그림자(평행사변형) 유실.
   운영 정답(theme/prix/css/contents.css L506~515)과 픽셀 동일하게 복원.
   drop-shadow(figure filter)는 base에 이미 존재하므로 건드리지 않음.
   append-only 최종 오버라이드, #section-overview 스코프. */
#section-overview .overview-layout > li figure > span{
  display:block;
  -webkit-clip-path:polygon(
    0 0,
    calc(100% - 10%) 0,
    100% 15%,
    100% 100%,
    10% 100%,
    0 calc(100% - 15%)
  );
  clip-path:polygon(
    0 0,
    calc(100% - 10%) 0,
    100% 15%,
    100% 100%,
    10% 100%,
    0 calc(100% - 15%)
  );
}
/* ===== EX_OVERVIEW_IMG_CLIP_20260624 END ===== */

/* === START EX_OVERVIEW_DL_FONT_20260624 === */
/* 회사개요 dl/dt/dd 폰트 사이즈를 운영(new.exporum.com)과 픽셀 동일하게 복원.
   운영은 #section-overview에 px 오버라이드가 전혀 없고 var(--base20)+em/rem 캐스케이드만 사용.
   스테이징의 기존 PAGE-ADDITIONS(overview 480블록) 및 F3(1024블록 15.6/19.5px)이 운영과 다른 px값을
   강제하므로, 동일 미디어쿼리에 더 높은 우선순위로 운영 공식(var(--base20) 기반)을 재적용한다.
   --base20: 데스크탑 2rem(html 10px→20px), <=840px 2.4rem(html 6.5/6/5.5px→15.6/14.4/13.2px). */

#section-overview .overview-layout>li dl{font-size:var(--base20) !important; line-height:var(--lineHeight) !important;}
#section-overview .overview-layout>li dl>dt{font-size:1.25em !important; line-height:1 !important;}
#section-overview .overview-layout>li dl>dd{font-size:1em !important; line-height:var(--lineHeight) !important;}
#section-overview .overview-visual dl{font-size:var(--base20) !important;}
#section-overview .overview-visual dl>dd{font-size:1.25em !important; line-height:var(--lineHeight) !important;}

@media (max-width:1024px) and (min-width:481px){
	#section-overview .overview-layout>li dl{font-size:var(--base20) !important; line-height:var(--lineHeight) !important;}
	#section-overview .overview-layout>li dl>dt{font-size:1.25em !important; line-height:1 !important;}
	#section-overview .overview-layout>li dl>dd{font-size:1em !important; line-height:var(--lineHeight) !important;}
	#section-overview .overview-visual dl{font-size:var(--base20) !important;}
	#section-overview .overview-visual dl>dd{font-size:1.25em !important; line-height:var(--lineHeight) !important;}
}

@media (max-width:480px){
	#section-overview .overview-layout>li dl{font-size:var(--base20) !important; line-height:var(--lineHeight) !important;}
	#section-overview .overview-layout>li dl>dt{font-size:1.25em !important; line-height:1 !important;}
	#section-overview .overview-layout>li dl>dd{font-size:1em !important; line-height:var(--lineHeight) !important;}
	#section-overview .overview-visual dl{font-size:var(--base20) !important;}
	#section-overview .overview-visual dl>dd{font-size:1.25em !important; line-height:var(--lineHeight) !important;}
}
/* === END EX_OVERVIEW_DL_FONT_20260624 === */

/* ===== EX_HISTORY_TABBAR_FULLWIDTH_20260624 START =====
   CTO 요청 2건(데스크탑 >=1025px 한정):
   (1) sticky 탭 바 하단줄과 히어로 사이 gap 제거 — EX_HISTORY_HERO_20260623 의
       #section-history .history-tab{margin:0 0 2.6rem} 로 생긴 26px gap 을 margin-bottom:0 으로.
   (2) sticky 고정 시 흰 배경+하단 보더를 viewport 100vw 양끝까지 연장.
       현상: .history-tab 은 컨테이너(#section-history max-width:120rem, padding:0 2rem) 폭에
            갇혀(실측 1440vw 에서 left140/right1300) 흰 박스가 양옆 안 닿음. background:#fff(EX_HISTSTICKY)
            가 컨테이너 폭만 차지.
       해결: .history-tab::before 가상요소로 흰 배경+1px 하단보더를 left:calc(50% - 50vw)/width:100vw
            full-bleed 로 깔아 화면 전폭 연장. z-index:-1 로 탭 텍스트/빨간 인디케이터/스크롤 콘텐츠
            아래(시각만 확장, 구조·flex·overflow·인디케이터 위치 미변경 → 무회귀).
            기존 ::after(EX_HISTORY_TABBAR_LINE_20260624, 1px 회색라인)는 ::before 흰배경+보더가 동일
            라인 역할을 덮으므로 시각상 중복 무해(::before border 가 위에서 깔끔히 보임).
   scope: #section-history .history-tab 한정(타 페이지 영향 0). 데스크탑 분기만 — 모바일 무회귀.
   주의: ::before 가 sticky(position:sticky) 컨테이너의 absolute 자식이므로 containing block = .history-tab. */
@media (min-width:1025px){
  #section-history .history-tab{margin-bottom:0 !important;}
  #section-history .history-tab::before{
    content:"";
    position:absolute;
    top:0;
    left:calc(50% - 50vw);
    width:100vw;
    height:100%;
    background:#fff;
    border-bottom:1px solid #e8e8ed;
    box-sizing:border-box;
    pointer-events:none;
    z-index:-1;
  }
}
/* ===== EX_HISTORY_TABBAR_FULLWIDTH_20260624 END ===== */

/* ===== EX_HISTORY_HERO_FORMAT_20260624 START — 연혁 히어로바+세로선 데스크탑 포맷을 841~1024 구간에서 유지 =====
   배경: 데스크탑(min-width:1025px) 전용 규칙(EX_HISTORY_HERO/AXIS_FIX_20260623)이 1024px 이하에서 끊겨
         841~1024 구간(아직 2열 zigzag 레이아웃 유지)인데도 히어로가 풀블리드 해제+라운드+어두운 딤으로,
         세로선(axis)은 히어로까지 연장 안 됨(top:0) + z-index 변동 → "데스크탑과 다른 형태"(CTO 지적).
   해결: 2열 zigzag가 유지되는 841~1024 구간에 데스크탑 히어로/세로선 포맷을 재지정(override).
         769px 이하는 1열 모바일 레이아웃이라 의도된 변형이므로 건드리지 않음.
   주의: 탭바(.history-tab)·폰트·정렬은 절대 미수정. 히어로 형태 + 세로선만.
   axis 보정: 이 구간은 column-gap 3rem이라 연도점 마커가 content 중앙과 정확히 일치(측정 검증) →
             데스크탑의 +30px 보정 불필요. 순수 중앙(translateX(-50%)). */
@media only screen and (max-width:1024px) and (min-width:841px){
  /* 히어로: 풀블리드 + 라운드/딤 제거 + 데스크탑 z-index */
  #section-history .history-hero{
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    width:100vw !important;
    max-width:100vw !important;
    background-color:transparent !important;
    background-size:cover !important;
    border-radius:0 !important;
    position:relative !important;
    z-index:2 !important;
  }
  #section-history .history-hero .hero-overlay{display:none !important;}
  #section-history .history-content{position:relative !important; z-index:1 !important;}
  /* 세로선: 히어로 이미지까지 위로 연장 + 히어로 뒤(z-index 0) + 중앙(보정 0, 마커와 일치) */
  #section-history .history-axis{
    top:-42rem !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:0 !important;
  }
}
/* ===== EX_HISTORY_HERO_FORMAT_20260624 END ===== */

/* ===== EX_HISTORY_TABBAR_FULLWIDTH_FIX_20260624 START =====
   CTO 재요청: sticky 탭 바 흰 배경이 좌우 양끝까지 안 닿고 끝에 얇은 회색 띠(히어로 비침)가 남음.
   원인(playwright 실측 확정, 데스크탑 1440px):
   (1) EX_HISTTAB_HSCROLL 가 .history-tab 에 overflow-x:auto/overflow-y:hidden 을 부여 →
       이 스크롤 컨테이너가 EX_HISTORY_TABBAR_FULLWIDTH_20260624 의 ::before
       (left:calc(50%-50vw)/width:100vw) 를 컨테이너 폭(좌140~우1300)으로 클리핑 →
       좌우 각 140px 흰배경 결손.
   (2) ::before 의 z-index:-1 이 sticky 탭 아래 깔린 히어로보다 뒤로 가, 탭 자체배경(#fff,
       140~1300)이 없는 양끝 영역에서 히어로가 비쳐 회색 띠로 보임.
   해결(데스크탑 >=1025px 한정, 모바일 무회귀):
   (a) .history-tab overflow:visible 복원 — 데스크탑은 탭 4개가 화면을 안 넘쳐 가로스크롤 불필요.
       100vw ::before 가 클리핑 없이 viewport 양끝(x=0~clientWidth)까지 도달(가로스크롤바 미발생 실측).
   (b) ::before z-index:0 — 히어로 위로 올려 양끝 흰배경이 비침 없이 불투명.
   (c) 탭 링크/인디케이터를 position:relative; z-index:1 로 흰배경(0) 위 명시 → 텍스트/언더바 보존.
   scope: #section-history .history-tab 한정. 기존 FULLWIDTH/HSCROLL/STICKY/SPY 마커 미삭제(후순위 override).
   playwright 검증: 빨강 페인트로 ::before 가 x=0~1440 완전도달 확인, 흰배경 양끝 잔틈 0, hScroll false. */
@media (min-width:1025px){
  #section-history .history-tab{
    overflow:visible !important;       /* HSCROLL 의 overflow-x:auto/overflow-y:hidden 클리핑 해제(데스크탑만) */
  }
  #section-history .history-tab::before{
    z-index:0 !important;              /* 히어로 위, 탭 텍스트(z:1) 아래 */
  }
  /* 탭 텍스트/슬라이딩 언더바를 흰배경(::before z:0) 위로 명시 보장 */
  #section-history .history-tab a.history-tab-link{
    position:relative;
    z-index:1;
  }
  #section-history .history-tab .history-tab__indicator{
    z-index:2 !important;
  }
}
/* ===== EX_HISTORY_TABBAR_FULLWIDTH_FIX_20260624 END ===== */

/* ===== EX_HISTORY_YEARGROUP_SHIFT_20260624 START =====
   CTO 요청 2건 (연혁 /about/history 데스크탑 >=1025px 전용, 모바일 무회귀):
   (1) 좌측 연도그룹(.period-label) 상단 여백: 일반흐름(고정 전) 0, sticky 고정 시에만 위 30px.
       구현: EX_HISTLEFTSTICKY 의 padding-top:2rem(20px) 제거 → 고정 전 라벨 상단여백 0.
             sticky top 을 170px→200px(=170+30) 로 +30px → 화면 상단 고정 시에만 탭 아래 30px 간격.
             tnb-hidden(헤더 오토숨김) 동기화도 70px→100px 로 +30px 일관 유지.
       append 후순위 → EX_HISTLEFTSTICKY 보다 우선. 기존 마커 미변경.
   (2) 우측 연도(h5)/월·내용(dl) 텍스트만 +30px 우측 이동, 중앙 연도점/세로선(axis) 불변.
       구현: h5 padding-left +30px(텍스트 우측 이동). 점(::before/::after)은 EX_HISTORY_TIMELINE2
             에서 left:-3rem 은 h5 border-box(텍스트앞 30px 패딩 추가해도 border-box left 불변) 기준이라 점 위치 불변. padding-left 만 텍스트를 +30px 우측이동.

       axis(EX_HISTORY_AXIS_FIX translateX) 미접촉 → 세로선·점 위치 절대 불변.
   ============================================================ */
@media (min-width:1025px){
  /* (1) 좌측 연도그룹 sticky 상단여백: 고정 전 0 / 고정 시 30px */
  #section-history .history-block .period-label{
    padding-top:0 !important;
    top:200px !important;
  }
  #section-history.tnb-hidden .history-block .period-label{
    top:100px !important;
  }

  /* (2) 우측 연도(h5) 텍스트만 +30px, 점 불변 */
  #section-history .history-block--left .history-list > li > h5{
    padding-left:30px !important;
  }
  #section-history .history-block--left .history-list > li > h5::before,
  #section-history .history-block--left .history-list > li > h5::after{
    left:-3rem !important;
  }
  /* (2) 우측 월·내용(dl) +30px */
  #section-history .history-block--left .history-list > li > dl{
    margin-left:30px !important;
  }
}
/* ===== EX_HISTORY_YEARGROUP_SHIFT_20260624 END ===== */


/* ============================================================
   EX_HISTORY_HERO_BTN_20260624 START — 연혁 히어로 버튼을 홈 ".m-Btn"(온라인 문의하기)과 동일 양식으로 통일
   CTO 요청: 크기/여백/색상/선택(hover)상태/모서리깎임(clip-path 베벨) 모두 홈 문의버튼과 동일하게.
   scope: #section-history .history-hero .hero-text .btns a (.btn1 / .btn-cross 모두)
   참조 원본(layout/contents.css .m-Btn):
     기본 min-width:15rem; height:5rem; border:1px solid #fff; font-weight:500; font-size:var(--base15,1.5rem);
            line-height:1; color:#fff; inline-flex center; clip-path 직각; transition bg/border/color/clip-path .3s
     hover  background:var(--point #e4002b); border-color:var(--point); color:#fff; clip-path 1.2rem 베벨(좌상/우하)
     반응형(홈 미디어쿼리) min-width:20rem; height:6rem
   기존 .btns a / .btn1 / .btn-cross 규칙을 덮어쓰지 않고 동일 specificity + append 후순위로 무력화.
   ============================================================ */
#section-history .history-hero .hero-text .btns a.btn1,
#section-history .history-hero .hero-text .btns a.btn-cross{
	min-width:15rem;
	height:5rem;
	padding:0 2.2rem;
	border:1px solid #fff;
	border-radius:0;
	background:transparent;
	font-weight:500;
	font-size:var(--base15, 1.5rem);
	line-height:1;
	letter-spacing:0.02em;
	color:#fff;
	text-align:center;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	transition: background-color .3s ease, border-color .3s ease, color .3s ease, clip-path .3s ease;
	clip-path:polygon(
		0 0,
		100% 0,
		100% 0,
		100% 100%,
		0 100%,
		0 100%
	);
}
#section-history .history-hero .hero-text .btns a.btn1:hover,
#section-history .history-hero .hero-text .btns a.btn-cross:hover{
	opacity:1;
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
	clip-path:polygon(
		0 0,
		calc(100% - 1.2rem) 0,
		100% 1.2rem,
		100% 100%,
		1.2rem 100%,
		0 calc(100% - 1.2rem)
	);
}
/* EX_HISTORY_HERO_BTN_20260624 END */

/* ============================================================
   EX_HISTORY_BTN1_SELECTED_20260624 START — 왼쪽 버튼(.btn1) "연혁 전체보기" 상시 '선택' 고정
   CTO 요청: 왼쪽 버튼을 선택(=hover와 동일) 상태로 상시 고정 + 링크(클릭 이동) 비활성.
   방식: EX_HISTORY_HERO_BTN_20260624 의 :hover 스타일(빨강채움+빨강보더+흰글자+1.2rem 베벨)을
         기본/hover/focus 모두에 동일 적용 → 호버 시 흔들림 없음. pointer-events:none 으로 클릭 차단.
   scope: #section-history .history-hero .hero-text .btns a.btn1 (후순위 오버라이드)
   ============================================================ */
#section-history .history-hero .hero-text .btns a.btn1,
#section-history .history-hero .hero-text .btns a.btn1:hover,
#section-history .history-hero .hero-text .btns a.btn1:focus{
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
	opacity:1;
	cursor:default;
	pointer-events:none;
	clip-path:polygon(
		0 0,
		calc(100% - 1.2rem) 0,
		100% 1.2rem,
		100% 100%,
		1.2rem 100%,
		0 calc(100% - 1.2rem)
	);
}
/* EX_HISTORY_BTN1_SELECTED_20260624 END */

/* ============================================================
   EX_HISTSUM_HERO_BTN_20260624 START — 연혁 요약 페이지 히어로 버튼 좌우 상태(history와 좌우 반대)
   양식 자체는 EX_HISTORY_HERO_BTN_20260624(홈 .m-Btn 동일: 직각→hover 1.2rem 베벨+빨강채움)을 그대로 상속.
   두 페이지 모두 #section-history 스코프를 공유하므로, 요약 페이지는 .btns.histsum-btns 로 구분해
   좌=비선택(아웃라인)+링크 활성, 우=선택고정(빨강+베벨)+링크 차단 으로 오버라이드한다.
   scope: #section-history .history-hero .hero-text .btns.histsum-btns ...
   ============================================================ */
/* 좌 .btn1 — EX_HISTORY_BTN1_SELECTED_20260624(선택고정/pointer차단) 무력화 → 비선택 아웃라인 + 링크 활성.
   기본 양식(투명+흰테두리+직각)은 EX_HISTORY_HERO_BTN_20260624 기본 규칙을 그대로 사용. hover 시 빨강채움+베벨도 그대로 동작. */
#section-history .history-hero .hero-text .btns.histsum-btns a.btn1,
#section-history .history-hero .hero-text .btns.histsum-btns a.btn1:focus{
	background:transparent;
	border-color:#fff;
	color:#fff;
	cursor:pointer;
	pointer-events:auto;
	clip-path:polygon(0 0,100% 0,100% 0,100% 100%,0 100%,0 100%);
}
#section-history .history-hero .hero-text .btns.histsum-btns a.btn1:hover{
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
	opacity:1;
	clip-path:polygon(
		0 0,
		calc(100% - 1.2rem) 0,
		100% 1.2rem,
		100% 100%,
		1.2rem 100%,
		0 calc(100% - 1.2rem)
	);
}
/* 우 .btn-cross.btn-cross--selected — 상시 선택 고정(빨강채움+흰글자+1.2rem 베벨) + 링크 차단.
   EX_HISTCROSSBTN(아웃라인 톤)을 이김. hover/focus 도 동일 → 흔들림 없음. */
#section-history .history-hero .hero-text .btns.histsum-btns a.btn-cross.btn-cross--selected,
#section-history .history-hero .hero-text .btns.histsum-btns a.btn-cross.btn-cross--selected:hover,
#section-history .history-hero .hero-text .btns.histsum-btns a.btn-cross.btn-cross--selected:focus{
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
	opacity:1;
	cursor:default;
	pointer-events:none;
	clip-path:polygon(
		0 0,
		calc(100% - 1.2rem) 0,
		100% 1.2rem,
		100% 100%,
		1.2rem 100%,
		0 calc(100% - 1.2rem)
	);
}
/* EX_HISTSUM_HERO_BTN_20260624 END */

/* ===== EX_HISTSUM_FONT_UNIFY_20260624 START =====
   목적: history_summary(연혁 요약) 페이지 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상(데스크탑): 데스크탑 정답 px로 전 폭 고정(rem 스케일/중간 미디어쿼리 무력화)
   - 840px 이하(모바일): 모바일 px로 전 폭 고정(480/400 등 추가 분기 무력화)
   스코프: #section-history.histsum-page (요약 전용). history(전체연혁) 무영향.
   버튼(.btns a)은 제외(이미 완료). 색/구조/기능 미변경. */

@media (min-width:841px){
  #section-history.histsum-page .history-tab a.history-tab-link{font-size:20px !important; line-height:26px !important;}
  #section-history.histsum-page .history-hero .hero-text .period{font-size:52px !important; line-height:57.2px !important;}
  #section-history.histsum-page .history-hero .hero-text .desc{font-size:22px !important; line-height:32px !important;}
  #section-history.histsum-page .history-block .period-label p{font-size:46px !important; line-height:50.6px !important;}
  #section-history.histsum-page .history-block .period-label .period-years{font-size:20px !important; line-height:24px !important;}
  #section-history.histsum-page .history-block .period-label .period-desc{font-size:14px !important; line-height:20px !important;}
  #section-history.histsum-page .history-block--left .history-list > li > h5,
  #section-history.histsum-page .history-block--right .history-list > li > h5{font-size:28px !important; line-height:28px !important;}
  #section-history.histsum-page .history-list > li > dl > dt{font-size:19px !important; line-height:30.4px !important;}
  #section-history.histsum-page .history-list > li > dl > dd{font-size:19px !important; line-height:30.4px !important;}
}

@media (max-width:840px){
  #section-history.histsum-page .history-tab a.history-tab-link{font-size:13px !important; line-height:1.2 !important;}
  #section-history.histsum-page .history-hero .hero-text .period{font-size:14px !important; line-height:1.4 !important;}
  #section-history.histsum-page .history-hero .hero-text .desc{font-size:13px !important; line-height:1.6 !important;}
  #section-history.histsum-page .history-block .period-label p{font-size:18px !important; line-height:1.2 !important;}
  #section-history.histsum-page .history-block .period-label .period-years{font-size:14px !important; line-height:1.3 !important;}
  #section-history.histsum-page .history-block .period-label .period-desc{font-size:13px !important; line-height:1.6 !important;}
  #section-history.histsum-page .history-block--left .history-list > li > h5,
  #section-history.histsum-page .history-block--right .history-list > li > h5{font-size:16px !important; line-height:1.2 !important;}
  #section-history.histsum-page .history-list > li > dl > dt{font-size:13px !important; line-height:1.5 !important;}
  #section-history.histsum-page .history-list > li > dl > dd{font-size:13px !important; line-height:1.5 !important;}
}
/* ===== EX_HISTSUM_FONT_UNIFY_20260624 END ===== */


/* === EX_SUSTAIN_HERO_GAP_20260624 START === */
/* 히어로(ESG 빨간카드) ↔ 환경 회색배경 사이 흰 여백 확보 (시안 일치, 1920기준 약 7.9%).
   기존 straddle(esg-cards margin-bottom:-110px → 회색배경이 카드와 겹침)을 해제하고,
   ESG 카드는 히어로(.sustain-bg) 안에서 정상 종료, 회색배경은 그 아래 흰 여백 후 시작. scope: #section-sustain */
#section-sustain .esg-cards{ margin-bottom:0 !important; }
#section-sustain .sustain-bg{ padding-bottom:8rem !important; }
#section-sustain .full-area.gray{ margin-top:7rem !important; }
@media (max-width:1024px){
	#section-sustain .full-area.gray{ margin-top:9rem !important; }
	#section-sustain .sustain-bg{ padding-bottom:6rem !important; }
}
@media (max-width:480px){
	#section-sustain .full-area.gray{ margin-top:6rem !important; }
	#section-sustain .sustain-bg{ padding-bottom:8rem !important; }
}
/* === EX_SUSTAIN_HERO_GAP_20260624 END === */

/* === EX_SUSTAIN_ENV_CARDS_20260624 START === */
/* 환경 카드 3개 동일 크기 + 오른쪽 카드를 왼쪽 2개의 정확한 세로 중간으로 (시안 지그재그 배치).
   - 카드 높이 통일: figure 비율 고정(16/10) + dl min-height 고정 → 전 카드 동일 높이
   - 오른쪽 카드(2번째 자식)는 grid 정상 위치(좌상단 카드와 같은 row)에서 transform:translateY로
     (카드높이+세로갭)/2 만큼 내림. transform은 레이아웃에 영향 없어 좌하단 카드(3번째) 위치 불변 → 정확한 중간.
   적용 범위: 환경/공정경영/사회 세 섹션 동일 패턴이라 .sustain-cards 공통 적용. scope: #section-sustain */
#section-sustain .sustain-cards{ align-items:start !important; row-gap:4rem !important; }
#section-sustain .sustain-cards>li{ align-self:start !important; }
#section-sustain .sustain-cards>li>figure img{ aspect-ratio:16/10 !important; }
#section-sustain .sustain-cards>li>dl{ min-height:18rem !important; box-sizing:border-box !important; }
/* 카드높이 ≈ figure 24.8rem + dl 18rem = 42.8rem, 세로갭 4rem → 중간 오프셋 (42.8+4)/2 = 23.4rem */
#section-sustain .sustain-cards>li:nth-child(2){ margin-top:0 !important; transform:translateY(23.4rem) !important; }
#section-sustain .sustain-cards>li:nth-child(3){ margin-top:0 !important; }
@media (max-width:1024px) and (min-width:481px){
	#section-sustain .sustain-cards>li:nth-child(2){ transform:translateY(21rem) !important; }
}
@media (max-width:480px){
	/* 1열 스택 폴백 — 엇갈림 해제 */
	#section-sustain .sustain-cards{ grid-template-columns:1fr !important; align-items:stretch !important; row-gap:2.4rem !important; }
	#section-sustain .sustain-cards>li>dl{ min-height:0 !important; }
	#section-sustain .sustain-cards>li:nth-child(2){ transform:none !important; }
}
/* === EX_SUSTAIN_ENV_CARDS_20260624 END === */

/* === EX_AWARDS_TAB_FONT_20260624 START === — 수상/인증 그룹탭 텍스트 사이즈를 연혁(history-tab) 탭과 폭별 일치(2026-06-24)
   CTO 요청: "수상/인증 탭 텍스트 사이즈를 연혁과 똑같이."
   scope: #section-awards .awards-tab > a.awards-tab-link (타 페이지/연혁 영향 0)
   연혁 history-tab 링크 실측 computed(가로폭별): ≤480px=13px / 481~840px=15px / 841~1024px=17px / ≥1025px=20px
   (769~840 구간 연혁 자체 rem 트랩 9.1px → 본 작업은 px 명시 원칙으로 의도값 15px 통일)
   기존 awards 탭: 1440=14px / 768=14px(!important) / 481~1024=13.65px(!important) → 연혁 대비 작음.
   해결: 파일 최후순위 append → cascade 우선. 기존 481~1023 / ≤768 / ≤480 규칙이 !important 라
         네 분기 모두 !important 로 명싘(specificity 동일·!important 끼리는 후순위 우선). font-size 만 손댐.
   무회귀: 색상/배치/패딩/높이/sticky/spy/hscroll/select 동작 일절 미수정. px 명시(rem 트랩 회피). */
@media only screen and (min-width:1025px){
	#section-awards .awards-tab > a.awards-tab-link{ font-size:20px !important; }
}
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-awards .awards-tab > a.awards-tab-link{ font-size:17px !important; }
}
@media only screen and (max-width:840px) and (min-width:481px){
	#section-awards .awards-tab > a.awards-tab-link{ font-size:15px !important; }
}
@media only screen and (max-width:480px){
	#section-awards .awards-tab > a.awards-tab-link{ font-size:13px !important; }
}
/* === EX_AWARDS_TAB_FONT_20260624 END === */


/* === EX_AWARDS_YEAR_20260624 START === 수상/인증 연도 마크 시안 정합 (빨간 막대 제거 + 큰 검정 볼드) */
#section-awards .awards-year h3{font-weight:800; font-size:3.6rem; line-height:1.2; color:#111; padding-left:0;}
#section-awards .awards-year h3::before{display:none !important; content:none !important;}
@media (max-width:768px){
	#section-awards .awards-year h3{font-size:2.8rem; padding-left:0;}
}
@media (max-width:480px){
	#section-awards .awards-year h3{font-size:24px; padding-left:0;}
}
@media (max-width:360px){
	#section-awards .awards-year h3{font-size:22px; padding-left:0;}
}
/* === EX_AWARDS_YEAR_20260624 END === */

/* === EX_AWARDS_CARD_20260624 START === 수상/인증 카드 박스 시안 정합 (얇은 테두리 + 미세 그림자 + 약한 모서리 + 인증 배지 흰배경/빨간보더) */
#section-awards .awards-year > ul > li{
	padding:2.4rem 2.6rem;
	border:1px solid #e5e5e5;
	border-radius:0.4rem;
	background:#fff;
	box-shadow:0 1px 4px rgba(0,0,0,0.06);
}
#section-awards .awards-year > ul > li .badge{
	display:inline-block;
	padding:0.4rem 1.5rem;
	font-size:1.2rem;
	font-weight:600;
	line-height:1.4;
	border-radius:1.2rem;
	margin-bottom:1.4rem;
}
#section-awards .card-prize .badge{background:#e4002b; color:#fff; border:1px solid #e4002b;}
#section-awards .card-cert .badge{background:#fff !important; color:#e4002b !important; border:1px solid #e4002b !important;}
#section-awards .awards-year > ul > li h5{font-weight:700; font-size:1.6rem; line-height:2.4rem; color:#111; margin:0 0 1rem;}
#section-awards .awards-year > ul > li p{font-size:1.3rem; line-height:2rem; color:#666; margin:0;}
#section-awards .awards-year > ul > li p.award-news-link{margin-top:0.4rem;}
#section-awards .awards-year > ul > li p.award-news-link a{color:#666; text-decoration:underline;}
@media (max-width:480px){
	#section-awards .awards-year > ul > li{padding:16px 16px; box-shadow:0 1px 4px rgba(0,0,0,0.06);}
	#section-awards .awards-year > ul > li h5{font-size:16px; line-height:22px;}
	#section-awards .awards-year > ul > li p{font-size:13px; line-height:19px;}
	#section-awards .awards-year > ul > li .badge{font-size:12px;}
}
/* === EX_AWARDS_CARD_20260624 END === */

/* === EX_AWARDS_YEAR_FIX_20260624 START === yr-label 빨간 세로바 제거 보강(시안: 순수 검정 숫자) */
#section-awards .awards-year h3 .yr-label{padding-left:0 !important; font-weight:800 !important; color:#111 !important;}
#section-awards .awards-year h3 .yr-label::before{display:none !important; content:none !important; width:0 !important;}
@media (max-width:768px){
	#section-awards .awards-year h3 .yr-label{padding-left:0 !important;}
	#section-awards .awards-year h3 .yr-label::before{display:none !important; width:0 !important;}
}
@media (max-width:480px){
	#section-awards .awards-year h3 .yr-label{padding-left:0 !important;}
	#section-awards .awards-year h3 .yr-label::before{display:none !important; width:0 !important;}
}
@media (max-width:360px){
	#section-awards .awards-year h3 .yr-label{padding-left:0 !important;}
	#section-awards .awards-year h3 .yr-label::before{display:none !important; width:0 !important;}
}
/* === EX_AWARDS_YEAR_FIX_20260624 END === */

/* ===== EX_TALENT_LAYOUT_20260624 START ===== */
/* 인재상: 콘텐츠 폭 1280px(시안) + 제목 크기 시안 정합. #section-talent 스코프 한정. */
#section-talent{max-width:128rem;}
#section-talent .talent-xcode{max-width:128rem;}
#section-talent .talent-row > dl > dt,
#section-talent .talent-xcode > dl > dt{font-size:32px; line-height:1.3;}
@media (max-width:1440px){
	#section-talent{max-width:128rem;}
}
@media (max-width:1024px){
	#section-talent .talent-row > dl > dt,
	#section-talent .talent-xcode > dl > dt{font-size:22px; line-height:1.3;}
}
@media (max-width:480px){
	#section-talent .talent-row > dl > dt,
	#section-talent .talent-xcode > dl > dt{font-size:19px; line-height:1.3;}
}
/* ===== EX_TALENT_LAYOUT_20260624 END ===== */

/* ===== EX_TALENT_LIST_20260624 START ===== */
/* 인재상: 본문 불릿(·) 빨간 마커 + hanging indent. 텍스트 첫글자가 U+00B7(·)이라 ::first-letter로 마커만 빨강. */
#section-talent .talent-row > dl > dd p,
#section-talent .talent-xcode > dl .xcode-item p,
#section-talent .talent-mice .mice-desc p{padding-left:1.1em; text-indent:-1.1em;}
#section-talent .talent-row > dl > dd p::first-letter,
#section-talent .talent-xcode > dl .xcode-item p::first-letter,
#section-talent .talent-mice .mice-desc p::first-letter{color:var(--point);}
@media (max-width:480px){
	#section-talent .talent-row > dl > dd p,
	#section-talent .talent-xcode > dl .xcode-item p,
	#section-talent .talent-mice .mice-desc p{padding-left:1em; text-indent:-1em;}
}
/* ===== EX_TALENT_LIST_20260624 END ===== */

/* ===== EX_TALENT_MICE_20260624 START ===== */
/* 인재상 MICE: 원 지름 시안 정합(~100px). SVG width 확대(비율 70:170 유지 -> 100:243). */
#section-talent .talent-mice .mice-svg{width:100px; height:243px;}
/* mice-name(Meeting 등): 시안은 첫 글자도 검정 -> first-letter 빨강 override 무효화 */
#section-talent .talent-mice .mice-name{font-size:24px;}
#section-talent .talent-mice .mice-name::first-letter{color:#000;}
#section-talent .talent-mice .mice-name:first-letter{color:#000;}
#section-talent .talent-mice .mice-sub{font-size:22px;}
@media (max-width:1024px){
	#section-talent .talent-mice .mice-svg{width:80px; height:194px;}
	#section-talent .talent-mice .mice-name{font-size:18px;}
	#section-talent .talent-mice .mice-sub{font-size:17px;}
}
@media (max-width:480px){
	#section-talent .talent-mice .mice-svg{width:70px; height:170px;}
	#section-talent .talent-mice .mice-name{font-size:18px;}
	#section-talent .talent-mice .mice-sub{font-size:18px;}
}
/* ===== EX_TALENT_MICE_20260624 END ===== */

/* ===== EX_JOURNEY_STEPCARD_20260624 START ===== */
/* 합류 여정 — 상단 4단계 스텝카드 색상/그림자/모서리 시안 정합 (데스크탑 1440 기준) */
#section-journey .journey-steps > li{
	border:1px solid #ebebeb;
	border-radius:8px;
	box-shadow:0 2px 10px rgba(0,0,0,0.04);
	background:#fff;
}
#section-journey .journey-steps > li .num{
	font-size:14px;
	font-weight:600;
	color:#222;
}
#section-journey .journey-steps > li dl dt{
	font-size:18px;
	line-height:1.4;
}
#section-journey .journey-steps > li dl dd{
	font-size:14px;
	line-height:1.5;
}
/* ===== EX_JOURNEY_STEPCARD_20260624 END ===== */

/* ===== EX_JOURNEY_DETAIL_20260624 START ===== */
/* 합류 여정 — 하단 상세 항목 글자크기/행높이/간격 시안 정합 (데스크탑 1440 기준) */
#section-journey .journey-detail > dl{
	padding:26px 0;
}
#section-journey .journey-detail > dl dt{
	font-size:18px;
	line-height:1.4;
}
#section-journey .journey-detail > dl dd{
	font-size:15px;
	line-height:1.7;
}
#section-journey .journey-detail > dl dd .dd-grid p.t{
	font-size:15px;
	line-height:1.4;
	margin-bottom:6px;
}
/* ===== EX_JOURNEY_DETAIL_20260624 END ===== */

/* ===== EX_TALENT_MICE2_20260624 START ===== */
/* 인재상 MICE 보정: 기존 TALENT-MICE-SVG 블록이 !important로 grid-rows·svg height를 170px 고정.
   시안 원 지름 ~100px 재현 위해 svg height 243px + graphic 2행을 !important로 동반 확대(겹침 방지).
   width:auto 유지 -> viewBox 70:170 비율로 width 자동 ~100px. EX_TALENT_MICE_20260624(앞블록)의 width 지정은 무효화. */
#section-talent .talent-mice .mice-svg{height:243px !important; width:auto !important;}
#section-talent .talent-mice > li{grid-template-rows:121.5px 121.5px auto !important;}
@media only screen and (max-width:1024px){
	#section-talent .talent-mice .mice-svg{height:194px !important;}
	#section-talent .talent-mice > li{grid-template-rows:97px 97px auto !important;}
}
@media only screen and (max-width:840px){
	#section-talent .talent-mice .mice-svg{height:170px !important;}
	#section-talent .talent-mice > li{grid-template-rows:85px 85px auto !important;}
}
@media only screen and (max-width:480px){
	#section-talent .talent-mice .mice-svg{height:118px !important;}
	#section-talent .talent-mice > li{grid-template-rows:59px 59px auto !important;}
}
/* ===== EX_TALENT_MICE2_20260624 END ===== */

/* ===== EX_JOURNEY_PIXEL_20260624 START ===== */
/* 합류 여정 — 시안 픽셀 정합 정밀 교정 (데스크탑 1440/1160 컨테이너 기준)
   시안 카드 종횡비 ≈ 0.98(정사각형), 아이콘 ≈ 60px, 번호 상단, 화살표 회색 큰 ›.
   기존 마커 블록은 편집하지 않고 후순위 append로 덮어쓴다. */
#section-journey .journey-steps{
	gap:24px;
	margin:48px 0 90px;
}
#section-journey .journey-steps > li:not(.arrow){
	flex:1 1 0;
	padding:30px 18px 34px;
	border:1px solid #ebebeb;
	border-radius:10px;
	box-shadow:0 4px 16px rgba(0,0,0,0.05);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	min-height:248px;
}
#section-journey .journey-steps > li:not(.arrow) .num{
	font-size:15px;
	font-weight:600;
	color:#222;
	margin:0 0 18px;
	letter-spacing:0.02em;
}
#section-journey .journey-steps > li:not(.arrow) figure{
	width:60px;
	height:60px;
	margin:0 0 22px;
}
#section-journey .journey-steps figure svg{
	width:56px !important;
	height:56px !important;
}
#section-journey .journey-steps > li:not(.arrow) dl{
	margin:0;
	width:100%;
}
#section-journey .journey-steps > li:not(.arrow) dl dt{
	font-size:18px;
	font-weight:700;
	color:#111;
	line-height:1.4;
	margin:0 0 9px;
}
#section-journey .journey-steps > li:not(.arrow) dl dd{
	font-size:14px;
	font-weight:400;
	color:#888;
	line-height:1.5;
	margin:0;
}
/* 화살표: 카드 사이 회색 › 크게, 세로 중앙 */
#section-journey .journey-steps > li.arrow{
	flex:0 0 24px;
	display:flex;
	align-items:center;
	justify-content:center;
	border:none;
	background:transparent;
	padding:0;
	min-height:0;
}
#section-journey .journey-steps > li.arrow:before{
	content:"›";
	font-size:34px;
	line-height:1;
	color:#bbb;
	font-weight:300;
	display:block;
}
/* ===== EX_JOURNEY_PIXEL_20260624 END ===== */

/* ===== EX_FAQ_BTN_TOGGLE_20260624 START — CTO 요청: (1)검색버튼 검정 (2)아코디언 토글 +/− 검정 (3)토글 원형 테두리/배경 제거. 전부 #section-faq 스코프 한정, append-only 최종 오버라이드. ===== */
/* (1) 검색 버튼: 빨강(var(--point)) → 검정 배경 + 흰 글자 */
#section-faq .faq-toolbar .search-form button[type="submit"],
#section-faq .faq-toolbar .search-form button{
	background:#000;
	color:#fff;
}
/* (2)+(3) 토글 버튼 닫힘: 검정 '+' 기호만, 원형 배경/테두리 제거 */
#section-faq .faq-table tr.faq-q td.toggle span{
	background:transparent;
	border:0;
	border-radius:0;
	color:#111;
}
/* (2)+(3) 토글 버튼 열림: 검정 '−' 기호만, 원형 배경/테두리 제거 */
#section-faq .faq-table tr.faq-q.open td.toggle span{
	background:transparent;
	border:0;
	border-radius:0;
	color:#111;
}
/* (2) ::before 기호 색도 검정 명시(상속 보강) */
#section-faq .faq-table tr.faq-q td.toggle span:before,
#section-faq .faq-table tr.faq-q.open td.toggle span:before{
	color:#111;
}
/* ===== EX_FAQ_BTN_TOGGLE_20260624 END ===== */


/* ============================================================
   EX_JOBS_LIST_20260624 START — 채용공고 목록(careers/jobs) 시안 보정
   CTO 요청(05CAREERS/0504): 아이콘 회색 / 탭↔테이블 간격 / row hover 배경만 표시 / 그룹 구분자(|)
   scope: #section-jobs (append 후순위로 기존 PAGE-ADDITIONS:jobs 보정 규칙 무력화)
   ============================================================ */

/* (3) 메타 아이콘 — 위치 유지, 색만 회색으로 환원(기존 빨강 #e4002b → 회색) */
#section-jobs .jobs-list .job-meta p i,
#section-jobs .jobs-list .job-meta p i:before{ color:#888; }

/* (2) 탭(카테고리 행)과 테이블(목록) 사이 약간의 공간 — 시안 픽셀 기준 약 2.4rem */
#section-jobs .jobs-list{ margin-top:2.4rem; }

/* (4) 그룹 태그 — 구분자는 PHP에서 ' | '로 출력. 색/여백 보정(구분자 포함 전체 회색) */
#section-jobs .jobs-list .job-info .tags{ color:#9a9a9a; }

/* (5) row 배경 — 기본은 배경 없음(흰색), 마우스 올릴 때만 연회색.
   기존 EX_JOBS_FEATURED(:first-child 항상 회색) 무력화 + hover 로 전환. */
#section-jobs .jobs-list > li:first-child{ background:transparent; }
#section-jobs .jobs-list > li:hover{ background:#f5f5f5; }

/* EX_JOBS_LIST_20260624 END */


/* ============================================================
   EX_JOBS_BTN_20260624 START — '입사지원' 버튼을 홈 '온라인 문의하기'(.m-Btn)와 동일 양식
   CTO 요청: 크기/여백/색/hover 모서리깎임(clip-path 1.2rem 베벨) 동일.
   참조 원본 .m-Btn: 기본 흰 아웃라인+직각 → hover 시 var(--point) #e4002b 채움 + 1.2rem 베벨.
   기본은 흰 아웃라인(글자 어두움, 흰배경 위 가독). hover 시 빨강 채움+베벨.
   기존 EX_JOBS_FEATURED(:first-child 항상 빨강) 무력화 → 첫 row 도 기본 아웃라인, hover 시에만 빨강.
   scope: #section-jobs .jobs-list .job-action .btn-apply (마감 .btn-apply-off 제외)
   ============================================================ */
#section-jobs .jobs-list .job-action .btn-apply:not(.btn-apply-off){
	min-width:11rem;
	height:4.4rem;
	padding:0 1.8rem;
	border:1px solid #999;
	border-radius:0;
	background:#fff;
	font-weight:500;
	font-size:1.4rem;
	line-height:1;
	color:#222;
	text-align:center;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	transition: background-color .3s ease, border-color .3s ease, color .3s ease, clip-path .3s ease;
	clip-path:polygon(
		0 0,
		100% 0,
		100% 0,
		100% 100%,
		0 100%,
		0 100%
	);
}
#section-jobs .jobs-list .job-action .btn-apply:not(.btn-apply-off):hover{
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
	filter:none;
	clip-path:polygon(
		0 0,
		calc(100% - 1.2rem) 0,
		100% 1.2rem,
		100% 100%,
		1.2rem 100%,
		0 calc(100% - 1.2rem)
	);
}
/* 첫 row 강조(항상 빨강) 무력화 — 기본 아웃라인, hover 시에만 빨강(위 규칙 상속) */
#section-jobs .jobs-list > li:first-child .job-action .btn-apply:not(.btn-apply-off){
	background:#fff;
	border-color:#999;
	color:#222;
}
#section-jobs .jobs-list > li:first-child .job-action .btn-apply:not(.btn-apply-off):hover{
	background:var(--point, #e4002b);
	border-color:var(--point, #e4002b);
	color:#fff;
}
/* EX_JOBS_BTN_20260624 END */


/* ============================================================
   EX_JOBS_ICON_20260624 START — (3) 메타아이콘 회색 환원 최종 보강
   기존 EX_CAREERS_JOBS_20260623(9487: 전역 빨강) 및 EX_CAREERS_JOBS_20260623_M(480↓ !important 빨강)을
   상쇄하기 위해 동일/상위 specificity + !important 로 회색 명시. 위치는 변경 없음(색만).
   데스크탑·태블릿·모바일 전 폭 회색 통일(시안 0504).
   ============================================================ */
#section-jobs .jobs-list .job-meta p i,
#section-jobs .jobs-list .job-meta p i:before{ color:#888 !important; }
@media (max-width:480px){
	#section-jobs .jobs-list .job-meta p i,
	#section-jobs .jobs-list .job-meta p i:before{ color:#888 !important; }
}
/* EX_JOBS_ICON_20260624 END */


/* ============================================================
   EX_JOBS_PAGING_20260624 START — (8) 하단 페이지네이션을 다른 게시판(pr/news, pr/notice)과 동일 공통 양식으로
   시안 0504: '‹ [1] 2 3 ›' — 현재페이지=검은 박스(흰 글자), 일반=흰박스/회색테두리, prev/next=회색 화살표 박스.
   공통 .paginate(전역) 양식과 동일. 기존 #section-jobs .paginate 오버라이드(밑줄형 on/테두리 제거)를 무력화.
   scope: #section-jobs .paginate (데스크탑 한정 오버라이드 환원)
   ============================================================ */
#section-jobs .paginate{ margin-top:5rem; gap:0.6rem; }
#section-jobs .paginate > a{
	display:inline-flex; align-items:center; justify-content:center;
	min-width:3.4rem; height:3.4rem; padding:0 0.8rem;
	background:#fff; border:1px solid #ddd; font-size:1.3rem; color:#666;
	text-decoration:none;
}
#section-jobs .paginate > a.on{
	background:#000; border:1px solid #000; color:#fff; font-weight:700;
	text-decoration:none; text-underline-offset:0;
}
#section-jobs .paginate > a.prev,
#section-jobs .paginate > a.next{ border:1px solid #ddd; background:#fff; color:#999; }
/* EX_JOBS_PAGING_20260624 END */

/* ===== EX_JOURNEY_PIXEL_20260624_2 START ===== */
/* 사이클4 색상 정밀 교정: 시안 픽셀 샘플링 결과 반영
   화살표 코어 #616161, 부제 #737373, 제목 진한 검정. 후순위 append로 덮음. */
#section-journey .journey-steps > li.arrow:before{
	color:#888;
}
#section-journey .journey-steps > li:not(.arrow) dl dd{
	color:#777;
}
#section-journey .journey-steps > li:not(.arrow) dl dt{
	color:#1a1a1a;
}
/* ===== EX_JOURNEY_PIXEL_20260624_2 END ===== */

/* ===== EX_JOURNEY_PIXEL_20260624_3 START ===== */
/* 사이클5 화살표 색 미세 진하게: 현재 #888(코어134) vs 시안 코어 #616161~#737373.
   한 단계 진한 #777로 시안 글리프 농도에 근접. */
#section-journey .journey-steps > li.arrow:before{
	color:#777;
}
/* ===== EX_JOURNEY_PIXEL_20260624_3 END ===== */

/* ===== EX_JOURNEY_PIXEL_20260624_4 START ===== */
/* 사이클6 아이콘 크기 강제: 선행 9107라인 `.journey-steps li figure svg{48px !important}`(명시도 0,3,1)가
   우선 적용되어 56px 미반영. :not(.arrow)로 명시도(0,4,1) 높여 시안 아이콘 크기로 확정.
   시안 카드1 아이콘 글리프 폭 59/280=21% → svg 컨테이너 56px 유지. */
#section-journey .journey-steps > li:not(.arrow) figure{
	width:60px !important;
	height:60px !important;
	margin:0 0 22px !important;
	background:transparent !important;
	border:0 !important;
	border-radius:0 !important;
}
#section-journey .journey-steps > li:not(.arrow) figure svg{
	width:56px !important;
	height:56px !important;
}
/* ===== EX_JOURNEY_PIXEL_20260624_4 END ===== */

/* ===== EX_JOURNEY_PIXEL_20260624_5 START ===== */
/* 사이클7 화살표 색 확정: 선행 9135라인 `arrow:before{color:#bbb !important}`가
   사이클5 #777(non-important)을 덮어 computed가 #bbb(187)로 잔존.
   시안 화살표 글리프 코어 #616161~#737373 → !important로 #777 강제. */
#section-journey .journey-steps > li.arrow:before{
	color:#777 !important;
}
/* ===== EX_JOURNEY_PIXEL_20260624_5 END ===== */


/* ===== EX_CEO_FONT_UNIFY_20260624 START =====
   /about/ceo #section-ceo 폰트 840px 단일 분기. 색/구조 미변경, font-size/line-height만. */
@media (min-width:841px){
  #section-ceo .ceo-photo p{font-size:30px !important; line-height:30px !important;}
  #section-ceo .ceo-photo p strong{font-size:30px !important; line-height:30px !important;}
  #section-ceo .ceo-text p{font-size:18px !important; line-height:28px !important;}
  #section-ceo .ceo-text p strong{font-size:20px !important; line-height:30px !important;}
  #section-ceo .ceo-text .sign strong{font-size:20px !important; line-height:20px !important;}
}
@media (max-width:840px){
  #section-ceo .ceo-photo p{font-size:18px !important; line-height:25px !important;}
  #section-ceo .ceo-photo p strong{font-size:18px !important; line-height:25px !important;}
  #section-ceo .ceo-text p{font-size:14px !important; line-height:24px !important;}
  #section-ceo .ceo-text p strong{font-size:15px !important; line-height:24px !important;}
  #section-ceo .ceo-text .sign strong{font-size:15px !important; line-height:15px !important;}
}
/* ===== EX_CEO_FONT_UNIFY_20260624 END ===== */

/* ===== EX_CI_FONT_UNIFY_20260624 START =====
   /about/ci #section-ci 폰트 840px 단일 분기. */
@media (min-width:841px){
  #section-ci .ci-intro p{font-size:16px !important; line-height:28px !important;}
  #section-ci .ci-section .ci-head h4{font-size:20px !important; line-height:26px !important;}
  #section-ci .ci-section > h4{font-size:20px !important; line-height:26px !important;}
  #section-ci .ci-section .ci-head .ci-down a{font-size:13px !important; line-height:17px !important;}
  #section-ci .ci-section .ci-logo-row p{font-size:14px !important; line-height:24px !important;}
  #section-ci .ci-section p.ci-desc{font-size:14px !important; line-height:24px !important;}
  #section-ci .ci-section ul.logo-type li p{font-size:13px !important; line-height:17px !important;}
  #section-ci .ci-section ul.logo-colors li dl dt{font-size:15px !important; line-height:20px !important;}
  #section-ci .ci-section ul.logo-colors li dl dd{font-size:12px !important; line-height:18px !important;}
}
@media (max-width:840px){
  #section-ci .ci-intro p{font-size:14px !important; line-height:24px !important;}
  #section-ci .ci-section .ci-head h4{font-size:16px !important; line-height:21px !important;}
  #section-ci .ci-section > h4{font-size:16px !important; line-height:21px !important;}
  #section-ci .ci-section .ci-head .ci-down a{font-size:13px !important; line-height:17px !important;}
  #section-ci .ci-section .ci-logo-row p{font-size:13px !important; line-height:22px !important;}
  #section-ci .ci-section p.ci-desc{font-size:13px !important; line-height:22px !important;}
  #section-ci .ci-section ul.logo-type li p{font-size:13px !important; line-height:20px !important;}
  #section-ci .ci-section ul.logo-colors li dl dt{font-size:15px !important; line-height:20px !important;}
  #section-ci .ci-section ul.logo-colors li dl dd{font-size:13px !important; line-height:20px !important;}
}
/* ===== EX_CI_FONT_UNIFY_20260624 END ===== */

/* ===== EX_HISTORY_FONT_UNIFY_20260624 START =====
   /about/history 전체연혁 페이지. histsum(.histsum-page 요약)은 제외(:not 스코프). */
@media (min-width:841px){
  #section-history:not(.histsum-page) .history-tab a.history-tab-link{font-size:20px !important; line-height:26px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.period{font-size:52px !important; line-height:57.2px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.desc{font-size:22px !important; line-height:32px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.btns a{font-size:15px !important; line-height:15px !important;}
  #section-history:not(.histsum-page) .history-content .period-label > p{font-size:46px !important; line-height:50.6px !important;}
  #section-history:not(.histsum-page) .history-content .period-label .period-years{font-size:20px !important; line-height:24px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > h5{font-size:28px !important; line-height:28px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > dl > dt{font-size:19px !important; line-height:30.4px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > dl > dd{font-size:19px !important; line-height:30.4px !important;}
}
@media (max-width:840px){
  #section-history:not(.histsum-page) .history-tab a.history-tab-link{font-size:13px !important; line-height:16px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.period{font-size:18px !important; line-height:25px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.desc{font-size:14px !important; line-height:22px !important;}
  #section-history:not(.histsum-page) .history-hero .hero-text p.btns a{font-size:13px !important; line-height:17px !important;}
  #section-history:not(.histsum-page) .history-content .period-label > p{font-size:20px !important; line-height:26px !important;}
  #section-history:not(.histsum-page) .history-content .period-label .period-years{font-size:14px !important; line-height:18px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > h5{font-size:16px !important; line-height:20px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > dl > dt{font-size:13px !important; line-height:20px !important;}
  #section-history:not(.histsum-page) .history-content ul.history-list > li > dl > dd{font-size:13px !important; line-height:20px !important;}
}
/* ===== EX_HISTORY_FONT_UNIFY_20260624 END ===== */

/* ===== EX_AREAS_FONT_UNIFY_20260624 START =====
   /business/areas #section-areas 폰트 840px 단일 분기. */
@media (min-width:841px){
  #section-areas .sGroup.white h4{font-size:40px !important; line-height:50px !important;}
  #section-areas .sGroup.white > div{font-size:22px !important; line-height:32px !important;}
  #section-areas ul.icon-list li > p{font-size:18px !important; line-height:18px !important;}
  #section-areas ul.icon-list li dl dt{font-size:25px !important; line-height:35px !important;}
  #section-areas ul.icon-list li dl dd{font-size:18px !important; line-height:26px !important;}
  #section-areas .areas-detail .detail-text h4{font-size:34px !important; line-height:40.8px !important;}
  #section-areas .areas-detail .detail-text h4 em.num{font-size:34px !important; line-height:40.8px !important;}
  #section-areas .areas-detail .detail-text p.detail-en{font-size:17px !important; line-height:23.8px !important;}
  #section-areas .areas-detail .detail-text p.detail-desc{font-size:20px !important; line-height:32px !important;}
  #section-areas .areas-detail .detail-text p.detail-desc b{font-size:20px !important; line-height:32px !important;}
  #section-areas .areas-detail .detail-text ul.tag-list li{font-size:14px !important; line-height:19.6px !important;}
  #section-areas .areas-detail p.bg-text{font-size:90px !important; line-height:90px !important;}
}
@media (max-width:840px){
  #section-areas .sGroup.white h4{font-size:24px !important; line-height:30px !important;}
  #section-areas .sGroup.white > div{font-size:14px !important; line-height:21px !important;}
  #section-areas ul.icon-list li > p{font-size:14px !important; line-height:14px !important;}
  #section-areas ul.icon-list li dl dt{font-size:17px !important; line-height:23px !important;}
  #section-areas ul.icon-list li dl dd{font-size:14px !important; line-height:22px !important;}
  #section-areas .areas-detail .detail-text h4{font-size:19px !important; line-height:25px !important;}
  #section-areas .areas-detail .detail-text h4 em.num{font-size:19px !important; line-height:25px !important;}
  #section-areas .areas-detail .detail-text p.detail-en{font-size:13px !important; line-height:18px !important;}
  #section-areas .areas-detail .detail-text p.detail-desc{font-size:14px !important; line-height:22px !important;}
  #section-areas .areas-detail .detail-text p.detail-desc b{font-size:14px !important; line-height:22px !important;}
  #section-areas .areas-detail .detail-text ul.tag-list li{font-size:13px !important; line-height:18px !important;}
  #section-areas .areas-detail p.bg-text{font-size:36px !important; line-height:36px !important;}
}
/* ===== EX_AREAS_FONT_UNIFY_20260624 END ===== */

/* ===== EX_CAPABILITY_FONT_UNIFY_20260624 START =====
   /business/capabilities #section-capability 폰트 840px 단일 분기. */
@media (min-width:841px){
  #section-capability .sGroup.white h4{font-size:40px !important; line-height:50px !important;}
  #section-capability .sGroup.white > div{font-size:22px !important; line-height:32px !important;}
  #section-capability .areas-detail .detail-text h4{font-size:34px !important; line-height:42.5px !important;}
  #section-capability .areas-detail .detail-text h4 em.num{font-size:34px !important; line-height:42.5px !important;}
  #section-capability .areas-detail .detail-text p.detail-desc{font-size:18px !important; line-height:29.7px !important;}
  #section-capability .areas-detail .detail-text ul.tag-list li{font-size:14px !important; line-height:19.6px !important;}
  #section-capability .areas-detail p.bg-text{font-size:90px !important; line-height:90px !important;}
}
@media (max-width:840px){
  #section-capability .sGroup.white h4{font-size:20px !important; line-height:28px !important;}
  #section-capability .sGroup.white > div{font-size:14px !important; line-height:21px !important;}
  #section-capability .areas-detail .detail-text h4{font-size:19px !important; line-height:25px !important;}
  #section-capability .areas-detail .detail-text h4 em.num{font-size:19px !important; line-height:25px !important;}
  #section-capability .areas-detail .detail-text p.detail-desc{font-size:14px !important; line-height:22px !important;}
  #section-capability .areas-detail .detail-text ul.tag-list li{font-size:13px !important; line-height:18px !important;}
  #section-capability .areas-detail p.bg-text{font-size:36px !important; line-height:36px !important;}
}
/* ===== EX_CAPABILITY_FONT_UNIFY_20260624 END ===== */

/* ===== EX_SUSTAIN_FONT_UNIFY_20260624 START =====
   /business/sustainability #section-sustain 폰트 840px 단일 분기. */
@media (min-width:841px){
  #section-sustain .sGroup.white h4{font-size:40px !important; line-height:50px !important;}
  #section-sustain .sGroup.white > div{font-size:24px !important; line-height:32px !important;}
  #section-sustain p.sustain-promise{font-size:38px !important; line-height:49.4px !important;}
  #section-sustain ul.esg-cards li > p{font-size:19px !important; line-height:19px !important;}
  #section-sustain ul.esg-cards li dl dt{font-size:23px !important; line-height:29.9px !important;}
  #section-sustain ul.esg-cards li dl dt span{font-size:19px !important; line-height:24.7px !important;}
  #section-sustain ul.esg-cards li dl dd{font-size:34px !important; line-height:51px !important;}
  #section-sustain .sustain-section .sustain-text h4{font-size:48px !important; line-height:60px !important;}
  #section-sustain .sustain-section .sustain-text p.sustain-desc{font-size:26px !important; line-height:32px !important;}
  #section-sustain .sustain-section .sustain-text p.sustain-keyword{font-size:40px !important; line-height:50px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dt{font-size:14px !important; line-height:19.6px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dd strong{font-size:24px !important; line-height:37.2px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dd span{font-size:18px !important; line-height:27.9px !important;}
}
@media (max-width:840px){
  #section-sustain .sGroup.white h4{font-size:24px !important; line-height:30px !important;}
  #section-sustain .sGroup.white > div{font-size:14px !important; line-height:20px !important;}
  #section-sustain p.sustain-promise{font-size:16px !important; line-height:22px !important;}
  #section-sustain ul.esg-cards li > p{font-size:14px !important; line-height:14px !important;}
  #section-sustain ul.esg-cards li dl dt{font-size:16px !important; line-height:21px !important;}
  #section-sustain ul.esg-cards li dl dt span{font-size:13px !important; line-height:17px !important;}
  #section-sustain ul.esg-cards li dl dd{font-size:17px !important; line-height:24px !important;}
  #section-sustain .sustain-section .sustain-text h4{font-size:20px !important; line-height:26px !important;}
  #section-sustain .sustain-section .sustain-text p.sustain-desc{font-size:14px !important; line-height:22px !important;}
  #section-sustain .sustain-section .sustain-text p.sustain-keyword{font-size:16px !important; line-height:21px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dt{font-size:13px !important; line-height:18px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dd strong{font-size:15px !important; line-height:24px !important;}
  #section-sustain .sustain-section ul.sustain-cards li dl dd span{font-size:13px !important; line-height:21px !important;}
}
/* ===== EX_SUSTAIN_FONT_UNIFY_20260624 END ===== */
/* ===== EX_TALENT_FONT_UNIFY_20260624 START =====
   목적: /careers/talent(#section-talent) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px 고정(rem/중간 미디어쿼리 무력화)
   - 840px 이하: 768 기준 모바일 px 고정(480/400 등 추가 분기 무력화)
   font-size/line-height 만 수정. 색/구조/마진 미변경. */
@media (min-width:841px){
  #section-talent .talent-row dl dt{font-size:32px !important; line-height:41.6px !important;}
  #section-talent .talent-row dl dt span.red{font-size:32px !important; line-height:41.6px !important;}
  #section-talent .talent-row dl dd p{font-size:20px !important; line-height:30px !important;}
  #section-talent .talent-xcode dl dt{font-size:32px !important; line-height:41.6px !important;}
  #section-talent .talent-xcode dl dt span.red{font-size:32px !important; line-height:41.6px !important;}
  #section-talent .talent-xcode .xcode-item h5{font-size:26.4px !important; line-height:34.32px !important;}
  #section-talent .talent-xcode .xcode-item p{font-size:20px !important; line-height:30px !important;}
  #section-talent .talent-mice li svg text{font-size:26px !important;}
  #section-talent .talent-mice li .mice-name{font-size:24px !important; line-height:31.2px !important;}
  #section-talent .talent-mice li .mice-sub{font-size:22px !important; line-height:29.7px !important;}
  #section-talent .talent-mice li .mice-sub span.r{font-size:22px !important; line-height:29.7px !important;}
  #section-talent .talent-mice li .mice-desc p{font-size:20px !important; line-height:30px !important;}
}
@media (max-width:840px){
  #section-talent .talent-row dl dt{font-size:26px !important; line-height:33.8px !important;}
  #section-talent .talent-row dl dt span.red{font-size:26px !important; line-height:33.8px !important;}
  #section-talent .talent-row dl dd p{font-size:15px !important; line-height:24px !important;}
  #section-talent .talent-xcode dl dt{font-size:22px !important; line-height:28.6px !important;}
  #section-talent .talent-xcode dl dt span.red{font-size:22px !important; line-height:28.6px !important;}
  #section-talent .talent-xcode .xcode-item h5{font-size:17px !important; line-height:22.1px !important;}
  #section-talent .talent-xcode .xcode-item p{font-size:15px !important; line-height:24px !important;}
  #section-talent .talent-mice li svg text{font-size:26px !important;}
  #section-talent .talent-mice li .mice-name{font-size:18px !important; line-height:23.4px !important;}
  #section-talent .talent-mice li .mice-sub{font-size:17px !important; line-height:22.95px !important;}
  #section-talent .talent-mice li .mice-sub span.r{font-size:17px !important; line-height:22.95px !important;}
  #section-talent .talent-mice li .mice-desc p{font-size:14px !important; line-height:22.4px !important;}
}
/* ===== EX_TALENT_FONT_UNIFY_20260624 END ===== */
/* ===== EX_JOBS_FONT_UNIFY_20260624 START =====
   목적: /careers/jobs(#section-jobs) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px 고정 / 840px 이하: 768 기준 모바일 px 고정.
   font-size/line-height 만 수정. 레이아웃/탭/JS/색 미변경(입사지원 .m-Btn 폰트만 대상). */
@media (min-width:841px){
  #section-jobs .jobs-summary{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-summary em{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-cat a{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-cat a.active{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-list li .job-info h5{font-size:17px !important; line-height:23.8px !important;}
  #section-jobs .jobs-list li .job-info .job-badge-closed{font-size:12px !important; line-height:18px !important;}
  #section-jobs .jobs-list li .job-info p.tags{font-size:13px !important; line-height:19.5px !important;}
  #section-jobs .jobs-list li .job-meta p{font-size:13px !important; line-height:16.9px !important;}
  #section-jobs .jobs-list li .job-action a.btn-apply{font-size:14px !important; line-height:18.2px !important;}
  #section-jobs .jobs-list li .job-action span.btn-apply{font-size:14px !important; line-height:18.2px !important;}
  #section-jobs .jobs-list li .job-action p.deadline{font-size:13px !important; line-height:16.9px !important;}
  #section-jobs .paginate a{font-size:13px !important;}
}
@media (max-width:840px){
  #section-jobs .jobs-summary{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-summary em{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-cat a{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-cat a.active{font-size:15px !important; line-height:19.5px !important;}
  #section-jobs .jobs-list li .job-info h5{font-size:17px !important; line-height:23.8px !important;}
  #section-jobs .jobs-list li .job-info .job-badge-closed{font-size:11px !important; line-height:16.5px !important;}
  #section-jobs .jobs-list li .job-info p.tags{font-size:13px !important; line-height:20.8px !important;}
  #section-jobs .jobs-list li .job-meta p{font-size:14px !important; line-height:22.4px !important;}
  #section-jobs .jobs-list li .job-action a.btn-apply{font-size:14px !important; line-height:18.2px !important;}
  #section-jobs .jobs-list li .job-action span.btn-apply{font-size:14px !important; line-height:21px !important;}
  #section-jobs .jobs-list li .job-action p.deadline{font-size:13px !important; line-height:19.5px !important;}
  #section-jobs .paginate a{font-size:13px !important;}
}
/* ===== EX_JOBS_FONT_UNIFY_20260624 END ===== */
/* ===== EX_JOURNEY_FONT_UNIFY_20260624 START =====
   목적: /careers/journey(#section-journey) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px 고정 / 840px 이하: 768 기준 모바일 px 고정.
   font-size/line-height 만 수정. */
@media (min-width:841px){
  #section-journey .journey-steps li p.num{font-size:15px !important; line-height:15px !important;}
  #section-journey .journey-steps li dl dt{font-size:18px !important; line-height:25.2px !important;}
  #section-journey .journey-steps li dl dd{font-size:14px !important; line-height:21px !important;}
  #section-journey .journey-detail dl dt{font-size:18px !important; line-height:25.2px !important;}
  #section-journey .journey-detail dl dd{font-size:15px !important; line-height:25.5px !important;}
  #section-journey .journey-detail .dd-grid p.t{font-size:15px !important; line-height:21px !important;}
  #section-journey .journey-detail .dd-grid div > p{font-size:15px !important; line-height:25.5px !important;}
  #section-journey .journey-notice h5{font-size:18px !important; line-height:27px !important;}
  #section-journey .journey-notice ul li{font-size:16px !important; line-height:27.2px !important;}
}
@media (max-width:840px){
  #section-journey .journey-steps li p.num{font-size:14px !important; line-height:16.8px !important;}
  #section-journey .journey-steps li dl dt{font-size:18px !important; line-height:25.2px !important;}
  #section-journey .journey-steps li dl dd{font-size:14px !important; line-height:21px !important;}
  #section-journey .journey-detail dl dt{font-size:18px !important; line-height:25.2px !important;}
  #section-journey .journey-detail dl dd{font-size:15px !important; line-height:25.5px !important;}
  #section-journey .journey-detail .dd-grid p.t{font-size:15px !important; line-height:21px !important;}
  #section-journey .journey-detail .dd-grid div > p{font-size:15px !important; line-height:25.5px !important;}
  #section-journey .journey-notice h5{font-size:16px !important; line-height:24px !important;}
  #section-journey .journey-notice ul li{font-size:16px !important; line-height:26.4px !important;}
}
/* ===== EX_JOURNEY_FONT_UNIFY_20260624 END ===== */
/* ===== EX_LIFE_FONT_UNIFY_20260624 START =====
   목적: /careers/life(#section-life) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px 고정 / 840px 이하: 768 기준 모바일 px 고정.
   font-size/line-height 만 수정. */
@media (min-width:841px){
  #section-life .life-block h4{font-size:24px !important; line-height:31.2px !important;}
  #section-life .life-block p.sub{font-size:14px !important; line-height:24px !important;}
  #section-life .life-block .life-list li dl dt{font-size:16px !important; line-height:22.4px !important;}
  #section-life .life-block .life-list li dl dd{font-size:14px !important; line-height:22.4px !important;}
  #section-life .life-block .life-grid3 li dl dt{font-size:14.5px !important; line-height:20.3px !important;}
  #section-life .life-block .life-grid3 li dl dt span.small{font-size:12px !important; line-height:16.8px !important;}
}
@media (max-width:840px){
  #section-life .life-block h4{font-size:20px !important; line-height:26px !important;}
  #section-life .life-block p.sub{font-size:14px !important; line-height:22.4px !important;}
  #section-life .life-block .life-list li dl dt{font-size:14px !important; line-height:18.2px !important;}
  #section-life .life-block .life-list li dl dd{font-size:14px !important; line-height:23.8px !important;}
  #section-life .life-block .life-grid3 li dl dt{font-size:16px !important; line-height:20.8px !important;}
  #section-life .life-block .life-grid3 li dl dt span.small{font-size:14px !important; line-height:18.2px !important;}
}
/* ===== EX_LIFE_FONT_UNIFY_20260624 END ===== */
/* ===== EX_RECRUIT_FONT_UNIFY_20260624 START =====
   목적: /careers/recruit(#section-recruit) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px 고정 / 840px 이하: 768 기준 모바일 px 고정.
   모바일 가독성: 깨진 축소값(캡차 7.8px, 동의 h6 9.1px)은 가독 px로 보정.
   font-size/line-height 만 수정. 폼 동작/검증 미변경. */
@media (min-width:841px){
  #section-recruit form p.form-required{font-size:13px !important; line-height:16.9px !important;}
  #section-recruit form p.form-required span{font-size:13px !important; line-height:16.9px !important;}
  #section-recruit form .form-table th{font-size:14px !important; line-height:18.2px !important;}
  #section-recruit form .form-table th em{font-size:14px !important; line-height:18.2px !important;}
  #section-recruit form .form-table td.phone-row span{font-size:14px !important; line-height:18.2px !important;}
  #section-recruit form .form-table td.email-row span{font-size:14px !important; line-height:18.2px !important;}
  #section-recruit form .form-table td.file-row label.file-field span.file-btn{font-size:13px !important; line-height:16.9px !important;}
  #section-recruit form .form-table td.captcha-cell fieldset.captcha button{font-size:13px !important; line-height:13px !important;}
  #section-recruit form .form-table td.captcha-cell fieldset.captcha span{font-size:12px !important; line-height:15.6px !important;}
  #section-recruit form .form-policy h6{font-size:14px !important; line-height:20px !important;}
  #section-recruit form .form-policy h6 a.link-r{font-size:13px !important; line-height:20px !important;}
  #section-recruit form .form-policy .policy-box p{font-size:13px !important; line-height:20px !important;}
  #section-recruit form .form-policy label{font-size:13.5px !important; line-height:20px !important;}
  #section-recruit form .form-btns button.btn-submit{font-size:15px !important;}
}
@media (max-width:840px){
  #section-recruit form p.form-required{font-size:13px !important; line-height:19.5px !important;}
  #section-recruit form p.form-required span{font-size:13px !important; line-height:19.5px !important;}
  #section-recruit form .form-table th{font-size:14px !important; line-height:21px !important;}
  #section-recruit form .form-table th em{font-size:14px !important; line-height:21px !important;}
  #section-recruit form .form-table td.phone-row span{font-size:14px !important; line-height:21px !important;}
  #section-recruit form .form-table td.email-row span{font-size:14px !important; line-height:21px !important;}
  #section-recruit form .form-table td.file-row label.file-field span.file-btn{font-size:13px !important; line-height:19.5px !important;}
  #section-recruit form .form-table td.captcha-cell fieldset.captcha button{font-size:14px !important; line-height:14px !important;}
  #section-recruit form .form-table td.captcha-cell fieldset.captcha span{font-size:12px !important; line-height:16px !important;}
  #section-recruit form .form-policy h6{font-size:13px !important; line-height:18.2px !important;}
  #section-recruit form .form-policy h6 a.link-r{font-size:13px !important; line-height:18.2px !important;}
  #section-recruit form .form-policy .policy-box p{font-size:13px !important; line-height:20.8px !important;}
  #section-recruit form .form-policy label{font-size:14px !important; line-height:20px !important;}
  #section-recruit form .form-btns button.btn-submit{font-size:15px !important;}
}
/* ===== EX_RECRUIT_FONT_UNIFY_20260624 END ===== */

/* ===== EX_CAREERS_FONT_UNIFY_SUPP_20260624 START =====
   보충: line-height 잔여 편차 고정(폰트 크기엔 영향 없음, 가독성 동일).
   - talent svg <text> line-height 고정(SVG 렌더 무영향이나 computed 일치)
   - recruit 제출버튼 desktop line-height normal→21px 고정(버튼 높이 동일, 패딩으로 상쇄) */
@media (min-width:841px){
  #section-talent .talent-mice li svg text{line-height:33.8px !important;}
  #section-recruit form .form-btns button.btn-submit{line-height:21px !important;}
}
@media (max-width:840px){
  #section-talent .talent-mice li svg text{line-height:33.8px !important;}
  #section-recruit form .form-btns button.btn-submit{line-height:21px !important;}
}
/* ===== EX_CAREERS_FONT_UNIFY_SUPP_20260624 END ===== */



/* ===== EX_NEWS_FONT_UNIFY_20260624 START =====
   목적: /pr/news(#section-news) 텍스트 폰트를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440 데스크탑 px로 전 폭 고정(vw 스케일 무력화)
   - 840px 이하: 단일 모바일 px로 전 폭 고정(480/400 추가 분기 무력화)
   font-size/line-height만. 색/구조/마진 미변경. */
@media (min-width:841px){
  #section-news .board-toolbar .total{font-size:14px !important; line-height:18.2px !important;}
  #section-news .search-form select{font-size:14px !important;}
  #section-news .search-form input{font-size:14px !important;}
  #section-news .search-form button{font-size:14px !important;}
  #section-news dl dt{font-size:20px !important; line-height:30px !important;}
  #section-news dl dt a{font-size:20px !important; line-height:30px !important;}
  #section-news dd.date{font-size:17px !important; line-height:25.5px !important;}
  #section-news .paginate a{font-size:13px !important; line-height:16.9px !important;}
}
@media (max-width:840px){
  #section-news .board-toolbar .total{font-size:13px !important; line-height:1.4 !important;}
  #section-news .search-form select{font-size:15px !important;}
  #section-news .search-form input{font-size:15px !important;}
  #section-news .search-form button{font-size:14px !important;}
  #section-news dl dt{font-size:15px !important; line-height:1.4 !important;}
  #section-news dl dt a{font-size:15px !important; line-height:1.4 !important;}
  #section-news dd.date{font-size:13px !important; line-height:1.4 !important;}
  #section-news .paginate a{font-size:15px !important; line-height:1 !important;}
}
/* ===== EX_NEWS_FONT_UNIFY_20260624 END ===== */


/* ===== EX_NOTICE_FONT_UNIFY_20260624 START =====
   목적: /pr/notice(#section-notice) 테이블 게시판 폰트를 840px 경계에서만 1회 전환. */
@media (min-width:841px){
  #section-notice .board-toolbar .total{font-size:14px !important; line-height:18.2px !important;}
  #section-notice .search-form select{font-size:14px !important;}
  #section-notice .search-form input{font-size:14px !important;}
  #section-notice .search-form button{font-size:14px !important;}
  #section-notice table th{font-size:20px !important; line-height:30px !important;}
  #section-notice table td.num{font-size:20px !important; line-height:30px !important;}
  #section-notice table td.subject{font-size:20px !important; line-height:30px !important;}
  #section-notice table td.subject a{font-size:20px !important; line-height:30px !important;}
  #section-notice table td.date{font-size:20px !important; line-height:30px !important;}
  #section-notice .paginate a{font-size:13px !important; line-height:16.9px !important;}
}
@media (max-width:840px){
  #section-notice .board-toolbar .total{font-size:13px !important; line-height:1.4 !important;}
  #section-notice .search-form select{font-size:15px !important;}
  #section-notice .search-form input{font-size:15px !important;}
  #section-notice .search-form button{font-size:14px !important;}
  #section-notice table th{font-size:14px !important; line-height:1.4 !important;}
  #section-notice table td.num{font-size:14px !important; line-height:1.4 !important;}
  #section-notice table td.subject{font-size:15px !important; line-height:1.5 !important;}
  #section-notice table td.subject a{font-size:15px !important; line-height:1.5 !important;}
  #section-notice table td.date{font-size:13px !important; line-height:1.4 !important;}
  #section-notice .paginate a{font-size:15px !important; line-height:1 !important;}
}
/* ===== EX_NOTICE_FONT_UNIFY_20260624 END ===== */


/* ===== EX_PRESS_FONT_UNIFY_20260624 START =====
   목적: /pr/press(#section-press) 테이블 게시판(조회수 컬럼 포함) 폰트를 840px 경계에서만 1회 전환. */
@media (min-width:841px){
  #section-press .board-toolbar .total{font-size:14px !important; line-height:18.2px !important;}
  #section-press .search-form select{font-size:14px !important;}
  #section-press .search-form input{font-size:14px !important;}
  #section-press .search-form button{font-size:14px !important;}
  #section-press table th{font-size:20px !important; line-height:30px !important;}
  #section-press table td.num{font-size:20px !important; line-height:30px !important;}
  #section-press table td.subject{font-size:20px !important; line-height:30px !important;}
  #section-press table td.subject a{font-size:20px !important; line-height:30px !important;}
  #section-press table td.date{font-size:20px !important; line-height:30px !important;}
  #section-press table td.hit{font-size:20px !important; line-height:30px !important;}
  #section-press .paginate a{font-size:13px !important; line-height:16.9px !important;}
}
@media (max-width:840px){
  #section-press .board-toolbar .total{font-size:13px !important; line-height:1.4 !important;}
  #section-press .search-form select{font-size:15px !important;}
  #section-press .search-form input{font-size:15px !important;}
  #section-press .search-form button{font-size:14px !important;}
  #section-press table th{font-size:14px !important; line-height:1.4 !important;}
  #section-press table td.num{font-size:14px !important; line-height:1.4 !important;}
  #section-press table td.subject{font-size:15px !important; line-height:1.5 !important;}
  #section-press table td.subject a{font-size:15px !important; line-height:1.5 !important;}
  #section-press table td.date{font-size:13px !important; line-height:1.4 !important;}
  #section-press table td.hit{font-size:13px !important; line-height:1.4 !important;}
  #section-press .paginate a{font-size:15px !important; line-height:1 !important;}
}
/* ===== EX_PRESS_FONT_UNIFY_20260624 END ===== */


/* ===== EX_AWARDS_FONT_UNIFY_20260624 START =====
   목적: /pr/awards(#section-awards) 탭/연도/카드 폰트를 840px 경계에서만 1회 전환. */
@media (min-width:841px){
  #section-awards .awards-tab-link{font-size:20px !important; line-height:26px !important;}
  #section-awards .yr-label{font-size:36px !important; line-height:36px !important;}
  #section-awards .card-prize .badge{font-size:12px !important; line-height:16.8px !important;}
  #section-awards .card-prize h5{font-size:16px !important; line-height:24px !important;}
  #section-awards .card-prize > p{font-size:15px !important; line-height:20px !important;}
  #section-awards .card-prize .award-news-link a{font-size:15px !important; line-height:20px !important;}
}
@media (max-width:840px){
  #section-awards .awards-tab-link{font-size:14px !important; line-height:1.3 !important;}
  #section-awards .yr-label{font-size:19px !important; line-height:1 !important;}
  #section-awards .card-prize .badge{font-size:11px !important; line-height:1.5 !important;}
  #section-awards .card-prize h5{font-size:15px !important; line-height:1.45 !important;}
  #section-awards .card-prize > p{font-size:13px !important; line-height:1.5 !important;}
  #section-awards .card-prize .award-news-link a{font-size:13px !important; line-height:1.5 !important;}
}
/* ===== EX_AWARDS_FONT_UNIFY_20260624 END ===== */


/* ===== EX_PRVIEW_FONT_UNIFY_20260624 START =====
   목적: /pr/press/N 류 게시판 상세뷰(#section-pr-view) 제목/메타/본문/네비 폰트를 840px 경계에서만 1회 전환. */
@media (min-width:841px){
  #section-pr-view .pr-view-breadcrumb span{font-size:14px !important; line-height:19.6px !important;}
  #section-pr-view .pr-view-breadcrumb a{font-size:14px !important; line-height:19.6px !important;}
  #section-pr-view .pr-view-title{font-size:26px !important; line-height:36.4px !important;}
  #section-pr-view .pr-view-date{font-size:13.5px !important; line-height:17.55px !important;}
  #section-pr-view .pr-view-hit{font-size:13.5px !important; line-height:17.55px !important;}
  #section-pr-view .pr-view-body{font-size:15.5px !important; line-height:28.675px !important;}
  #section-pr-view .pr-view-body p{font-size:15.5px !important; line-height:28.675px !important;}
  #section-pr-view .pr-view-body span{font-size:15.5px !important;}
  #section-pr-view .pr-view-body li{font-size:15.5px !important; line-height:28.675px !important;}
  #section-pr-view .pr-nav-label{font-size:13.5px !important; line-height:17.55px !important;}
  #section-pr-view .pr-nav-prev a,
  #section-pr-view .pr-nav-next a{font-size:15px !important; line-height:19.5px !important;}
  #section-pr-view .pr-nav-empty{font-size:14px !important; line-height:18.2px !important;}
  #section-pr-view .pr-btn-list{font-size:14.5px !important; line-height:18.85px !important;}
}
@media (max-width:840px){
  #section-pr-view .pr-view-breadcrumb span{font-size:13px !important; line-height:1.4 !important;}
  #section-pr-view .pr-view-breadcrumb a{font-size:13px !important; line-height:1.4 !important;}
  #section-pr-view .pr-view-title{font-size:19px !important; line-height:1.4 !important;}
  #section-pr-view .pr-view-date{font-size:13px !important; line-height:1.3 !important;}
  #section-pr-view .pr-view-hit{font-size:13px !important; line-height:1.3 !important;}
  #section-pr-view .pr-view-body{font-size:14.5px !important; line-height:1.7 !important;}
  #section-pr-view .pr-view-body p{font-size:14.5px !important; line-height:1.7 !important;}
  #section-pr-view .pr-view-body span{font-size:14.5px !important;}
  #section-pr-view .pr-view-body li{font-size:14.5px !important; line-height:1.7 !important;}
  #section-pr-view .pr-nav-label{font-size:12.5px !important; line-height:1.3 !important;}
  #section-pr-view .pr-nav-prev a,
  #section-pr-view .pr-nav-next a{font-size:14px !important; line-height:1.3 !important;}
  #section-pr-view .pr-nav-empty{font-size:13px !important; line-height:1.3 !important;}
  #section-pr-view .pr-btn-list{font-size:14px !important; line-height:1.3 !important;}
}
/* ===== EX_PRVIEW_FONT_UNIFY_20260624 END ===== */


/* ===== EX_PRFONT_SPECFIX_20260624 START =====
   목적: 위 EX_*_FONT_UNIFY 블록이 기존 481~1024 구간 !important 룰(더 높은 특이도)에 밀리는 요소 보정.
   더 높은 특이도 셀렉터로 동일 값 재지정. font-size/line-height만. 색/구조 미변경. */

/* --- NEWS: 카드 제목/날짜/검색 input·select 특이도 보정 --- */
@media (min-width:841px){
  #section-news ul.board-cards li a dl dt{font-size:20px !important; line-height:30px !important;}
  #section-news ul.board-cards li a dl dd.date{font-size:17px !important; line-height:25.5px !important;}
  #section-news .search-form input[type="text"],
  #section-news .search-form select{font-size:14px !important;}
}
@media (max-width:840px){
  #section-news ul.board-cards li a dl dt{font-size:15px !important; line-height:1.4 !important;}
  #section-news ul.board-cards li a dl dd.date{font-size:13px !important; line-height:1.4 !important;}
  #section-news .search-form input[type="text"],
  #section-news .search-form select{font-size:15px !important;}
}

/* --- NOTICE: 테이블 td/날짜/검색 input·select 특이도 보정 --- */
@media (min-width:841px){
  #section-notice .board-table tbody td.num{font-size:20px !important; line-height:30px !important;}
  #section-notice .board-table tbody td.subject a{font-size:20px !important; line-height:30px !important;}
  #section-notice .board-table tbody td.date{font-size:20px !important; line-height:30px !important;}
  #section-notice .search-form input[type="text"],
  #section-notice .search-form select{font-size:14px !important;}
}
@media (max-width:840px){
  #section-notice .board-table tbody td.num{font-size:14px !important; line-height:1.4 !important;}
  #section-notice .board-table tbody td.subject a{font-size:15px !important; line-height:1.5 !important;}
  #section-notice .board-table tbody td.date{font-size:13px !important; line-height:1.4 !important;}
  #section-notice .search-form input[type="text"],
  #section-notice .search-form select{font-size:15px !important;}
}

/* --- PRESS: 테이블 td/날짜/조회/검색 input·select 특이도 보정 --- */
@media (min-width:841px){
  #section-press .board-table tbody td.num{font-size:20px !important; line-height:30px !important;}
  #section-press .board-table tbody td.subject a{font-size:20px !important; line-height:30px !important;}
  #section-press .board-table tbody td.date{font-size:20px !important; line-height:30px !important;}
  #section-press .board-table tbody td.hit{font-size:20px !important; line-height:30px !important;}
  #section-press .search-form input[type="text"],
  #section-press .search-form select{font-size:14px !important;}
}
@media (max-width:840px){
  #section-press .board-table tbody td.num{font-size:14px !important; line-height:1.4 !important;}
  #section-press .board-table tbody td.subject a{font-size:15px !important; line-height:1.5 !important;}
  #section-press .board-table tbody td.date{font-size:13px !important; line-height:1.4 !important;}
  #section-press .board-table tbody td.hit{font-size:13px !important; line-height:1.4 !important;}
  #section-press .search-form input[type="text"],
  #section-press .search-form select{font-size:15px !important;}
}

/* --- AWARDS: 탭/배지/카드제목/본문/링크 특이도 보정 --- */
@media (min-width:841px){
  #section-awards .awards-tab > a.awards-tab-link{font-size:20px !important; line-height:26px !important;}
  #section-awards .awards-year > ul > li.card-prize .badge{font-size:12px !important; line-height:16.8px !important;}
  #section-awards .awards-year > ul > li.card-prize h5{font-size:16px !important; line-height:24px !important;}
  #section-awards .awards-year > ul > li.card-prize > p{font-size:15px !important; line-height:20px !important;}
  #section-awards .awards-year > ul > li.card-prize .award-news-link a{font-size:15px !important; line-height:20px !important;}
}
@media (max-width:840px){
  #section-awards .awards-tab > a.awards-tab-link{font-size:14px !important; line-height:1.3 !important;}
  #section-awards .awards-year > ul > li.card-prize .badge{font-size:11px !important; line-height:1.5 !important;}
  #section-awards .awards-year > ul > li.card-prize h5{font-size:15px !important; line-height:1.45 !important;}
  #section-awards .awards-year > ul > li.card-prize > p{font-size:13px !important; line-height:1.5 !important;}
  #section-awards .awards-year > ul > li.card-prize .award-news-link a{font-size:13px !important; line-height:1.5 !important;}
}
/* ===== EX_PRFONT_SPECFIX_20260624 END ===== */

/* ===== EX_TALENT_LISTINDENT_20260624 START ===== */
/* CTO 지정: 인재상 리스트 문단 hanging indent 재조정 (text-indent -1.1em -> -0.4em).
   점(·) 마커 빨강은 기존 EX_TALENT_LIST_20260624의 ::first-letter{color:var(--point)}가 처리(--point:#e4002b).
   본 블록은 padding-left/text-indent만 override. 색상 미접촉. append-only 후순위 우선. */
#section-talent .talent-row > dl > dd p,
#section-talent .talent-xcode > dl .xcode-item p,
#section-talent .talent-mice .mice-desc p {
    padding-left: 1.1em;
    text-indent: -0.4em;
}
/* ===== EX_TALENT_LISTINDENT_20260624 END ===== */
/* ===== EX_INQUIRY_FONT_UNIFY_20260624 START =====
   목적: /contact/inquiry(#section-inquiry) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상(데스크탑): 1440px 정답 px로 전 폭 고정(vw/rem 스케일 무력화)
   - 840px 이하(모바일): 모바일 px로 전 폭 고정(480/400 추가 분기 무력화)
   font-size/line-height만 변경. 색/구조/마진 미변경. */
@media (min-width:841px){
  #section-inquiry .form-table .radio-row label{font-size:14px !important; line-height:20px !important;}
  #section-inquiry .form-table input,
  #section-inquiry .form-table select,
  #section-inquiry .form-table select option,
  #section-inquiry .form-table textarea{font-size:14px !important; line-height:normal !important;}
  #section-inquiry .form-table .file-field input.file-name{font-size:14px !important; line-height:normal !important;}
  #section-inquiry #bf_file{font-size:14px !important; line-height:normal !important;}
  #section-inquiry .captcha #captcha_key{font-size:14px !important; line-height:normal !important;}
  #section-inquiry #captcha_info{font-size:12px !important; line-height:15.6px !important;}
  #section-inquiry .form-policy h6{font-size:15px !important; line-height:20px !important;}
  #section-inquiry #inq-policy-open{font-size:13px !important; line-height:20px !important;}
  #section-inquiry .form-policy .policy-box p{font-size:13px !important; line-height:23.4px !important;}
  #section-inquiry .form-policy > label{font-size:14px !important; line-height:20px !important;}
}
@media (max-width:840px){
  #section-inquiry .form-table .radio-row label{font-size:15px !important; line-height:20px !important;}
  #section-inquiry .form-table input,
  #section-inquiry .form-table select,
  #section-inquiry .form-table select option,
  #section-inquiry .form-table textarea{font-size:15px !important; line-height:normal !important;}
  #section-inquiry .form-table .file-field input.file-name{font-size:15px !important; line-height:normal !important;}
  #section-inquiry #bf_file{font-size:15px !important; line-height:normal !important;}
  #section-inquiry .captcha #captcha_key{font-size:15px !important; line-height:normal !important;}
  #section-inquiry #captcha_info{font-size:12px !important; line-height:15.6px !important;}
  #section-inquiry .form-policy h6{font-size:15px !important; line-height:20px !important;}
  #section-inquiry #inq-policy-open{font-size:13px !important; line-height:20px !important;}
  #section-inquiry .form-policy .policy-box p{font-size:14px !important; line-height:23.4px !important;}
  #section-inquiry .form-policy > label{font-size:15px !important; line-height:20px !important;}
}
/* ===== EX_INQUIRY_FONT_UNIFY_20260624 END ===== */
/* ===== EX_FAQ_FONT_UNIFY_20260624 START =====
   목적: /contact/faq(#section-faq) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440px 정답 px 고정 / 840px 이하: 모바일 px 고정
   font-size/line-height만 변경. 검색버튼/토글/레이아웃 미변경. */
@media (min-width:841px){
  #section-faq .faq-cat a{font-size:18px !important; line-height:23.4px !important;}
  #section-faq .faq-toolbar .total,
  #section-faq .faq-toolbar .total em{font-size:14px !important; line-height:18.2px !important;}
  #section-faq .faq-toolbar .search-form select,
  #section-faq .faq-toolbar .search-form select option,
  #section-faq .faq-toolbar .search-form input{font-size:13px !important; line-height:normal !important;}
  #section-faq .faq-toolbar .search-form button{font-size:13px !important; line-height:13px !important;}
  #section-faq .faq-table thead th{font-size:15px !important; line-height:19.5px !important;}
  #section-faq .faq-table tbody .faq-q td,
  #section-faq .faq-table tbody .faq-q td.subject{font-size:15px !important; line-height:19.5px !important;}
  #section-faq .faq-table tbody .faq-a td.content p{font-size:15px !important; line-height:24px !important;}
  #section-faq #faq-result .paginate a{font-size:14px !important; line-height:18.2px !important;}
}
@media (max-width:840px){
  #section-faq .faq-cat a{font-size:16px !important; line-height:20.8px !important;}
  #section-faq .faq-toolbar .total,
  #section-faq .faq-toolbar .total em{font-size:14px !important; line-height:18.2px !important;}
  #section-faq .faq-toolbar .search-form select,
  #section-faq .faq-toolbar .search-form select option,
  #section-faq .faq-toolbar .search-form input{font-size:14px !important; line-height:normal !important;}
  #section-faq .faq-toolbar .search-form button{font-size:14px !important; line-height:14px !important;}
  #section-faq .faq-table thead th{font-size:14px !important; line-height:17.55px !important;}
  #section-faq .faq-table tbody .faq-q td,
  #section-faq .faq-table tbody .faq-q td.subject{font-size:15px !important; line-height:18.2px !important;}
  #section-faq .faq-table tbody .faq-a td.content p{font-size:14px !important; line-height:22px !important;}
  #section-faq #faq-result .paginate a{font-size:15px !important; line-height:16.9px !important;}
}
/* ===== EX_FAQ_FONT_UNIFY_20260624 END ===== */
/* ===== EX_LOCATION_FONT_UNIFY_20260624 START =====
   목적: /contact/location(#section-location) 폰트 크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440px 정답 px 고정(vw트랩 제거) / 840px 이하: 모바일 px 고정
   거점카드(#korea/#busan/#china/#vietnam/#usa) 공통. 지도/핀 미변경. */
@media (min-width:841px){
  #section-location .loc-title{font-size:24px !important; line-height:31.2px !important;}
  #section-location .loc-cards > li .cat{font-size:13px !important; line-height:16.9px !important;}
  #section-location .loc-cards > li h5{font-size:16px !important; line-height:24px !important;}
  #section-location .loc-cards > li .addr-en{font-size:13px !important; line-height:19px !important;}
  #section-location .loc-cards > li dl dt,
  #section-location .loc-cards > li dl dd{font-size:13px !important; line-height:20px !important;}
}
@media (max-width:840px){
  #section-location .loc-title{font-size:18px !important; line-height:31.2px !important;}
  #section-location .loc-cards > li .cat{font-size:13px !important; line-height:16.9px !important;}
  #section-location .loc-cards > li h5{font-size:15px !important; line-height:24px !important;}
  #section-location .loc-cards > li .addr-en{font-size:13px !important; line-height:19px !important;}
  #section-location .loc-cards > li dl dt,
  #section-location .loc-cards > li dl dd{font-size:13px !important; line-height:20px !important;}
}
/* ===== EX_LOCATION_FONT_UNIFY_20260624 END ===== */
/* ===== EX_PORTFOLIO_FONT_UNIFY_20260624 START =====
   목적: /portfolio(#section-portfolio) 카드/카테고리/페이지네이션 + 모달(#port-modal) 폰트
   크기를 840px 경계에서만 1회 전환.
   - 841px 이상: 1440px 정답 px 고정(vw트랩 제거) / 840px 이하: 모바일 px 고정
   font-size/line-height만. 모달 JS/구조/색 미변경(폰트만). */
@media (min-width:841px){
  #section-portfolio .port-cat a{font-size:13.5px !important; line-height:18.9px !important;}
  #section-portfolio #port-result .port-grid li .port-open dl dt{font-size:20px !important; line-height:30px !important;}
  #section-portfolio #port-result .port-grid li .port-open dl dd.excerpt,
  #section-portfolio #port-result .port-grid li .port-open dl dd.date{font-size:17px !important; line-height:25.5px !important;}
  #section-portfolio #port-result .paginate a{font-size:13px !important; line-height:16.9px !important;}
  /* 모달 */
  #port-modal .modal-head .m-title{font-size:18px !important; line-height:23.4px !important;}
  #port-modal .modal-head .m-link{font-size:12.5px !important; line-height:16.25px !important;}
  #port-modal .modal-head .m-link .m-link-ico{font-size:14px !important; line-height:18.2px !important;}
  #port-modal .modal-head .m-close{font-size:24px !important; line-height:44px !important;}
  #port-modal .m-info .m-tags span{font-size:12.5px !important; line-height:16.25px !important;}
  #port-modal .m-info .m-name{font-size:18px !important; line-height:23.4px !important;}
  #port-modal .m-info dl dt,
  #port-modal .m-info dl dd{font-size:13px !important; line-height:20.8px !important;}
}
@media (max-width:840px){
  #section-portfolio .port-cat a{font-size:13px !important; line-height:18.9px !important;}
  #section-portfolio #port-result .port-grid li .port-open dl dt{font-size:15px !important; line-height:30px !important;}
  #section-portfolio #port-result .port-grid li .port-open dl dd.excerpt,
  #section-portfolio #port-result .port-grid li .port-open dl dd.date{font-size:13px !important; line-height:25.5px !important;}
  #section-portfolio #port-result .paginate a{font-size:15px !important; line-height:16.9px !important;}
  /* 모달 */
  #port-modal .modal-head .m-title{font-size:16px !important; line-height:23.4px !important;}
  #port-modal .modal-head .m-link{font-size:12px !important; line-height:16.25px !important;}
  #port-modal .modal-head .m-link .m-link-ico{font-size:12px !important; line-height:18.2px !important;}
  #port-modal .modal-head .m-close{font-size:22px !important; line-height:44px !important;}
  #port-modal .m-info .m-tags span{font-size:12px !important; line-height:16.25px !important;}
  #port-modal .m-info .m-name{font-size:16px !important; line-height:23.4px !important;}
  #port-modal .m-info dl dt,
  #port-modal .m-info dl dd{font-size:13px !important; line-height:20.8px !important;}
}
/* ===== EX_PORTFOLIO_FONT_UNIFY_20260624 END ===== */




/* === EX_TALENT_XCODE_FULLBLEED_20260624 START === */
/* "We Work by X.CODE" 회색 배경만 풀블리드(edge-to-edge), 콘텐츠는 중앙 1280 유지.
   부모 #section-talent(padding 20px) 기준 calc(50% - 50vw)로 화면 양끝까지 확장.
   상위 #wrap.sub에 overflow-x:hidden 있어 가로 스크롤바 안 생김. */
#section-talent .talent-xcode-bg{
	width:100vw;
	max-width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
	margin-top:8rem;
	margin-bottom:8rem;
	padding-top:8rem;
	padding-bottom:8rem;
	padding-left:2rem;
	padding-right:2rem;
	box-sizing:border-box;
}
/* 안쪽 콘텐츠(.talent-xcode)는 기존 룰(max-width:120rem; margin:0 auto; L1272)
   및 1720+ 룰(L5274) 그대로 둠 — 건드리지 않음. */
@media only screen and (max-width:1024px) and (min-width:841px){
	#section-talent .talent-xcode-bg{margin-top:5rem; margin-bottom:5rem; padding-top:5rem; padding-bottom:5rem; padding-left:3rem; padding-right:3rem;}
}
@media only screen and (max-width:840px) and (min-width:481px){
	#section-talent .talent-xcode-bg{margin-top:5rem; margin-bottom:5rem; padding-top:5rem; padding-bottom:5rem; padding-left:2rem; padding-right:2rem;}
}
@media (max-width:768px){
	#section-talent .talent-xcode-bg{padding-top:4rem; padding-bottom:4rem; padding-left:1.5rem; padding-right:1.5rem;}
}
@media (max-width:480px){
	#section-talent .talent-xcode-bg{margin-top:4rem; margin-bottom:4rem; padding-top:3.2rem; padding-bottom:3.2rem; padding-left:1.4rem; padding-right:1.4rem;}
}
/* === EX_TALENT_XCODE_FULLBLEED_20260624 END === */


/* ===== EX_PRFONT_TOTALFIX_20260624 START =====
   목적: .total(Total N, Page) 폰트가 481~1024 구간 #section-x .board-toolbar p.total 14px 룰에
   밀려 768~840 구간에서 13px로 안 떨어지는 문제 보정. p.total 특이도로 동일 값 재지정. */
@media (max-width:840px){
  #section-news .board-toolbar p.total{font-size:13px !important; line-height:1.4 !important;}
  #section-notice .board-toolbar p.total{font-size:13px !important; line-height:1.4 !important;}
  #section-press .board-toolbar p.total{font-size:13px !important; line-height:1.4 !important;}
}
/* ===== EX_PRFONT_TOTALFIX_20260624 END ===== */


/* ===== EX_PRFONT_SPECFIX2_20260624 START =====
   목적: 480px 이하 추가 !important 룰(.board-toolbar .search-form / .board-table th)에 밀리는
   press th·검색 input·select, 그리고 news/notice 동일 위험 요소를 더 높은 특이도로 보정.
   font-size만(필요시 line-height). 840 단일 분기 유지. */
@media (max-width:840px){
  /* th: .board-table 프리픽스로 .board-table th(=13) 이김 → 단일 14px 유지 */
  #section-notice .board-table thead th,
  #section-notice table.board-table th{font-size:14px !important; line-height:1.4 !important;}
  #section-press .board-table thead th,
  #section-press table.board-table th{font-size:14px !important; line-height:1.4 !important;}
  /* 검색 input/select: .board-toolbar .search-form 프리픽스로 480px 룰 이김 → 단일 15px 유지 */
  #section-news .board-toolbar .search-form input[type="text"],
  #section-news .board-toolbar .search-form select{font-size:15px !important;}
  #section-notice .board-toolbar .search-form input[type="text"],
  #section-notice .board-toolbar .search-form select{font-size:15px !important;}
  #section-press .board-toolbar .search-form input[type="text"],
  #section-press .board-toolbar .search-form select{font-size:15px !important;}
}
@media (min-width:841px){
  #section-news .board-toolbar .search-form input[type="text"],
  #section-news .board-toolbar .search-form select{font-size:14px !important;}
  #section-notice .board-toolbar .search-form input[type="text"],
  #section-notice .board-toolbar .search-form select{font-size:14px !important;}
  #section-press .board-toolbar .search-form input[type="text"],
  #section-press .board-toolbar .search-form select{font-size:14px !important;}
}
/* ===== EX_PRFONT_SPECFIX2_20260624 END ===== */


/* ===== EX_PRVIEW_NAVFIX_20260624 START =====
   목적: 상세뷰 nav 라벨/빈안내 폰트가 481~840 구간 .pr-view-nav .pr-nav-label(=13) 룰에 밀려
   480 이하와 달라지는 드리프트 보정. .pr-view-nav 프리픽스로 단일 13px 고정. */
@media (max-width:840px){
  #section-pr-view .pr-view-nav .pr-nav-label{font-size:13px !important; line-height:1.3 !important;}
  #section-pr-view .pr-view-nav .pr-nav-empty{font-size:13px !important; line-height:1.3 !important;}
}
/* ===== EX_PRVIEW_NAVFIX_20260624 END ===== */

/* ===== EX_JOURNEY_SIDESIGN_FIX_20260624 START =====
   CTO 반려 2건 해결 (append-only 최종 오버라이드, 시안 0503 정합):
   (1) 상단 스텝카드(01~04) 테두리 #ebebeb(거의 흰색) → 시안 수준 또렷한 중간회색 #ccc.
   (2) 하단 상세항목: 타이틀이 설명 '왼쪽'(2열 grid 180/950) → 시안처럼 아이콘 왼쪽 +
       타이틀이 설명 '위'에 오도록 세로 적층. 설명은 타이틀 아래에서 같은 들여쓰기로 정렬.
   선행 누적 규칙(EX_JOURNEY_STEPCARD/PIXEL/DETAIL, 1333라인 grid 등)을 명시도+!important로 덮음.
   ===== */

/* (1) 스텝카드 테두리 진하게 — 모든 선행 #ebebeb 규칙을 명시도(0,4,1)+!important로 덮음 */
#section-journey .journey-steps > li:not(.arrow){
	border:1px solid #cccccc !important;
}

/* (2) 상세항목 레이아웃: 아이콘 좌측 레일 + (타이틀 위 / 설명 아래) 세로 적층 */
#section-journey .journey-detail > dl{
	display:block !important;
	grid-template-columns:none !important;
}
/* 타이틀 행: 아이콘 + 굵은 타이틀을 한 줄(아이콘과 수직중앙) */
#section-journey .journey-detail > dl dt{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	gap:1.4rem !important;
	margin:0 0 1.2rem 0 !important;
}
/* 아이콘 박스 고정 폭(레일) */
#section-journey .journey-detail > dl dt figure{
	flex:0 0 5rem !important;
	width:5rem !important;
	height:5rem !important;
	margin:0 !important;
}
/* 설명: 타이틀 아래로, 아이콘 폭(5rem)+gap(1.4rem)=6.4rem 만큼 들여써서 타이틀과 좌측 정렬 */
#section-journey .journey-detail > dl dd{
	padding-left:6.4rem !important;
	margin:0 !important;
}

/* 모바일(840 이하): 아이콘 작아짐(3.6rem 등) → 들여쓰기 동반 축소 */
@media (max-width:840px){
	#section-journey .journey-detail > dl dt{
		gap:1rem !important;
		margin-bottom:1rem !important;
	}
	#section-journey .journey-detail > dl dt figure{
		flex:0 0 3.6rem !important;
		width:3.6rem !important;
		height:3.6rem !important;
	}
	#section-journey .journey-detail > dl dd{
		padding-left:4.6rem !important;
	}
}
/* ===== EX_JOURNEY_SIDESIGN_FIX_20260624 END ===== */

/* ===== EX_JOURNEY_CARD_SIANSPEC_20260624 START =====
   시안 0503_합류 여정.jpg 1픽셀 실측값으로 상단 스텝카드(01~04) 정합.
   append-only / 선행 EX_JOURNEY_SIDESIGN_FIX(#ccc 테두리) 및 PIXEL/STEPCARD 규칙을
   같은 명시도(0,4,1)+append순서 우선 + !important 로 덮음. 데스크탑(840 초과) 기준.
   하단 상세항목/유의사항/화살표는 건드리지 않음(테두리색만 #666 통일 대상 아님 — 카드만).
   실측: 테두리 1px solid #666 / 번호 17px #313131 / 아이콘 ~70px / 타이틀 20px bold #333 / 부제 16px #7d7d7d
   ===== */
@media (min-width:841px){
	/* 카드 테두리 — #ccc → 시안 실측 #666666, radius 유지(10px) */
	#section-journey .journey-steps > li:not(.arrow){
		border:1px solid #666666 !important;
		border-radius:10px !important;
	}
	/* 번호 01~04 : 17px / #313131 */
	#section-journey .journey-steps > li:not(.arrow) .num{
		font-size:1.7rem !important;
		color:#313131 !important;
	}
	/* 아이콘 바운딩 ~70px */
	#section-journey .journey-steps > li:not(.arrow) figure{
		width:7rem !important;
		height:7rem !important;
	}
	#section-journey .journey-steps > li:not(.arrow) figure img,
	#section-journey .journey-steps > li:not(.arrow) figure svg{
		max-width:7rem !important;
		max-height:7rem !important;
		width:auto !important;
		height:auto !important;
	}
	/* 굵은 타이틀 : 20px bold / #333333 */
	#section-journey .journey-steps > li:not(.arrow) dl dt{
		font-size:2rem !important;
		font-weight:700 !important;
		color:#333333 !important;
	}
	/* 회색 부제 : 16px regular / #7d7d7d */
	#section-journey .journey-steps > li:not(.arrow) dl dd{
		font-size:1.6rem !important;
		font-weight:400 !important;
		color:#7d7d7d !important;
	}
}
/* ===== EX_JOURNEY_CARD_SIANSPEC_20260624 END ===== */

/* ===== EX_JOURNEY_DETAIL_SIANSPEC_20260624 START =====
   시안 0503_합류 여정.jpg 1픽셀 실측값으로 하단 상세항목(지원서 접수/인터뷰/처우 협의/최종 입사 확정) 정합.
   append-only / 선행 EX_JOURNEY_SIDESIGN_FIX(figure 5rem, 적층 레이아웃) 및 1334~1337라인 규칙을
   같은 ID 스코프 + append순서 우선 + !important 로 덮음. 데스크탑(840 초과) 기준.
   적층 배치(아이콘 좌측 / 타이틀 위 / 설명 아래)는 유지 — 크기/색만 변경.
   상단 스텝카드/화살표/인터뷰 2열 빨간소제목/유의사항/구분선은 건드리지 않음.
   실측: 타이틀 26px bold #272727 / 설명 16px regular #7a7a7a / 아이콘 바운딩 60x70px
   ===== */
@media (min-width:841px){
	/* 타이틀(지원서 접수 등): 26px / bold(700) / #272727 */
	#section-journey .journey-detail > dl dt{
		font-size:2.6rem !important;
		font-weight:700 !important;
		color:#272727 !important;
	}
	/* 설명글(본문): 16px / regular(400) / #7a7a7a */
	#section-journey .journey-detail > dl dd{
		font-size:1.6rem !important;
		font-weight:400 !important;
		color:#7a7a7a !important;
	}
	/* 좌측 아이콘 박스: 바운딩 60x70px (가로60 세로70) */
	#section-journey .journey-detail > dl dt figure{
		flex:0 0 6rem !important;
		width:6rem !important;
		height:7rem !important;
		margin:0 !important;
	}
	/* svg 아이콘이 figure 바운딩(60x70)을 채우도록 */
	#section-journey .journey-detail > dl dt figure svg,
	#section-journey .journey-detail > dl dt figure svg.ic{
		width:6rem !important;
		height:7rem !important;
		max-width:6rem !important;
		max-height:7rem !important;
	}
	/* 설명 들여쓰기: 아이콘 폭(6rem)+gap(1.4rem)=7.4rem 으로 타이틀과 좌측 정렬 */
	#section-journey .journey-detail > dl dd{
		padding-left:7.4rem !important;
	}
}
/* ===== EX_JOURNEY_DETAIL_SIANSPEC_20260624 END ===== */

/* === EX_SUSTAIN_ESGROW_FIX_20260624 START ===
   증상: 데스크탑(>=1025px)에서 ESG 빨간 카드 3개 중 3번째가 둘째 줄로 wrap.
   원인: 컨테이너 .esg-cards 실측 width=1240px인데, 카드 width 공식이
         calc((100% - 4rem)/3)=400px, gap=4rem(80px 두칸) → 3*400+80=1280 > 1240 → wrap.
         (라인 9744에서 gap을 2rem→4rem로 키웠으나 카드 width 공식은 4rem 기준 그대로라 불일치)
   조치: 데스크탑에서 카드 폭을 gap 4rem(총 8rem)에 맞춰 calc((100% - 8rem)/3)로 재계산.
         3*((100%-8rem)/3)+2*4rem = 100% → 정확히 한 줄. 높이 균일 위해 align-items:stretch.
   스코프: #section-sustain .esg-cards 한정. 색/내용/다른 섹션 무관. */
@media (min-width:1025px){
	#section-sustain .esg-cards{ align-items:stretch; }
	#section-sustain .esg-cards>li{ width:calc((100% - 8rem)/3); flex:0 0 calc((100% - 8rem)/3); }
}
/* === EX_SUSTAIN_ESGROW_FIX_20260624 END === */


/* === EX_NEWS_WIDTH_GALLERY_DIVIDER_20260624 START === */
/* 1) 콘텐츠 가로 1280px (시안 측정: 카드그리드 x320~1599=1280px). 부모 #container의 좌우 패딩 20px을 음수마진으로 상쇄하여 콘텐츠 영역을 정확히 1280으로 확장. 배경 등 풀폭 요소 제외, #section-news 콘텐츠 영역만 스코프 */
#section-news{max-width:1280px; width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; padding-left:0; padding-right:0;}
/* 2) 갤러리: 이미지 크기 고정(시안 카드폭 400px) + gap만 1280폭에 맞게 조정(시안 거터 40px → 400*3+40*2=1280). 1fr 제거하여 이미지 크기 불변 */
#section-news .board-cards{grid-template-columns:repeat(3, 400px); gap:30px 40px; justify-content:space-between;}
/* 3) 검색폼 하단 굵은 가로 구분선 (시안 측정: y795~796 2px, RGB(117,117,117)=#757575, 위여백 21px≈20px, 아래여백 31px≈30px) */
#section-news .board-toolbar{margin-bottom:0; padding-bottom:20px; border-bottom:2px solid #757575;}
#section-news .board-cards{margin-top:30px;}
/* 반응형: 1280 미만(뷰포트가 콘텐츠보다 좁을 때)에서만 풀폭 활용 위해 고정폭 해제. 1280 이상에서는 이미지 400px 고정 유지. 기존 768/480 규칙은 그대로 살아있음 */
@media only screen and (max-width:1279px){
	#section-news{width:auto; margin-left:auto; margin-right:auto; padding-left:2rem; padding-right:2rem;}
	#section-news .board-cards{grid-template-columns:repeat(3, 1fr); gap:30px 20px; justify-content:initial;}
}
/* === EX_NEWS_WIDTH_GALLERY_DIVIDER_20260624 END === */

/* === EX_NOTICE_PRESS_WIDTH1280_20260624 START === */
/* 콘텐츠 가로 1280px 정렬 — /pr/news 와 동일 사상. 부모 #container 좌우 패딩 20px을 음수마진으로 상쇄해 콘텐츠 영역을 정확히 1280으로 확장. 배경 등 풀폭 요소 제외, 게시판 섹션 영역만 스코프. 테이블 컬럼/검색폼/페이지네이션은 폭에 따라 자연 확장(미수정). */
#section-notice, #section-press{max-width:1280px; width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; padding-left:0; padding-right:0;}
/* 반응형: 뷰포트가 콘텐츠보다 좁은 1279px 미만에서는 음수마진 해제하고 좌우 패딩 복구(모바일 깨짐 방지). 기존 768/480 규칙은 그대로 유지 */
@media only screen and (max-width:1279px){
	#section-notice, #section-press{width:auto; margin-left:auto; margin-right:auto; padding-left:2rem; padding-right:2rem;}
}
/* === EX_NOTICE_PRESS_WIDTH1280_20260624 END === */

/* === EX_SUSTAIN_HERO_CARDHOVER_20260624 START ===
   목표(시안 0203_지속가능성.jpg 일치, CTO 지시):
   1) 히어로(.sustain-bg 폭죽 배경)가 ESG 카드 위쪽 약 76%까지 덮고 카드 하단부가
      히어로 밖(흰 배경)으로 비져나오는 "straddle 겹침" 복원.
      - 직전 HERO_GAP 마커가 straddle을 해제하고 흰 여백을 넣었던 것을 본 블록이 후순위로 덮어 복원.
      - 카드 ul에 음수 margin-bottom → sustain-bg 높이 축소(히어로 일찍 끝남) + 카드는 아래로 돌출.
      - gray(환경) 섹션은 카드 돌출분 아래로 정상 흰여백 후 시작.
   2) ESG 카드 색상(areas 빨간박스 hover 사상): 1번 카드만 기본 빨강, 2·3번 검정 불투명,
      hover 시 해당 카드 빨강. 직전 ESG-3RED(모두 빨강)를 본 블록이 후순위로 덮음.
   스코프: #section-sustain 한정. 카드 텍스트/아이콘/하단 3섹션/배너 미관여.
   시안 측정(1920px): 카드top y=1210, 히어로하단 y=1530, 카드bottom y=1629.
   히어로가 카드 76% 덮음 → 카드 24%(≈98px@1440) 돌출. */

/* --- 색상: 1번만 빨강 / 2·3 검정 / hover 빨강 --- */
#section-sustain .esg-cards>li{ background-color:rgba(0,0,0,0.5) !important; transition:background-color .3s ease-out !important; }
#section-sustain .esg-cards>li:first-child{ background-color:var(--point) !important; }
#section-sustain .esg-cards>li:hover{ background-color:var(--point) !important; }

/* --- 겹침(straddle) 복원: 히어로가 카드 윗부분만 덮도록 --- */
#section-sustain .esg-cards{ margin-bottom:-10rem !important; }
#section-sustain .sustain-bg{ padding-bottom:0 !important; }
#section-sustain .full-area.gray{ margin-top:14rem !important; }

@media (max-width:1024px) and (min-width:481px){
	#section-sustain .esg-cards{ margin-bottom:-9rem !important; }
	#section-sustain .full-area.gray{ margin-top:13rem !important; }
}
@media (max-width:480px){
	/* 모바일 1열 스택: 겹침 해제(카드가 세로로 길어 straddle 부적합), 흰 여백만 */
	#section-sustain .esg-cards{ margin-bottom:0 !important; }
	#section-sustain .sustain-bg{ padding-bottom:8rem !important; }
	#section-sustain .full-area.gray{ margin-top:6rem !important; }
	/* 모바일도 색 규칙 유지: 1번 빨강/2·3 검정 (2480 !important 모두빨강 무력화) */
	#section-sustain .esg-cards>li{ background-color:rgba(0,0,0,0.5) !important; }
	#section-sustain .esg-cards>li:first-child{ background-color:var(--point) !important; }
}
/* === EX_SUSTAIN_HERO_CARDHOVER_20260624 END === */

/* === EX_AWARDS_WIDTH_SIANSPEC_20260624 START === */
/* 시안 0404_수상인증.jpg 픽셀측정 기반: 콘텐츠폭 1280 + 연도/박스테두리/라벨/제목/상세 수치 적용 (840 이하 모바일 분기 미수정) */
@media only screen and (min-width:841px){
  /* 1) 콘텐츠 가로 실측 1280px (배경 풀폭 제외) */
  #section-awards{max-width:128rem !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box;}

  /* 2) 연도 글자: 시안 글리프 34px -> 약 48.6px */
  #section-awards .awards-year h3,
  #section-awards .awards-year h3 .yr-label{font-size:4.8rem !important; color:#000 !important; line-height:1.2 !important;}

  /* 3) 항목 박스 테두리 색상: 시안 RGB(102,102,102)=#666 */
  #section-awards .awards-year > ul > li.card-prize,
  #section-awards .awards-year > ul > li.card-cert{border:1px solid #666 !important; border-radius:0.5rem !important;}

  /* 4) 라벨(수상/인증) 폰트: 시안 글리프 12px -> 약 16.7px */
  #section-awards .awards-year > ul > li .badge{font-size:1.6rem !important;}
  /* 수상: 채움 #e4002b / 인증: 외곽선 #e4002b */
  #section-awards .awards-year > ul > li.card-prize .badge{background:#e4002b !important; color:#fff !important; border:1px solid #e4002b !important;}
  #section-awards .awards-year > ul > li.card-cert .badge{background:#fff !important; color:#e4002b !important; border:1px solid #e4002b !important;}

  /* 5) 제목(h5): 시안 글리프 21px -> 약 29px, 색 #000 */
  #section-awards .awards-year > ul > li h5{font-size:2.8rem !important; color:#000 !important; line-height:1.35 !important;}

  /* 6) 상세 내용(p): 시안 글리프 14px -> 약 19px, 색 #242424 */
  #section-awards .awards-year > ul > li p{font-size:1.9rem !important; color:#242424 !important; line-height:1.55 !important;}
  #section-awards .awards-year > ul > li p.award-news-link a{font-size:1.6rem !important;}
}
/* === EX_AWARDS_WIDTH_SIANSPEC_20260624 END === */

/* === EX_AWARDS_WIDTH_SIANSPEC2_20260624 START === */
/* 특이도 보정: 기존 EX_PRFONT_SPECFIX(.card-prize 한정 !important)보다 뒤 + 동일/상위 명시도로 시안 수치 확정 (841px 이상만, 모바일 분기 미수정) */
@media only screen and (min-width:841px){
  /* 제목 h5: 시안 ~29px */
  #section-awards .awards-year > ul > li.card-prize h5,
  #section-awards .awards-year > ul > li.card-cert h5{font-size:2.8rem !important; color:#000 !important; line-height:1.35 !important;}
  /* 상세 p: 시안 ~19px, #242424 */
  #section-awards .awards-year > ul > li.card-prize > p,
  #section-awards .awards-year > ul > li.card-cert > p{font-size:1.9rem !important; color:#242424 !important; line-height:1.55 !important;}
  #section-awards .awards-year > ul > li.card-prize > p.award-news-link a,
  #section-awards .awards-year > ul > li.card-cert > p.award-news-link a{font-size:1.6rem !important; color:#666 !important;}
  /* 라벨 badge: 시안 ~16.7px */
  #section-awards .awards-year > ul > li.card-prize .badge,
  #section-awards .awards-year > ul > li.card-cert .badge{font-size:1.6rem !important;}
  /* 콘텐츠 폭 실측 1280 (배경 풀폭 제외) — 부모 #container 좌우 padding(20px) 상쇄해 순수 1280 확보, awards 페이지로 한정 */
  #container:has(> #section-awards){max-width:128rem !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box !important; margin-left:auto !important; margin-right:auto !important;}
  #section-awards{width:128rem !important; max-width:100% !important; margin-left:auto !important; margin-right:auto !important; padding-left:0 !important; padding-right:0 !important; box-sizing:border-box !important;}
}
/* === EX_AWARDS_WIDTH_SIANSPEC2_20260624 END === */

/* === EX_SUSTAIN_HERO_CARDHOVER_FIX2_20260624 START ===
   보강: EX_SUSTAIN_HERO_CARDHOVER_20260624의 ul margin-bottom 음수가 부모(.inConts/.sustain-bg)
   높이에 반영되지 않아 히어로 배경이 카드 하단까지 덮어 straddle이 안 생기던 문제 수정.
   조치: 데스크탑(>=1025px)에서 .sustain-bg 배경영역 height를 실측 기반으로 고정해
   카드 상단+약74%(시안 측정: 히어로가 카드 76% 덮음)에서 끝나게 함. overflow:visible로 카드 돌출.
   카드는 원위치 유지(margin-bottom 음수는 다음 gray 섹션 위치만 보정).
   실측(1440/1280 동일): bgTop기준 cardTopRel=465px, cardH=407px, 74%=301 → bgH=766px.
   스코프 #section-sustain. */
@media (min-width:1025px){
	#section-sustain .sustain-bg{ height:766px !important; padding-bottom:0 !important; overflow:visible !important; }
	/* 카드 돌출분(약 105px)만큼 gray 섹션은 흰 여백 두고 시작 */
	#section-sustain .esg-cards{ margin-bottom:0 !important; }
	#section-sustain .full-area.gray{ margin-top:9rem !important; }
}
@media (max-width:1024px) and (min-width:481px){
	/* 태블릿: bgH가 이미 카드보다 작아 자연 겹침. 흰 여백만 조정 */
	#section-sustain .sustain-bg{ height:auto !important; padding-bottom:0 !important; }
	#section-sustain .esg-cards{ margin-bottom:-7rem !important; }
	#section-sustain .full-area.gray{ margin-top:11rem !important; }
}
/* === EX_SUSTAIN_HERO_CARDHOVER_FIX2_20260624 END === */

/* === EX_HOME_TOGETHER_GAP_20260624 START === */
/* 홈 '엑스포럼과 함께 하세요!' 배너(#mainBanner)를 위 영역과 약 150px 간격으로 분리.
   margin-top 사용: 배경은 #mainBanner::before(absolute, 부모 박스 채움)라 박스째 내려가도 배경 잘림/깨짐 없음.
   #mainBanner 한정 셀렉터 → 전역 영향 없음. */
#mainBanner{ margin-top:150px; }
@media (max-width:768px){
	#mainBanner{ margin-top:90px; }
}
@media (max-width:480px){
	#mainBanner{ margin-top:60px; }
}
/* === EX_HOME_TOGETHER_GAP_20260624 END === */

/* ===== EX_LOCATION_CARD_RATIO_SIANSPEC_20260624 START =====
   목적: /contact/location 거점카드를 0603 시안 크롭과 픽셀비율 정합.
   기준: 두 크롭(시안509px/사이트512px) 카드 가로폭 동일(481 vs 483px) → 시안 글리프/요소 px를
   사이트 실측 px와 직접 비교해 비율 환산. 카드 실폭 386.66px.
   - 배지(.cat): 글리프/박스 시안이 큼 → font 14px, 패딩 통통하게
   - 제목(h5): 시안23/사이트18=1.28배 → 16px→20px
   - 영문(.addr-en): 시안이 명확히 큼 → 13px→15px
   - TEL/FAX(dl): 시안14/사이트12=1.17배 → 13px→15px
   - 핀(.map-btn): 시안38/사이트45=0.84배(사이트가 큼) → 38px→32px, 아이콘 18px→15px
   5개 카드 공통(#korea/#busan/#china/#vietnam/#usa). 색상/구조/텍스트 미변경. */
@media (min-width:841px){
  #section-location .loc-cards > li .cat{
    font-size:14px !important; line-height:18px !important;
    padding:5px 13px !important; border-radius:13px !important;
  }
  #section-location .loc-cards > li h5{
    font-size:20px !important; line-height:28px !important;
  }
  #section-location .loc-cards > li .addr-en{
    font-size:15px !important; line-height:22px !important;
  }
  #section-location .loc-cards > li dl dt,
  #section-location .loc-cards > li dl dd{
    font-size:15px !important; line-height:22px !important;
  }
  #section-location .loc-cards > li .map-btn{
    width:32px !important; height:32px !important;
    background-size:15px !important;
  }
}
/* ===== EX_LOCATION_CARD_RATIO_SIANSPEC_20260624 END ===== */

/* ===== EX_LIFE_FONT_CELLH_SIANSPEC_20260624 START =====
   목적: /careers/life(#section-life) 시안(0502_입사 후 생활.jpg, 콘텐츠 1280px=1:1) 픽셀 부합.
   - 폰트 크기: 시안 글리프 잉크높이→font-size 환산(한글 잉크≈font-size*0.88, 동일계수 통일).
   - 셀 높이: 시안 모든 행 경계선 간격 측정값 160px → min-height 고정(align-items:center 유지).
   841px 이상 데스크탑만. 선행 EX_LIFE_FONT_UNIFY_20260624(!important) 후순위 override.
   font-size/line-height/min-height만 수정. 레이아웃/색상/구조 미변경. */
@media (min-width:841px){
  /* 폰트 — 시안 환산 */
  #section-life .life-block h4{font-size:30px !important; line-height:39px !important;}
  #section-life .life-block p.sub{font-size:18px !important; line-height:26px !important;}
  #section-life .life-block .life-list li dl dt{font-size:21px !important; line-height:29.4px !important;}
  #section-life .life-block .life-list li dl dd{font-size:21px !important; line-height:29.4px !important;}
  #section-life .life-block .life-grid3 li dl dt{font-size:21px !important; line-height:29.4px !important;}
  #section-life .life-block .life-grid3 li dl dt span.small{font-size:15px !important; line-height:21px !important;}

  /* 셀 높이 — 시안 행 경계 간격 160px 고정 */
  #section-life .life-list > li{min-height:160px; box-sizing:border-box;}
  #section-life .life-grid3 > li{min-height:160px; box-sizing:border-box;}
}
/* ===== EX_LIFE_FONT_CELLH_SIANSPEC_20260624 END ===== */

/* ===== EX_LOCATION_BULLET_RED_20260624 : TEL/FAX 라벨 앞 불릿만 빨강 (라벨 텍스트는 기존 회색 유지). 불릿은 location.php dt에서 제거하고 ::before로 분리 ===== */
#section-location .loc-cards > li dl dt::before{content:"\00B7\00A0"; color:#e4002b !important;}


/* ===== EX_FAQ_HEADER_HEIGHT_20260624 START =====
   CTO 요청: "FAQ 헤더 높이도 본문처럼 맞춰줘."
   - #section-faq 스코프 한정, append-only 최종 오버라이드.
   - 폰트(font-size/line-height/color/weight)는 절대 미변경 — 행 높이만 조정.
   - 데스크탑(841px+): 헤더 행 실측 52px → 본문 행 실측 75px 로 일치.
     본문 행 75px = td padding 20px×2 + toggle span 34px 가 행높이 결정.
     헤더 th엔 toggle span 이 없어 높이가 모자라므로 height 고정으로 정합.
   - 모바일(840px-): thead{display:none} 이라 헤더 행 미표시 → 조정 대상 아님(미변경). */
@media (min-width:841px){
  #section-faq .faq-table thead th{height:75px; box-sizing:border-box;}
}
/* ===== EX_FAQ_HEADER_HEIGHT_20260624 END ===== */

/* ===== EX_JOURNEY_DETAIL_RATIO_20260624 START =====
   비교사진(좌=라이브/우=시안) % 차이 산출 + 풀시안 0503_합류 여정.jpg 1px 실측 교차검증으로
   하단 상세섹션(.journey-detail) 제목/아이콘 크기 상향. append-only / 같은 ID스코프 + !important로
   선행 EX_JOURNEY_DETAIL_SIANSPEC_20260624(제목26/figure60x70) 후순위 override. 데스크탑(841+)만.
   범위: 하단 상세섹션 제목폰트 + 좌측아이콘 크기/정렬만. 본문폰트(16px)·상단스텝카드는 미변경.

   [% 차이 산출 — 비교사진 동일배율(제목폭 좌137/우133=1.03 보정)]
   - 제목 글자폭: 라이브 112.1px(@26px) vs 시안환산 124.7px → +11% → 필요 font 28.9px
     (비교사진 글자높이 좌23/우27 = +21% 교차) → 절충 채택 30px(+15%)
   - 아이콘 가시그림: 라이브 W35xH55(svg path viewBox64중 37x50만 채움) vs 시안 가시 W60xH70
     → 가로 +67% / 세로 +40%. figure를 정사각 60x70→96x96(viewBox 64정사각 왜곡방지)로 키워
     가시그림 W~55xH~75 확보 → 시안 근접.

   [실제 px 변환 — 풀시안 콘텐츠1280 → 라이브 컨테이너1200, x0.9375]
   - 제목 30px / 아이콘 figure 96x96(9.6rem) / dd 들여쓰기 96+gap14=110px(11rem)
   ===== */
@media (min-width:841px){
	/* 제목: 26px→30px (시안 폭 정합, +15%) */
	#section-journey .journey-detail > dl dt{
		font-size:3.0rem !important;
	}
	/* 좌측 아이콘 박스: 60x70 → 96x96 정사각(viewBox 0 0 64 64 비율유지, 가시그림 확대) */
	#section-journey .journey-detail > dl dt figure{
		flex:0 0 9.6rem !important;
		width:9.6rem !important;
		height:9.6rem !important;
	}
	#section-journey .journey-detail > dl dt figure svg,
	#section-journey .journey-detail > dl dt figure svg.ic{
		width:9.6rem !important;
		height:9.6rem !important;
		max-width:9.6rem !important;
		max-height:9.6rem !important;
	}
	/* img형 아이콘(처우협의 등 img 케이스)도 동일 확대 */
	#section-journey .journey-detail > dl dt figure img{
		width:9.6rem !important;
		height:9.6rem !important;
		max-width:9.6rem !important;
		object-fit:contain !important;
	}
	/* 설명 들여쓰기: 아이콘폭(9.6rem)+gap(1.4rem)=11rem 으로 제목과 좌측정렬 */
	#section-journey .journey-detail > dl dd{
		padding-left:11rem !important;
	}
}
/* ===== EX_JOURNEY_DETAIL_RATIO_20260624 END ===== */

/* === EX_PORTFOLIO_WIDTH1280_20260624 START === */
/* 콘텐츠 가로 1280px 정렬 — /pr/* 와 동일 사상(EX_NEWS/EX_NOTICE_PRESS_WIDTH1280). 부모 #container 좌우 패딩 20px을 음수마진으로 상쇄해 #section-portfolio 콘텐츠 영역을 정확히 1280으로 확장. 배경/히어로/모달(#port-modal) 제외, 본문 섹션만 스코프. 그리드는 repeat(4,1fr) 유동컬럼이라 카드가 자연 확장(구조 미변경). 카테고리바/페이지네이션 폭에 따라 자연 정렬. */
#section-portfolio{max-width:1280px; width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; padding-left:0; padding-right:0;}
/* 반응형: 뷰포트가 콘텐츠보다 좁은 1279px 미만에서는 음수마진 해제하고 좌우 패딩 복구(모바일 깨짐 방지). 기존 1024/768/480 그리드 분기는 그대로 유지 */
@media only screen and (max-width:1279px){
	#section-portfolio{width:auto; margin-left:auto; margin-right:auto; padding-left:2rem; padding-right:2rem;}
}
/* === EX_PORTFOLIO_WIDTH1280_20260624 END === */

/* EX_ABOUT_HISTORY_WIDTH1280_20260624 — content area to pure 1280 */
@media (min-width: 1280px) {
  #section-history {
    max-width: 1280px;
    padding-left: 0;
    padding-right: 0;
  }
  #section-history .history-tab {
    padding-left: 0;
    padding-right: 0;
  }
}

/* EX_BIZ_AREAS_WIDTH1280_20260624 — content area to pure 1280 */
@media (min-width: 1280px) {
  #section-areas .inConts {
    padding-left: 0;
    padding-right: 0;
  }
}

/* EX_BIZ_CAPABILITIES_WIDTH1280_20260624 — content area to pure 1280 */
@media (min-width: 1280px) {
  #section-capability .inConts {
    padding-left: 0;
    padding-right: 0;
  }
}

/* EX_BIZ_SUSTAIN_WIDTH1280_20260624 — content area to pure 1280 */
@media (min-width: 1280px) {
  #section-sustain .inConts {
    padding-left: 0;
    padding-right: 0;
  }
}

/* === EX_CONTACT_WIDTH1280_20260624 START === */
/* 콘텐츠 가로 1280px 정렬 — /pr/*·/works 와 동일 사상(EX_NEWS/EX_NOTICE_PRESS/EX_PORTFOLIO_WIDTH1280). 부모 #container 좌우 패딩 20px을 음수마진으로 상쇄하고 섹션 자체 좌우 패딩(2rem)을 0으로 만들어 #section-inquiry/faq/location 콘텐츠 영역을 정확히 1280px로 확장. 배경/히어로/지도 풀폭 요소 영향 없음. 폼테이블/아코디언/카드그리드/지도는 width 기반 유동이라 자연 확장(구조·폰트·카드크기 미변경). 1279px 이하 반응형은 기존 규칙 유지(여기선 데스크탑만 손댐). */
#section-inquiry, #section-faq, #section-location{max-width:1280px; width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; padding-left:0; padding-right:0;}
/* === EX_CONTACT_WIDTH1280_20260624 END === */

/* EX_ABOUT_HISTORY_WIDTH1280_20260624_B — zero container padding so content fills 1280 */
@media (min-width: 1280px) {
  #container:has(> #section-history) {
    padding-left: 0;
    padding-right: 0;
  }
}

/* ===== EX_CAREERS_WIDTH1280_20260624 START ===== */
@media (min-width: 1280px) {
  /* talent */
  #container:has(> #section-talent) { padding-left: 0; padding-right: 0; }
  #section-talent { max-width: 1280px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
  /* life */
  #container:has(> #section-life) { padding-left: 0; padding-right: 0; }
  #section-life { max-width: 1280px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
  /* journey */
  #container:has(> #section-journey) { padding-left: 0; padding-right: 0; }
  #section-journey { max-width: 1280px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
  /* jobs */
  #container:has(> #section-jobs) { padding-left: 0; padding-right: 0; }
  #section-jobs { max-width: 1280px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
  /* recruit */
  #container:has(> #section-recruit) { padding-left: 0; padding-right: 0; }
  #section-recruit { max-width: 1280px; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
}
/* ===== EX_CAREERS_WIDTH1280_20260624 END ===== */


/* EX_JOURNEY_STEPS_2X2_START (2026-07-07)
   careers/journey — 합류여정 01~04 스텝 중간폭(769~1024px) 레이아웃:
   1행 = 01 › 02 / 2행 = 03 › 04 (2×2 그리드), 박스 정사각형(aspect-ratio 1/1),
   상하 행 박스 좌우 정렬(동일 그리드 칼럼), 02→03 행간 화살표 숨김.
   마크업 순서: li(01), li.arrow, li(02), li.arrow, li(03), li.arrow, li(04)
   → 4번째 자식(02→03 화살표)만 숨기면 3칼럼 그리드 자동배치로 2×2 완성 */
@media (min-width:769px) and (max-width:1024px){
	#section-journey .journey-steps{
		display:grid;
		grid-template-columns:minmax(0,1fr) 4rem minmax(0,1fr);
		row-gap:2.4rem;
		align-items:stretch;
		justify-items:stretch;
	}
	#section-journey .journey-steps > li:not(.arrow){
		aspect-ratio:1 / 1; min-height:0;
		box-sizing:border-box;
		min-width:0;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		padding:2rem 1.5rem;
		overflow:hidden;
	}
	#section-journey .journey-steps > li dl dd br{display:none;}
	/* 행 내부 화살표(01›02, 03›04): 정사각형 해제 + 중앙 배치 */
	#section-journey .journey-steps > li.arrow{
		aspect-ratio:auto;
		align-self:center;
		justify-self:center;
		display:flex;
		align-items:center;
		justify-content:center;
		padding:0;
	}
	/* 02→03 사이(행을 가로지르는) 화살표 숨김 */
	#section-journey .journey-steps > li.arrow:nth-child(4){display:none;}
}
/* EX_JOURNEY_STEPS_2X2_END */


/* EX_JOURNEY_STEPS_2X2_MOBILE_START (2026-07-08)
   careers/journey — 합류여정 01~04 스텝 2×2 정사각 레이아웃을 768px 이하 전 구간(최소 320px)까지 확장.
   기존 EX_JOURNEY_STEPS_2X2(769~1024) 블록은 미변경(append-only), 본 블록이 ≤768 전담.
   기존 모바일 1열 규칙(≤768 flex-wrap / ≤480 !important 다수: 가로카드·아래화살표·번호배지)을
   동등이상 특이성 + !important + 파일 최후미 소스순서로 제압.
   마크업: li(01), li.arrow, li(02), li.arrow(4번째=02→03), li(03), li.arrow, li(04) */
@media (max-width:768px){
	#section-journey .journey-steps{
		display:grid !important;
		grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr) !important;
		column-gap:0 !important;
		row-gap:16px !important;
		align-items:stretch !important;
		justify-items:stretch !important;
		padding:0 !important;
	}
	#section-journey .journey-steps > li:not(.arrow){
		aspect-ratio:1 / 1 !important;
		width:auto !important;
		min-width:0 !important;
		min-height:0 !important;
		box-sizing:border-box !important;
		display:flex !important;
		flex-direction:column !important;
		flex-wrap:nowrap !important;
		align-items:center !important;
		justify-content:center !important;
		gap:0 !important;
		padding:14px 10px !important;
		text-align:center !important;
		background:#fff !important;
		border:1px solid #eee !important;
		border-radius:8px !important;
		box-shadow:none !important;
	}
	/* 번호: 원형 배지 해제 → 플레인 레드 텍스트(태블릿 2×2와 동일) */
	#section-journey .journey-steps > li:not(.arrow) .num{
		display:block !important;
		flex:0 0 auto !important;
		width:auto !important;
		min-width:0 !important;
		height:auto !important;
		background:transparent !important;
		border-radius:0 !important;
		color:#e4002b !important;
		font-size:13px !important;
		font-weight:600 !important;
		line-height:1 !important;
		margin:0 0 10px !important;
	}
	#section-journey .journey-steps > li:not(.arrow) figure{
		flex:0 0 auto !important;
		width:56px !important;
		height:56px !important;
		margin:0 0 10px !important;
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		background:transparent !important;
		border:0 !important;
		border-radius:0 !important;
	}
	#section-journey .journey-steps > li:not(.arrow) figure svg{
		width:34px !important;
		height:34px !important;
	}
	#section-journey .journey-steps > li:not(.arrow) figure img{
		max-width:34px !important;
		max-height:34px !important;
	}
	#section-journey .journey-steps > li:not(.arrow) dl{
		flex:0 0 auto !important;
		width:100% !important;
		min-width:0 !important;
		margin:0 !important;
		text-align:center !important;
	}
	#section-journey .journey-steps > li:not(.arrow) dl dt{
		font-size:15px !important;
		line-height:1.3 !important;
		margin:0 0 4px !important;
	}
	#section-journey .journey-steps > li:not(.arrow) dl dd{
		font-size:12px !important;
		line-height:1.45 !important;
		margin:0 !important;
		white-space:normal !important;
		word-break:keep-all !important;
	}
	#section-journey .journey-steps > li:not(.arrow) dl dd br{display:none !important;}
	/* 행 내부 화살표(01›02, 03›04) 복원 — 우향 › 중앙배치 */
	#section-journey .journey-steps > li.arrow{
		display:flex !important;
		flex:none !important;
		width:auto !important;
		height:auto !important;
		min-height:0 !important;
		padding:0 !important;
		margin:0 !important;
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
		aspect-ratio:auto !important;
		align-self:center !important;
		justify-self:center !important;
		align-items:center !important;
		justify-content:center !important;
	}
	#section-journey .journey-steps > li.arrow::before{
		content:"\203A" !important;
		font-size:22px !important;
		line-height:1 !important;
		color:#bbb !important;
	}
	/* 02→03(행 경계) 화살표 숨김 → 3칼럼 자동배치로 1행 01›02 / 2행 03›04 */
	#section-journey .journey-steps > li.arrow:nth-child(4){display:none !important;}
}
/* 좁은 모바일(≤480px) — 비례 축소 */
@media (max-width:480px){
	#section-journey .journey-steps{
		grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) !important;
		row-gap:12px !important;
	}
	#section-journey .journey-steps > li:not(.arrow){padding:10px 8px !important;}
	#section-journey .journey-steps > li:not(.arrow) .num{font-size:12px !important; margin:0 0 8px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure{width:42px !important; height:42px !important; margin:0 0 8px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure svg{width:28px !important; height:28px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure img{max-width:28px !important; max-height:28px !important;}
	#section-journey .journey-steps > li:not(.arrow) dl dt{font-size:13px !important; margin:0 0 3px !important;}
	#section-journey .journey-steps > li:not(.arrow) dl dd{font-size:11px !important; line-height:1.4 !important;}
	#section-journey .journey-steps > li.arrow::before{font-size:18px !important;}
}
/* 최소폭(≤360px) — 한 번 더 축소(320px 정사각 수납 보장) */
@media (max-width:360px){
	#section-journey .journey-steps{
		grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr) !important;
		row-gap:10px !important;
	}
	#section-journey .journey-steps > li:not(.arrow){padding:8px 6px !important;}
	#section-journey .journey-steps > li:not(.arrow) .num{font-size:11px !important; margin:0 0 6px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure{width:34px !important; height:34px !important; margin:0 0 6px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure svg{width:24px !important; height:24px !important;}
	#section-journey .journey-steps > li:not(.arrow) figure img{max-width:24px !important; max-height:24px !important;}
	#section-journey .journey-steps > li:not(.arrow) dl dt{font-size:13px !important;}
	#section-journey .journey-steps > li:not(.arrow) dl dd{font-size:11px !important;}
	#section-journey .journey-steps > li.arrow::before{font-size:16px !important;}
}
/* EX_JOURNEY_STEPS_2X2_MOBILE_END */


/* EX_LOCATION_FIX_20260708_START */
/* (1) 좁은 폭 좌우 여백 복원 — EX_CONTACT_WIDTH1280_20260624의 음수마진 풀블리드가
   미디어쿼리 없이 전 폭에 적용돼 vw≤1352 구간에서 카드가 화면 끝에 붙음(800px 미만은
   컨테이너 패딩 2rem<20px라 -7~-9px 오버플로). 1360px 미만에서 풀블리드 해제하고
   컨테이너 패딩(2rem)과 합산해 좌우 여백이 정확히 20px가 되도록 보정.
   1360px 이상(여백 정상 구간)은 기존 규칙 그대로 유지 → 시각 변화 없음. */
@media (max-width:1359px){
	#section-location{
		width:auto;
		margin-left:auto;
		margin-right:auto;
		padding-left:calc(20px - 2rem);
		padding-right:calc(20px - 2rem);
	}
}
/* (2) 본사+부산지사 통합 팝업: 세로 2줄 블록 사이 구분선 */
.loc-pin-popup .loc-pin-popup-item + .loc-pin-popup-item{
	margin-top:14px;
	padding-top:14px;
	border-top:1px solid #ececec;
}
/* (3) 모바일(터치)에서도 핀 탭 팝업 사용 — 기존 @media(hover:none) display:none 무력화.
   숨김/표시는 데스크탑과 동일하게 opacity/visibility로 처리, 표시 중에는 팝업 위 탭이
   지도로 통과(=닫힘)하지 않도록 pointer-events 복원. */
@media (hover: none){
	.loc-pin-popup{display:block !important;}
	.loc-pin-popup.is-visible{pointer-events:auto;}
}
/* EX_LOCATION_FIX_20260708_END */

/* EX_LOCATION_FIX_20260708_ADD_START */
/* 좁은 폭에서 본사/부산지사 핀과 China 핀이 부분 중첩(중심간 ~7px) → 탭이 China에
   가로채짐. 통합 팝업 대상인 본사/부산지사 핀을 상위로 올려 탭 우선권 부여. */
#section-location .loc-map .pin-korea,
#section-location .loc-map .pin-busan{z-index:3;}
/* EX_LOCATION_FIX_20260708_ADD_END */

/* EX_PORTMODAL_FIX_20260708_START */
/* (1) 홈페이지 바로가기 버튼: 우측 끝 → 타이틀 바로 우측 인접 + 세로 중앙정렬.
   원인: .m-title{flex:1 1 auto}가 잔여폭을 전부 차지해 .m-link가 우측 끝으로 밀림.
   타이틀 grow 제거(shrink는 유지 → 긴 타이틀 줄바꿈 허용), 링크는 줄바꿈 금지,
   닫기 X는 margin-left:auto로 기존 우측 끝 위치 유지. */
#port-modal .modal-head .m-title{flex:0 1 auto !important;}
#port-modal .modal-head .m-link{flex:0 0 auto !important; white-space:nowrap !important;}
#port-modal .modal-head .m-close{margin-left:auto !important;}
/* 모바일(≤480px): 기존 오버라이드가 title/link를 각각 flex:1 1 100%로 2줄 적층시킴 →
   인라인 인접 배치로 복원. 닫기 X 절대위치(우상단)는 기존 유지. */
@media (max-width:480px){
	#port-modal .modal-head{flex-wrap:nowrap !important; align-items:center !important;}
	#port-modal .modal-head .m-title{flex:0 1 auto !important;}
	#port-modal .modal-head .m-link{flex:0 0 auto !important; margin-top:0 !important;}
}
/* (2) 선택 썸네일 빨간 테두리 4변 균일화.
   원인: .thumb.active = border 1px + outline 2px(박스 바깥) 조합인데 .m-thumbs가
   overflow 스크롤 컨테이너(padding-bottom만 존재)라 outline 상/좌변이 클리핑 →
   상/좌 1px vs 우/하 3px. outline 제거 후 박스 안쪽 2px border로 통일(클리핑 불가). */
#port-modal .m-thumbs .thumb{box-sizing:border-box !important;}
#port-modal .m-thumbs .thumb.active{outline:none !important; border:2px solid var(--point,#e4002b) !important;}
/* EX_PORTMODAL_FIX_20260708_END */

/* EX_PORTMODAL_FIX_20260708_ADD_START */
/* 375px 실측 보정: 기존 head padding-right 9rem(≈49.5px)이 절대위치 닫기 X 점유폭
   (right 1.2rem + width max(8rem,44px) ≈ 50.6px)보다 1px 작아 링크가 X와 1px 겹침.
   닫기 점유폭 + 8px 여유를 정확히 예약. 링크-타이틀 간격도 8px 수준으로 확대. */
@media (max-width:480px){
	#port-modal .modal-head{padding-right:max(calc(1.2rem + 8rem + 8px), calc(1.2rem + 44px + 8px)) !important;}
	#port-modal .modal-head .m-link{margin-left:4px !important;}
}
/* EX_PORTMODAL_FIX_20260708_ADD_END */

/* EX_PORTLIST_1COL_20260708_START */
/* CTO 지시: 가로가 좁아지면 카드 반폭/전폭 혼재(매거진 2열) 금지 → 한 줄에 하나씩.
   실측: EX_PF_ROWGRID 기준 ≤768 2열 밴드(featured=전폭, 일반=반폭)가 들쑥날쑥의 원인,
   769~900 3열 밴드도 카드폭 ~250px 과밀. → 900px 이하 전 구간 전폭 1열 균일화
   (스크린샷 ~800px대 포함). 901px 이상(3열/4열 매거진 그리드)은 미변경.
   이미지는 기존 width:100% + height:auto(원본비율) 그대로 — 왜곡/크롭 없음. */
@media (max-width:900px){
	#section-portfolio .port-grid{grid-template-columns:1fr !important; gap:2.8rem 0 !important;}
	#section-portfolio .port-grid > li,
	#section-portfolio .port-grid > li.featured{grid-column:span 1 !important; grid-row:auto !important;}
}
/* EX_PORTLIST_1COL_20260708_END */



/* EX_LIFE_RESPONSIVE_20260709_START */
/* 반응형 칼럼 단조화 (CTO 지시: "좁아지다 갑자기 두칸" 역행 제거 + 전체 흐름 정비)
   실측 문제:
   ① 성장지원/오래함께(life-list): 데스크톱(≥1025px) 1칸 → 769~1024px에서 갑자기 2칸 grid(구 태블릿 규칙 잔존) → ≤768px 다시 1칸. 1→2→1 역행.
      900px 부근에서 li가 섹션 밖으로 삐져나가는 bleed도 동반.
   ② 복지(life-grid3): 3칸이 769px까지 유지되다 768px에서 1칸으로 급전환(3→1).
   조치(레이아웃만, 기존 look·폰트 유지):
   ① 769~1024px에서 life-list를 데스크톱과 동일한 1칸 세로 행 레이아웃으로 복원 → 1칸 단조 유지
      (아이콘 11rem·제목칼럼 21rem 등 데스크톱 행 규칙 그대로 적용됨)
   ② 769~1024px에서 life-grid3를 2칸 격자로 → 3→2→1 단조 감소 (격자선 border 규칙 그대로 동작)
   조직문화(life-grid2)는 2→1 단조라 무변경. */
@media (min-width:769px) and (max-width:1024px){
	#section-life .life-list:not(.life-grid2){display:flex !important; flex-flow:column nowrap !important; gap:0 !important;}
	#section-life .life-grid3{display:grid !important; grid-template-columns:repeat(2, 1fr) !important;}
}
/* EX_LIFE_RESPONSIVE_20260709_END */

/* EX_LOCATION_MAP_20260727 START : 신규 지도 이미지 + 핀 hover 확대 애니메이션 */
#section-location .loc-map .pin{
	width:1.2rem; height:1.2rem;
	background:#e4002b;
	box-shadow:0 0 0 0.4rem rgba(228,0,43,0.22), 0 0.2rem 0.6rem rgba(0,0,0,0.15);
	transition:transform .28s ease, box-shadow .28s ease;
	transform-origin:center center;
	z-index:2;
}
#section-location .loc-map .pin span{
	position:absolute;
	left:1.7rem; top:-0.9rem;
	font-size:1.3rem; font-weight:600;
	color:#111;
	white-space:nowrap;
	transition:font-size .28s ease, color .28s ease, transform .28s ease;
	pointer-events:none;
}
#section-location .loc-map .pin:hover,
#section-location .loc-map .pin:focus{
	transform:scale(1.55);
	box-shadow:0 0 0 0.6rem rgba(228,0,43,0.32), 0 0.3rem 0.8rem rgba(0,0,0,0.22);
	z-index:5;
}
#section-location .loc-map .pin:hover span,
#section-location .loc-map .pin:focus span{
	font-size:1.65rem;
	color:#e4002b;
	transform:translate(0.2rem, -0.1rem);
}
@media (max-width:767px){
	#section-location .loc-map .pin{width:1rem; height:1rem;}
	#section-location .loc-map .pin span{font-size:1.05rem; left:1.3rem;}
	#section-location .loc-map .pin:hover span,
	#section-location .loc-map .pin:focus span{font-size:1.3rem;}
}
/* EX_LOCATION_MAP_20260727 END */

/* EX_PIN_LABEL_SHOW_20260728 START : (1)핀 라벨 노출 복구 (2)신규 지도 이미지 기준 핀 좌표 정밀 재조정 */
/* 원인: line 7693 LOCATION-PIN-LABEL 규칙(.pin span{display:none;})이 뒤의 EX_LOCATION_MAP_20260727 span 규칙에 display 미포함이라 계속 살아있음 → 명시적 display 재선언으로 라벨 복구 */
#section-location .loc-map .pin span{
	display:inline-block;
}
/* 좌표: world_map_0603@3x.png 실제 지리 위치 기준 정밀 재조정 (transform:translate(-50%,-50%) 중앙정렬 기준 %) */
#section-location .loc-map .pin-korea{left:39.0%; top:44.5%;}
#section-location .loc-map .pin-busan{left:39.7%; top:46.5%;}
#section-location .loc-map .pin-china{left:37.0%; top:47.3%;}
#section-location .loc-map .pin-vietnam{left:32.8%; top:61.2%;}
#section-location .loc-map .pin-usa{left:71.0%; top:39.7%;}
/* EX_PIN_LABEL_SHOW_20260728 END */

/* EX_PIN_CHINA_LABEL_20260728 START : China 라벨만 점 좌상단 배치 (기본 span은 우상단 유지) */
#section-location .loc-map .pin-china span{
	position:absolute !important;
	right:100% !important;
	bottom:100% !important;
	left:auto !important;
	top:auto !important;
	margin-right:0.6rem !important;
	margin-bottom:0.2rem !important;
	white-space:nowrap !important;
}
/* EX_PIN_CHINA_LABEL_20260728 END */

/* EX_PIN_CHINA_LINE_FIX_20260728 START : 원인=부모 figure.world-map-fig의 line-height:0 상속으로 .pin span 컨텐츠박스 높이가 0이 되어 padding(0.1rem 0.5rem)만 남은 2px 흰 가로줄로 렌더됨. 텍스트는 overflow:visible로 밖으로 튀어나가 라벨과 흰 바가 시각적으로 분리. background/padding/border-radius 제거로 흰 바 소거(모든 pin 공통 적용, China가 유독 눈에 띈 것은 좌측 라벨 배치가 지도 진회색 대륙과 대비 크기 때문). */
#section-location .loc-map .pin span{
	background:transparent !important;
	padding:0 !important;
	border-radius:0 !important;
}
/* EX_PIN_CHINA_LINE_FIX_20260728 END */

/* EX_PIN_OVERLAP_FIX_20260728 START : 한국·부산·중국(상해) 3핀이 서로 3~5% 이내로 근접해 라벨이 겹침.
   해결: (1) 좌표 미세 분산 — 상해를 실제 지리에 맞게 서남쪽으로 이동, 부산을 우하로 이동.
        (2) 라벨 방향 분산 — 본사=우(기본), 부산=하(dot 아래), china=좌상(기존), vietnam=우(기본), usa=우(기본).
   지도: world_map_0603@3x.png는 전통적 Mercator 유사(한국이 39.0%/44.5%). 상해는 실제로 서울 남서쪽 ~850km. */
#section-location .loc-map .pin-korea{left:39.0%; top:44.5%;}
#section-location .loc-map .pin-busan{left:40.4%; top:46.8%;}
#section-location .loc-map .pin-china{left:35.2%; top:48.2%;}
#section-location .loc-map .pin-vietnam{left:32.8%; top:61.2%;}
#section-location .loc-map .pin-usa{left:71.0%; top:39.7%;}

/* 부산 라벨 = dot 아래 중앙 (본사 라벨과 우측 방향 충돌 회피) */
#section-location .loc-map .pin-busan span{
	position:absolute !important;
	left:50% !important;
	top:100% !important;
	right:auto !important;
	bottom:auto !important;
	transform:translate(-50%, 0.4rem) !important;
	margin:0 !important;
	white-space:nowrap !important;
}
#section-location .loc-map .pin-busan:hover span,
#section-location .loc-map .pin-busan:focus span{
	transform:translate(-50%, 0.6rem) !important;
}
/* EX_PIN_OVERLAP_FIX_20260728 END */

/* EX_PIN_MOBILE_SIZE_20260728 START : 모바일 핀 dot 1rem(10px)→1.4rem(14px) 확대 (터치 타깃 개선).
   추가로 hover 링 강화로 태핑 반경 확장 효과. 라벨 크기는 기존 1.05rem 유지(레이아웃 안정). */
@media (max-width:767px){
	#section-location .loc-map .pin{
		width:1.4rem !important;
		height:1.4rem !important;
		box-shadow:0 0 0 0.5rem rgba(228,0,43,0.22), 0 0.2rem 0.6rem rgba(0,0,0,0.15) !important;
	}
	#section-location .loc-map .pin span{
		left:1.7rem;
	}
	#section-location .loc-map .pin-busan span{
		left:50% !important;
		top:100% !important;
	}
}
/* EX_PIN_MOBILE_SIZE_20260728 END */

/* EX_PIN_HOVER_CENTER_20260728 START : hover 확대 시 dot의 중심을 기준으로 스케일링.
   기존에도 .pin에 transform-origin:center center 설정되어 있으나, 명시적 !important로 상속·우선순위 트랩 방지.
   pin 요소 자체에 scale이 걸리므로 origin이 dot 중심이 되도록 강제. */
#section-location .loc-map .pin,
#section-location .loc-map a.pin{
	transform-origin:center center !important;
}
#section-location .loc-map .pin:hover,
#section-location .loc-map .pin:focus,
#section-location .loc-map a.pin:hover,
#section-location .loc-map a.pin:focus{
	transform-origin:center center !important;
}
/* EX_PIN_HOVER_CENTER_20260728 END */

/* EX_PIN_COORD_FIX_20260728 START - 지도 이미지 지리 실측 기반 정확 좌표 재조정
   world_map_0603@3x.png (Atlantic-centered projection) 기준 실측 좌표.
   기존 override(라인 12678-12682) 이후 append되어 순서·!important 승리.
   pin-korea/서울(본사), pin-busan/부산지사, pin-china/상해, pin-vietnam/호치민, pin-usa/시애틀 */
#section-location .loc-map .pin-korea   { top: 40% !important; left: 49% !important; }
#section-location .loc-map .pin-busan   { top: 43% !important; left: 50% !important; }
#section-location .loc-map .pin-china   { top: 47% !important; left: 46% !important; }
#section-location .loc-map .pin-vietnam { top: 58% !important; left: 43% !important; }
#section-location .loc-map .pin-usa     { top: 32% !important; left: 75% !important; }
/* EX_PIN_COORD_FIX_20260728 END */

/* EX_PIN_COORD_V2_20260728 START - Python pixel analysis 기반 정밀 좌표 재조정
   world_map_0603@3x.png (4500x2520, Pacific-centered projection) 원본 이미지 픽셀 스캔으로
   각 도시의 실제 지리 위치 확정. 이전 EX_PIN_COORD_FIX_20260728 값은 오차 커서 override.
   측정 방법: PIL로 alpha/rgb 픽셀 스캔, 0.5% 해상도로 대륙 경계·해안선 확인 후 도시별 좌표 매핑.
   측정 결과:
   - Seoul(본사, 37.6°N/127°E): 한반도 중서부 → (40.0%, 43.0%)
   - Busan(부산지사, 35.1°N/129°E): 한반도 남동단 → (41.0%, 44.5%)
   - Shanghai(China, 31.2°N/121.5°E): 중국 동해안 → (38.5%, 46.0%)
   - HCMC(Vietnam, 10.8°N/106.7°E): 베트남 남부 → (35.5%, 55.0%)
   - Seattle(USA, 47.6°N/122.3°W): 미국 서북부 → (66.5%, 38.5%) */
#section-location .loc-map .pin-korea   { top: 43.0% !important; left: 40.0% !important; }
#section-location .loc-map .pin-busan   { top: 44.5% !important; left: 41.0% !important; }
#section-location .loc-map .pin-china   { top: 46.0% !important; left: 38.5% !important; }
#section-location .loc-map .pin-vietnam { top: 55.0% !important; left: 35.5% !important; }
#section-location .loc-map .pin-usa     { top: 38.5% !important; left: 66.5% !important; }
/* EX_PIN_COORD_V2_20260728 END */

/* EX_PIN_HOVER_TRANSLATE_FIX_20260728 START - 기존 hover scale이 translate(-50%,-50%)를 override해서
   pin이 hover시 자기 크기의 절반만큼 우하로 이동하는 버그 수정. translate+scale 병기로 dot 중심 고정. */
#section-location .loc-map .pin,
#section-location .loc-map a.pin{
	transform: translate(-50%, -50%) !important;
	transform-origin: center center !important;
}
#section-location .loc-map .pin:hover,
#section-location .loc-map .pin:focus,
#section-location .loc-map a.pin:hover,
#section-location .loc-map a.pin:focus{
	transform: translate(-50%, -50%) scale(1.55) !important;
	transform-origin: center center !important;
}
/* EX_PIN_HOVER_TRANSLATE_FIX_20260728 END */

/* EX_PIN_LABEL_SCALE_ORIGIN_20260728 START - hover시 라벨이 자기 크기의 중심에서 커지지 않도록
   dot쪽 앵커에서 확대. font-size 대신 scale 사용 + transform-origin 방향별 지정.
   기존 .pin:hover span { transform: translate(0.2rem,-0.1rem); font-size: 1.65rem; } override. */
#section-location .loc-map .pin span{
	transition: transform 0.2s ease, color 0.2s ease !important;
	transform-origin: 0 50% !important;
	transform: scale(1) !important;
}
#section-location .loc-map .pin:hover span,
#section-location .loc-map .pin:focus span{
	transform: scale(1.35) !important;
	font-size: 1.2rem !important; /* base font-size 유지 */
}
/* pin-china: 라벨이 dot 좌상단 → origin = 우하단 (100% 100%) */
#section-location .loc-map .pin-china span{
	transform-origin: 100% 100% !important;
}
#section-location .loc-map .pin-china:hover span,
#section-location .loc-map .pin-china:focus span{
	transform: scale(1.35) !important;
}
/* pin-busan: 라벨이 dot 아래 → origin = 상단 중앙 (50% 0) */
#section-location .loc-map .pin-busan span{
	transform-origin: 50% 0 !important;
	/* busan 라벨은 translate(-50%, 0.4rem)이 기존 배치이므로 유지 */
	transform: translate(-50%, 0.4rem) scale(1) !important;
}
#section-location .loc-map .pin-busan:hover span,
#section-location .loc-map .pin-busan:focus span{
	transform: translate(-50%, 0.4rem) scale(1.35) !important;
}
@media (max-width:767px){
	#section-location .loc-map .pin:hover span,
	#section-location .loc-map .pin:focus span{
		transform: scale(1.25) !important;
	}
	#section-location .loc-map .pin-busan:hover span,
	#section-location .loc-map .pin-busan:focus span{
		transform: translate(-50%, 0.4rem) scale(1.25) !important;
	}
}
/* EX_PIN_LABEL_SCALE_ORIGIN_20260728 END */

/* EX_PIN_V3_FIX_20260728 START - 3-agent 검증 후 미세 조정 */

/* Fix 1-2: china/vietnam 좌표 미세 조정 */
#section-location .loc-map .pin-china   { top: 35.0% !important; left: 46.0% !important; }
#section-location .loc-map .pin-vietnam { top: 35.5% !important; left: 58.5% !important; }

/* Fix 3-4-5: 모바일 최적화 */
@media (max-width: 767px) {
  /* 라벨 폰트 강제 최소값 */
  #section-location .loc-map .pin span {
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }
  #section-location .loc-map .pin:hover span {
    font-size: 15px !important;
  }
  /* 핀 크기 확대 */
  #section-location .loc-map .pin {
    width: 14px !important;
    height: 14px !important;
    box-shadow: 0 0 0 5px rgba(228,0,43,.3) !important;
  }
  /* 부산-Vietnam 겹침 해결: Vietnam 라벨 좌측 위 배치 */
  #section-location .loc-map .pin-vietnam span {
    right: 100% !important;
    top: -50% !important;
    left: auto !important;
    bottom: auto !important;
    margin-right: 6px !important;
    transform-origin: 100% 50% !important;
  }
  /* 터치 타깃 확대 (hit-area) */
  #section-location .loc-map .pin::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    transform: translate(-50%, -50%);
  }
}

/* Fix 3-4 태블릿 (768~1023) 라벨 폰트도 강화 */
@media (min-width: 768px) and (max-width: 1023px) {
  #section-location .loc-map .pin span {
    font-size: 12px !important;
  }
  #section-location .loc-map .pin {
    width: 12px !important;
    height: 12px !important;
  }
}
/* EX_PIN_V3_FIX_20260728 END */

/* EX_PIN_V4_FIX_20260728 START - 3-agent 재검증 결과 반영, 지리 실측 좌표 */
#section-location .loc-map .pin-korea   { top: 40.0% !important; left: 43.0% !important; }
#section-location .loc-map .pin-busan   { top: 42.5% !important; left: 44.5% !important; }
#section-location .loc-map .pin-china   { top: 44.0% !important; left: 41.0% !important; }
#section-location .loc-map .pin-vietnam { top: 54.0% !important; left: 43.0% !important; }
#section-location .loc-map .pin-usa     { top: 34.5% !important; left: 66.0% !important; }

/* 태블릿 hit-area 확장 (max-width 1024) */
@media (max-width: 1024px) {
  #section-location .loc-map .pin::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 32px;
    height: 32px;
    transform: translate(-50%, -50%);
  }
}

/* 모바일 Vietnam 라벨 상단으로 확실히 이동 (China와 분리) */
@media (max-width: 767px) {
  #section-location .loc-map .pin-vietnam span {
    right: 100% !important;
    bottom: 100% !important;
    top: auto !important;
    left: auto !important;
    margin-right: 6px !important;
    margin-bottom: 4px !important;
    transform-origin: 100% 100% !important;
  }
}
/* EX_PIN_V4_FIX_20260728 END */

/* EX_PIN_V5_FIX_20260728 START — 3-agent V4 재검증 반영, 좌표 하향 + hit-area 강화 + 라벨 겹침 해결 */

/* Fix 1: 좌표 (지리 실측 기반, 전체 2~4% 하향) */
#section-location .loc-map .pin-korea   { top: 44.0% !important; left: 43.0% !important; z-index: 5 !important; }
#section-location .loc-map .pin-busan   { top: 46.0% !important; left: 44.0% !important; z-index: 5 !important; }
#section-location .loc-map .pin-china   { top: 46.5% !important; left: 40.0% !important; z-index: 4 !important; }
#section-location .loc-map .pin-vietnam { top: 57.0% !important; left: 38.0% !important; z-index: 4 !important; }
#section-location .loc-map .pin-usa     { top: 36.5% !important; left: 66.0% !important; z-index: 4 !important; }

/* Fix 2: 태블릿·모바일 hit-area 44×44 (V4 미구현 fix, specificity+!important 강화) */
@media (max-width: 1024px) {
  #section-location .loc-map .pin {
    position: absolute !important;
  }
  #section-location .loc-map .pin::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 44px !important;
    height: 44px !important;
    transform: translate(-50%, -50%) !important;
    background: transparent !important;
    z-index: 1 !important;
  }
}

/* Fix 3-4: 모바일 라벨 겹침 완전 해결 */
@media (max-width: 767px) {
  /* Vietnam 라벨 pin dot 완전 상단 위 (부산·china와 분리) */
  #section-location .loc-map .pin-vietnam span {
    position: absolute !important;
    right: 100% !important;
    bottom: 130% !important;
    top: auto !important;
    left: auto !important;
    margin-right: 6px !important;
    margin-bottom: 0 !important;
    white-space: nowrap !important;
  }
  /* China 라벨 좌상단 유지 + 더 위로 밀어 Vietnam과 분리 */
  #section-location .loc-map .pin-china span {
    position: absolute !important;
    right: 100% !important;
    bottom: 100% !important;
    top: auto !important;
    left: auto !important;
    margin-right: 8px !important;
    margin-bottom: 4px !important;
  }
  /* 부산 라벨 하단 유지 */
  #section-location .loc-map .pin-busan span {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translate(-50%, 4px) !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}
/* EX_PIN_V5_FIX_20260728 END */

/* EX_PIN_V6_FIX_20260728 START — 3-agent V5 재검증 반영 */

/* Fix 1: 좌표 미세 조정 (Korea/Busan/Vietnam left -2%p, USA top +1.6%p) + z-index 계층 분리 */
#section-location .loc-map .pin-korea   { top: 42.7% !important; left: 40.9% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan   { top: 45.3% !important; left: 41.9% !important; z-index: 9 !important; }
#section-location .loc-map .pin-china   { top: 46.5% !important; left: 40.0% !important; z-index: 8 !important; }
#section-location .loc-map .pin-vietnam { top: 57.1% !important; left: 35.9% !important; z-index: 7 !important; }
#section-location .loc-map .pin-usa     { top: 38.1% !important; left: 66.3% !important; z-index: 6 !important; }

/* Hover 시 최상위로 (본사 클릭 스틸 문제 해결) */
#section-location .loc-map .pin:hover { z-index: 15 !important; }

/* Fix 2: hit-area 28×28로 축소 (V5의 44는 상호 잠식) */
@media (max-width: 1024px) {
  #section-location .loc-map .pin::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 28px !important;
    height: 28px !important;
    transform: translate(-50%, -50%) !important;
    background: transparent !important;
    z-index: 1 !important;
  }
}
/* EX_PIN_V6_FIX_20260728 END */

/* EX_PIN_V7_FIX_20260728 START — CTO 육안 지적 반영 */
#section-location .loc-map .pin-korea   { top: 43.8% !important; left: 41.4% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan   { top: 46.0% !important; left: 41.5% !important; z-index: 9 !important; }
#section-location .loc-map .pin-china   { top: 47.0% !important; left: 38.5% !important; z-index: 8 !important; }
#section-location .loc-map .pin-vietnam { top: 58.0% !important; left: 38.0% !important; z-index: 7 !important; }
#section-location .loc-map .pin-usa     { top: 40.5% !important; left: 67.5% !important; z-index: 6 !important; }
/* EX_PIN_V7_FIX_20260728 END */

/* EX_PIN_V8_FIX_20260728 START — CTO 본사·부산 미세 조정 */
#section-location .loc-map .pin-korea { top: 44.7% !important; left: 42.0% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan { top: 46.5% !important; left: 42.3% !important; z-index: 9 !important; }
/* EX_PIN_V8_FIX_20260728 END */

/* EX_PIN_V9_FIX_20260728 START — 서쪽 이동 재조정 */
#section-location .loc-map .pin-korea { top: 44.7% !important; left: 40.8% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan { top: 46.5% !important; left: 41.0% !important; z-index: 9 !important; }
/* EX_PIN_V9_FIX_20260728 END */

/* EX_PIN_V10_FIX_20260728 START — 부산 라벨 우하단 + Vietnam 동남 이동 */
/* Fix 1: 부산 라벨 우하단 배치 */
#section-location .loc-map .pin-busan span {
  position: absolute !important;
  top: 100% !important;
  left: 100% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate(4px, 4px) !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
/* Fix 2: Vietnam 좌표 동남 이동 */
#section-location .loc-map .pin-vietnam {
  top: 60.5% !important;
  left: 40.5% !important;
  z-index: 7 !important;
}
/* EX_PIN_V10_FIX_20260728 END */

/* EX_PIN_V11_FIX_20260728 START — Vietnam 좌상단 크게 이동 */
#section-location .loc-map .pin-vietnam {
  top: 53.0% !important;
  left: 31.0% !important;
  z-index: 7 !important;
}
/* EX_PIN_V11_FIX_20260728 END */

/* EX_PIN_V12_FIX_20260728 START — Playwright grid-overlay 실측 재조정 (전 핀 서쪽 치우침 보정) */
#section-location .loc-map .pin-korea   { top: 40.0% !important; left: 45.5% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan   { top: 43.0% !important; left: 46.0% !important; z-index: 9 !important; }
#section-location .loc-map .pin-china   { top: 45.5% !important; left: 43.5% !important; z-index: 8 !important; }
#section-location .loc-map .pin-vietnam { top: 57.5% !important; left: 40.5% !important; z-index: 7 !important; }
#section-location .loc-map .pin-usa     { top: 37.5% !important; left: 62.5% !important; z-index: 6 !important; }
/* EX_PIN_V12_FIX_20260728 END */

/* EX_PIN_V13_FIX_20260728 START — V12 iter1 재검증: korea/busan 서쪽 이동, vietnam 남쪽 이동 */
#section-location .loc-map .pin-korea   { top: 41.5% !important; left: 44.3% !important; z-index: 10 !important; }
#section-location .loc-map .pin-busan   { top: 43.7% !important; left: 44.7% !important; z-index: 9 !important; }
#section-location .loc-map .pin-china   { top: 46.0% !important; left: 42.8% !important; z-index: 8 !important; }
#section-location .loc-map .pin-vietnam { top: 58.5% !important; left: 40.5% !important; z-index: 7 !important; }
#section-location .loc-map .pin-usa     { top: 37.0% !important; left: 62.5% !important; z-index: 6 !important; }
/* EX_PIN_V13_FIX_20260728 END */

/* EX_PIN_V12_FIX_20260728 START — CTO 확정 좌표 */
#section-location .loc-map .pin-vietnam {
  top: 56% !important;
  left: 35.5% !important;
  z-index: 7 !important;
}
/* EX_PIN_V12_FIX_20260728 END */

/* EX_PIN_ROLLBACK_V14_20260728 START — V12/V13 append 롤백: korea/busan/china/usa V11 시점(V9,V7 승자) 좌표로 복원, Vietnam CTO 확정값(56/35.5) 유지 */
#section-location .loc-map .pin-korea {
  top: 44.7% !important;
  left: 40.8% !important;
  z-index: 10 !important;
}
#section-location .loc-map .pin-busan {
  top: 46.5% !important;
  left: 41.0% !important;
  z-index: 9 !important;
}
#section-location .loc-map .pin-china {
  top: 47% !important;
  left: 38.5% !important;
  z-index: 8 !important;
}
#section-location .loc-map .pin-usa {
  top: 40.5% !important;
  left: 67.5% !important;
  z-index: 6 !important;
}
#section-location .loc-map .pin-vietnam {
  top: 56% !important;
  left: 35.5% !important;
  z-index: 7 !important;
}
/* EX_PIN_ROLLBACK_V14_20260728 END */

/* EX_PF_MODAL_DESC_WRAP_20260728: 포트폴리오 상세 모달 설명(.m-desc) 가로 스크롤 방지.
   CKEditor 저장 콘텐츠가 NBSP·긴 영단어·URL을 포함할 때 컨테이너 폭 초과 → 가로 넘침.
   PHP측(detail_ajax.php)에서 NBSP는 일반 공백으로 정규화하지만, 그 외 방어책으로
   한글 어절 단위 유지(word-break:keep-all) + 초과 시 어디서든 강제 절단(overflow-wrap:anywhere).
   컨테이너 자체는 넘치더라도 폭 제한(max-width:100%) + 가로 스크롤 억제. */
.port-modal .m-desc{max-width:100%; word-break:keep-all; overflow-wrap:anywhere; white-space:normal; overflow-x:hidden;}
.port-modal .m-desc *{max-width:100%; word-break:keep-all; overflow-wrap:anywhere;}
.port-modal .m-desc img{height:auto;}
/* EX_PF_MODAL_DESC_WRAP_20260728 END */
