@charset "utf-8";
.mo{display: none;}
.mo_resp_563{display:none;}
.mo_resp_400{display:none;}


/* 서브 공통 */
#sub_content{margin: 120px auto; max-width: 1400px; padding:0 0 90px; width: 80%;}
#sub_content.history{margin: 120px auto 90px;}
/* #sub_content h2{font-size: 42px; font-weight: 700; font-family: 'GmarketSans' !important; margin-bottom: 50px; padding: 0;} */
#sub_content h2{font-size: 36px;
    color: #222;
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    font-weight: 700;}

/*인사말*/
.greetings{background: url(../img/sub/img_sub01_bg.jpg) no-repeat right bottom / 40%;}
.greetings figure{display: block; height: 350px; border-radius: 20px; margin-bottom: 80px; overflow: hidden;}
.greetings figure img{width: 100%; height: 100%; object-fit: cover;}
.greetings .txt h3{display: block; font-size: 28px; font-weight: 700; margin-bottom: 50px; line-height: 1.4;  }
.greetings .txt h3 strong{font-weight: 600; color: var(--main-deep-blue);}
.greetings .txt p{font-size: 20px; margin-bottom: 8px; word-break: keep-all; color:#555555;}
.greetings .txt p b{font-weight: 700;}
.greetings .txt span{font-size: 24px; display: flex; justify-content: end; margin-top: 30px;}
/* 조직도 */
.org img{
    border-radius: 30px;
    border: 1.5px solid #eeeeee;
}

/* Nuclear technology R&D */
.nuclear_rnd {
	--nr-navy: #123b59;
	--nr-blue: #176b91;
	--nr-green: #13826f;
	--nr-line: #dbe3e8;
	--nr-soft: #f3f7f8;
}

.nuclear_rnd .nr_heading {
	margin-bottom: 65px;
	text-align: center;
}

.nuclear_rnd .nr_heading > span {
	display: block;
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 2px;
	color: var(--nr-blue);
}

.nuclear_rnd .nr_heading h3 {
	font-size: 42px;
	font-weight: 700;
	line-height: 1.3;
	color: #222;
}

.nuclear_rnd .nr_heading p {
	margin-top: 18px;
	font-size: 22px;
	line-height: 1.7;
	color: #666;
	word-break: keep-all;
}

.nuclear_rnd .nr_hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(390px, .82fr);
	min-height: 430px;
	background: var(--nr-navy);
	overflow: hidden;
}

.nuclear_rnd .nr_hero::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42%;
	height: 5px;
	background: linear-gradient(90deg, var(--nr-green), #39a9a1);
}

.nuclear_rnd .nr_hero_copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 70px 64px;
	color: #fff;
}

.nuclear_rnd .nr_hero_copy > span {
	margin-bottom: 24px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: #7fd5c8;
}

.nuclear_rnd .nr_hero_copy h4 {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.45;
}

.nuclear_rnd .nr_hero_copy p {
	max-width: 590px;
	margin-top: 25px;
	font-size: 16px;
	line-height: 1.85;
	color: rgba(255,255,255,.76);
	word-break: keep-all;
}

.nuclear_rnd .nr_hero_visual {
	position: relative;
	min-height: 430px;
	overflow: hidden;
}

.nuclear_rnd .nr_hero_visual::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(18,59,89,.72), rgba(18,59,89,.06) 60%);
}

.nuclear_rnd .nr_hero_visual > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nuclear_rnd .nr_hero_index {
	position: absolute;
	z-index: 2;
	right: 34px;
	bottom: 30px;
	text-align: right;
	color: #fff;
}

.nuclear_rnd .nr_hero_index strong,
.nuclear_rnd .nr_hero_index span {
	display: block;
}

.nuclear_rnd .nr_hero_index strong {
	font-size: 44px;
	line-height: 1;
}

.nuclear_rnd .nr_hero_index span {
	margin-top: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
}

/* .nuclear_rnd .nr_section {
	margin-top: 110px;
} */

.nuclear_rnd .nr_heading + .nr_section {
	margin-top: 0;
}

.nuclear_rnd .nr_section_heading {
	display: grid;
	grid-template-columns: 54px 1fr;
	align-items: start;
	gap: 20px;
	margin-bottom: 40px;
}

.nuclear_rnd .nr_section_heading > span {
	padding-top: 6px;
	font-size: 15px;
	font-weight: 800;
	color: var(--main-blue);
}

.nuclear_rnd .nr_section_heading p {
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1.4px;
	color: var(--nr-blue);
}

.nuclear_rnd .nr_section_heading h4 {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.35;
	color: #222;
}

.nuclear_rnd .nr_direction_flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding-top: 28px;
	border-top: 1px solid #9fb1bd;
}

.nuclear_rnd .nr_direction_item {
	position: relative;
	min-height: 175px;
	padding: 17px 30px 20px;
	border-right: 1px solid var(--nr-line);
}

.nuclear_rnd .nr_direction_item:last-child {
	border-right: 0;
}

.nuclear_rnd .nr_direction_item::before {
	content: '';
	position: absolute;
	top: -36px;
	left: 30px;
	width: 15px;
	height: 15px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--nr-green);
	box-shadow: 0 0 0 1px var(--nr-green);
}

.nuclear_rnd .nr_direction_item > span {
	display: block;
	margin-bottom: 18px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 1px;
	color: var(--nr-blue);
}

.nuclear_rnd .nr_direction_item strong {
	display: block;
	font-size: 24px;
	color: #222;
}

.nuclear_rnd .nr_direction_item p {
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.65;
	color: #666;
	word-break: keep-all;
}

.rnd_page .rnd_table_wrap {
	--rnd-table-navy: #123b59;
	--rnd-table-green: #13826f;
	--rnd-table-line: #dbe3e8;
	--rnd-table-soft: #f3f7f8;
	/* border-top: 4px solid var(--rnd-table-navy); */
	border-bottom: 1px solid #9fb1bd;
	overflow: hidden;
}

.rnd_page .rnd_project_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
	table-layout: fixed;
	/* border-radius: 10px; */
    /* overflow: hidden; */
}

.rnd_page .rnd_project_table caption {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

.rnd_page .rnd_project_table .rnd_col_period {width: 17%;}
.rnd_page .rnd_project_table .rnd_col_field {width: 15%;}
.rnd_page .rnd_project_table .rnd_col_title {width: 24%;}

.rnd_page .rnd_project_table th,
.rnd_page .rnd_project_table td {
	padding: 22px 22px;
	border: 0;
	border-bottom: 1px solid var(--rnd-table-line);
	font-size: 18px;
	line-height: 1.65;
	text-align: left;
	vertical-align: middle;
	color: #333333;
	word-break: keep-all;
}

.rnd_page .rnd_project_table thead th {
	padding-top: 17px;
	padding-bottom: 17px;
	/* background: var(--main-blue); */
	font-size: 18px;
	font-weight: 700;
	/* color: #fff; */
	border-top: 2px solid #222222;
    background: var(--main-light-blue);
}

.rnd_page .rnd_project_table tbody tr:last-child > * {
	border-bottom: 0;
}

.rnd_page .rnd_project_table tbody tr {
	transition: background-color .25s ease;
	/* background: var(--rnd-table-soft); */
	/* background: #f9f9f9; */
}

.rnd_page .rnd_project_table tbody th {
	font-size: 17px;
	font-weight: 700;
	color: #222;
}

.rnd_page .rnd_field_tag {
	display: inline-block;
	padding: 6px 10px;
	border: 1px solid #9ac8bf;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	color: var(--rnd-table-green);
	background: #fff;
}

.rnd_page .rnd_project_showcase {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 30px;margin-bottom:75px;}
.rnd_page .rnd_mockup {min-width:0;margin:0;}
.rnd_page .rnd_mockup_frame {position:relative;padding:28px 10px 10px;border:1px solid #243746;border-radius:12px;background:#172733;box-shadow:0 18px 38px rgba(18,39,55,.16);}
.rnd_page .rnd_mockup_frame::before {content:'';position:absolute;top:10px;left:15px;width:7px;height:7px;border-radius:50%;background:#e76f63;box-shadow:13px 0 0 #e8ba57,26px 0 0 #62b980;}
.rnd_page .rnd_mockup_frame::after {content:'';position:absolute;left:12%;right:12%;bottom:-10px;height:10px;border-radius:0 0 12px 12px;background:linear-gradient(180deg,#b8c2c8,#e5e9eb);box-shadow:0 5px 8px rgba(28,48,61,.14);}
.rnd_page .rnd_mockup_frame img {display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#eef2f4;}
.rnd_page .rnd_mockup figcaption {display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px;}
.rnd_page .rnd_mockup figcaption span {color: var(--main-blue); border: 1px solid var(--main-blue); border-radius:30px;  padding: 4px 12px;font-size:13px;font-weight:800;letter-spacing:1px;}
.rnd_page .rnd_mockup figcaption strong {font-size:17px;font-weight:600;color:#354653;text-align:right;}
.rnd_page .rnd_project_list {border-top:1px solid #9fb1bd;}
.rnd_page .rnd_project_list > li {display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:45px;align-items:center;padding:30px 0;border-bottom:1px solid #dfe5e8;}
.rnd_page .rnd_project_copy > span {display:block;margin-bottom:8px;font-size:14px;font-weight:800;letter-spacing:1.2px;color:var(--main-blue);}
.rnd_page .rnd_project_copy h5 {font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.7px;color:#222222;word-break:keep-all;}
.rnd_page .rnd_project_copy > p {max-width:920px;margin-top:13px;font-size:19px;line-height:1.75;color:#333333;word-break:keep-all;}
.rnd_page .rnd_project_meta {display:flex;align-items:center;gap:0;margin-top:20px;}
.rnd_page .rnd_project_meta span {position:relative;padding:0 14px;font-size:17px;line-height:1.4;color:#888888;}
.rnd_page .rnd_project_meta span:first-child {padding-left:0;}
/* .rnd_page .rnd_project_meta span:first-child::before {content:'';position:absolute;left:0;top:50%;width:11px;height:11px;border:1px solid #aab3b8;border-radius:50%;transform:translateY(-50%);} */
/* .rnd_page .rnd_project_meta span:first-child::after {content:'';position:absolute;left:5px;top:calc(50% - 4px);width:1px;height:4px;background:#aab3b8;box-shadow:2px 4px 0 #aab3b8;} */
.rnd_page .rnd_project_meta span + span {border-left:1px solid #d2d8dc;}
.rnd_page .rnd_project_visual {display:block;width:190px;height:130px;padding:0;border-radius:8px;box-sizing:border-box;background:#edf2f4;overflow:hidden;}
.rnd_page .rnd_project_visual img {display:block;width:100%;height:100%;object-fit:cover;}
.rnd_page .rnd_project_visual small {font-size:10px;font-weight:800;line-height:1.1;letter-spacing:.5px;opacity:.82;}
.rnd_page .rnd_project_visual strong {align-self:flex-end;font-size:19px;font-weight:800;line-height:1.35;text-align:right;word-break:keep-all;}
.rnd_page .rnd_project_visual_blue {background:linear-gradient(135deg,#168ac3,#20c5df);}
.rnd_page .rnd_project_visual_green {background:linear-gradient(135deg,#087d72,#20aa8c);}
.rnd_page .rnd_project_visual_navy {background:linear-gradient(135deg,#163d5d,#23719a);}
.rnd_page .rnd_project_visual_teal {background:linear-gradient(135deg,#117a8a,#20a9b4);}

.nuclear_rnd .nr_result_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 70px;
	border-top: 1px solid #9fb1bd;
}

.nuclear_rnd .nr_result_list li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 20px;
	align-items: start;
	padding: 28px 0;
}

.nuclear_rnd .nr_result_list li > span {
	font-size: 24px;
	font-weight: 300;
	line-height: 1.1;
	color: var(--nr-green);
}

.nuclear_rnd .nr_result_list strong {
	display: block;
	font-size: 19px;
	color: #222;
}

.nuclear_rnd .nr_result_list p {
	margin-top: 9px;
	font-size: 15px;
	line-height: 1.7;
	color: #6b747b;
	word-break: keep-all;
}

.nuclear_rnd .nr_process_flow {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	padding: 45px 34px;
	background: var(--nr-soft);
}

.nuclear_rnd .nr_process_flow::before {
	content: '';
	position: absolute;
	top: 67px;
	left: 10%;
	right: 10%;
	height: 1px;
	background: #a9bcc5;
}

.nuclear_rnd .nr_process_flow li {
	position: relative;
	z-index: 1;
	text-align: center;
}

.nuclear_rnd .nr_process_flow span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0 auto 18px;
	border: 1px solid var(--nr-blue);
	border-radius: 50%;
	background: #fff;
	font-size: 14px;
	font-weight: 800;
	color: var(--nr-blue);
}

.nuclear_rnd .nr_process_flow strong {
	font-size: 16px;
	color: #28343c;
}

@media (max-width: 1200px) {
	.nuclear_rnd .nr_heading h3 {font-size: 36px;}
	.nuclear_rnd .nr_hero {grid-template-columns: 1.1fr .9fr;}
	.nuclear_rnd .nr_hero_copy {padding: 55px 42px;}
	.nuclear_rnd .nr_hero_copy h4 {font-size: 27px;}
	.rnd_page .rnd_project_table th,
	.rnd_page .rnd_project_table td {padding: 21px 16px;}
	.nuclear_rnd .nr_result_list {column-gap: 40px;}
}

@media (max-width: 1024px) {
	.rnd_page .rnd_project_showcase {gap:38px 20px;margin-bottom:65px;}
	.rnd_page .rnd_project_list > li {grid-template-columns:minmax(0,1fr) 170px;gap:30px;}
	.rnd_page .rnd_project_copy h5 {font-size:23px;}
	.rnd_page .rnd_project_copy > p {line-height:1.7;}
	.rnd_page .rnd_project_visual {width:170px;height:120px;}
}

@media (max-width: 780px) {
	.nuclear_rnd .nr_heading {margin-bottom: 40px;}
	.nuclear_rnd .nr_heading h3 {font-size: 30px;}
	.nuclear_rnd .nr_heading p {font-size: 16px;}
	.nuclear_rnd .nr_hero {display: block;min-height: 0;}
	.nuclear_rnd .nr_hero_copy {padding: 42px 28px;}
	.nuclear_rnd .nr_hero_copy h4 {font-size: 24px;}
	.nuclear_rnd .nr_hero_visual {min-height: 280px;}
	.nuclear_rnd .nr_section {margin-top: 75px;}
	.nuclear_rnd .nr_section_heading {grid-template-columns: 38px 1fr;gap: 12px;margin-bottom: 28px;}
	.nuclear_rnd .nr_section_heading h4 {font-size: 26px;}
	.nuclear_rnd .nr_direction_flow {grid-template-columns: repeat(2,minmax(0,1fr));row-gap: 28px;border-top: 0;padding-top: 0;}
	.nuclear_rnd .nr_direction_item {min-height: 155px;padding: 22px;border-top: 1px solid #9fb1bd;}
	.nuclear_rnd .nr_direction_item:nth-child(2) {border-right: 0;}
	.nuclear_rnd .nr_direction_item::before {top: -8px;left: 22px;}
	.rnd_page .rnd_table_wrap {border-bottom: 0;overflow: visible;}
	.rnd_page .rnd_project_table,
	.rnd_page .rnd_project_table tbody,
	.rnd_page .rnd_project_table tr,
	.rnd_page .rnd_project_table th,
	.rnd_page .rnd_project_table td {display: block;width: 100%;box-sizing: border-box;}
	.rnd_page .rnd_project_table colgroup,
	.rnd_page .rnd_project_table thead {display: none;}
	.rnd_page .rnd_project_table tbody tr {margin-bottom: 18px;padding: 18px 20px;border: 1px solid var(--rnd-table-line);background: #fff;}
	.rnd_page .rnd_project_table th,
	.rnd_page .rnd_project_table td {position: relative;display:grid;grid-template-columns: 88px 1fr;gap: 14px;padding: 10px 0;border: 0;font-size: 14px;}
	.rnd_page .rnd_project_table th::before,
	.rnd_page .rnd_project_table td::before {content: attr(data-label);font-size:14px;font-weight:700;color:#75818a;}
	.rnd_page .rnd_project_table tbody th {font-size: 16px;}
	.rnd_page .rnd_project_list > li {grid-template-columns:minmax(0,1fr) 150px;gap:25px;padding:25px 0;}
	.rnd_page .rnd_project_copy h5 {font-size:22px;}
	.rnd_page .rnd_project_visual {width:150px;height:115px;padding:0;}
	.rnd_page .rnd_project_visual strong {font-size:16px;}
	.nuclear_rnd .nr_result_list {grid-template-columns: 1fr;column-gap: 0;}
	.nuclear_rnd .nr_process_flow {grid-template-columns: 1fr;padding: 12px 25px;}
	.nuclear_rnd .nr_process_flow::before {top: 38px;bottom: 38px;left: 47px;right: auto;width: 1px;height: auto;}
	.nuclear_rnd .nr_process_flow li {display:grid;grid-template-columns:46px 1fr;align-items:center;gap:22px;padding:12px 0;text-align:left;}
	.nuclear_rnd .nr_process_flow span {margin:0;}
}

@media (max-width: 640px) {
	.rnd_page .rnd_project_showcase {grid-template-columns:1fr;gap:38px;margin-bottom:55px;}
	.rnd_page .rnd_mockup figcaption {align-items:flex-start;}
	.rnd_page .rnd_mockup figcaption strong {font-size:16px;}
	.rnd_page .rnd_project_list > li {grid-template-columns:1fr;gap:18px;padding:26px 0;}
	.rnd_page .rnd_project_copy {grid-row:2;}
	.rnd_page .rnd_project_copy h5 {font-size:21px;line-height:1.45;}
	.rnd_page .rnd_project_copy > p {font-size:14px;line-height:1.7;}
	.rnd_page .rnd_project_meta {flex-wrap:wrap;row-gap:7px;margin-top:16px;}
	.rnd_page .rnd_project_meta span {font-size:14px;}
	.rnd_page .rnd_project_visual {grid-row:1;width:100%;height:auto;aspect-ratio:16 / 7;}
}

@media (max-width: 480px) {
	.nuclear_rnd .nr_heading h3 {font-size: 27px;}
	.nuclear_rnd .nr_heading p {font-size: 14px;}
	.nuclear_rnd .nr_hero_copy {padding: 34px 20px;}
	.nuclear_rnd .nr_hero_copy h4 {font-size: 21px;}
	.nuclear_rnd .nr_hero_copy h4 br {display:none;}
	.nuclear_rnd .nr_hero_copy p {font-size:14px;}
	.nuclear_rnd .nr_hero_visual {min-height:220px;}
	.nuclear_rnd .nr_hero_index {right:20px;bottom:20px;}
	.nuclear_rnd .nr_hero_index strong {font-size:34px;}
	.nuclear_rnd .nr_direction_flow {grid-template-columns:1fr;row-gap:22px;}
	.nuclear_rnd .nr_direction_item {min-height:0;border-right:0;}
	.nuclear_rnd .nr_direction_item strong {font-size:21px;}
	.nuclear_rnd .nr_direction_item p {font-size:14px;}
	.rnd_page .rnd_project_table th,
	.rnd_page .rnd_project_table td {grid-template-columns:76px 1fr;gap:10px;}
	.rnd_page .rnd_project_list > li {grid-template-columns:1fr;gap:18px;padding:25px 0;}
	.rnd_page .rnd_project_copy h5 {font-size:20px;}
	.rnd_page .rnd_project_copy > p {font-size:14px;}
	.rnd_page .rnd_project_meta {flex-wrap:wrap;row-gap:7px;margin-top:16px;}
	.rnd_page .rnd_project_meta span {font-size:14px;}
	.rnd_page .rnd_project_visual {grid-row:1;width:100%;height:115px;}
	.rnd_page .rnd_project_visual strong {font-size:18px;}
	.nuclear_rnd .nr_result_list li {grid-template-columns:40px 1fr;gap:14px;padding:23px 0;}
	.nuclear_rnd .nr_result_list strong {font-size:17px;}
	.nuclear_rnd .nr_result_list p {font-size:14px;}
}

/* Keep subpage scroll-animation content visible after its first intersection. */
#sub_content.business [data-aos].subpage-aos-visible,
#sub_content.rnd_page [data-aos].subpage-aos-visible,
#sub_content.equipment_status [data-aos].subpage-aos-visible,
#sub_content.partner [data-aos].subpage-aos-visible {
	opacity: 1;
	transform: none;
}

/*법인소개*/
.info .con_wrap > p{font-size:20px; margin-bottom: 100px; text-align: center; word-break: keep-all;}
.info ul{display: flex; gap: 10px;}
.info ul li{position: relative; width: calc((100% - 20px) / 3); border-radius: 20px; overflow: hidden; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);}
.info ul li.on{transform: translateY(-50px);}
.info ul li img{width: 100%;}
.info ul li p{position: absolute; bottom: 50px; left: 50%; transform: translateX(-50%); font-size: 28px; font-weight: 700; color: #fff;}

/*연혁*/
.history .history_head p{
    font-size: 22px;
    text-align: center;
}
.history_visual {
	position: relative;
	height: 430px;
	margin: 60px auto 0;
	overflow: hidden;
	background: #222;
}

.history_visual::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	z-index: 1;
}

.history_visual > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(100%);
}

.history_visual_overlay {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.history_visual_box {
	width: 62%;
	max-width: 630px;
	padding: 55px 40px;
	border: 3px solid rgba(255, 255, 255, 0.55);
	text-align: center;
	color: #fff;
	box-sizing: border-box;
}

.history_visual_box strong {
	display: block;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: -1.4px;
	word-break: keep-all;
}

.history_visual_box p {
	margin: 20px 0 0;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: -0.4px;
	color: rgba(255, 255, 255, 0.9);
	word-break: keep-all;
}

.history_decade {
	display: grid;
	grid-template-columns: 420px minmax(0, 1fr);
	position: relative;
}

.history_decade_title {
	position: relative;
	padding: 50px 45px 0 0;
	text-align: right;
	box-sizing: border-box;
}

.history_decade_title strong {
	position: relative;
	display: inline-block;
	padding-right: 18px;
	font-size: 46px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.6px;
	color: var(--main-blue);
}

.history_decade_title strong::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #aaa;
	transform: translateY(-50%);
}

.history_list {
	position: relative;
	padding: 50px 0 50px 65px;
	border-left: 1px solid #ddd;
	box-sizing: border-box;
    margin-top: 30px;
}

.history_item {
	position: relative;
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	column-gap: 25px;
	padding: 4px 0 38px;
	box-sizing: border-box;
}

.history_dot {
	position: absolute;
	left: -70px;
	top: 25px;
	width: 8px;
	height: 8px;
	border: 2px solid #079bd3;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
	z-index: 2;
}

.history_item::before {
	content: "";
	position: absolute;
	left: -65px;
	top: 28px;
	width: 48px;
	height: 1px;
	background: #ddd;
}

.history_date {
	padding-top: 1px;
}

.history_date strong {
	display: block;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: -0.4px;
	color: #333;
}

.history_content ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.history_content li {
	display: grid;
	grid-template-columns: 35px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
	padding: 4px 0;
}

.history_content .month {
	padding-top: 1px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.8;
	color: var(--main-blue);
}

.history_content p {
	margin: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.35px;
	color: #555;
	word-break: keep-all;
}

.history_item:last-child {
	padding-bottom: 20px;
}
.history_item {
	opacity: 0;
	transform: translateY(35px);
	transition:
		opacity 0.7s ease,
		transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.history_item.is_show {
	opacity: 1;
	transform: translateY(0);
}

.history_dot {
	transition:
		background 0.35s ease,
		border-color 0.35s ease,
		transform 0.35s ease;
}

.history_item.is_show .history_dot {
	background: var(--main-light-blue);
	border-color: #079bd3;
	transform: scale(1.3);
}

.history_date {
	opacity: 0;
	transform: translateX(-15px);
	transition:
		opacity 0.55s ease 0.1s,
		transform 0.55s ease 0.1s;
}

.history_item.is_show .history_date {
	opacity: 1;
	transform: translateX(0);
}

.history_content {
	opacity: 0;
	transform: translateX(20px);
	transition:
		opacity 0.6s ease 0.18s,
		transform 0.6s ease 0.18s;
}

.history_item.is_show .history_content {
	opacity: 1;
	transform: translateX(0);
}

.history_visual {
	opacity: 0;
	transform: translateY(30px);
	transition:
		opacity 0.9s ease,
		transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.history_visual.is_show {
	opacity: 1;
	transform: translateY(0);
}

.history_visual > img {
	transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.history_visual.is_show > img {
	transform: scale(1.03);
}

.history_decade_title {
	opacity: 0;
	transform: translateX(-25px);
	transition:
		opacity 0.7s ease,
		transform 0.7s ease;
}

.history_decade_title.is_show {
	opacity: 1;
	transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {

	.history_item,
	.history_date,
	.history_content,
	.history_visual,
	.history_visual > img,
	.history_decade_title {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
/* CI */

.ci_head {
	margin-bottom: 45px;
}

.ci_head > span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: var(--main-blue);
}

.ci_head h3 {
	margin: 0;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -1.3px;
	color: #222;
}

.ci_head p {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.4px;
	color: #777;
	word-break: keep-all;
}

.ci_main {
	position: relative;
	padding-bottom: 60px;
	border-bottom: 1px solid #ddd;
}

.ci_main_logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	padding: 40px;
	background-color: #fafafa;
	background-image:
		linear-gradient(#eee 1px, transparent 1px),
		linear-gradient(90deg, #eee 1px, transparent 1px);
	background-size: 12px 12px;
	box-sizing: border-box;
}

.ci_main_logo img {
	display: block;
	max-width: 620px;
	max-height: 130px;
	width: auto;
	height: auto;
}

.ci_main > p {
	max-width: 1050px;
	margin: 28px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.85;
	letter-spacing: -0.4px;
	color: #666;
	word-break: keep-all;
}

.ci_main > p strong {
	font-weight: 600;
	color: #333;
}

.ci_download {
	position: absolute;
	right: 0;
	top: -48px;
	display: flex;
	gap: 8px;
}

.ci_download a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 145px;
	height: 40px;
	padding: 0 15px;
	background: #555;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	transition:
		background 0.25s ease,
		transform 0.25s ease;
}

.ci_download svg {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ci_download a:hover {
	background: var(--main-blue);
	transform: translateY(-2px);
}

.ci_section {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 55px;
	padding: 60px 0;
	border-bottom: 1px solid #ddd;
}

.ci_section_title {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.ci_section_title > span {
	padding-top: 5px;
	font-size:14px;
	font-weight: 700;
	color: var(--main-blue);
}

.ci_section_title h4 {
	position: relative;
	margin: 0;
	padding-left: 15px;
	font-size:26px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.6px;
	color: #222;
}

.ci_section_title h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 6px;
	height: 6px;
	border: 2px solid var(--main-blue);
	border-radius: 50%;
	box-sizing: border-box;
}

.ci_section_content {
	min-width: 0;
}

.ci_symbol {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	gap: 50px;
}

.ci_text > strong {
	display: block;
	margin-bottom: 15px;
	font-size:22px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.ci_text p {
	margin: 0 0 14px;
	font-size:16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.ci_text p:last-child {
	margin-bottom: 0;
}

.ci_symbol_images {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ci_logo_box.dark {
	background: #161b20;
}

.ci_logo_box.dark > span {
	color: rgba(255, 255, 255, 0.6);
}
.ci_logo_box {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 230px;
	padding: 35px 25px;
	border: 1px solid #e5e5e5;
	background-color: #fff;
	background-image:
		linear-gradient(#f0f0f0 1px, transparent 1px),
		linear-gradient(90deg, #f0f0f0 1px, transparent 1px);
	background-size: 10px 10px;
	box-sizing: border-box;
}

.ci_logo_box img {
	display: block;
	/* max-width: 75%; */
	max-height: 130px;
	width: auto;
	height: auto;
}

.ci_logo_box > span {
	position: absolute;
	left: 15px;
	bottom: 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.7px;
	color: #aaa;
}

.ci_logo_box.gray img {
	filter: grayscale(100%);
	opacity: 0.55;
}

.ci_color {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	gap: 50px;
}

.ci_color_intro > strong {
	display: block;
	margin-bottom: 15px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.ci_color_intro p {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.ci_color_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 40px;
}

.ci_color_item {
	display: flex;
	align-items: flex-start;
	gap: 17px;
}

.color_chip {
	display: block;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
}
.color_chip.blue {
	background: #005DA4;
}

.color_chip.green {
	background: #008C44;
}

.color_chip.gray {
	background: #939598;
}

.ci_color_item strong {
	display: block;
	margin-bottom: 3px;
	font-size: 15px;
	font-weight: 600;
	color: #333;
}

.ci_color_item p {
	margin: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	color: #888;
}

.ci_signature {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(480px, 1.2fr);
	gap: 60px;
}

.ci_signature_list {
	display: grid;
	gap: 30px;
}

.ci_signature_item > span {
	display: block;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 500;
	color: #555;
}

.ci_signature_item > div {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 115px;
	padding: 25px 30px;
	border: 1px solid #e5e5e5;
	background: #fff;
	box-sizing: border-box;
}

.ci_signature_item img {
	display: block;
	max-width: 440px;
	max-height: 70px;
	width: auto;
	height: auto;
}


/* 오시는길 */
.location_top {
	padding-bottom: 45px;
}

.location_intro {
	position: relative;
	padding-top: 8px;
}

.location_label {
	display: block;
	margin-bottom: 5px;
	font-size:14px;
	font-weight: 500;
	letter-spacing: 1.2px;
	color: #999;
}

.location_intro h3 {
	margin: 0;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -1.5px;
	color: #333;
}

.location_intro > strong {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--main-blue);
}

.location_intro p {
	position: relative;
	margin: 25px 0 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.3px;
	color: #666;
	word-break: keep-all;
}

.location_map {
	position: relative;
	height: 360px;
	overflow: hidden;
	background: #eee;
}
.root_daum_roughmap_landing{
    width: 100% !important;
}

.location_info {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 30px;
	padding-top: 45px;
}

.location_info_item {
	position: relative;
	min-width: 0;
    padding: 30px;
    background-color: #f9f9f9;
    border-radius: 25px;;
}

.location_info_item h4 {
	margin: 0 0 22px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.2px;
	color: #222;
}

.location_info_item > strong {
	display: block;
	margin-bottom: 13px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.6;
	color: #444;
}

.location_info_item p {
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: -0.3px;
	color: #777;
	word-break: keep-all;
}

.location_address {
	margin-bottom: 15px !important;
}

.location_info_item > ul {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.location_info_item > ul > li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 13px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: -0.3px;
	color: #666;
	word-break: keep-all;
}

.location_info_item > ul > li:last-child {
	margin-bottom: 0;
}

.location_info_item > ul > li > svg {
	flex: 0 0 20px;
	width: 24px;
	height: 24px;
	margin-top: 2px;
	fill: none;
	stroke: var(--main-blue);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.location_info_item > ul > li > span,
.location_info_item > ul > li > a {
	min-width: 0;
	color: #666;
}

.location_info_item > ul > li > a {
	transition: color 0.25s ease;
	font-size: 18px;
}

.location_info_item > ul > li > a:hover {
	color: var(--main-blue);
}

/* 사업분야 */
.business .business_head {
	margin-bottom: 45px;
}

.business .business_head > span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: var(--main-blue);
}

.business .business_head h3 {
	margin: 0;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -1.3px;
	color: #222;
}

.business .business_head p {
	margin: 16px 0 0;
	font-size: 19px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: -0.4px;
	color: #777;
	word-break: keep-all;
}

.business .business_main {
	position: relative;
	/* padding-bottom: 60px; */
	border-bottom: 1px solid #ddd;
}

.business .business_main_visual {
	position: relative;
	height: 430px;
	overflow: hidden;
	background: #222;
}

.business .business_main_visual::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.5) 0%,
		rgba(0, 0, 0, 0.15) 60%,
		rgba(0, 0, 0, 0) 100%
	);
}

.business .business_main_visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.business .business_main_text {
	position: absolute;
	left: 55px;
	top: 50%;
	z-index: 2;
	max-width: 560px;
	transform: translateY(-50%);
	color: #fff;
}

.business .business_main_text > strong {
	display: block;
	margin-bottom: 15px;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -1px;
	color: #fff;
	word-break: keep-all;
}

.business .business_main_text p {
	margin: 0;
	font-size: 19px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: -0.4px;
	color: rgba(255, 255, 255, 0.9);
	word-break: keep-all;
}

.business .business_section {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 55px;
	padding: 60px 0;
	border-bottom: 1px solid #ddd;
}

.business .business_section_title {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.business .business_section_title > span {
	padding-top: 5px;
	font-size: 16px;
	font-weight: 700;
	color: var(--main-blue);
}

.business .business_section_title h4 {
	position: relative;
	margin: 0;
	padding-left: 15px;
	font-size:26px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.6px;
	color: #222;
	word-break: keep-all;
}

.business .business_section_title h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 6px;
	height: 6px;
	border: 2px solid var(--main-blue);
	border-radius: 50%;
	box-sizing: border-box;
}

.business .business_section_content {
	min-width: 0;
}

.business .business_section_content > strong {
	display: block;
	margin-bottom: 15px;
	font-size:22px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.business .business_section_content > p {
	margin: 0 0 14px;
	font-size:18px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.business .business_section_content > p:last-child {
	margin-bottom: 0;
}

.business .business_card_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.business .business_card {
	position: relative;
	min-height: 220px;
	padding: 28px 25px;
	border: 1px solid #e5e5e5;
	background: #fff;
	box-sizing: border-box;
	transition:
		transform 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.business .business_card:hover {
	transform: translateY(-5px);
	border-color: var(--main-blue);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.business .business_card_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: #f3f8fc;
}

.business .business_card_icon svg {
	width: 32px;
	height: 32px;
	fill: none;
	stroke: var(--main-blue);
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.business .business_card strong {
	display: block;
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.business .business_card p {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: -0.3px;
	color: #777;
	word-break: keep-all;
}

.business .business_process {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}

.business .business_process_item {
	position: relative;
	padding: 25px 18px;
	text-align: center;
	background: #f8f9fb;
	border: 1px solid #eceff3;
}

.business .business_process_item:not(:last-child)::after {
	content: "→";
	position: absolute;
	right: -6px;
	top: 50%;
	z-index: 2;
	font-size: 20px;
	color: #aaa;
	transform: translateY(-50%);
}

.business .business_process_item span {
	display: block;
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--main-blue);
}

.business .business_process_item strong {
	display: block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.business .business_feature_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.business .business_feature_item {
	padding: 22px 25px;
	border-left: 3px solid var(--main-blue);
	background: #f8fafc;
}

.business .business_feature_item strong {
	display: block;
	margin-bottom: 7px;
	font-size: 19px;
	font-weight: 600;
	color: #333;
}

.business .business_feature_item p {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: #777;
	word-break: keep-all;
}


.business_feature_group {
	padding: 0 0 30px ;
}

.business_feature_group > strong {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: -0.4px;
	color: #333;
	word-break: keep-all;
	margin-bottom: 15px;
	display: block;
}

.business_feature_group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.business_feature_group li {
	position: relative;
	margin-bottom: 8px;
	padding-left: 14px;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.business_feature_group li:last-child {
	margin-bottom: 0;
}

.business_feature_group li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 11px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--main-blue);
}








/* water supply business */
.water_business .water_main_visual {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 55px;
	box-sizing: border-box;
	background: linear-gradient(145deg, #eaf7ff 0%, #d6eef9 48%, #b9deee 100%);
}

.water_business .water_visual_panel {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(80px, 1fr));
	gap: 28px;
	width: 100%;
	max-width: 650px;
}

.water_business .water_visual_panel::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 8%;
	right: 8%;
	height: 4px;
	background: rgba(16, 118, 171, .35);
	transform: translateY(-50%);
}

.water_business .water_visual_panel span {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	border: 8px solid rgba(255, 255, 255, .75);
	border-radius: 50%;
	box-shadow: 0 14px 30px rgba(26, 100, 139, .16);
	background: linear-gradient(145deg, #1488c3, #075c91);
	font-size: 19px;
	font-weight: 700;
	color: #fff;
}

.water_business .business_main_text > strong {
	word-break: keep-all;
}

.water_business .business_section_title > span {
	flex: 0 0 20px;
	min-width: 20px;
}

.water_business .water_intro_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin-top: 30px;
}

.water_business .water_intro_list li {
	position: relative;
	padding: 0 16px 0px 30px;
	/* border: 1px solid #e4e9ed; */
	background: #fff;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.water_business .water_intro_list li::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 10px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--main-blue);
}

.water_business .water_system_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.water_business .water_system_item {
	position: relative;
	min-height: 145px;
	padding: 30px 28px 26px 78px;
	border: 2px solid #e2e7eb;
	box-sizing: border-box;
	background: #fff;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.water_business .water_system_item:last-child {
	grid-column: 1 / -1;
}

/* .water_business .water_system_item:hover {
	border-color: #9bcbe2;
	box-shadow: 0 16px 32px rgba(27, 85, 116, .1);
	transform: translateY(-4px);
} */

.water_business .water_system_item > span {
	position: absolute;
	top: 28px;
	left: 28px;
	font-size: 14px;
	font-weight: 800;
	color: var(--main-blue);
}

.water_business .water_system_item strong,
.water_business .water_control_list strong,
.water_business .water_system_flow strong {
	display: block;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: -0.4px;
	color: #333;
	word-break: keep-all;
}

.water_business .water_system_item p,
.water_business .water_control_list p,
.water_business .water_system_flow p {
	margin-top: 10px;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.water_business .water_control_list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 15px;
}

.water_business .water_control_list article {
	min-height: 180px;
	padding: 28px 24px;
	border-top: 3px solid var(--main-blue);
	box-sizing: border-box;
	background: #f6f9fb;
}

.water_business .water_system_flow {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 28px;
}

.water_business .water_system_flow article {
	position: relative;
	min-height: 210px;
	padding: 28px 20px;
	border: 1px solid #dce6eb;
	box-sizing: border-box;
	text-align: center;
	background: #fff;
	border-radius: var(--business-radius-card);
}

.water_business .water_system_flow article:not(:last-child)::after {
	content: '›';
	position: absolute;
	top: 50%;
	right: -21px;
	font-size: 32px;
	font-weight: 300;
	color: #7ebad8;
	transform: translateY(-50%);
}

.water_business .water_system_flow article > span {
	display: flex;
	width: 38px;
	height: 38px;
	margin: 0 auto 18px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background: var(--main-blue);
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

.water_business .water_process_intro {
	margin-bottom: 30px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.water_business .water_process {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 18px;
}

.water_business .water_process .business_process_item {
	width: auto;
	min-width: 0;
}

.water_business .water_facility_list .water_system_item:last-child {
	grid-column: auto;
}

.water_business .water_feature_banner {
	display: flex;
	align-items: center;
	gap: 34px;
	margin-bottom: 30px;
	padding: 34px 38px;
	box-sizing: border-box;
	background: #f1f8fc;
}

.water_business .water_feature_banner > span {
	flex: 0 0 120px;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--main-blue);
	text-align: center;
}

.water_business .water_feature_banner strong,
.water_business .water_tech_grid > article > strong {
	display: block;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
	word-break: keep-all;
}

.water_business .water_feature_banner p {
	margin-top: 9px;
	font-size: 15px;
	line-height: 1.75;
	color: #666;
	word-break: keep-all;
}

.water_business .water_control_list_five {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.water_business .water_solution_steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.water_business .water_solution_steps article {
	min-height: 285px;
	/* padding: 35px 30px; */
	/* border: 1px solid #dce6eb; */
	box-sizing: border-box;
	background: #fff;
}

.water_business .water_solution_steps article > span {
	display: block;
	margin-bottom: 18px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 1px;
	color: var(--main-blue);
}

.water_business .water_solution_steps strong,
#sub_content.surge_business .surge_sub_head strong {
	display: block;
	font-size: var(--business-fs-lead);
	font-weight: 700;
	line-height: 1.4;
	color: var(--business-heading);
	word-break: keep-all;
}

.water_business .water_solution_steps em,
#sub_content.surge_business .surge_sub_head em {
	display: block;
	margin-top: 5px;
	font-size: 14px;
	font-style: normal;
	line-height: 1.5;
	color: #888;
}

.water_business .water_solution_steps p,
#sub_content.surge_business .surge_sub_head p {
	margin-top: 22px;
	font-size: 16px;
	line-height: 1.75;
	color: #666;
	word-break: keep-all;
}

.water_business .water_solution_steps small {
	display: block;
	margin-top: 20px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .4px;
	color: var(--main-blue);
}

.water_business .water_tech_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.water_business .water_tech_grid article {
	padding: 30px;
	border-top: 3px solid var(--main-blue);
	box-sizing: border-box;
	background: #f6f9fb;
}

.water_business .water_spec_list {
	margin-top: 18px;
}

.water_business .water_spec_list li {
	position: relative;
	padding: 5px 0 5px 14px;
	font-size: 15px;
	line-height: 1.65;
	color: #666;
	word-break: keep-all;
}

.water_business .water_spec_list li::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--main-blue);
}

.water_business .water_spec_cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 28px;
}

.water_business .water_spec_cards span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 75px;
	padding: 15px;
	border: 1px solid #dce6eb;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	color: #444;
	text-align: center;
	word-break: keep-all;
}

.water_business .water_principle {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 25px;
}

.water_business .water_principle span {
	flex: 1;
	padding: 22px 15px;
	background: #edf6fa;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
	text-align: center;
	word-break: keep-all;
}

.water_business .water_principle i {
	font-size: 22px;
	font-style: normal;
	color: var(--main-blue);
}

.wastewater_business .business_head > span,
.wastewater_business .water_system_item > span,
.wastewater_business .water_solution_steps article > span,
.wastewater_business .water_solution_steps small {
	/* color: #24877c; */
}

.wastewater_business .water_intro_list li::before,
.wastewater_business .water_system_flow article > span {
	background: var(--main-blue);
}

.wastewater_business .water_control_list article {
	border-top-color:var(--main-blue);
}

.wastewater_business .wastewater_facility_list .water_system_item:last-child {
	grid-column: 1 / -1;
}

.wastewater_business .wastewater_function_list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wastewater_business .wastewater_solution_list {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wastewater_business .wastewater_solution_list article {
	min-height: 220px;
}

.water_business .water_monitor_visual {
	margin: 0 0 30px;
	overflow: hidden;
	background: #eef3f5;
}

.water_business .water_monitor_visual img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.water_business .water_solution_image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 256px;
	margin-bottom: 24px;
	padding: 10px;
	box-sizing: border-box;
	background: #f5f7f8;
}

.water_business .water_solution_image img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.water_business .water_ezsen_intro,
.water_business .water_product_detail,
.water_business .water_principle_wrap,
.water_business .water_solar {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 35px;
	align-items: center;
}

.water_business .water_ezsen_visual,
.water_business .water_product_image,
.water_business .water_principle_image,
.water_business .water_solar figure {
	margin: 0;
	padding: 20px;
	box-sizing: border-box;
	background: #f5f7f8;
}

.water_business .water_ezsen_visual img,
.water_business .water_product_image img,
.water_business .water_principle_image img,
.water_business .water_solar figure img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.water_business .water_ezsen_intro > div > strong,
.water_business .water_product_detail > div > strong,
.water_business .water_solar > div > strong,
.water_business .water_install_guide > strong {
	display: block;
	margin-bottom: 14px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
	word-break: keep-all;
}

.water_business .water_ezsen_intro > div > p,
.water_business .water_solar > div > p {
	font-size: 15px;
	line-height: 1.75;
	color: #666;
	word-break: keep-all;
}

.water_business .water_ezsen_detail {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 30px;
}

.water_business .water_ezsen_detail figure {
	margin: 0;
	padding: 20px 20px 15px;
	border: 1px solid #e1e6e9;
	box-sizing: border-box;
}

.water_business .water_ezsen_detail img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.water_business .water_ezsen_detail figcaption {
	margin-top: 14px;
	font-size: 14px;
	font-weight: 600;
	color: #444;
	text-align: center;
}

.water_business .water_product_detail .water_spec_cards {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 20px;
}

.water_business .water_principle_wrap {
	margin-bottom: 25px;
}

.water_business .water_principle_wrap .water_principle {
	display: grid;
	grid-template-columns: 1fr;
	gap: 7px;
	margin: 0;
}

.water_business .water_principle_wrap .water_principle i {
	transform: rotate(90deg);
	text-align: center;
}

.water_business .water_install_visual {
	margin: 28px 0 30px;
}

.water_business .water_install_visual img,
.water_business .water_install_guide img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.water_business .water_install_guide {
	margin-bottom: 30px;
	padding: 26px;
	border: 1px solid #e1e6e9;
	box-sizing: border-box;
}

.water_business .water_solar {
	margin-bottom: 35px;
	padding: 30px;
	box-sizing: border-box;
	background: #f6f9f4;
}

.water_business .water_power_flow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-top: 18px;
}

.water_business .water_power_flow span {
	font-size: 14px;
	font-weight: 600;
	color: #444;
}

.water_business .water_power_flow i {
	font-size: 15px;
	font-style: normal;
	color: var(--main-blue);
}

.wastewater_business .wastewater_measure_visual {
	width: 58%;
	margin: 25px auto 30px;
	padding: 18px;
	box-sizing: border-box;
	background: #f5f7f8;
}

.wastewater_business .wastewater_measure_visual img,
.wastewater_business .wastewater_system_diagram img,
.wastewater_business .wastewater_flow_image img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.wastewater_business .wastewater_system_diagram {
	width: 72%;
	margin: 0 auto 35px;
	padding: 20px;
	border: 1px solid #e1e6e9;
	box-sizing: border-box;
}

.wastewater_business .wastewater_flow_image {
	display: flex;
	align-items: center;
	height: 82px;
	margin-bottom: 15px;
	padding: 7px;
	box-sizing: border-box;
	background: #f5f7f8;
}

.wastewater_business .wastewater_flow_image img {
	max-height: 100%;
}

/* railway business */
.railway_business .business_section_title > span {
	flex: 0 0 20px;
	min-width: 20px;
}

.railway_business .railway_intro_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 25px;
	margin-top: 28px;
}

.railway_business .railway_intro_list li {
	position: relative;
	padding: 7px 10px 7px 20px;
	font-size: 16px;
	line-height: 1.7;
	color: #666;
	word-break: keep-all;
}

.railway_business .railway_intro_list li::before {
	content: '';
	position: absolute;
	top: 17px;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--main-blue);
}

.railway_business .railway_control_field {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}

.railway_business .railway_control_field article {
	min-height: 190px;
	padding: 26px 20px;
	border-top: 3px solid var(--main-blue);
	box-sizing: border-box;
	background: #f7f9fb;
}

.railway_business .railway_control_field span,
.railway_business .railway_system_architecture article > span,
.railway_business .railway_function_list article > span {
	display: block;
	margin-bottom: 16px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .8px;
	color: var(--main-blue);
}

.railway_business .railway_control_field strong,
.railway_business .railway_monitor_flow strong,
.railway_business .railway_system_architecture strong,
.railway_business .railway_function_list strong {
	display: block;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.55;
	color: #333;
	word-break: keep-all;
}

.railway_business .railway_control_field p,
.railway_business .railway_monitor_flow p,
.railway_business .railway_system_architecture p,
.railway_business .railway_function_list p {
	margin-top: 9px;
	font-size: 14px;
	line-height: 1.7;
	color: #777;
	word-break: keep-all;
}

.railway_business .railway_monitor_flow,
.railway_business .railway_system_architecture {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 28px;
	margin-top: 30px;
}

.railway_business .railway_monitor_flow article,
.railway_business .railway_system_architecture article {
	position: relative;
	min-height: 190px;
	padding: 28px 18px;
	border: 1px solid #dce3e8;
	box-sizing: border-box;
	background: #fff;
	text-align: center;
}

.railway_business .railway_monitor_flow article:not(:last-child)::after,
.railway_business .railway_system_architecture article:not(:last-child)::after {
	content: '›';
	position: absolute;
	top: 50%;
	right: -21px;
	font-size: 32px;
	font-weight: 300;
	color: #7a9fba;
	transform: translateY(-50%);
}

.railway_business .railway_monitor_flow article > span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0 auto 18px;
	border-radius: 50%;
	background: #365f7b;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
}

.railway_business .railway_system_architecture article {
	border: 0;
	border-top: 4px solid #365f7b;
	background: #f3f6f8;
}

.railway_business .railway_function_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.railway_business .railway_function_list article {
	min-height: 175px;
	padding: 27px 24px;
	border: 1px solid #e0e6ea;
	box-sizing: border-box;
	background: #fff;
}

.railway_business .railway_process_intro {
	margin-bottom: 28px;
	font-size: 15px;
	line-height: 1.75;
	color: #666;
	word-break: keep-all;
}

.railway_business .railway_process {
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 18px;
}

/* water meter and remote metering */
.water_business .remote_meter_intro {display:grid;grid-template-columns:minmax(240px,250px) minmax(0,1fr);gap:56px;align-items:center;}
.water_business .remote_meter_intro figure {margin:0;text-align:center;}
.water_business .remote_meter_intro img {display:block;width:100%;height:auto;}
.water_business .remote_meter_intro div > span {display:block;margin-bottom:16px;color:var(--main-blue);font-size:14px;font-weight:800;letter-spacing:.08em;}
.water_business .remote_meter_intro div > strong {display:block;margin-bottom:18px;color:#17212b;font-size: var(--business-fs-lead);line-height:1.45;word-break:keep-all;}
.water_business .remote_meter_intro div > p {margin:0;color:#65707a;font-size:var(--business-fs-body);line-height:1.85;word-break:keep-all;}

/* Water meter product cards */
.water_business .water_meter_section .business_section_content {min-width:0;}
.water_business .water_meter_product_cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.water_business .water_meter_product_card {position:relative;display:flex;overflow:hidden;flex-direction:column;border:1px solid #e3e9ed;border-radius:18px;background:#fff;}
.water_business .water_meter_product_card::before {content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--main-blue),#07946e);}
.water_business .water_meter_card_head {padding:18px 28px 18px;}
.water_business .water_meter_card_head > span {display:block;margin-bottom:14px;color:#0878ba;font-size:14px;font-weight:700;letter-spacing:.08em;}
.water_business .water_meter_card_head h5 {margin:0;color:#203643;font-size:22px;font-weight:700;line-height:1.45;word-break:keep-all;}
/* .water_business .water_meter_card_images {background:#f6f9fb;} */
.water_business .water_meter_card_images figure {display:flex;align-items:center;justify-content:center;min-height:280px;margin:0;padding:24px;}
.water_business .water_meter_card_images img {display:block;width:100%;height:230px;object-fit:contain;}
.water_business .water_meter_card_features {flex:1;padding:27px 28px 30px;border-top:1px solid #e7ecef;}
.water_business .water_meter_card_features > strong {display:block;margin-bottom:15px;color:var(--main-blue);font-size:17px;font-weight:800;}
.water_business .water_meter_card_features ul {margin:0;padding:0;list-style:none;}
.water_business .water_meter_card_features li,
#sub_content.surge_business .sediment_feature li,
#sub_content.surge_business .insect_led_catalog_copy li {position:relative;padding-left:15px;color:#59666f;font-size:18px;line-height:1.7;word-break:keep-all;}
.water_business .water_meter_card_features li + li,
#sub_content.surge_business .sediment_feature li + li,
#sub_content.surge_business .insect_led_catalog_copy li + li {margin-top:7px;}
.water_business .water_meter_card_features li::before,
#sub_content.surge_business .sediment_feature li::before,
#sub_content.surge_business .insect_led_catalog_copy li::before,
#sub_content.electric_fire_business .ef_feature li > strong::before {content:'';position:absolute;top:.72em;left:0;width:5px;height:5px;border-radius:50%;background:var(--main-blue);}
.water_business .remote_meter_technology {margin-top:58px;}
.water_business .remote_meter_technology > h5,
.water_business .remote_meter_system_block > h5 {margin:0 0 24px;color:#203643;font-size:27px;font-weight:700;line-height:1.45;}
.water_business .remote_meter_technology_list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.water_business .remote_meter_technology_list article {position:relative;overflow:hidden;min-height:245px;padding:30px 24px 26px;border:1px solid #e3e9ed;border-radius:14px;background:#fff;}
.water_business .remote_meter_technology_list article::before {content:'';position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--main-blue),#07946e);}
.water_business .remote_meter_technology_list article > span {display:block;margin-bottom:17px;color:#0878ba;font-size:14px;font-weight:700;letter-spacing:.08em;}
.water_business .remote_meter_technology_list article > strong {display:block;min-height:56px;color:#203643;font-size:18px;font-weight:700;line-height:1.55;word-break:keep-all;}
.water_business .remote_meter_technology_list figure {display:flex;overflow:hidden;align-items:center;justify-content:center;width:100%;height:auto;aspect-ratio:4/3;margin:18px 0 0;padding:16px;border-radius:10px;box-sizing:border-box;background:#ECECEC;}
.water_business .remote_meter_technology_list figure img {display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;}
.water_business .remote_meter_technology_list ul {margin:18px 0 0;padding:17px 0 0;border-top:1px solid #e7ecef;list-style:none;}
.water_business .remote_meter_technology_list li {position:relative;padding-left:13px;color:#65727a;font-size:16px;line-height:1.7;word-break:keep-all;}
.water_business .remote_meter_technology_list li + li {margin-top:5px;}
.water_business .remote_meter_technology_list li::before {content:'';position:absolute;top:.72em;left:0;width:4px;height:4px;border-radius:50%;background:#07946e;}
.water_business .remote_meter_system_block {margin-top:58px;}
.water_business .remote_meter_system_block figure {overflow:hidden;max-width:920px;margin:0 auto;padding:34px;border-radius:18px;background:#fff;}
.water_business .remote_meter_system_block img {display:block;width:100%;height:auto;}

@media (max-width: 1024px) {
	.water_business .water_meter_product_cards {grid-template-columns:1fr;}
	.water_business .remote_meter_technology_list {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width: 767px) {
	.water_business .water_meter_product_cards {gap:18px;}
	.water_business .water_meter_card_head {padding:24px 20px 18px;}
	.water_business .water_meter_card_head h5 {font-size:20px;}
	.water_business .water_meter_card_images figure {min-height:210px;padding:16px;}
	.water_business .water_meter_card_images img {height:170px;}
	.water_business .water_meter_card_features {padding:23px 20px 25px;}
	.water_business .water_meter_card_features li,
	#sub_content.surge_business .sediment_feature li,
	#sub_content.surge_business .insect_led_catalog_copy li {font-size:16px;}
	.water_business .remote_meter_technology,
	.water_business .remote_meter_system_block {margin-top:40px;}
	.water_business .remote_meter_technology > h5,
	.water_business .remote_meter_system_block > h5 {font-size:20px;}
	.water_business .remote_meter_technology_list {grid-template-columns:1fr;gap:14px;}
	.water_business .remote_meter_technology_list article {min-height:0;padding:26px 20px 23px;}
	.water_business .remote_meter_technology_list article > strong {min-height:0;}
	.water_business .remote_meter_technology_list figure {height:auto;aspect-ratio:4/3;}
	.water_business .remote_meter_system_block figure {padding:15px;border-radius:14px;}
}

/* Smart surge protection product */
#sub_content.surge_business .surge_product_head {margin-bottom:34px;}
#sub_content.surge_business .surge_product_head > span {display:block;margin-bottom:10px;color:var(--main-blue);font-size:14px;font-weight:800;letter-spacing:.1em;}
#sub_content.surge_business .surge_product_head > strong {display:block;color:#1d303c;font-size:26px;font-weight:700;line-height:1.45;}
#sub_content.surge_business .surge_product_head > p {max-width:920px;margin-top:16px;color:#65727a;font-size:16px;line-height:1.85;word-break:keep-all;}
#sub_content.surge_business .surge_product_visual {overflow:hidden;margin:0;padding:36px 150px;border-radius:18px;background:#fff;}
#sub_content.surge_business .surge_product_visual img {display:block;width:100%;max-width:1000px;height:auto;margin:0 auto;}
#sub_content.surge_business .surge_info_cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:42px;}
#sub_content.surge_business .surge_info_card .water_meter_card_features {border-top:1px solid #e7ecef;}
#sub_content.surge_business .surge_inline_spec {margin-top:58px;}
#sub_content.surge_business .surge_inline_spec > h5 {margin:0 0 24px;color:#203643;font-size:22px;font-weight:700;line-height:1.45;}
#sub_content.surge_business .surge_spec_table_wrap {overflow:hidden;border:1px solid #dfe6ea;border-radius:17px;background:#fff;}
#sub_content.surge_business .surge_spec_table,
#sub_content.electric_fire_business .ef_spec_table {width:100%;min-width:760px;border:0;border-spacing:0;border-collapse:separate;table-layout:fixed;background:#fff;}
#sub_content.surge_business .surge_spec_table caption,
#sub_content.electric_fire_business .ef_spec_table caption {position:absolute;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
#sub_content.surge_business .surge_spec_table .surge_spec_name {width:23%;}
#sub_content.surge_business .surge_spec_table .surge_spec_unit {width:10%;}
#sub_content.surge_business .surge_spec_table .surge_spec_note {width:23%;}
#sub_content.surge_business .surge_spec_table :is(th,td),
#sub_content.electric_fire_business .ef_spec_table :is(th,td) {padding:13px 16px;border:0;border-right:1px solid #e1e7ea;border-bottom:1px solid #e1e7ea;color:#3d4d57;font-size:16px;font-weight:400;line-height:1.5;text-align:center;vertical-align:middle;word-break:keep-all;}
#sub_content.surge_business .surge_spec_table tr > :last-child,
#sub_content.electric_fire_business .ef_spec_table tr > :last-child {border-right:1px solid #e1e7ea;}
#sub_content.surge_business .surge_spec_table tbody tr:last-child > *,
#sub_content.electric_fire_business .ef_spec_table tbody tr:last-child > * {border-bottom:1px solid #e1e7ea;}
#sub_content.surge_business .surge_spec_table thead th,
#sub_content.electric_fire_business .ef_spec_table thead th {background:var(--main-blue);color:#fff;font-weight:700;}
#sub_content.surge_business .surge_spec_table tbody th,
#sub_content.electric_fire_business .ef_spec_table tbody th {background:#f3f6f8;color:#4c5b64;font-weight:700;}
#sub_content.surge_business .insect_led_head {margin-bottom:38px;}
#sub_content.surge_business .insect_led_head > span {display:block;margin-bottom:14px;color:var(--main-blue);font-size:14px;font-weight:800;letter-spacing:.09em;}
#sub_content.surge_business .insect_led_head > p {max-width:920px;margin:0;color:#65727a;font-size:var(--business-fs-body);line-height:1.85;word-break:keep-all;}
#sub_content.surge_business .insect_led_catalog_layout {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:44px;align-items:start;}
#sub_content.surge_business .insect_led_catalog_copy article {padding:30px 0;border-top:1px solid #dfe6ea;}
#sub_content.surge_business .insect_led_catalog_copy article:first-child {padding-top:0;border-top:0;}
#sub_content.surge_business .insect_led_catalog_copy article > span {display:block;margin-bottom:10px;color:#0878ba;font-size:14px;font-weight:700;letter-spacing:.08em;}
#sub_content.surge_business .insect_led_catalog_copy h5 {margin:0 0 18px;color:#203643;font-size:20px;font-weight:700;line-height:1.45;}
#sub_content.surge_business .insect_led_catalog_copy article > strong {display:block;margin-bottom:18px;font-size:var(--business-fs-body);font-weight:600;line-height:1.65;word-break:keep-all;}
#sub_content.surge_business .insect_led_catalog_copy ul {margin:0;padding:0;list-style:none;}
#sub_content.surge_business .insect_led_catalog_layout .insect_led_product {position:sticky;top:120px;border-radius:18px;background:#fff;}
#sub_content.surge_business .insect_led_catalog_layout .insect_led_product img {width:100%;height:auto;max-height:none;object-fit:contain;}

@media (max-width: 1024px) {
	#sub_content.surge_business .insect_led_catalog_layout {grid-template-columns:1fr;gap:28px;}
	#sub_content.surge_business .insect_led_catalog_layout .insect_led_product {position:static;max-width:580px;margin:0 auto;}
}

@media (max-width: 767px) {
	#sub_content.surge_business .surge_product_head > strong {font-size:22px;}
	#sub_content.surge_business .surge_product_head > p {font-size:14px;}
	#sub_content.surge_business .surge_product_visual {padding:18px;border-radius:14px;}
	#sub_content.surge_business .surge_info_cards {grid-template-columns:1fr;gap:18px;margin-top:30px;}
	#sub_content.surge_business .surge_inline_spec {margin-top:40px;}
	#sub_content.surge_business .surge_inline_spec > h5 {font-size:20px;}
	#sub_content.surge_business .surge_spec_table_wrap {overflow-x:auto;border-radius:12px;}
	#sub_content.surge_business .surge_spec_table :is(th,td) {padding:12px 11px;font-size:13px;}
	#sub_content.surge_business .insect_led_head {margin-bottom:28px;}
	#sub_content.surge_business .insect_led_catalog_layout {grid-template-columns:1fr;gap:24px;}
	#sub_content.surge_business .insect_led_catalog_copy article {padding:25px 0;}
	#sub_content.surge_business .insect_led_catalog_copy h5 {font-size:20px;}
	#sub_content.surge_business .insect_led_catalog_copy article > strong {font-size:16px;}
	#sub_content.surge_business .insect_led_catalog_layout .insect_led_product {position:static;padding:15px;border-radius:14px;}
}
@media (max-width: 480px) {
	#sub_content.surge_business .sediment_feature h5{
		display: none;
	}

}
/* nuclear power control business */
.nuclear_business .nuclear_intro_list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:32px;}
.nuclear_business .nuclear_intro_list li {position:relative;padding:0 12px 0 44px;;color:#333;font-size:18px;line-height:1.6;}
.nuclear_business .nuclear_intro_list li::before {content:'';position:absolute;top:9px;left:22px;width:8px;height:8px;border-radius:50%;background:var(--main-blue);}
.nuclear_business .nuclear_product_visual {max-width:820px;margin:38px auto;padding:30px;background:#fff;text-align:center;}
.nuclear_business .nuclear_product_visual img {display:block;width:70%;height:auto;}
.nuclear_business .nuclear_hvac_visual img{width:100%}
.nuclear_business .nuclear_product_visual figcaption {margin-top:18px;color:#65707a;font-size:16px;font-weight:600;letter-spacing:.04em;}
/* .nuclear_business .nuclear_spec_table_wrap {overflow-x:auto;border-top:3px solid var(--main-blue);} */
.nuclear_business .nuclear_spec_table {width:100%;min-width:720px;border-collapse:collapse;border-spacing:0;table-layout:fixed;}
.nuclear_business .nuclear_spec_table caption {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.nuclear_business .nuclear_spec_table .model_col {width:24%;}
.nuclear_business .nuclear_spec_table .item_col {width:31%;}
.nuclear_business .nuclear_spec_table th,.nuclear_business .nuclear_spec_table td {padding:16px 20px;border-right:1px solid #d8dde1;border-bottom:1px solid #d8dde1;color:#4f5962;font-size:17px;line-height:1.5;text-align:center;vertical-align:middle;word-break:keep-all;}
.nuclear_business .nuclear_spec_table tr > *:first-child {border-left:1px solid #d8dde1;}
.nuclear_business .nuclear_spec_table thead th {background:#71777c;color:#fff;font-weight:700;}
.nuclear_business .nuclear_spec_table tbody th {background:#f1f4f6;color:#17212b;font-size:19px;font-weight:700;}
/* .nuclear_business .nuclear_spec_table tbody tr:nth-child(7) > * {border-bottom:2px solid var(--main-blue);} */
.nuclear_business .nuclear_hvac_visual {max-width:600px;}
.nuclear_business .nuclear_controller_table .item_col {width:12%;}
.nuclear_business .nuclear_catalog_visual {margin:0 auto 38px;text-align:center;}
.nuclear_business .nuclear_catalog_visual img {display:block;width:100%;height:auto;margin:0 auto;}
.nuclear_business .nuclear_catalog_visual figcaption {margin-top:14px;color:#65707a;font-size:16px;font-weight:600;letter-spacing:.04em;}
.nuclear_business .nuclear_controller_visual {max-width:560px;}
.nuclear_business .nuclear_panel_meter_visual {max-width:450px;}
.nuclear_business .nuclear_hvac_overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,460px);gap:60px;align-items:center;}
.nuclear_business .nuclear_hvac_overview_text > strong {display:block;margin-bottom:20px;color:#222;font-size:28px;line-height:1.45;word-break:keep-all;}
.nuclear_business .nuclear_hvac_overview_text > p {margin:0;color:#666;font-size:18px;line-height:1.9;word-break:keep-all;}
.nuclear_business .nuclear_hvac_overview .nuclear_hvac_visual {width:100%;margin:0;padding:20px;}
.nuclear_business .nuclear_controller_layout {display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:42px;align-items:start;}
.nuclear_business .nuclear_controller_layout .nuclear_controller_visual {width:100%;margin:0;}
.nuclear_business .nuclear_controller_layout .nuclear_spec_table_wrap {min-width:0;}
.nuclear_business .nuclear_meter_layout {display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:42px;align-items:start;}
.nuclear_business .nuclear_meter_layout .nuclear_panel_meter_visual {width:100%;margin:0;}
.nuclear_business .nuclear_meter_layout .nuclear_card_grid {grid-template-columns:repeat(2,minmax(0,1fr));}
.nuclear_business .nuclear_card_grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.nuclear_business .nuclear_card_grid article {min-height:150px;padding:34px 30px;border:1px solid #dfe4e8;background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;}
/* .nuclear_business .nuclear_card_grid article:hover {transform:translateY(-5px);border-color:var(--main-blue);box-shadow:0 15px 32px rgba(17,34,51,.09);} */
.nuclear_business .nuclear_card_grid article > span,.nuclear_business .nuclear_system_flow article > span,.nuclear_business .nuclear_design_list article > span {display:block;margin-bottom:18px;color:var(--main-blue);font-size:15px;font-weight:700;letter-spacing:.08em;}
.nuclear_business .nuclear_card_grid strong,.nuclear_business .nuclear_system_flow strong,.nuclear_business .nuclear_design_list strong {display:block;margin-bottom:12px;color:#17212b;font-size:22px;line-height:1.45;}
.nuclear_business .nuclear_card_grid p,.nuclear_business .nuclear_system_flow p,.nuclear_business .nuclear_design_list p {margin:0;color:#65707a;font-size:17px;line-height:1.75;word-break:keep-all;}
.nuclear_business .nuclear_system_flow {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.nuclear_business .nuclear_system_flow article {position:relative;min-height:190px;padding:30px 22px;border-top:3px solid var(--main-blue);background:#f4f6f8;}
.nuclear_business .nuclear_system_flow article:not(:last-child)::after {content:'→';position:absolute;top:50%;right:-16px;z-index:2;color:var(--main-blue);font-size:22px;font-weight:700;transform:translateY(-50%);}
.nuclear_business .nuclear_design_list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
.nuclear_business .nuclear_design_list article {min-height:220px;padding:36px 30px;border:1px solid #dfe4e8;background:linear-gradient(145deg,#fff,#f4f6f8);}
.nuclear_business .nuclear_process_intro {margin-bottom:30px;}
.nuclear_business .nuclear_process {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;}
.nuclear_business .nuclear_process .business_process_item {width:auto;min-width:0;padding-left:12px;padding-right:12px;}

/* safety and non-safety system business */
.safety_business .business_section_title > span,.safety_business .business_main_text > strong {color:#ffffff;}
.safety_business .safety_intro_list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:32px;}
.safety_business .safety_intro_list li {position:relative;padding:18px 22px 18px 44px;border:1px solid #e3e7eb;background:#f8f9fa;color:#333;font-size:18px;line-height:1.6;}
.safety_business .safety_intro_list li::before {content:'';position:absolute;top:27px;left:22px;width:8px;height:8px;border-radius:50%;background:var(--main-blue);}
.safety_business .safety_split_system {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);align-items:stretch;gap:0;padding:44px 0;background:linear-gradient(90deg,#f3f7fa 0 49.8%,#dfe8ee 49.8% 50.2%,#f8f9fa 50.2% 100%);}
.safety_business .safety_split_system > article {min-height:300px;padding:28px 50px;border:0;background:transparent;box-sizing:border-box;}
.safety_business .safety_split_system > article > span {display:block;margin-bottom:18px;color:var(--main-blue);font-size:16px;font-weight:800;letter-spacing:.08em;}
.safety_business .safety_split_system > article > strong {display:block;padding-bottom:20px;border-bottom:2px solid currentColor;color:#17212b;font-size:32px;}
.safety_business .safety_split_system ul {display:block;margin-top:28px;}
.safety_business .safety_split_system li {position:relative;padding:12px 0 12px 24px;border:0;border-bottom:1px solid rgba(23,33,43,.13);background:transparent;color:#47535e;font-size:18px;font-weight:600;text-align:left;}
.safety_business .safety_split_system li::before {content:'';position:absolute;top:50%;left:2px;width:8px;height:8px;border:2px solid var(--main-blue);border-radius:50%;transform:translateY(-50%);}
.safety_business .non_safety_system_panel,.safety_business .safety_system_panel {border:0!important;}
.safety_business .safety_interface {position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.safety_business .safety_interface i {display:block;margin-bottom:22px;color:var(--main-blue);font-size:44px;font-style:normal;font-weight:700;}
.safety_business .safety_interface strong {display:block;padding:12px 10px;color:#fff;background:var(--main-blue);font-size:17px;line-height:1.45;}
.safety_business .safety_interface p {margin-top:10px;color:#777;font-size:15px;line-height:1.6;}
.safety_business .safety_function_list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:2px solid #17212b;}
.safety_business .safety_function_list article {position:relative;min-height:180px;padding:34px 32px 30px 50px;border:0;border-bottom:1px solid #d8dfe4;background:transparent;}
.safety_business .safety_function_list article:nth-child(3n+2),.safety_business .safety_function_list article:nth-child(3n+3) {border-left:1px solid #d8dfe4;}
.safety_business .safety_function_list article::before {content:'';position:absolute;top:40px;left:24px;width:9px;height:9px;background:var(--main-blue);transform:rotate(45deg);}
.safety_business .safety_function_list span,.safety_business .safety_design_list span,.safety_business .safety_link_flow article > span {display:block;margin-bottom:17px;color:var(--main-blue);font-size:15px;font-weight:800;letter-spacing:.06em;}
.safety_business .safety_function_list strong,.safety_business .safety_design_list strong,.safety_business .safety_link_flow strong {display:block;margin-bottom:11px;color:#17212b;font-size:22px;line-height:1.45;}
.safety_business .safety_function_list p,.safety_business .safety_design_list p,.safety_business .safety_link_flow p {margin:0;color:#65707a;font-size:17px;line-height:1.7;word-break:keep-all;}
.safety_business .safety_link_flow {position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:28px;}
.safety_business .safety_link_flow::before {content:'';position:absolute;top:52px;left:12.5%;right:12.5%;height:2px;background:#c8d3da;}
.safety_business .safety_link_flow article {position:relative;min-height:190px;padding:62px 24px 20px;border:0;background:transparent;text-align:center;}
.safety_business .safety_link_flow article::before {content:'';position:absolute;top:15px;left:50%;z-index:2;width:20px;height:20px;border:7px solid #fff;border-radius:50%;background:var(--main-blue);box-shadow:0 0 0 2px var(--main-blue);transform:translateX(-50%);}
.safety_business .safety_link_flow article:not(:last-child)::after {content:'›';position:absolute;right:-7px;top:36px;z-index:3;color:var(--main-blue);font-size:30px;font-weight:400;transform:none;}
.safety_business .safety_design_list {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:safety-design;}
.safety_business .safety_design_list article {position:relative;min-height:230px;padding:72px 25px 28px;border:0;border-top:1px solid #cfd8de;background:transparent;counter-increment:safety-design;}
.safety_business .safety_design_list article:nth-child(even) {margin-top:45px;}
.safety_business .safety_design_list article::before {content:'0' counter(safety-design);position:absolute;top:14px;left:24px;color:#d9e3e9;font-size:48px;font-weight:800;line-height:1;}
.safety_business .safety_design_list article:not(:last-child)::after {content:'';position:absolute;top:0;right:0;width:1px;height:70%;background:#e1e6e9;}
.safety_business .safety_process_intro {margin-bottom:30px;}
.safety_business .safety_process {position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding-top:28px;}
.safety_business .safety_process::before {content:'';position:absolute;top:47px;left:8%;right:8%;height:2px;background:#cbd6dc;}
.safety_business .safety_process .business_process_item {position:relative;width:auto;min-width:0;min-height:120px;padding:50px 10px 0;border:0;background:transparent;text-align:center;}
.safety_business .safety_process .business_process_item::before {content:'';position:absolute;top:12px;left:50%;z-index:2;width:14px;height:14px;border:5px solid #fff;border-radius:50%;background:var(--main-blue);box-shadow:0 0 0 2px var(--main-blue);transform:translateX(-50%);}
.safety_business .safety_process .business_process_item:not(:last-child)::after {display:none;}

/* control panel engineering business */
.panel_business .business_section_title > span,.panel_business .business_main_text > strong {color:#fff;}
.panel_business .panel_intro_list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap: 14px;margin-top:32px;}
.panel_business .panel_intro_list li  {    background: #f8f9fa;position:relative;padding:18px 22px 18px 44px;color:#3f4b55;font-size:18px;line-height:1.6;}
.panel_business .panel_intro_list li::before {content:'';position:absolute;top:25px;left:20px;width:9px;height:9px;background:var(--main-blue);}
.panel_business .panel_component_diagram {position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;padding:48px 40px 48px 74px;border:2px solid #263542;background:linear-gradient(90deg,#edf2f5 0 46px,#d7e0e5 46px 49px,#f7f9fa 49px);}
.panel_business .panel_rail {position:absolute;top:35px;bottom:35px;left:24px;width:13px;background:repeating-linear-gradient(180deg,#657985 0 8px,transparent 8px 14px);}
.panel_business .panel_component_diagram article {position:relative;min-height:150px;padding:26px 24px 22px;border-left:5px solid var(--main-blue);background:#fff;box-shadow:0 7px 18px rgba(29,46,58,.07);}
.panel_business .panel_component_diagram article::before {content:'';position:absolute;top:50%;left:-34px;width:29px;height:2px;background:#84949e;}
.panel_business .panel_component_diagram span,.panel_business .panel_engineering_steps span,.panel_business .panel_system_flow span,.panel_business .panel_application_list span {display:block;margin-bottom:14px;color:var(--main-blue);font-size:14px;font-weight:800;letter-spacing:.08em;}
.panel_business .panel_component_diagram strong,.panel_business .panel_engineering_steps strong,.panel_business .panel_system_flow strong {display:block;margin-bottom:9px;color:#17212b;font-size:21px;line-height:1.45;}
.panel_business .panel_component_diagram p,.panel_business .panel_engineering_steps p,.panel_business .panel_system_flow p {margin:0;color:#67727b;font-size:16px;line-height:1.7;word-break:keep-all;}
.panel_business .panel_engineering_steps {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:2px solid #1f303d;border-bottom:1px solid #dbe2e6;}
.panel_business .panel_engineering_steps article {position:relative;min-height:210px;padding:34px 24px 28px;background:transparent;}
.panel_business .panel_engineering_steps article:not(:last-child) {border-right:1px solid #dbe2e6;}
.panel_business .panel_engineering_steps article:nth-child(even) {background:#f5f8fa;}
/* .panel_business .panel_engineering_steps article::after {  z-index: 1;content:'';position:absolute;right:-5px;bottom:24px;width:9px;height:9px;border-top:2px solid var(--main-blue);border-right:2px solid var(--main-blue);transform:rotate(45deg);} */
.panel_business .panel_engineering_steps article:last-child::after {display:none;}
.panel_business .panel_system_flow {position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:35px;}
.panel_business .panel_system_flow::before {content:'';position:absolute;top:66px;left:12.5%;right:12.5%;height:3px;background:#c8d4da;}
.panel_business .panel_system_flow article {position:relative;min-height:190px;padding:75px 24px 22px;text-align:center;}
.panel_business .panel_system_flow article::before {content:'';position:absolute;top:20px;left:50%;z-index:2;width:28px;height:28px;border:8px solid #fff;border-radius:50%;background:var(--main-blue);box-shadow:0 0 0 2px var(--main-blue);transform:translateX(-50%);}
.panel_business .panel_system_flow article:not(:last-child)::after {content:'›';position:absolute;top:47px;right:-6px;z-index:3;color:var(--main-blue);font-size:30px;}
.panel_business .panel_design_direction {counter-reset:panel-design;border-top:2px solid #1f303d;}
.panel_business .panel_design_direction li {position:relative;display:grid;grid-template-columns:90px 230px minmax(0,1fr);align-items:center;min-height:100px;border-bottom:1px solid #d8e0e4;counter-increment:panel-design;}
.panel_business .panel_design_direction span {color:#c4d1d8;font-size:33px;font-weight:800;}
.panel_business .panel_design_direction strong {color:#17212b;font-size:22px;}
.panel_business .panel_design_direction p {margin:0;color:#65717a;font-size:17px;line-height:1.7;}
/* .panel_business .panel_design_direction li::after {content:'';position:absolute;right:0;width:34px;height:2px;background:var(--main-blue);} */
.panel_business .panel_process {position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding-top:34px;}
.panel_business .panel_process::before {content:'';position:absolute;top:55px;left:7%;right:7%;height:2px;background:#c9d5db;}
.panel_business .panel_process article {position:relative;min-height:125px;padding:58px 10px 0;text-align:center;}
.panel_business .panel_process article::before {content:'';position:absolute;top:12px;left:50%;z-index:2;width:14px;height:14px;border:5px solid #fff;border-radius:50%;background:var(--main-blue);box-shadow:0 0 0 2px var(--main-blue);transform:translateX(-50%);}
.panel_business .panel_process span {display:block;margin-bottom:8px;color:var(--main-blue);font-size:14px;font-weight:800;}
.panel_business .panel_process strong {color:#27343e;font-size:20px;}
.panel_business .panel_application_list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:34px;background:#263642;}
.panel_business .panel_application_list article {position:relative;min-height:280px;padding:34px 26px;border:2px solid #73838e;background:linear-gradient(145deg,#465864,#293943);overflow:hidden;}
.panel_business .panel_application_list article::before {content:'';position:absolute;left:22px;right:22px;bottom:48px;height:96px;border:1px solid #80909a;background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 16px);}
.panel_business .panel_application_list strong {display:block;color:#fff;font-size:23px;line-height:1.45;}
.panel_business .panel_application_list i {position:absolute;right:22px;bottom:18px;width:9px;height:9px;border-radius:50%;background:#58c680;box-shadow:0 0 9px rgba(88,198,128,.8);}

/* energy and infrastructure business */
.energy_business .business_section_title > span {flex:0 0 20px;min-width:20px;}
.energy_business .energy_main_visual {position:relative;height:430px;overflow:hidden;background:linear-gradient(155deg,#132c3b 0%,#27566b 58%,#5d8995 100%);}
.energy_business .energy_main_visual::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.5),rgba(0,0,0,.12) 62%,transparent);}
.energy_business .energy_wind {position:absolute;right:15%;bottom:70px;width:8px;height:235px;background:#d9e5e8;transform:rotate(2deg);}
.energy_business .energy_wind::before {content:'';position:absolute;top:-11px;left:-7px;width:22px;height:22px;border-radius:50%;background:#eef5f6;}
.energy_business .energy_wind i {position:absolute;top:-2px;left:4px;width:105px;height:5px;background:#eef5f6;transform-origin:left center;}
.energy_business .energy_wind i:nth-child(1){transform:rotate(8deg);}.energy_business .energy_wind i:nth-child(2){transform:rotate(128deg);}.energy_business .energy_wind i:nth-child(3){transform:rotate(248deg);}
.energy_business .energy_grid {position:absolute;right:4%;bottom:26px;display:flex;gap:10px;transform:skewX(-13deg);}
.energy_business .energy_grid span {width:90px;height:74px;border:3px solid rgba(194,226,235,.75);background:repeating-linear-gradient(90deg,rgba(70,145,174,.7) 0 12px,rgba(168,214,228,.65) 13px 15px);}
.energy_business .energy_intro_list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px;margin-top:28px;}
.energy_business .energy_intro_list li,.energy_business .energy_detail_list li {position:relative;padding:6px 8px 6px 20px;font-size:18px;line-height:1.7;color:#666;word-break:keep-all;}
.energy_business .energy_intro_list li::before,.energy_business .energy_detail_list li::before {content:'';position:absolute;top:16px;left:2px;width:6px;height:6px;border-radius:50%;background:var(--main-blue);}
.energy_business .energy_control_list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:28px;}
.energy_business .energy_control_list article,.energy_business .energy_tool_list article,.energy_business .energy_feature_list article {padding:27px 23px;border:1px solid #e0e6e9;box-sizing:border-box;background:#fff;}
.energy_business .energy_control_list article {position:relative;min-height:100px;overflow:hidden;background:#f7f9fb;}
.energy_business .energy_control_list article::before {position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#075ca4,#07946e);content:'';}
.energy_business .energy_control_list span,.energy_business .energy_tool_list span,.energy_business .energy_feature_list span {display:block;margin-bottom:14px;font-size:14px;font-weight:800;letter-spacing:.8px;color:var(--main-blue);}
.energy_business .energy_control_list strong,.energy_business .energy_tool_list strong,.energy_business .energy_feature_list strong,.energy_business .energy_rack_panel > div > strong,.energy_business .energy_power_panel > div > strong {
	display:block;font-size:21px !important;font-weight:600 !important;line-height:1.55;color:#333;word-break:keep-all;}
.energy_business .energy_control_list p,.energy_business .energy_tool_list p,.energy_business .energy_feature_list p,.energy_business .energy_power_panel > div > p {margin-top:9px;font-size:17px;line-height:1.7;color:#777;word-break:keep-all;}
.energy_business .energy_rack_panel,.energy_business .energy_power_panel {display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:42px;align-items:center;margin-top:30px;padding:35px;background:#f4f7f8;box-sizing:border-box;}
.energy_business .energy_rack_image,.energy_business .energy_power_image,.energy_business .energy_power_rear {margin:0;}
.energy_business .energy_rack_image {display:flex;align-items:center;justify-content:center;min-height:320px;padding:25px;background:#e8edef;box-sizing:border-box;}
.energy_business .energy_rack_image img,.energy_business .energy_power_image img,.energy_business .energy_power_rear img {display:block;max-width:100%;height:auto;object-fit:contain;}
.energy_business .energy_rack_image img {max-height:285px;}
.energy_business .energy_detail_list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 16px;margin-top:18px;}
.energy_business .energy_note {margin-top:15px!important;padding-left:13px;border-left:3px solid #9aa9b1;font-size:15px!important;color:#888!important;}
.energy_business .energy_power_images {display:grid;gap:15px;padding:25px;background:#e8edef;box-sizing:border-box;}
.energy_business .energy_power_image {display:flex;align-items:center;justify-content:center;min-height:210px;}
.energy_business .energy_power_image img {max-height:205px;}
.energy_business .energy_power_rear {padding:13px;background:#fff;box-sizing:border-box;}
.energy_business .energy_power_rear img {width:100%;}
.energy_business .energy_power_rear figcaption {margin-top:9px;font-size:14px;font-weight:600;color:#666;text-align:center;}
.energy_business .energy_power_spec {margin-top:20px;}.energy_business .energy_power_spec > div {display:grid;grid-template-columns:145px minmax(0,1fr);gap:15px;padding:11px 0;border-bottom:1px solid #dde3e6;}.energy_business .energy_power_spec dt {font-size:14px;font-weight:800;color:var(--main-blue)}.energy_business .energy_power_spec dd {margin:0;font-size:16px;line-height:1.6;color:#666;}
.energy_business .energy_product_list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:28px;}
.energy_business .energy_product_list article {min-height:130px;padding:25px;border:1px solid #e0e6e9;box-sizing:border-box;background:#f8fafb;text-align:center;}
.energy_business .energy_product_list span {display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 auto 15px;border-radius:50%;background:linear-gradient(90deg,#075ca4,#07946e);font-size:14px;font-weight:700;color:#fff;}
.energy_business .energy_product_list strong {font-size:18px !important;font-weight:600;color:#333;}
.energy_business .energy_tool_list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:28px;}
.energy_business .energy_tool_list article {min-height:190px; background:#f6f9fb !important;}
.energy_business .energy_feature_list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.energy_business .energy_feature_list article { min-height:180px;border-left:3px solid var(--main-blue);background:#f8fafb;}
.energy_business .energy_process_intro {margin-bottom:28px;font-size:17px;line-height:1.75;color:#666;word-break:keep-all;}
.energy_business .energy_process {grid-template-columns:repeat(8,minmax(0,1fr));gap:16px;}.energy_business .energy_process .business_process_item {width:auto;min-width:0;padding-left:12px;padding-right:12px;}

/* equipment status */
.equipment_status .equipment_head {
	margin-bottom: 45px;
	text-align: center;
}

.equipment_status .equipment_head p {
	font-size: 20px;
	text-align: center;
}

.equipment_status .equipment_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
	margin: 0;
	padding: 0 0 80px;
	list-style: none;
}

.equipment_status .equipment_card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	/* border: 1px solid #d8dde2; */
	background: #fff;
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;

	/* overflow: hidden; */
	/* box-shadow: 0 8px 22px rgba(25, 49, 66, .08); */
}

.equipment_status .equipment_item:hover .equipment_image {
	border-color: var(--main-blue);
	box-shadow: 0 12px 20px rgba(24, 70, 95, 0.123);
	/* transform: translateY(-3px); */
}
.equipment_status .equipment_item:hover .equipment_name{
	color: #ffffff;
	background-color: var(--main-blue);
}
.equipment_status .equipment_image {
	position: relative;
	min-width: 0;
	height: 230px;
	min-height: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid #e4e8eb;
	/* background: #eef1f3; */
	padding: 30px;
	border-radius: 8px;
}

.equipment_status .equipment_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.equipment_status .equipment_image_empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 230px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .4px;
	color: #9aa4aa;
}

.equipment_status .equipment_info {
	flex: 1;
	min-width: 0;
	padding: 22px 10px 24px;
	box-sizing: border-box;
	/* background-color: #f6f9fb; */
}

.equipment_status .equipment_name {
	display: block;
	/* min-height: 52px; */
	margin-bottom:12px;
	padding: 8px 18px;
	/* border-bottom: 1px solid #cccccc; */
	font-size: 18px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -.4px;
	color: #222222;
	word-break: keep-all;
	border-radius: 8px;
	background-color: var(--main-light-blue);
}

.equipment_status .equipment_detail {
	margin: 0;
	padding: 0 15px;
}

.equipment_status .equipment_detail > div {
	display: grid;
	grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	padding: 7px 0;
}

.equipment_status .equipment_detail > div:last-child {
	border-bottom: 0;
}

.equipment_status .equipment_detail dt {
	position: relative;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.65;
	color: #3f4a52;
}

.equipment_status .equipment_detail dt::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 1px;
	width: 7px;
	height: 7px;
	border: 2px solid var(--main-blue);
	border-radius: 50%;
	box-sizing: border-box;
}

.equipment_status .equipment_detail dd {
	min-width: 0;
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	font-weight: 600;
	color: #333333;
	text-align: right;
	word-break: keep-all;
}

/* ESG management */
.esg_management .esg_head {
	margin-bottom: 45px;
	text-align: center;
}

.esg_management .esg_head p {
	font-size: 20px;
	line-height: 1.75;
	color: #666;
	word-break: keep-all;
}

.esg_management .esg_visual {
	min-height: 430px;
	padding: 50px ;
	overflow: hidden;
	box-sizing: border-box;
}

.esg_management .esg_wordmark {
	text-align: center;
}

.esg_management .esg_wordmark > strong {
	display: block;
	font-size: 300px;
	font-weight: 900;
	line-height: .9;
	letter-spacing: -0.04em;
	color: #30733b;
	background: url('../img/sub/esg_letter.jpg') no-repeat center 50% / cover;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	word-break: keep-all;
}

.esg_management .esg_wordmark > span {
	display: block;
	margin-top: 13px;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 4px;
	color: #397a43;
	text-align: center;
}

.esg_management .esg_value_summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	max-width: 900px;
	margin: 35px auto 0;
}

.esg_management .esg_value_summary p {
	padding-top: 15px;
	border-top: 1px solid #bdc9bc;
	font-size: 14px;
	line-height: 1.65;
	color: #687269;
	text-align: center;
	word-break: keep-all;
}

.esg_management .esg_value_summary strong {
	display: block;
	margin-bottom: 5px;
	font-size: 22px;
	font-weight: 700;
	color: #397a43;
}

.esg_management .esg_strategy {
	padding: 75px 0 30px;
}

.esg_management .esg_strategy_head {
	margin-bottom: 45px;
	text-align: center;
}

.esg_management .esg_strategy_head > span {
	display: block;
	margin-bottom: 7px;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: #259b83;
}

.esg_management .esg_strategy_head h3 {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.4;
	color: #222;
}

.esg_management .esg_strategy_head p {
	margin-top: 12px;
	font-size: 16px;
	line-height: 1.75;
	color: #777;
	word-break: keep-all;
}

.esg_management .esg_strategy_list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.esg_management .esg_strategy_item {
	position: relative;
	min-width: 0;
	text-align: center;
}

.esg_management .esg_strategy_item:not(:last-child)::after {
	content: '+';
	position: absolute;
	top: 72px;
	right: -22px;
	font-size: 25px;
	font-weight: 300;
	color: #c8d2d5;
}

.esg_management .esg_strategy_circle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 112px;
	margin: 0 auto 22px;
	border-radius: 90px 90px 0 90px;
	background: linear-gradient(180deg, #58cb69, #27ae72);
	color: #fff;
}

.esg_management .esg_strategy_item:nth-child(2) .esg_strategy_circle {background: linear-gradient(180deg, #34c8b6, #159f9c);}
.esg_management .esg_strategy_item:nth-child(3) .esg_strategy_circle {background: linear-gradient(180deg, #43bad1, #208da9);}
.esg_management .esg_strategy_item:nth-child(4) .esg_strategy_circle {background: linear-gradient(180deg, #2da7db, #1977ba);}

.esg_management .esg_strategy_circle > span {
	position: absolute;
    top: -30px;
    left: 0;
    width: 100%;
    font-size: 37px;
    font-weight: 700;
    color: #f2f2f2;
    text-align: start;
}

.esg_management .esg_strategy_circle svg {
	width: 43px;
	height: 43px;
	margin-top: 25px;
	fill: none;
	stroke: #fff;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.esg_management .esg_strategy_circle img {
	width: 64px !important;
	height: 64px !important;
}

.esg_management .esg_strategy_item > strong {
	display: block;
	margin-bottom: 20px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: #238d76;
}

.esg_management .esg_strategy_item > ul {
	padding-top: 15px;
	border-top: 2px solid #4ebc77;
	text-align: left;
}

.esg_management .esg_strategy_item:nth-child(2) > ul {border-color:#29b5a8;}
.esg_management .esg_strategy_item:nth-child(3) > ul {border-color:#35a8c2;}
.esg_management .esg_strategy_item:nth-child(4) > ul {border-color:#288eca;}

.esg_management .esg_strategy_item li {
	position: relative;
	padding: 5px 0 5px 13px;
	font-size: 16px;
	line-height: 1.65;
	color: #666;
	word-break: keep-all;
}

.esg_management .esg_strategy_item li::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #8a999f;
}

/* R&D */
.rnd_section{
	padding:0;
}
.rnd_page .rnd_head {margin-bottom:65px;text-align:center;}
.rnd_page .rnd_head > span {display:block;margin-bottom:10px;font-size:14px;font-weight:800;letter-spacing:2px;color:#315e92;}
.rnd_page .rnd_head h3 {font-size:42px;font-weight:700;line-height:1.3;color:#222;}
.rnd_page .rnd_head p {margin-top:18px;font-size:22px;line-height:1.7;word-break:keep-all;}
.rnd_page .rnd_intro {border-radius:20px;position:relative;display:flex;align-items:center;min-height:390px;margin:0 7% 100px 0;padding:65px 38% 65px 60px;box-sizing:border-box;background:linear-gradient(135deg,#202b59,#271b3d);color:#fff;}
.rnd_page .rnd_intro_nuclear {background:linear-gradient(135deg,#172e4a,#233f5f);}
.rnd_page .rnd_intro_general {background:linear-gradient(135deg,#163f4e,#24525a);}
.rnd_page .rnd_intro_text > span {display:block;margin-bottom:20px;font-size:14px;font-weight:700;letter-spacing:1.8px;color:var(--main-light-blue);}
.rnd_page .rnd_intro_text h4 {font-size:30px;font-weight:700;line-height:1.45;}
.rnd_page .rnd_intro_text p {margin-top:24px;font-size:16px;line-height:1.8;color:rgba(255,255,255,.76);word-break:keep-all;}
.rnd_page .rnd_intro_image {border-radius: 10px;position:absolute;top:50%;right:-7%;width:42%;height:270px;transform:translateY(-50%);box-shadow:0 24px 45px rgba(9,18,38,.22);overflow:hidden;}
.rnd_page .rnd_intro_image img {display:block;width:100%;height:100%;object-fit:cover;}
.rnd_page .rnd_section {margin-top:90px;}
.rnd_page .rnd_head + .rnd_section {margin-top:0;}
.rnd_page .rnd_section_title {display:flex;align-items:center;gap:18px;margin-bottom:35px;}
.rnd_page .rnd_section_title > span {font-size:15px;font-weight:800;color:#315e92;}
.rnd_page .rnd_section_title h4 {position:relative;flex:1;font-size:30px;font-weight:700;color:#222;}
/* .rnd_page .rnd_section_title h4::after {content:'';display:inline-block;width:70px;height:1px;margin:0 0 8px 22px;background:#b9bec6;} */
.rnd_page .rnd_info_list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.rnd_page .rnd_info_list_four {grid-template-columns:repeat(4,minmax(0,1fr));}
.rnd_page .rnd_info_list li {min-height:180px;padding:28px;box-sizing:border-box;border-top:3px solid #315e92;background:#f5f6f8;}
.rnd_page .rnd_info_list li > span {display:block;margin-bottom:25px;font-size:14px;font-weight:800;letter-spacing:1px;color:#7c8ba0;}
.rnd_page .rnd_info_list li > strong {display:block;font-size:22px;color:#222;}
.rnd_page .rnd_info_list li > p {margin-top:12px;font-size:16px;line-height:1.7;color:#707070;word-break:keep-all;}
.rnd_page .rnd_card_list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.rnd_page .rnd_card_list_four {grid-template-columns:repeat(4,minmax(0,1fr));}
.rnd_page .rnd_card_list > li {background:#fff;box-shadow:0 12px 32px rgba(18,31,49,.09);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;}
.rnd_page .rnd_card_list > li:hover {transform:translateY(-7px);box-shadow:0 20px 42px rgba(18,31,49,.15);}
.rnd_page .rnd_card_image {height:210px;overflow:hidden;}
.rnd_page .rnd_card_image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.rnd_page .rnd_card_list > li:hover img {transform:scale(1.04);}
.rnd_page .rnd_card_text {padding:24px 25px 28px;}
.rnd_page .rnd_card_text strong {font-size:21px;color:#202637;}
.rnd_page .rnd_card_text p {margin-top:10px;font-size:16px;line-height:1.65;color:#777;word-break:keep-all;}
.rnd_page .rnd_process {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:rnd-step;}
.rnd_page .rnd_process li {position:relative;padding:25px 12px;border:1px solid #dfe3e8;border-left:0;font-size:17px;font-weight:700;color:#3d4858;text-align:center;}
.rnd_page .rnd_process li:first-child {border-left:1px solid #dfe3e8;}
.rnd_page .rnd_process li::before {counter-increment:rnd-step;content:'0' counter(rnd-step);display:block;margin-bottom:9px;font-size:14px;color:#315e92;}


/* partner */
.partner_page .partner_head {margin-bottom:65px;text-align:center;}
.partner_page .partner_head > span {display:block;margin-bottom:10px;font-size:14px;font-weight:800;letter-spacing:2px;color:#315e92;}
.partner_page .partner_head h3 {font-size:32px;font-weight:700;line-height:1.3;color:#222;}
.partner_page .partner_head p {margin-top:18px;font-size:18px;line-height:1.7;color:#666;word-break:keep-all;}
/* AS */
.as_head {
	margin-bottom: 30px;
}
.as_head p{
	margin: 16px 0 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: -0.4px;
    word-break: keep-all;
	text-align: center;
}
.as_intro strong{
    font-size: 24px;
}
#as_privacy_content{
    min-height: 200px;
    width: 100%;
}
.as_privacy{
    padding: 30px;
    margin-bottom: 50px!important;
    background-color: #f8f8f8;
}
.as_retrive .as_privacy_agree label strong {
	display:inline-block;margin:0 0 0 5px;font-weight: 400;
	font-size: 18px;
	font-weight: 600;
}
.as_retrive .as_field_row {
	display: flex;
	gap: 24px;
	width: 100%;
	margin-bottom: 50px;
}

.as_retrive .as_field {
	display: grid;
	grid-template-columns: 70px minmax(0, 1fr);
	flex: 1 1 0;
	align-items: center;
	min-width: 0;
}

.as_retrive .as_field label {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #222;
}

.as_retrive .as_field .frm_input {
	display: block;
	width: 100%;
	padding: 0 14px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	background: #fff;
	font-size: 15px;
	color: #333;

}

.as_retrive .as_field .frm_input:focus {
	border-color: #777;
	outline: none;
}
.as_retrive .as_field .frm_input:focus {
	border-color: #777;
	outline: none;
}

.as_retrive .btn_confirm {
	margin-top: 26px;
	text-align: center;
}

.as_retrive .btn_confirm .btn_submit {
	display: inline-block;
	width: 220px;
	min-width: 220px;
	height: 52px;
	padding: 0 20px !important;
	border: 1px solid var(--main-blue);
	box-sizing: border-box;
	background: var(--main-blue);
	color: #fff !important;
	font-size: 16px;
	line-height: 50px;
	text-align: center;
	vertical-align: middle;
}

.as_retrive .btn_confirm .btn_submit:hover,
.as_retrive .btn_confirm .btn_submit:focus {
	display: inline-block;
	border-color: var(--main-deep-blue);
	background:  var(--main-deep-blue);
	color: #fff !important;
}

/* partner */
.partner_head {
	margin-bottom: 45px;
}

.partner_head > span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	color: var(--main-blue);
}

.partner_head h3 {
	margin: 0;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -1.3px;
	color: #222;
}

.partner_head p {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.4px;
	color: #777;
	word-break: keep-all;
}

.partner_main {
	position: relative;
	padding-bottom: 60px;
	border-bottom: 1px solid #ddd;
}

.partner_main_visual {
	position: relative;
	height: 430px;
	overflow: hidden;
	background: #222;
}

.partner_main_visual::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.58) 0%,
		rgba(0, 0, 0, 0.25) 55%,
		rgba(0, 0, 0, 0.05) 100%
	);
}

.partner_main_visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.partner_main_text {
	position: absolute;
	left: 55px;
	top: calc(50% - 30px);
	z-index: 2;
	max-width: 560px;
	transform: translateY(-50%);
}

.partner_main_text > span {
	display: block;
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	color: rgba(255, 255, 255, 0.75);
}

.partner_main_text > strong {
	display: block;
	margin-bottom: 15px;
	font-size: 34px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -1px;
	color: #fff;
	word-break: keep-all;
}

.partner_main_text p {
	margin: 0;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: -0.4px;
	color: rgba(255, 255, 255, 0.9);
	word-break: keep-all;
}

.partner_section {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 55px;
	padding: 60px 0;
	border-bottom: 1px solid #ddd;
}

.partner_section_title {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.partner_section_title > span {
	padding-top: 5px;
	font-size: 12px;
	font-weight: 700;
	color: var(--main-blue);
}

.partner_section_title h4 {
	position: relative;
	margin: 0;
	padding-left: 15px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.6px;
	color: #222;
}

.partner_section_title h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 6px;
	height: 6px;
	border: 2px solid var(--main-blue);
	border-radius: 50%;
	box-sizing: border-box;
}

.partner_section_content {
	min-width: 0;
}

.partner_intro > strong,
.partner_logo_head > strong {
	display: block;
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.partner_intro > p,
.partner_logo_head > p {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: -0.35px;
	color: #666;
	word-break: keep-all;
}

.partner_intro > p:last-child {
	margin-bottom: 0;
}

.partner_value_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
	margin-top: 35px;
}

.partner_value_item {
	position: relative;
	padding: 25px 22px;
	background: #f8f8f8;
	/* border-top: 2px solid var(--main-blue); */
}

.partner_value_item > span {
	display: block;
	margin-bottom: 20px;
	font-size: 12px;
	font-weight: 700;
	color: var(--main-blue);
}

.partner_value_item > strong {
	display: block;
	margin-bottom: 9px;
	font-size: 17px;
	font-weight: 600;
	color: #333;
}

.partner_value_item p {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: -0.3px;
	color: #777;
	word-break: keep-all;
}

.partner_field_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.partner_field_item {
	position: relative;
	padding: 28px 22px;
	border: 1px solid #e5e5e5;
	background: #fff;
	transition:
		transform 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.partner_field_item:hover {
	transform: translateY(-5px);
	border-color: var(--main-blue);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
}

.partner_field_icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin-bottom: 20px;
	border-radius: 50%;
	background: #f2f7fb;
}

.partner_field_icon svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: var(--main-blue);
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.partner_field_item > strong {
	display: block;
	margin-bottom: 10px;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}

.partner_field_item > p {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: -0.3px;
	color: #777;
	word-break: keep-all;
}

.partner_logo_head {
	margin-bottom: 30px;
}

.partner_logo_head > p {
	margin-bottom: 0;
}

.partner_logo_list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid #e5e5e5;
	border-left: 1px solid #e5e5e5;
}

.partner_logo_item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 145px;
	padding: 25px;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	box-sizing: border-box;
	background: #fff;
	transition: background 0.25s ease;
}

.partner_logo_item:hover {
	background: #f8fafc;
}

.partner_logo_item img {
	display: block;
	max-width: 75%;
	max-height: 65px;
	width: auto;
	height: auto;
	/* filter: grayscale(100%); */
	/* opacity: 0.65; */
	transition:
		filter 0.3s ease,
		opacity 0.3s ease,
		transform 0.3s ease;
}

.partner_logo_item:hover img {
	filter: grayscale(0);
	opacity: 1;
	transform: scale(1.03);
}











.location_link {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	margin-top: 22px;
	padding-bottom: 4px;
	border-bottom: 1px solid #999;
	font-size: 15px;
	font-weight: 500;
	color: #333;
	transition:
		color 0.25s ease,
		border-color 0.25s ease;
}

.location_link span {
	font-size: 16px;
	transition: transform 0.25s ease;
}

.location_link:hover {
	color: var(--main-blue);
	border-color: var(--main-blue);
}

.location_link:hover span {
	transform: translateX(4px);
}



@media screen and (max-width: 1200px) {
	/* consolidated 1200px rules */
.partner_head h3 {
		font-size: 32px;
	}

	.partner_main_visual {
		height: 390px;
	}

	.partner_main_text {
		left: 45px;
		max-width: 500px;
	}

	.partner_main_text > strong {
		font-size: 30px;
	}

	.partner_main_text p {
		font-size: 16px;
	}

	.partner_section {
		grid-template-columns: 210px minmax(0, 1fr);
		gap: 40px;
		padding: 50px 0;
	}

	.partner_section_title h4 {
		font-size: 22px;
	}

	.partner_field_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	.history_visual {
		height: 390px;
		margin-top: 50px;
	}

	.history_visual_box {
		width: 68%;
		padding: 48px 35px;
	}

	.history_visual_box strong {
		font-size: 30px;
	}

	.history_decade {
		grid-template-columns: 300px minmax(0, 1fr);
	}

	.history_decade_title {
		padding: 48px 35px 0 0;
	}

	.history_decade_title strong {
		font-size: 38px;
	}

	.history_list {
		padding: 48px 30px 45px 55px;
	}

	.history_item {
		grid-template-columns: 80px minmax(0, 1fr);
		column-gap: 20px;
		padding-bottom: 35px;
	}

	.history_dot {
		left: -60px;
	}

	.history_item::before {
		left: -55px;
		width: 38px;
	}

	.history_date strong {
		font-size: 28px;
	}

	.history_content .month {
		font-size: 17px;
	}

	.history_content p {
		font-size: 17px;
	}

    /* location */

	.location_top {
		padding-bottom: 40px;
	}

	.location_intro h3 {
		font-size: 26px;
	}

	.location_intro p {
		font-size: 15px;
	}

	.location_map {
		height: 330px;
	}

	.location_info {
		column-gap: 20px;
		padding-top: 40px;
	}

	.location_info_item {
		padding: 25px;
		border-radius: 20px;
	}

	.location_info_item h4 {
		margin-bottom: 18px;
		font-size: 18px;
	}

	.location_info_item > strong {
		margin-bottom: 10px;
		font-size: 17px;
	}

	.location_info_item p {
		font-size: 15px;
	}

	.location_info_item > ul > li {
		gap: 10px;
		margin-bottom: 11px;
		font-size: 15px;
	}

	.location_info_item > ul > li > svg {
		flex: 0 0 21px;
		width: 21px;
		height: 21px;
	}
    /* ci */
    .ci_head {
		margin-bottom: 40px;
	}

	.ci_head h3 {
		font-size: 32px;
	}

	.ci_main_logo {
		min-height: 230px;
		padding: 35px;
	}

	.ci_main_logo img {
		max-width: 520px;
		max-height: 110px;
	}

	.ci_main > p {
		font-size: 15px;
	}

	.ci_section {
		grid-template-columns: 210px minmax(0, 1fr);
		gap: 40px;
		padding: 50px 0;
	}

	.ci_section_title h4 {
		font-size: 22px;
	}

	.ci_symbol {
		grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
		gap: 35px;
	}

	.ci_text > strong {
		font-size: 19px;
	}

	.ci_text p {
		font-size: 15px;
	}

	.ci_symbol_images {
		gap: 12px;
	}

	.ci_logo_box {
		min-height: 200px;
		padding: 30px 20px;
	}

	.ci_color {
		grid-template-columns: minmax(0, 0.8fr) minmax(360px, 1.2fr);
		gap: 35px;
	}

	.ci_signature {
		grid-template-columns: minmax(0, 0.7fr) minmax(400px, 1.3fr);
		gap: 40px;
	}

	.ci_signature_item img {
		max-width: 100%;
	}
}


@media screen and (max-width: 1500px) {
	.business .business_section {
		display: block;
	}

	.business .business_section_title {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 1024px) {
	/* consolidated 1024px rules */
	.water_business .remote_meter_intro {grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:36px;}
	.nuclear_business .nuclear_hvac_overview,
	.nuclear_business .nuclear_controller_layout,
	.nuclear_business .nuclear_meter_layout {grid-template-columns:1fr;gap:32px;}
	.nuclear_business .nuclear_hvac_overview .nuclear_hvac_visual,
	.nuclear_business .nuclear_controller_layout .nuclear_controller_visual,
	.nuclear_business .nuclear_meter_layout .nuclear_panel_meter_visual {width:100%;margin-left:auto;margin-right:auto;}
.business .business_head {
		margin-bottom: 38px;
	}

	.business .business_main_visual {
		height: 390px;
	}

	.business .business_main_text {
		left: 40px;
		max-width: 520px;
	}

	.business .business_main_text > strong {
		font-size: 30px;
	}

	.business .business_section {
		padding: 52px 0;
	}

	.business .business_card_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.business .business_process {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.business .business_process_item::after {
		display: none;
	}

	.business_feature_group {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 30px;
	}

.water_business .water_main_visual {padding: 40px;}
	.water_business .water_visual_panel {gap: 18px;}
	.water_business .water_control_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_system_flow {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.water_business .water_system_flow article:not(:last-child)::after {display: none;}
	.water_business .water_process {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.water_business .water_process .business_process_item::after {display: none;}
	.water_business .water_control_list_five {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.water_business .water_solution_steps {gap: 14px;}
	.water_business .water_solution_steps article {padding: 28px 22px;}
	.water_business .water_spec_cards {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.wastewater_business .wastewater_solution_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_monitor_visual img {height: 310px;}
	.water_business .water_solution_image {height: 145px;}
	.water_business .water_ezsen_intro,
	.water_business .water_product_detail,
	.water_business .water_principle_wrap,
	.water_business .water_solar {gap: 24px;}
	.wastewater_business .wastewater_system_diagram {width: 82%;}
	.railway_business .railway_control_field {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.railway_business .railway_monitor_flow,
	.railway_business .railway_system_architecture {grid-template-columns: repeat(3, minmax(0, 1fr));}
	.railway_business .railway_monitor_flow article:not(:last-child)::after,
	.railway_business .railway_system_architecture article:not(:last-child)::after {display: none;}
	.railway_business .railway_process {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.railway_business .railway_process .business_process_item::after {display: none;}
	.nuclear_business .nuclear_card_grid {grid-template-columns:repeat(2,minmax(0,1fr));}
	.nuclear_business .nuclear_system_flow {grid-template-columns:repeat(3,minmax(0,1fr));}
	.nuclear_business .nuclear_system_flow article:not(:last-child)::after {display:none;}
	.nuclear_business .nuclear_design_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.nuclear_business .nuclear_process {grid-template-columns:repeat(3,minmax(0,1fr));}
	.nuclear_business .nuclear_process .business_process_item::after {display:none;}
	.safety_business .safety_split_system {grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:18px;}
	.safety_business .safety_split_system > article {padding:32px 26px;}
	.safety_business .safety_function_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.safety_business .safety_function_list article:nth-child(n) {border-left:0;}
	.safety_business .safety_function_list article:nth-child(even) {border-left:1px solid #d8dfe4;}
	.safety_business .safety_link_flow {grid-template-columns:repeat(2,minmax(0,1fr));}
	.safety_business .safety_link_flow::before,.safety_business .safety_link_flow article:not(:last-child)::after {display:none;}
	.safety_business .safety_design_list {grid-template-columns:repeat(3,minmax(0,1fr));}
	.safety_business .safety_design_list article:nth-child(even) {margin-top:0;}
	.safety_business .safety_process {grid-template-columns:repeat(3,minmax(0,1fr));}
	.safety_business .safety_process::before {display:none;}
	.panel_business .panel_component_diagram {grid-template-columns:repeat(2,minmax(0,1fr));}
	.panel_business .panel_engineering_steps {grid-template-columns:repeat(3,minmax(0,1fr));}
	.panel_business .panel_engineering_steps article:nth-child(3) {border-right:0;}
	.panel_business .panel_system_flow {grid-template-columns:repeat(2,minmax(0,1fr));}
	.panel_business .panel_system_flow::before,.panel_business .panel_system_flow article:not(:last-child)::after {display:none;}
	.panel_business .panel_process {grid-template-columns:repeat(4,minmax(0,1fr));}
	.panel_business .panel_process::before {display:none;}
	.panel_business .panel_application_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.energy_business .energy_control_list,.energy_business .energy_tool_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.energy_business .energy_process {grid-template-columns:repeat(4,minmax(0,1fr));}
	.energy_business .energy_process .business_process_item::after {display:none;}
	.equipment_status .equipment_list {gap:18px;}
	.equipment_status .equipment_image {height:210px;}
	.equipment_status .equipment_image_empty {min-height:210px;}
	.equipment_status .equipment_info {padding:20px 18px 22px;}
	.equipment_status .equipment_head p {font-size:18px;}
	.esg_management .esg_visual {padding-left:40px;padding-right:40px;}
	.esg_management .esg_wordmark > strong {font-size:190px;}
	.esg_management .esg_strategy_list {gap:20px;}
	.esg_management .esg_strategy_circle {width:150px;height:105px;}
	.esg_management .esg_strategy_item:not(:last-child)::after {right:-16px;}

.partner_head {
		margin-bottom: 35px;
	}

	.partner_head h3 {
		font-size: 30px;
	}

	.partner_head p {
		font-size: 15px;
	}

	.partner_main {
		padding-bottom: 50px;
	}

	.partner_main_visual {
		height: 350px;
	}

	.partner_main_text {
		left: 35px;
		max-width: 450px;
	}

	.partner_main_text > strong {
		font-size: 27px;
	}

	.partner_main_text p {
		font-size: 15px;
	}

	.partner_section {
		grid-template-columns: 160px minmax(0, 1fr);
		gap: 30px;
		padding: 45px 0;
	}

	.partner_section_title h4 {
		font-size: 20px;
	}

	.partner_value_list {
		gap: 10px;
	}

	.partner_value_item {
		padding: 22px 18px;
	}

	.partner_logo_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

    #sub_content{
        width: 85%;
    }
    .greetings figure{height: 300px;}
	.greetings .txt h3{font-size: 25px;}
	.greetings .txt p{font-size: 17px;}
	.greetings .txt span{font-size: 17px;}
	.history .history_head p {
		font-size: 18px;
	}

	.history_visual {
		height: 350px;
		margin-top: 45px;
	}

	.history_visual_box {
		width: 72%;
		max-width: 560px;
		padding: 42px 30px;
	}

	.history_visual_box strong {
		font-size: 27px;
	}

	.history_visual_box p {
		font-size: 15px;
	}

	.history_decade {
		grid-template-columns: 230px minmax(0, 1fr);
	}

	.history_decade_title {
		padding: 45px 25px 0 0;
	}

	.history_decade_title strong {
		font-size: 32px;
		padding-right: 15px;
	}

	.history_list {
		padding: 45px 20px 40px 45px;
	}

	.history_item {
		grid-template-columns: 70px minmax(0, 1fr);
		column-gap: 18px;
		padding: 3px 0 32px;
	}

	.history_dot {
		left: -50px;
		top: 22px;
	}

	.history_item::before {
		left: -45px;
		top: 25px;
		width: 31px;
	}

	.history_date strong {
		font-size: 25px;
	}

	.history_content li {
		grid-template-columns: 32px minmax(0, 1fr);
		column-gap: 10px;
	}

	.history_content .month {
		font-size: 16px;
	}

	.history_content p {
		font-size: 16px;
	}
    /* location */
    .location_top {
		padding-bottom: 35px;
	}

	.location_intro {
		padding-top: 5px;
        margin-bottom: 30px;
	}

	.location_label {
		font-size: 11px;
	}

	.location_intro h3 {
		font-size: 24px;
	}
    .location_intro h3 br{
        display: none;
    }
	.location_intro > strong {
		font-size: 13px;
	}

	.location_intro p {
		margin-top: 20px;
		font-size: 14px;
		line-height: 1.7;
	}
    .location_intro p:nth-of-type(2){
        margin-top: 0px;
    }
    .location_intro p br{
        display: none;
    }
	.location_map {
		height: 300px;
	}

	.location_info {
		grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 20px;
		padding-top: 35px;
	}

	.location_info_item {
		padding: 24px;
	}

	.location_info_item:last-child {
		grid-column: 1 / -1;
        background: var(--main-light-blue);
	}

	.location_info_item h4 {
		font-size: 18px;
	}

	.location_info_item > strong {
		font-size: 16px;
	}

	.location_info_item p {
		font-size: 14px;
	}

	.location_info_item > ul {
		margin-top: 15px;
	}

	.location_info_item > ul > li {
		font-size: 14px;
		line-height: 1.65;
	}
    /* CI */
    .ci_head {
		margin-bottom: 35px;
	}

	.ci_head > span {
		font-size: 12px;
	}

	.ci_head h3 {
		font-size: 30px;
	}

	.ci_head p {
		font-size: 15px;
	}

	.ci_main {
		padding-bottom: 50px;
	}

	.ci_main_logo {
		min-height: 210px;
		padding: 30px;
	}

	.ci_main_logo img {
		max-width: 460px;
		max-height: 100px;
	}

	.ci_download {
		top: -45px;
	}

	.ci_download a {
		min-width: 130px;
		height: 38px;
		padding: 0 12px;
		font-size: 12px;
	}

	.ci_section {
		grid-template-columns: 160px minmax(0, 1fr);
		gap: 30px;
		padding: 45px 0;
	}

	.ci_section_title {
		gap: 8px;
	}

	.ci_section_title h4 {
		font-size: 20px;
	}

	.ci_symbol,
	.ci_color,
	.ci_signature {
		display: block;
	}

	.ci_symbol_images {
		margin-top: 30px;
	}

	.ci_color_list {
		margin-top: 30px;
	}

	.ci_signature_list {
		margin-top: 30px;
	}

	.ci_logo_box {
		min-height: 180px;
	}

	.ci_color_intro > strong {
		font-size: 18px;
	}

	.ci_color_intro p {
		font-size: 15px;
	}

	.ci_signature_item > div {
		min-height: 105px;
	}

	/* R&D */
	.rnd_page .rnd_head h3 {font-size:36px;}
	.rnd_page .rnd_intro {margin-right:4%;padding:50px 38% 50px 45px;}
	.rnd_page .rnd_intro_image {right:-4%;width:40%;height:240px;}
	.rnd_page .rnd_intro_text h4 {font-size:25px;}
	.rnd_page .rnd_info_list_four,
	.rnd_page .rnd_card_list_four {grid-template-columns:repeat(2,minmax(0,1fr));}
}


@media screen and (max-width: 767px) {
	/* consolidated 767px rules */
	.water_business .remote_meter_intro {grid-template-columns:1fr;}
	.water_business .remote_meter_intro {gap:26px;}
	.water_business .remote_meter_intro figure {max-width:260px;margin:0 auto;}
	.water_business .remote_meter_intro div > strong {font-size:23px;}
	.water_business .remote_meter_intro div > p {font-size:16px;}
	.nuclear_business .nuclear_hvac_overview {gap:24px;}
	.nuclear_business .nuclear_hvac_overview_text > strong {font-size:23px;}
	.nuclear_business .nuclear_hvac_overview_text > p {font-size:16px;line-height:1.8;}
	.nuclear_business .nuclear_hvac_overview .nuclear_hvac_visual {padding:10px;}
	.nuclear_business .nuclear_meter_layout .nuclear_card_grid {grid-template-columns:1fr;}
.business .business_head {
		margin-bottom: 30px;
	}

	.business .business_head > span {
		font-size: 11px;
	}

	.business .business_head h3 {
		font-size: 28px;
		letter-spacing: -1px;
	}

	.business .business_head p {
		margin-top: 12px;
		font-size: 16px;
		line-height: 1.7;
	}


	.business .business_main_visual {
		height: 350px;
	}

	.business .business_main_text {
		left: 30px;
		right: 30px;
		max-width: none;
	}

	.business .business_main_text > strong {
		margin-bottom: 12px;
		font-size: 25px;
		line-height: 1.35;
	}

	.business .business_main_text p {
		font-size: 14px;
		line-height: 1.7;
	}

	.business .business_section {
		display: block;
		padding: 45px 0;
	}

	.business .business_section_title {
		margin-bottom: 25px;
	}

	.business .business_section_title h4 {
		font-size: 22px;
	}

	.business .business_section_content > strong {
		font-size: 18px;
	}

	.business .business_section_content > p {
		font-size: 14px;
		line-height: 1.7;
	}

	.business .business_card_list,
	.business .business_feature_list {
		grid-template-columns: 1fr;
	}

	.business .business_process {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.business_feature_group {
		display: block;
		padding: 24px 0;
	}

	.business_feature_group > strong {
		display: block;
		margin-bottom: 12px;
		font-size: 16px;
	}

	.business_feature_group li {
		font-size: 14px;
		line-height: 1.7;
	}

.water_business .water_main_visual {min-height: 340px;padding: 30px;}
	.water_business .water_visual_panel {grid-template-columns: repeat(2, minmax(80px, 130px));justify-content: center;}
	.water_business .water_visual_panel::before {display: none;}
	.water_business .water_visual_panel span {border-width: 6px;font-size: 16px;}
	.water_business .water_intro_list,
	.water_business .water_system_list {grid-template-columns: 1fr;}
	.water_business .water_system_item:last-child {grid-column: auto;}
	.water_business .water_system_flow {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_process {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_intro_list li,
	.water_business .water_system_item p,
	.water_business .water_control_list p,
	.water_business .water_system_flow p,
	.water_business .water_process_intro {font-size: 14px;line-height: 1.7;}
	.water_business .water_system_item strong,
	.water_business .water_control_list strong,
	.water_business .water_system_flow strong {font-size: 16px;}
	.water_business .water_feature_banner {gap: 20px;padding: 28px 24px;}
	.water_business .water_feature_banner > span {flex-basis: 90px;font-size: 24px;}
	.water_business .water_feature_banner strong {font-size: 18px;}
	.water_business .water_solution_steps {grid-template-columns: 1fr;}
	.water_business .water_solution_steps article {min-height: 0;}
	.water_business .water_tech_grid {grid-template-columns: 1fr;}
	.water_business .water_principle {display: grid;grid-template-columns: 1fr;gap: 8px;}
	.water_business .water_principle i {transform: rotate(90deg);text-align: center;}
	.wastewater_business .wastewater_function_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.wastewater_business .wastewater_solution_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_monitor_visual img {height: 260px;}
	.water_business .water_solution_image {height: auto;min-height: 180px;}
	.water_business .water_ezsen_intro,
	.water_business .water_product_detail,
	.water_business .water_principle_wrap,
	.water_business .water_solar,
	.water_business .water_ezsen_detail {grid-template-columns: 1fr;}
	.water_business .water_principle_image {order: -1;}
	.water_business .water_product_detail .water_spec_cards {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.water_business .water_power_flow {display: grid;grid-template-columns: 1fr;}
	.water_business .water_power_flow i {transform: rotate(90deg);text-align: center;}
	.wastewater_business .wastewater_measure_visual,
	.wastewater_business .wastewater_system_diagram {width: 100%;}
	.railway_business .railway_control_field {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.railway_business .railway_monitor_flow,
	.railway_business .railway_system_architecture {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.railway_business .railway_function_list {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.nuclear_business .nuclear_intro_list,.nuclear_business .nuclear_card_grid,.nuclear_business .nuclear_design_list {grid-template-columns:1fr;}
	.nuclear_business .nuclear_system_flow {grid-template-columns:repeat(2,minmax(0,1fr));}
	.nuclear_business .nuclear_process {grid-template-columns:repeat(2,minmax(0,1fr));}
	.nuclear_business .nuclear_card_grid article,.nuclear_business .nuclear_design_list article {min-height:0;}
	.safety_business .safety_intro_list,.safety_business .safety_function_list,.safety_business .safety_design_list {grid-template-columns:1fr;}
	.safety_business .safety_split_system {grid-template-columns:1fr;}
	.safety_business .safety_split_system {gap:0;padding:24px 0;background:#f5f8fa;}
	.safety_business .safety_split_system > article {min-height:0;}
	.safety_business .safety_interface {padding:10px 0;}
	.safety_business .safety_interface i {margin-bottom:10px;transform:rotate(90deg);}
	.safety_business .safety_link_flow,.safety_business .safety_process {grid-template-columns:repeat(2,minmax(0,1fr));}
	.safety_business .safety_function_list article,.safety_business .safety_design_list article {min-height:0;}
	.safety_business .safety_design_list {grid-template-columns:1fr;}
	.safety_business .safety_design_list article {padding:68px 20px 26px;}
	.safety_business .safety_design_list article:not(:last-child)::after {display:none;}
	.panel_business .panel_intro_list {grid-template-columns:1fr;}
	.panel_business .panel_component_diagram {grid-template-columns:1fr;padding:38px 22px 38px 58px;}
	.panel_business .panel_component_diagram article::before {left:-25px;width:20px;}
	.panel_business .panel_engineering_steps {grid-template-columns:repeat(2,minmax(0,1fr));}
	.panel_business .panel_engineering_steps article:nth-child(n) {border-right:0;border-bottom:1px solid #dbe2e6;}
	.panel_business .panel_engineering_steps article:nth-child(odd) {border-right:1px solid #dbe2e6;}
	.panel_business .panel_design_direction li {grid-template-columns:55px minmax(0,1fr);padding:20px 40px 20px 0;}
	.panel_business .panel_design_direction p {grid-column:2;margin-top:7px;}
	.panel_business .panel_process {grid-template-columns:repeat(2,minmax(0,1fr));}
	.panel_business .panel_application_list {grid-template-columns:1fr;padding:20px;}
	.panel_business .panel_application_list article {min-height:235px;}
	.railway_business .railway_process {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.railway_business .railway_intro_list li,
	.railway_business .railway_control_field p,
	.railway_business .railway_monitor_flow p,
	.railway_business .railway_system_architecture p,
	.railway_business .railway_function_list p,
	.railway_business .railway_process_intro {font-size: 14px;}
	.energy_business .energy_main_visual {height:390px;}
	.energy_business .energy_rack_panel,.energy_business .energy_power_panel {grid-template-columns:1fr;gap:28px;}
	.energy_business .energy_control_list,.energy_business .energy_feature_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.energy_business .energy_process {grid-template-columns:repeat(2,minmax(0,1fr));}
	.energy_business .energy_intro_list li,.energy_business .energy_detail_list li,.energy_business .energy_process_intro {font-size:14px;}
	.equipment_status .equipment_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.equipment_status .equipment_image {height:220px;}
	.equipment_status .equipment_image_empty {min-height:220px;}
	.equipment_status .equipment_head p {padding:0 20px;font-size:16px;line-height:1.6;word-break:keep-all;}
	.esg_management .esg_head p {font-size:18px;}
	.esg_management .esg_visual {min-height:0;padding:45px 30px;}
	.esg_management .esg_wordmark > strong {font-size:145px;letter-spacing:-9px;}
	.esg_management .esg_wordmark > span {font-size:11px;letter-spacing:3px;}
	.esg_management .esg_value_summary {gap:12px;margin-top:28px;}
	.esg_management .esg_strategy_list {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px;}
	.esg_management .esg_strategy_item:not(:last-child)::after {display:none;}
	.esg_management .esg_strategy_circle {width:170px;height:112px;}

.partner_head {
		margin-bottom: 30px;
	}

	.partner_head > span {
		font-size: 11px;
	}

	.partner_head h3 {
		font-size: 26px;
		line-height: 1.35;
		letter-spacing: -1px;
	}

	.partner_head p {
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.7;
	}

	.partner_head p br {
		display: none;
	}

	.partner_main {
		padding-bottom: 40px;
	}

	.partner_main_visual {
		height: 300px;
	}

	.partner_main_visual::after {
		background: rgba(0, 0, 0, 0.45);
	}

	.partner_main_text {
		left: 25px;
		right: 25px;
		top: calc(50% - 20px);
		max-width: none;
	}

	.partner_main_text > span {
		margin-bottom: 9px;
		font-size: 10px;
	}

	.partner_main_text > strong {
		margin-bottom: 12px;
		font-size: 24px;
	}

	.partner_main_text p {
		font-size: 14px;
		line-height: 1.7;
	}

	.partner_section {
		display: block;
		padding: 40px 0;
	}

	.partner_section_title {
		margin-bottom: 25px;
	}

	.partner_section_title h4 {
		font-size: 20px;
	}

	.partner_intro > strong,
	.partner_logo_head > strong {
		font-size: 17px;
	}

	.partner_intro > p,
	.partner_logo_head > p {
		font-size: 14px;
		line-height: 1.75;
	}

	.partner_value_list {
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 25px;
	}

	.partner_value_item {
		padding: 20px;
	}

	.partner_value_item > span {
		margin-bottom: 10px;
	}

	.partner_field_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.partner_field_item {
		padding: 22px 18px;
	}

	.partner_field_icon {
		width: 52px;
		height: 52px;
		margin-bottom: 15px;
	}

	.partner_field_icon svg {
		width: 26px;
		height: 26px;
	}

	.partner_field_item > strong {
		font-size: 15px;
	}

	.partner_field_item > p {
		font-size: 13px;
	}

	.partner_logo_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.partner_logo_item {
		min-height: 115px;
		padding: 20px 15px;
	}

	.partner_logo_item img {
		max-width: 80%;
		max-height: 50px;
	}

.location_info_item > ul {
		margin-top: 15px;
	}

	.location_info_item > ul > li {
		gap: 10px;
		margin-bottom: 11px;
		font-size: 14px;
	}

	.location_info_item > ul > li > svg {
		flex-basis: 18px;
		width: 18px;
		height: 18px;
	}

    #sub_content{
        width: 90%;
        padding-bottom: 0;
		margin-top: 60px;
    }
    .greetings figure{height: 150px; margin-bottom: 30px; border-radius: 10px;}
	.greetings .txt h3{font-size: 20px; margin-bottom: 15px;}
	.greetings .txt p{margin-bottom: 15px; font-size: 16px;}
	.greetings .txt span{font-size: 16x;}
	.history .history_head p {
		font-size: 16px;
		line-height: 1.6;
		padding: 0 20px;
		word-break: keep-all;
	}

	.history_visual {
		height: 300px;
		margin-top: 35px;
	}

	.history_visual_box {
		width: calc(100% - 50px);
		max-width: none;
		padding: 35px 20px;
		border-width: 2px;
	}

	.history_visual_box strong {
		font-size: 23px;
		line-height: 1.5;
		letter-spacing: -1px;
	}

	.history_visual_box p {
		margin-top: 15px;
		font-size: 14px;
		line-height: 1.7;
	}

	.history_visual_box p br {
		display: none;
	}

	.history_decade {
		display: block;
	}

	.history_decade_title {
		padding: 35px 0 25px;
		text-align: left;
	}

	.history_decade_title strong {
		padding-right: 16px;
		font-size: 28px;
	}

	.history_decade_title strong::after {
		width: 4px;
		height: 4px;
	}

	.history_list {
		margin-left: 5px;
		padding: 0 0 20px 25px;
		border-left: 1px solid #ddd;
	}

	.history_item {
		display: block;
		padding: 0 0 38px 12px;
	}

	.history_dot {
		left: -30px;
		top: 12px;
		width: 8px;
		height: 8px;
	}

	.history_item::before {
		left: -25px;
		top: 15px;
		width: 19px;
	}

	.history_date {
		margin-bottom: 10px;
		padding: 0;
	}

	.history_date strong {
		font-size: 23px;
		line-height: 1.4;
	}

	.history_content li {
		grid-template-columns: 30px minmax(0, 1fr);
		column-gap: 8px;
		padding: 4px 0;
	}

	.history_content .month {
		padding-top: 0;
		font-size: 14px;
		line-height: 1.7;
	}

	.history_content p {
		font-size: 14px;
		line-height: 1.7;
		letter-spacing: -0.3px;
		word-break: keep-all;
	}

	.history_content p br {
		display: none;
	}

	.history_item {
		transform: translateY(25px);
	}

	.history_item.is_show {
		transform: translateY(0);
	}

	.history_date {
		transform: translateX(-10px);
	}

	.history_content {
		transform: translateX(12px);
	}

	.history_decade_title {
		transform: translateX(-15px);
	}
    /* location */
    .location_top {
		padding-bottom: 30px;
	}

	.location_intro {
		padding-top: 0;
	}

	.location_label {
		margin-bottom: 4px;
		font-size: 10px;
		letter-spacing: 1px;
	}

	.location_intro h3 {
		font-size: 22px;
		line-height: 1.35;
		letter-spacing: -1px;
	}

	.location_intro > strong {
		margin-top: 8px;
		font-size: 13px;
	}

	.location_intro p {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.7;
	}

	.location_intro p br {
		display: none;
	}

	.location_map {
		height: 280px;
	}

	.root_daum_roughmap_landing {
		width: 100% !important;
	}

	.location_info {
		display: block;
		padding-top: 30px;
	}

	.location_info_item {
		padding: 25px 22px;
		margin-bottom: 15px;
		border-radius: 18px;
	}

	.location_info_item:last-child {
		margin-bottom: 0;
	}

	.location_info_item h4 {
		margin-bottom: 15px;
		font-size: 17px;
	}

	.location_info_item > strong {
		margin-bottom: 10px;
		font-size: 16px;
	}

	.location_info_item p {
		font-size: 14px;
		line-height: 1.65;
	}

	.location_info_item p br {
		display: none;
	}

	.location_info_item > ul {
		margin-top: 14px;
	}

	.location_info_item > ul > li {
		gap: 10px;
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 1.65;
	}

	.location_info_item > ul > li > svg {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		margin-top: 2px;
	}
    /* CI */
    .ci_head {
		margin-bottom: 30px;
	}

	.ci_head > span {
		margin-bottom: 5px;
		font-size: 11px;
		letter-spacing: 1.2px;
	}

	.ci_head h3 {
		font-size: 26px;
		line-height: 1.35;
		letter-spacing: -1px;
	}

	.ci_head p {
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.7;
	}

	.ci_head p br {
		display: none;
	}

	.ci_main {
		padding-bottom: 40px;
	}

	.ci_main_logo {
		min-height: 180px;
		padding: 25px 20px;
		background-size: 10px 10px;
	}

	.ci_main_logo img {
		max-width: 80%;
		max-height: 80px;
	}

	.ci_main > p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.75;
	}

	.ci_download {
		position: static;
		margin-top: 20px;
	}

	.ci_download a {
		flex: 1;
		min-width: 0;
		height: 42px;
	}

	.ci_section {
		display: block;
		padding: 40px 0;
	}

	.ci_section_title {
		margin-bottom: 25px;
	}

	.ci_section_title > span {
		padding-top: 4px;
	}

	.ci_section_title h4 {
		font-size: 20px;
	}

	.ci_section_title h4::before {
		top: 10px;
	}

	.ci_text > strong {
		margin-bottom: 12px;
		font-size: 17px;
	}

	.ci_text p {
		margin-bottom: 12px;
		font-size: 15px;
		line-height: 1.75;
	}

	.ci_symbol_images {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
		margin-top: 25px;
	}

	.ci_logo_box {
		min-height: 160px;
		padding: 25px 15px;
	}

	.ci_logo_box:last-child {
		grid-column: 1 / -1;
	}

	.ci_logo_box img {
		max-width: 70%;
		max-height: 90px;
	}

	.ci_logo_box:last-child img {
		max-width: 55%;
	}

	.ci_color_intro > strong {
		margin-bottom: 12px;
		font-size: 17px;
	}

	.ci_color_intro p {
		font-size: 14px;
		line-height: 1.75;
	}

	.ci_color_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 15px;
		margin-top: 25px;
	}

	.ci_color_item {
		gap: 12px;
	}

	.color_chip {
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
	}

	.ci_color_item strong {
		font-size: 14px;
	}

	.ci_color_item p {
		font-size: 12px;
	}

	.ci_signature_list {
		gap: 20px;
		margin-top: 25px;
	}

	.ci_signature_item > span {
		margin-bottom: 8px;
		font-size: 12px;
	}

	.ci_signature_item > div {
		min-height: 95px;
		padding: 20px;
	}

	.ci_signature_item img {
		max-width: 90%;
		max-height: 60px;
	}
	/* as */
	.as_intro strong{
		font-size: 18px;
	}
	.as_retrive .as_head {
		margin-bottom: 24px;
	}

	.as_retrive .as_head p {
		margin-top: 12px;
		font-size: 14px;
		line-height: 1.7;
	}

	.as_retrive .as_privacy {
		padding: 20px;
		margin-bottom: 30px !important;
	}

	.as_retrive #as_privacy_content {
		min-height: 160px;
	}

	.as_retrive .as_privacy_agree label strong {
		font-size: 15px;
	}

	.as_retrive .as_field_row {
		display: block;
		gap: 0;
		margin-bottom: 30px;
	}

	.as_retrive .as_field {
		grid-template-columns: 80px minmax(0, 1fr);
		margin-bottom: 10px;
	}

	/* R&D */
	.rnd_page .rnd_head {margin-bottom:40px;}
	.rnd_page .rnd_head h3 {font-size:30px;}
	.rnd_page .rnd_head p {font-size:16px;}
	.rnd_page .rnd_intro {display:block;min-height:0;margin:0 0 65px;padding:38px 28px;}
	.rnd_page .rnd_intro_image {position:relative;top:auto;right:auto;width:100%;height:230px;margin-top:30px;transform:none;}
	.rnd_page .rnd_intro_text h4 {font-size:23px;}
	.rnd_page .rnd_section {margin-top:65px;}
	.rnd_page .rnd_section_title {margin-bottom:25px;}
	.rnd_page .rnd_section_title h4 {font-size:28px;}
	.rnd_page .rnd_info_list,
	.rnd_page .rnd_card_list {grid-template-columns:repeat(2,minmax(0,1fr));}
	.rnd_page .rnd_process {grid-template-columns:1fr;}
	.rnd_page .rnd_process li {border-top:0;border-left:1px solid #dfe3e8;}
	.rnd_page .rnd_process li:first-child {border-top:1px solid #dfe3e8;}
}


@media screen and (max-width: 480px) {
	/* consolidated 480px rules */
.business .business_head {
		margin-bottom: 24px;
	}

	.business .business_head h3 {
		font-size: 25px;
	}

	.business .business_head p {
		font-size: 15px;
	}

	.business .business_head p br {
		display: none;
	}

	.business .business_main {
		padding-bottom: 0;
	}

	.business .business_main_visual {
		height: 300px;
	}

	.business .business_main_text {
		left: 20px;
		right: 20px;
	}

	.business .business_main_text > strong {
		font-size: 21px;
	}

	.business .business_main_text p {
		font-size: 16px;
		line-height: 1.65;
	}

	.business .business_section {
		padding: 38px 0;
	}

	.business .business_section_title {
		margin-bottom: 20px;
	}

	.business .business_section_title h4 {
		padding-left: 13px;
		font-size:24px;
	}

	.business .business_section_title h4::before {
		top: 10px;
	}

	.business .business_section_content > strong {
		font-size:21px;
	}

	.business .business_section_content > p {
		font-size:17px;
	}

	.business .business_card {
		min-height: 0;
		padding: 22px 18px;
	}

	.business .business_process {
		grid-template-columns: 1fr;
	}

	.business_feature_group {
		padding: 20px 0;
	}

	.business_feature_group > strong {
		font-size: 15px;
	}

	.business_feature_group li {
		font-size: 13px;
	}
	#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) :is(th, td){
		font-size: 13px;
	}

.water_business .water_main_visual {min-height: 290px;padding: 24px 15px;}
	.water_business .water_visual_panel {gap: 12px;}
	.water_business .water_visual_panel span {font-size:18px;}
	.water_business .water_intro_list li {padding: 12px 12px 12px 32px;font-size:17px;}
	.water_business .water_intro_list li::before {top: 18px;left: 14px;}
	.water_business .water_system_item {min-height: 0;padding: 24px 18px 22px 56px;}
	.water_business .water_system_item > span {top: 24px;left: 18px;}
	.water_business .water_system_item strong,
	.water_business .water_control_list strong,
	.water_business .water_system_flow strong {font-size:19px;}
	.water_business .water_system_item p,
	.water_business .water_control_list p,
	.water_business .water_system_flow p {font-size:17px;}
	.water_business .water_control_list,
	.water_business .water_system_flow,
	.water_business .water_process {grid-template-columns: 1fr;}
	.water_business .water_control_list article,
	.water_business .water_system_flow article {min-height: 0;padding: 22px 18px;}
	.water_business .water_process_intro {font-size:17px;}
	.water_business .water_feature_banner {display: block;padding: 24px 18px;}
	.water_business .water_feature_banner > span {display: block;margin-bottom: 15px;text-align: left;}
	.water_business .water_feature_banner p,
	.water_business .water_solution_steps p,
	.water_business .water_spec_list li {font-size:17px;}
	.water_business .water_control_list_five,
	.water_business .water_spec_cards,
	.wastewater_business .wastewater_function_list,
	.wastewater_business .wastewater_solution_list {grid-template-columns: 1fr;}
	.water_business .water_tech_grid article {padding: 24px 18px;}
	.water_business .water_spec_cards {grid-template-columns: 1fr;}
	.water_business .water_spec_cards span {min-height: 60px;}
	.water_business .water_principle span {padding: 18px 12px;font-size:18px;}
	.water_business .water_monitor_visual img {height: 210px;}
	.water_business .water_solution_image {min-height: 145px;margin-bottom: 18px;}
	.water_business .water_ezsen_visual,
	.water_business .water_product_image,
	.water_business .water_principle_image,
	.water_business .water_solar figure {padding: 12px;}
	.water_business .water_ezsen_intro > div > strong,
	.water_business .water_product_detail > div > strong,
	.water_business .water_solar > div > strong,
	.water_business .water_install_guide > strong {font-size:20px;}
	.water_business .water_ezsen_intro > div > p,
	.water_business .water_solar > div > p {font-size:17px;}
	.water_business .water_ezsen_detail figure {padding: 12px 12px 10px;}
	.water_business .water_product_detail .water_spec_cards {grid-template-columns: 1fr;}
	.water_business .water_install_guide,
	.water_business .water_solar {padding: 18px;}
	.wastewater_business .wastewater_measure_visual,
	.wastewater_business .wastewater_system_diagram {padding: 10px;}
	.railway_business .railway_intro_list,
	.railway_business .railway_control_field,
	.railway_business .railway_monitor_flow,
	.railway_business .railway_system_architecture,
	.railway_business .railway_function_list,
	.railway_business .railway_process {grid-template-columns: 1fr;}
	.railway_business .railway_intro_list li {font-size:17px;}
	.railway_business .railway_control_field article,
	.railway_business .railway_monitor_flow article,
	.railway_business .railway_system_architecture article,
	.railway_business .railway_function_list article {min-height: 0;padding: 22px 18px;}
	.railway_business .railway_control_field strong,
	.railway_business .railway_monitor_flow strong,
	.railway_business .railway_system_architecture strong,
	.railway_business .railway_function_list strong {font-size:19px;}
	.railway_business .railway_control_field p,
	.railway_business .railway_monitor_flow p,
	.railway_business .railway_system_architecture p,
	.railway_business .railway_function_list p,
	.railway_business .railway_process_intro {font-size:17px;}
	.energy_business .energy_main_visual {height:290px;}
	.energy_business .energy_wind {right:18%;bottom:45px;height:165px;transform:scale(.75);}
	.energy_business .energy_grid {right:-10%;bottom:18px;transform:skewX(-13deg) scale(.72);}
	.energy_business .energy_intro_list,.energy_business .energy_control_list,.energy_business .energy_product_list,.energy_business .energy_tool_list,.energy_business .energy_feature_list,.energy_business .energy_process {grid-template-columns:1fr;}
	.energy_business .energy_rack_panel,.energy_business .energy_power_panel {padding:22px 18px;}
	.energy_business .energy_detail_list {grid-template-columns:1fr;}
	.energy_business .energy_control_list article,.energy_business .energy_product_list article,.energy_business .energy_tool_list article,.energy_business .energy_feature_list article {min-height:0;padding:22px 18px;}
	.energy_business .energy_rack_image {min-height:250px;padding:18px;}
	.energy_business .energy_power_images {padding:18px;}
	.energy_business .energy_power_image {min-height:185px;}
	.energy_business .energy_power_spec > div {grid-template-columns:1fr;gap:5px;}
	.energy_business .energy_control_list strong,.energy_business .energy_tool_list strong,.energy_business .energy_feature_list strong,.energy_business .energy_rack_panel > div > strong,.energy_business .energy_power_panel > div > strong {font-size:19px;}
	.energy_business .energy_intro_list li,.energy_business .energy_detail_list li,.energy_business .energy_control_list p,.energy_business .energy_tool_list p,.energy_business .energy_feature_list p,.energy_business .energy_power_panel > div > p,.energy_business .energy_process_intro {font-size:17px;}
	.equipment_status .equipment_head {margin-bottom:30px;}
	.equipment_status .equipment_head p {padding:0 15px;font-size:15px;line-height:1.6;word-break:keep-all;}
	.equipment_status .equipment_list {gap:16px;padding-bottom:55px;}
	.equipment_status .equipment_list {grid-template-columns:1fr;}
	.equipment_status .equipment_image,
	.equipment_status .equipment_image_empty {height:220px;min-height:220px;}
	.equipment_status .equipment_info {padding:24px 20px;}
	.equipment_status .equipment_name {min-height:0;margin-bottom:15px;font-size:18px;}
	.equipment_status .equipment_detail dt {font-size:12px;}
	.equipment_status .equipment_detail dd {font-size:13px;}
	.esg_management .esg_head {margin-bottom:30px;}
	.esg_management .esg_head p {padding:0 15px;font-size:15px;line-height:1.65;}
	.esg_management .esg_head p br {display:none;}
	.esg_management .esg_visual {padding:38px 20px;}
	.esg_management .esg_wordmark > strong {font-size:95px;letter-spacing:-6px;}
	.esg_management .esg_wordmark > span {font-size:8px;line-height:1.7;letter-spacing:1.5px;}
	.esg_management .esg_value_summary {grid-template-columns:1fr;gap:15px;margin-top:25px;}
	.esg_management .esg_value_summary p {padding-top:12px;font-size:13px;}
	.esg_management .esg_strategy {padding-top:55px;}
	.esg_management .esg_strategy_head {margin-bottom:35px;}
	.esg_management .esg_strategy_head h3 {font-size:23px;}
	.esg_management .esg_strategy_head p {font-size:14px;}
	.esg_management .esg_strategy_list {grid-template-columns:1fr;gap:38px;}
	.esg_management .esg_strategy_item > ul {max-width:360px;margin:0 auto;}
	.esg_management .esg_strategy_item > strong {font-size:17px;}
	.esg_management .esg_strategy_item li {font-size:13px;}

.partner_head h3 {
		font-size: 23px;
	}

	.partner_head p {
		font-size: 13px;
	}

	.partner_main_visual {
		height: 260px;
	}

	.partner_main_text {
		left: 20px;
		right: 20px;
	}

	.partner_main_text > strong {
		font-size: 21px;
	}

	.partner_main_text p {
		font-size: 13px;
	}

	.partner_section {
		padding: 35px 0;
	}

	.partner_section_title {
		margin-bottom: 20px;
	}

	.partner_section_title h4 {
		font-size: 18px;
	}

	.partner_field_list {
		grid-template-columns: 1fr;
	}

	.partner_logo_list {
		grid-template-columns: 1fr 1fr;
	}

	.partner_logo_item {
		min-height: 100px;
	}

	.partner_logo_item img {
		max-height: 42px;
	}

    #sub_content{
        width: 94%;
    }
	.history .history_head p {
		font-size: 15px;
		padding: 0 15px;
	}

	.history_visual {
		height: 260px;
		margin-top: 30px;
	}

	.history_visual_box {
		width: calc(100% - 36px);
		padding: 28px 15px;
	}

	.history_visual_box strong {
		font-size: 20px;
		line-height: 1.5;
	}

	.history_visual_box p {
		margin-top: 12px;
		font-size: 13px;
		line-height: 1.65;
	}

	.history_decade_title {
		padding: 30px 0 22px;
	}

	.history_decade_title strong {
		font-size: 25px;
	}

	.history_list {
		padding-left: 22px;
	}

	.history_item {
		padding: 0 0 32px 10px;
	}

	.history_dot {
		left: -27px;
		top: 11px;
		width: 7px;
		height: 7px;
	}

	.history_item::before {
		left: -22px;
		top: 14px;
		width: 17px;
	}

	.history_date {
		margin-bottom: 8px;
	}

	.history_date strong {
		font-size: 21px;
	}

	.history_content li {
		grid-template-columns: 27px minmax(0, 1fr);
		column-gap: 7px;
		padding: 3px 0;
	}

	.history_content .month {
		font-size: 13px;
	}

	.history_content p {
		font-size: 14px;
		line-height: 1.7;
	}
    /* location */
    .location_top {
		padding-bottom: 25px;
	}

	.location_intro h3 {
		font-size: 20px;
	}

	.location_intro > strong {
		font-size: 12px;
	}

	.location_intro p {
		font-size: 14px;
	}

	.location_map {
		height: 230px;
	}

	.location_info {
		padding-top: 25px;
	}

	.location_info_item {
		padding: 22px 18px;
		margin-bottom: 12px;
		border-radius: 16px;
	}

	.location_info_item h4 {
		margin-bottom: 13px;
		font-size: 16px;
	}

	.location_info_item > strong {
		font-size: 15px;
	}

	.location_info_item p {
		font-size: 13px;
	}

	.location_info_item > ul > li {
		gap: 8px;
		margin-bottom: 9px;
		font-size: 14px;
	}

	.location_info_item > ul > li > svg {
		flex-basis: 18px;
		width: 18px;
		height: 18px;
	}

    /* CI */
    .ci_head h3 {
		font-size: 23px;
	}

	.ci_head p {
		font-size: 13px;
	}

	.ci_main_logo {
		min-height: 150px;
		padding: 20px 15px;
	}

	.ci_main_logo img {
		max-width: 85%;
		max-height: 70px;
	}

	.ci_main > p {
		font-size: 13px;
	}

	.ci_download {
		display: block;
	}

	.ci_download a {
		width: 100%;
		margin-bottom: 8px;
	}

	.ci_download a:last-child {
		margin-bottom: 0;
	}

	.ci_section {
		padding: 35px 0;
	}

	.ci_section_title {
		margin-bottom: 20px;
	}

	.ci_section_title h4 {
		font-size: 18px;
	}

	.ci_text > strong,
	.ci_color_intro > strong {
		font-size: 16px;
	}

	.ci_text p,
	.ci_color_intro p {
		font-size: 13px;
	}

	.ci_symbol_images {
		grid-template-columns: 1fr;
	}

	.ci_logo_box,
	.ci_logo_box:last-child {
		grid-column: auto;
		min-height: 145px;
	}

	.ci_logo_box img,
	.ci_logo_box:last-child img {
		max-width: 70%;
		max-height: 75px;
	}

	.ci_logo_box > span {
		left: 10px;
		bottom: 8px;
		font-size: 9px;
	}

	.ci_color_list {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.ci_color_item {
		align-items: center;
	}

	.color_chip {
		flex: 0 0 38px;
		width: 38px;
		height: 38px;
	}

	.ci_signature_item > div {
		min-height: 85px;
		padding: 18px 15px;
	}

	.ci_signature_item img {
		max-width: 100%;
		max-height: 50px;
	}
	/* as */
	#as_privacy_content{
		font-size: 13px;
	}
	.as_intro strong{
		font-size: 16px;
	}
	.as_retrive .as_head {
		margin-bottom: 20px;
	}

	.as_retrive .as_head p {
		font-size: 14px;
		line-height: 1.65;
	}

	.as_retrive .as_privacy {
		padding: 15px;
		margin-bottom: 24px !important;
	}

	.as_retrive #as_privacy_content {
		min-height: 140px;
	}

	.as_retrive .as_privacy_agree label strong {
		font-size: 14px;
		line-height: 1.5;
	}

	.as_retrive .as_field {
		display: block;
	}

	.as_retrive .as_field label {
		display: block;
		margin-bottom: 7px;
	}

	.as_retrive .btn_confirm .btn_submit {
		width: 100%;
		min-width: 0;
	}

	/* R&D */
	.rnd_page .rnd_head h3 {font-size:27px;}
	.rnd_page .rnd_head p {font-size:14px;}
	.rnd_page .rnd_intro {padding:32px 20px;}
	.rnd_page .rnd_intro_text h4 {font-size:21px;}
	.rnd_page .rnd_intro_text h4 br {display:none;}
	.rnd_page .rnd_intro_text p {font-size:14px;}
	.rnd_page .rnd_intro_image {height:190px;}
	.rnd_page .rnd_section_title h4::after {display:none;}
	.rnd_page .rnd_info_list,
	.rnd_page .rnd_info_list_four,
	.rnd_page .rnd_card_list,
	.rnd_page .rnd_card_list_four {grid-template-columns:1fr;}
	.rnd_page .rnd_info_list li {min-height:0;padding:24px 20px;}
	.rnd_page .rnd_card_image {height:200px;}
}

/* Flow arrows: keep each arrow centered in the space between adjacent items. */
@media (min-width: 781px) {
	.water_business .water_system_flow article:not(:last-child)::after,
	.railway_business .railway_monitor_flow article:not(:last-child)::after,
	.railway_business .railway_system_architecture article:not(:last-child)::after {
		right: -14px;
		transform: translate(50%, -50%);
	}

	.nuclear_business .nuclear_system_flow article:not(:last-child)::after {
		right: -7px;
		font-size: 24px;
		transform: translate(50%, -50%);
	}

	.safety_business .safety_link_flow article:not(:last-child)::after,
	.panel_business .panel_system_flow article:not(:last-child)::after {
		right: 0;
		transform: translateX(50%);
	}

	.panel_business .panel_engineering_steps article::after {
		right: 0;
		transform: translateX(50%) rotate(45deg);
	}
}

/* wastewater catalog products */
.wastewater_business .wastewater_product_label {
	display: inline-block;
	margin-bottom: 18px;
	color: #0878ba;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
}

:is(.wastewater_business, .water_business) .insect_led_intro,
.wastewater_business .surge_protector_layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
	gap: 46px;
	align-items: center;
}

:is(.wastewater_business, .water_business) .insect_led_product,
.wastewater_business .surge_protector_layout > figure {
	overflow: hidden;
	margin: 0;
	/* border: 1px solid #e4e9ed; */
	border-radius: 20px;
	background: #fff;
}

:is(.wastewater_business, .water_business) .insect_led_product img,
.wastewater_business .surge_protector_layout > figure img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: contain;
}

:is(.wastewater_business, .water_business) .insect_led_copy > strong,
.wastewater_business .surge_protector_copy > strong {
	display: block;
	color: #152734;
	font-size: 27px;
	line-height: 1.45;
}

:is(.wastewater_business, .water_business) .insect_led_copy > p,
.wastewater_business .surge_protector_copy > p {
	margin-top: 20px;
	color: #64727c;
	font-size: 16px;
	line-height: 1.9;
}

:is(.wastewater_business, .water_business) .insect_led_feature_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	/* margin-top: 34px; */
	height: 100%;
}

:is(.wastewater_business, .water_business) .insect_led_feature_grid article,
.wastewater_business .surge_feature_grid article {
	padding: 25px 22px;
	/* border: 1px solid #e6ebef; */
	border-radius: 16px;
	background: #f3f6f8 !important;
}

:is(.wastewater_business, .water_business) .insect_led_feature_grid article > span {
	display: block;
	margin-bottom: 13px;
	color: var(--business-accent);
	font-size: 12px;
	font-weight: 700;
}

:is(.wastewater_business, .water_business) .insect_led_feature_grid strong,
.wastewater_business .surge_feature_grid strong {
	display: block;
	color: #223642;
	font-size: 17px;
}

:is(.wastewater_business, .water_business) .insect_led_feature_grid p,
.wastewater_business .surge_feature_grid p {
	margin-top: 10px;
	color: #71808a;
	font-size: 14px;
	line-height: 1.7;
}

:is(.wastewater_business, .water_business) .insect_led_result {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	align-items: center;
	gap: 40px;
	margin-top: 34px;
	padding: 32px;
	border-radius: 20px;
	background: #f4f8fa;
}

:is(.wastewater_business, .water_business) .insect_led_result figure {
	overflow: hidden;
	margin: 0;
	border-radius: 14px;
	background: #fff;
}

:is(.wastewater_business, .water_business) .insect_led_result img {
	display: block;
	width: 100%;
	height: 300px;
	object-fit: contain;
}

:is(.wastewater_business, .water_business) .insect_led_result span {
	display: block;
	margin-bottom: 14px;
	color: #0878ba;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
}

:is(.wastewater_business, .water_business) .insect_led_result strong {
	display: block;
	color: #17364b;
	font-size: 25px;
	line-height: 1.45;
}

:is(.wastewater_business, .water_business) .insect_led_result p {
	margin-top: 14px;
	color: #687882;
	font-size: 14px;
}

.wastewater_business .surge_feature_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 26px;
}

.wastewater_business .surge_feature_grid article {
	padding: 19px 18px;
	background: #f7f9fa;
}

@media (max-width: 1024px) {
	:is(.wastewater_business, .water_business) .insect_led_intro,
	.wastewater_business .surge_protector_layout {
		gap: 28px;
	}

	:is(.wastewater_business, .water_business) .insect_led_product img,
	.wastewater_business .surge_protector_layout > figure img {
		height: 340px;
	}

	:is(.wastewater_business, .water_business) .insect_led_feature_grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	:is(.wastewater_business, .water_business) .insect_led_intro,
	.wastewater_business .surge_protector_layout,
	:is(.wastewater_business, .water_business) .insect_led_result {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	:is(.wastewater_business, .water_business) .insect_led_product img,
	.wastewater_business .surge_protector_layout > figure img {
		height: 270px;
	}

	:is(.wastewater_business, .water_business) .insect_led_copy > strong,
	.wastewater_business .surge_protector_copy > strong {
		font-size: 21px;
	}

	:is(.wastewater_business, .water_business) .insect_led_copy > p,
	.wastewater_business .surge_protector_copy > p {
		font-size: 14px;
	}

	:is(.wastewater_business, .water_business) .insect_led_feature_grid,
	.wastewater_business .surge_feature_grid {
		grid-template-columns: 1fr;
	}

	:is(.wastewater_business, .water_business) .insect_led_result {
		padding: 20px;
	}

	:is(.wastewater_business, .water_business) .insect_led_result img {
		height: auto;
	}

	:is(.wastewater_business, .water_business) .insect_led_result strong {
		font-size: 20px;
	}
}

/* railway SDP smart feeder control */
.railway_business .railway_product_label {
	display: inline-block;
	margin-bottom: 18px;
	color: #0878ba;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
}

.railway_business .railway_intro_content > strong,
.railway_business .railway_product_copy > strong {
	display: block;
	color: #172d3a;
	font-size: 27px;
	line-height: 1.5;
}

.railway_business .railway_intro_content > p {
	max-width: 850px;
	margin-top: 20px;
	color: #687984;
	font-size: 16px;
	line-height: 1.9;
}

.railway_business .railway_site_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.railway_business .railway_site_grid article {
	position: relative;
	padding: 32px 28px;
	overflow: hidden;
	border: 1px solid #e3e9ed;
	border-radius: 18px;
	background: #fff;
}

.railway_business .railway_site_grid article::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #075ca4, #07946e);
	content: '';
}

.water_business .water_facility_list .water_system_item,
.wastewater_business .wastewater_facility_list .water_system_item {
	overflow: hidden;
}

.water_business .water_facility_list .water_system_item::before,
.wastewater_business .wastewater_facility_list .water_system_item::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #075ca4, #07946e);
	content: '';
}

.railway_business .railway_site_grid span {
	display: block;
	margin-bottom: 20px;
	color: #0878ba;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
}

.railway_business .railway_site_grid strong {
	display: block;
	color: #203643;
	font-size: 20px;
}

.railway_business .railway_site_grid p {
	margin-top: 13px;
	color: #70808a;
	font-size: 14px;
	line-height: 1.75;
}

.railway_business .railway_product_layout,
.railway_business .railway_operation_layout {
	display: grid;
	grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
	gap: 48px;
	align-items: center;
}

.railway_business .railway_product_layout > figure,
.railway_business .railway_operation_layout > figure,
.railway_business .railway_sdp_system {
	overflow: hidden;
	margin: 0;
	/* border: 1px solid #e3e9ed; */
	border-radius: 20px;
	background: #fff;
}

.railway_business .railway_product_layout > figure img {
	display: block;
	width: 100%;
	height: 480px;
	object-fit: contain;
}

.railway_business .railway_core_features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 28px;
}

.railway_business .railway_core_features article {
	padding: 21px 19px;
	border-radius: 14px;
	background: #f5f8fa;
}

.railway_business .railway_core_features strong,
.railway_business .railway_operation_list strong {
	display: block;
	color: #213a49;
	font-size: 22px !important;
}

.railway_business .railway_core_features p,
.railway_business .railway_operation_list p {
	margin-top: 9px;
	color: #71818b;
	font-size: 14px;
	line-height: 1.7;
}

/* .railway_business .railway_operation_layout {
	grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
} */

.railway_business .railway_operation_layout > figure img {
	display: block;
	width: 100%;
	height: 620px;
	object-fit: contain;
}

.railway_business .railway_operation_list {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 15px;
}

.railway_business .railway_operation_list article {
	display: flex;
	gap: 15px;
	min-height: 110px;
	/* padding: 25px 22px; */
	/* border: 1px solid #e4eaee; */
	border-radius: 16px;
	background: #fff;
}

.railway_business .railway_operation_list article > span {
	flex: 0 0 auto;
	color: var(--main-blue);
	font-size: 12px;
	font-weight: 700;
}

.railway_business .railway_sdp_system {
	padding: 22px;
}

.railway_business .railway_sdp_system img {
	display: block;
	width: 100%;
	height: auto;
}

.railway_business .railway_system_steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 24px;
}

.railway_business .railway_system_steps article {
	padding: 24px 20px;
	border-radius: 15px;
	background: #f5f8fa;
}

.railway_business .railway_system_steps span {
	display: block;
	margin-bottom: 12px;
	color: var(--main-blue);
	font-size: 12px;
	font-weight: 700;
}

.railway_business .railway_system_steps strong {
	display: block;
	color: #223946;
	font-size: 16px;
}

.railway_business .railway_system_steps p {
	margin-top: 9px;
	color: #71818b;
	font-size: 13px;
	line-height: 1.7;
}

.railway_business .railway_technology_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.railway_business .railway_technology_grid article {
	padding: 28px 26px;
	border: 1px solid #e2e9ed;
	border-radius: 16px;
	background: #fff;
}

.railway_business .railway_technology_grid span {
	display: block;
	margin-bottom: 14px;
	color: #0878ba;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
}

.railway_business .railway_technology_grid strong {
	display: block;
	color: #203743;
	font-size: 18px;
}

.railway_business .railway_technology_grid p {
	margin-top: 10px;
	color: #71808a;
	font-size: 14px;
	line-height: 1.75;
}

.railway_business .railway_cert_note {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 20px;
	padding: 22px 26px;
	border-radius: 15px;
	background: linear-gradient(100deg, #075ca4, #078d75);
	color: #fff;
}

.railway_business .railway_cert_note strong {
	font-size: 17px;
}

.railway_business .railway_cert_note span {
	font-size: 13px;
	opacity: .9;
}

@media (max-width: 1024px) {
	.railway_business .railway_product_layout,
	.railway_business .railway_operation_layout {
		gap: 28px;
	}

	.railway_business .railway_operation_layout > figure img {
		height: 520px;
	}

	.railway_business .railway_system_steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.railway_business .railway_site_grid,
	.railway_business .railway_product_layout,
	.railway_business .railway_operation_layout,
	.railway_business .railway_core_features,
	.railway_business .railway_operation_list,
	.railway_business .railway_system_steps,
	.railway_business .railway_technology_grid {
		grid-template-columns: 1fr;
	}

	.railway_business .railway_intro_content > strong,
	.railway_business .railway_product_copy > strong {
		font-size: 21px;
	}

	.railway_business .railway_intro_content > p {
		font-size: 14px;
	}

	.railway_business .railway_product_layout > figure img {
		height: 360px;
	}

	.railway_business .railway_operation_layout > figure img {
		height: auto;
	}

	.railway_business .railway_operation_list article {
		min-height: 0;
	}

	.railway_business .railway_sdp_system {
		padding: 10px;
	}

	.railway_business .railway_cert_note {
		display: block;
	}

	.railway_business .railway_cert_note span {
		display: block;
		margin-top: 9px;
		line-height: 1.6;
	}
}

/* building automation and EZ-BEMS */
.building_business .building_product_label {
	display: inline-block;
	margin-bottom: 18px;
	color: #0878ba;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
}

.building_business .building_intro_content > strong {
	display: block;
	color: #172f3d;
	font-size: 27px;
	line-height: 1.5;
}

.building_business .building_intro_content > p {
	/* max-width: 860px; */
	margin-top: 20px;
	color: #687984;
	font-size: 16px;
	line-height: 1.9;
}

.building_business .building_intro_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 20px;
	margin-top: 30px;
}

.building_business .building_intro_list li {
	position: relative;
	padding: 0 16px 0 30px;
	color: #666;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: -.35px;
	word-break: keep-all;
}

.building_business .building_intro_list li::before {
	position: absolute;
	top: 10px;
	left: 10px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
    background: var(--main-blue);
	content: '';
}

.building_business .building_energy_sources {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-top: 30px;
}

.building_business .building_energy_sources article {
	padding: 20px 15px;
	border: 1px solid #e4eaed;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.building_business .building_energy_sources span {
	display: block;
	margin-bottom: 9px;
	color: #07946e;
	font-size: 11px;
	font-weight: 700;
}

.building_business .building_energy_sources strong {
	color: #2b414d;
	font-size: 14px;
}

.building_business .building_bems_layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 1.75fr);
	gap: 40px;
	align-items: center;
}

.building_business .building_zero_layout {
	display: block;
}

.building_business .building_bems_layout > figure,
.building_business .building_bems_screens,
.building_business .building_zero_layout > figure,
.building_business .building_system_diagram {
	overflow: hidden;
	margin: 0;
	/* border: 1px solid #e2e8ec; */
	border-radius: 20px;
	background: #fff;
}

.building_business .building_bems_layout > figure img,
.building_business .building_zero_layout > figure img,
.building_business .building_system_diagram img {
	display: block;
	width: 100%;
	height: auto;
}

.building_business .building_zero_cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	counter-reset: zero-technology;
}

.building_business .building_zero_cards article {
	position: relative;
	min-height: 280px;
	padding: 78px 30px 32px;
	overflow: hidden;
	border: 1px solid #dfe7eb;
	border-radius: 18px;
	box-sizing: border-box;
	background: linear-gradient(145deg, #fff 0%, #f5f8fa 100%);
}

.building_business .building_zero_cards article::before {
	position: absolute;
	top: 18px;
	right: 24px;
	color: #e5ebef;
	font-size: 64px;
	font-weight: 800;
	line-height: 1;
	counter-increment: zero-technology;
	content: '0' counter(zero-technology);
}

.building_business .building_zero_cards article::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: #4d7eba;
	content: '';
}

.building_business .building_bems_steps {
	position: relative;
	display: grid;
	gap: 0;
}

.building_business .building_bems_steps article {
	position: relative;
	min-height: 88px;
	padding: 7px 0 28px 88px;
	box-sizing: border-box;
}

.building_business .building_bems_steps article:not(:last-child)::before {
	position: absolute;
	top: 62px;
	bottom: -2px;
	left: 40px;
	width: 2px;
	background: linear-gradient(180deg, #1689c3, #07946e);
	content: '';
}

.building_business .building_bems_steps article:not(:last-child)::after {
	position: absolute;
	bottom: -2px;
	left: 37px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #07946e;
	border-bottom: 2px solid #07946e;
	content: '';
	transform: rotate(45deg);
	z-index: 3;
}

.building_business .building_zero_cards span {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin-bottom: 18px;
	padding: 7px 12px;
	border-radius: 20px;
	background: #edf3fa;
	color: #0878ba;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .07em;
}

.building_business .building_bems_steps span {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0;
	border: 5px solid #e9f3f7;
	border-radius: 50%;
	box-sizing: border-box;
	background: #0878ba;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: .02em;
	text-align: center;
}

.building_business .building_bems_steps article:nth-child(2) span {
	background: #0785a9;
}

.building_business .building_bems_steps article:nth-child(3) span {
	background: #078f8b;
}

.building_business .building_bems_steps article:nth-child(4) span {
	background: #07946e;
}

.building_business .building_bems_steps strong,
.building_business .building_zero_cards strong {
	display: block;
	color: #213a48;
	font-size: 17px;
}

.building_business .building_zero_cards strong {
	position: relative;
	z-index: 1;
	font-size: 22px;
	line-height: 1.45;
}

.building_business .building_bems_steps strong {
	font-size: 19px;
	line-height: 1.45;
}

.building_business .building_bems_steps p,
.building_business .building_zero_cards p {
	margin-top: 8px;
	color: #71818b;
	font-size: 14px;
	line-height: 1.7;
}

.building_business .building_zero_cards p {
	position: relative;
	z-index: 1;
	margin-top: 16px;
	font-size: 16px;
	line-height: 1.8;
}

.building_business .building_bems_steps p {
	margin-top: 7px;
	line-height: 1.65;
}

.building_business .building_function_grid,
.building_business .building_system_features {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.building_business .building_function_grid article,
.building_business .building_system_features article {
	padding: 25px 22px;
	border: 1px solid #e3e9ed;
	border-radius: 16px;
	background: #fff;
}

.building_business .building_function_grid span,
.building_business .building_system_features span {
	display: block;
	margin-bottom: 14px;
	color: var(--main-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
}

.building_business .building_function_grid strong,
.building_business .building_system_features strong {
	display: block;
	color: #213946;
	font-size: 22px !important;
}

.building_business .building_function_grid p,
.building_business .building_system_features p {
	margin-top: 10px;
	color: #71818b;
	font-size: 14px;
	line-height: 1.72;
}

.building_business .building_bems_screens {
	padding: 20px;
}

.building_business .building_bems_screens img {
	display: block;
	width: 100%;
	height: auto;
}

.building_business .building_screen_note {
	margin-top: 18px;
	padding: 18px 22px;
	border-radius: 13px;
	background: #f5f8fa;
	color: #687984;
	font-size: 14px;
	line-height: 1.75;
	text-align: center;
}

.building_business .building_system_features {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.building_business .building_zero_cards article:nth-child(1) span {color: #4d7eba;}
.building_business .building_zero_cards article:nth-child(2) span {background:#eefbff;color:#0785a9;}
.building_business .building_zero_cards article:nth-child(3) span {background:#eef6e5;color:#6d9f2e;}
.building_business .building_zero_cards article:nth-child(2)::after {background:#0785a9;}
.building_business .building_zero_cards article:nth-child(3)::after {background:#6d9f2e;}

.building_business .building_system_diagram {
	padding: 20px;
}

@media (max-width: 1024px) {
	.building_business .building_energy_sources {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.building_business .building_bems_layout,
	.building_business .building_zero_layout {
		gap: 28px;
	}

	.building_business .building_function_grid,
	.building_business .building_system_features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.building_business .building_energy_sources,
	.building_business .building_bems_layout,
	.building_business .building_function_grid,
	.building_business .building_system_features,
	.building_business .building_zero_layout {
		grid-template-columns: 1fr;
	}

	.building_business .building_intro_content > strong {
		font-size: 21px;
	}

	.building_business .building_intro_content > p {
		font-size: 14px;
	}

	.building_business .building_intro_list {
		grid-template-columns: 1fr;
		gap: 8px;
		margin-top: 24px;
	}

	.building_business .building_intro_list li {
		padding: 8px 12px 8px 30px;
		font-size: 14px;
	}

	.building_business .building_intro_list li::before {
		top: 18px;
		left: 12px;
	}

	.building_business .building_energy_sources {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.building_business .building_bems_layout,
	.building_business .building_zero_layout {
		gap: 22px;
	}

	.building_business .building_zero_cards {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.building_business .building_zero_cards article {
		min-height: 0;
		padding: 68px 24px 28px;
	}

	.building_business .building_zero_cards article::before {
		top: 16px;
		right: 20px;
		font-size: 54px;
	}

	.building_business .building_bems_steps article {
		min-height: 82px;
		padding: 5px 0 24px 76px;
	}

	.building_business .building_bems_steps span {
		width: 56px;
		height: 56px;
		border-width: 4px;
		font-size: 11px;
	}

	.building_business .building_bems_steps article:not(:last-child)::before {
		top: 54px;
		left: 27px;
	}

	.building_business .building_bems_steps article:not(:last-child)::after {
		left: 23px;
	}

	.building_business .building_bems_steps strong {
		font-size: 18px;
	}

	.building_business .building_bems_steps p {
		font-size: 14px;
	}

	.building_business .building_bems_screens,
	.building_business .building_system_diagram {
		padding: 9px;
	}

	.building_business .building_screen_note {
		text-align: left;
	}
}

/* nuclear hydrogen igniter */
.safety_business .safety_product_label {
	display: inline-block;
	margin-bottom: 18px;
	color: #0878ba;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .11em;
}

.safety_business .hydrogen_igniter_intro {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
	gap: 46px;
	align-items: center;
}

.safety_business .hydrogen_igniter_intro > figure,
.safety_business .hydrogen_test_layout > figure {
	overflow: hidden;
	margin: 0;
	border: 1px solid #e2e8ec;
	border-radius: 20px;
	background: #fff;
}

.safety_business .hydrogen_igniter_intro > figure img,
.safety_business .hydrogen_test_layout > figure img {
	display: block;
	width: 100%;
	height: auto;
}

.safety_business .hydrogen_igniter_copy > strong,
.safety_business .hydrogen_test_copy > strong {
	display: block;
	color: #172f3d;
	font-size: 27px;
	line-height: 1.5;
}

.safety_business .hydrogen_igniter_copy > p,
.safety_business .hydrogen_test_copy > p {
	margin-top: 20px;
	color: #687984;
	font-size: 16px;
	line-height: 1.9;
}

.safety_business .hydrogen_structure_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 11px;
	margin-top: 26px;
}

.safety_business .hydrogen_structure_list article {
	padding: 18px 17px;
	border-radius: 13px;
	background: #f5f8fa;
}

.safety_business .hydrogen_structure_list span {
	display: block;
	margin-bottom: 9px;
	color: #0878ba;
	font-size: 11px;
	font-weight: 700;
}

.safety_business .hydrogen_structure_list strong {
	display: block;
	color: #243b48;
	font-size: 15px;
}

.safety_business .hydrogen_structure_list p {
	margin-top: 7px;
	color: #74838c;
	font-size: 13px;
	line-height: 1.6;
}

.safety_business .hydrogen_spec_layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.safety_business .hydrogen_spec_group {
	overflow: hidden;
	border: 1px solid #dfe6ea;
	border-radius: 17px;
	background: #fff;
}

.safety_business .hydrogen_spec_group > strong {
	display: block;
	padding: 16px 20px;
	background: var(--main-blue);
	color: #fff;
	font-size: 16px;
}

.safety_business .hydrogen_spec_group dl,
.safety_business .hydrogen_spec_group dl div {
	margin: 0;
}

.safety_business .hydrogen_spec_group dl div {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	border-bottom: 1px solid #e6ebee;
}

.safety_business .hydrogen_spec_group dl div:last-child {
	border-bottom: 0;
}

.safety_business .hydrogen_spec_group dt,
.safety_business .hydrogen_spec_group dd {
	margin: 0;
	padding: 16px 20px;
	font-size: 16px;
	line-height: 1.5;
}

.safety_business .hydrogen_spec_group dt {
	background: #f8f8f8;
	color: #555555;
	font-weight: 700;
}

.safety_business .hydrogen_test_layout {
	grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr);
}

.safety_business .hydrogen_test_table_wrap {
	overflow-x: auto;
	margin-top: 30px;
}

.safety_business .hydrogen_test_table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	border-top: 2px solid #173e59;
}

.safety_business .hydrogen_test_table caption {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	clip: rect(0, 0, 0, 0);
}

.safety_business .hydrogen_test_table th,
.safety_business .hydrogen_test_table td {
	padding: 17px 18px;
	border-right: 1px solid #e1e7ea;
	border-bottom: 1px solid #dce3e7;
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

.safety_business .hydrogen_test_table th:last-child,
.safety_business .hydrogen_test_table td:last-child {
	border-right: 0;
}

.safety_business .hydrogen_test_table thead th {
	background: #edf2f5;
	color: #263c49;
	font-weight: 700;
}

.safety_business .hydrogen_test_table tbody th {
	background: #f8fafb;
	color: #304752;
}

.safety_business .hydrogen_test_table td {
	color: #5f707a;
}

.safety_business .hydrogen_test_status {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
	margin-top: 22px;
}

.safety_business .hydrogen_test_status article {
	padding: 22px;
	border: 1px solid #e1e7ea;
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.safety_business .hydrogen_test_status span {
	display: block;
	margin-bottom: 10px;
	color: #0878ba;
	font-size: 11px;
	font-weight: 700;
}

.safety_business .hydrogen_test_status strong {
	display: block;
	color: #253d49;
	font-size: 16px;
}

.safety_business .hydrogen_test_status p {
	margin-top: 7px;
	color: #72818a;
	font-size: 14px;
}

@media (max-width: 1024px) {
	.safety_business .hydrogen_igniter_intro,
	.safety_business .hydrogen_test_layout {
		gap: 28px;
	}
}

@media (max-width: 767px) {
	.safety_business .hydrogen_igniter_intro,
	.safety_business .hydrogen_test_layout,
	.safety_business .hydrogen_spec_layout {
		grid-template-columns: 1fr;
	}

	.safety_business .hydrogen_igniter_copy > strong,
	.safety_business .hydrogen_test_copy > strong {
		font-size: 21px;
	}

	.safety_business .hydrogen_igniter_copy > p,
	.safety_business .hydrogen_test_copy > p {
		font-size: 14px;
	}

	.safety_business .hydrogen_structure_list {
		grid-template-columns: 1fr;
	}

	.safety_business .hydrogen_spec_group dl div {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.safety_business .hydrogen_spec_group dt,
	.safety_business .hydrogen_spec_group dd {
		padding: 14px 13px;
		font-size: 13px;
	}

	.safety_business .hydrogen_test_status {
		grid-template-columns: 1fr;
	}
}

/* Business subpage design system: sub02_01 - sub02_08 */
#sub_content.business {
	--business-radius-visual: 20px;
	--business-radius-card: 14px;
	--business-radius-compact: 8px;
	--business-border: #dfe6ea;
	--business-border-strong: #cbd6dc;
	--business-surface: #fff;
	--business-surface-soft: #f5f8fa;
	--business-heading: #1f3542;
	--business-text: #555555;
	--business-accent: var(--main-blue);
	--business-fs-section: 28px;
	--business-fs-lead: 26px;
	--business-fs-card: 20px;
	--business-fs-body: 19px;
	--business-fs-label: 15px;
}

/* Shared heading hierarchy */
#sub_content.business .business_section_title > span {
	padding-top: 5px;
	color: var(--business-accent) !important;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.4;
	white-space: nowrap;
}

#sub_content.business .business_section_title h4 {
	color: var(--business-heading);
	font-size: var(--business-fs-section);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -.025em;
}

#sub_content.business .business_section_title h4::before {
	top: .55em;
	width: 7px;
	height: 7px;
	border-width: 2px;
	border-radius: 50%;
}

#sub_content.business .business_section_content > strong,
#sub_content.business :where(
	.nuclear_product_copy,
	.nuclear_hvac_overview_text,
	.hydrogen_igniter_copy,
	.hydrogen_test_copy,
	.insect_led_copy,
	.surge_protector_copy,
	.railway_intro_content,
	.railway_product_copy,
	.building_intro_content
) > strong {
	color: var(--business-heading);
	font-size: var(--business-fs-lead);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -.02em;
}

#sub_content.business .business_section_content > p,
#sub_content.business :where(
	.nuclear_product_copy,
	.nuclear_hvac_overview_text,
	.hydrogen_igniter_copy,
	.hydrogen_test_copy,
	.insect_led_copy,
	.surge_protector_copy,
	.railway_intro_content,
	.railway_product_copy,
	.building_intro_content
) > p {
	color: var(--business-text);
	font-size: var(--business-fs-body);
	line-height: 1.8;
	letter-spacing: -.015em;
}

/* One radius scale for visuals */
#sub_content.business :where(
	.business_main,
	.nuclear_product_visual,
	/* .nuclear_catalog_visual, */
	.panel_catalog_visual,
	.remote_meter_intro figure,
	.wastewater_measure_visual,
	.wastewater_system_diagram,
	.insect_led_product,
	.insect_led_result,
	.surge_protector_layout > figure,
	.railway_product_layout > figure,
	.railway_operation_layout > figure,
	.railway_sdp_system,
	.building_bems_layout > figure,
	.building_bems_screens,
	.building_zero_layout > figure,
	.building_system_diagram,
	.hydrogen_igniter_intro > figure,
	.hydrogen_test_layout > figure,
	.energy_rack_image,
	.energy_power_image,
	.energy_power_rear
) {
	overflow: hidden;
	border-radius: var(--business-radius-visual);
}

/* Shared card treatment */
#sub_content.business :where(
	.business_card,
	.nuclear_card_grid article,
	.nuclear_system_flow article,
	.nuclear_design_list article,
	.panel_component_diagram article,
	.panel_engineering_steps article,
	.panel_system_flow article,
	.panel_application_list article,
	.water_system_item,
	.water_control_list article,
	/* .water_solution_steps article, */
	.insect_led_feature_grid article,
	.surge_feature_grid article,
	.hydrogen_structure_list article,
	.hydrogen_test_status article,
	.railway_site_grid article,
	.railway_core_features article,
	/* .railway_operation_list article, */
	.railway_system_steps article,
	.railway_technology_grid article,
	.building_energy_sources article,
	.building_function_grid article,
	.building_system_features article,
	.energy_control_list article,
	.energy_tool_list article,
	.energy_feature_list article,
	.energy_product_list article
) {
	border: 1.5px solid var(--business-border);
	border-radius: var(--business-radius-card);
	background: var(--business-surface);
	box-sizing: border-box;
}

/* Keep compact cards visually related without oversized rounding. */
#sub_content.business :where(
	.hydrogen_structure_list article,
	.surge_feature_grid article,
	.railway_core_features article,
	.railway_system_steps article,
	.building_energy_sources article
) {
	border-radius: var(--business-radius-compact);
	background-color: #f6f9fb;
}

/* Card typography: label -> title -> description */
#sub_content.business :where(
	.business_section_content article,
	.business_section_content .business_card
) > span {
	font-size: var(--business-fs-label);
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .07em;
}

#sub_content.business :where(
	.business_section_content article,
	.business_section_content .business_card
) > strong,
#sub_content.business :where(
	.business_section_content article,
	.business_section_content .business_card
) > div > strong {
	color: var(--business-heading);
	font-size: var(--business-fs-lead);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -.015em;
}

#sub_content.business :where(
	.business_section_content article,
	.business_section_content .business_card
) > p,
#sub_content.business :where(
	.business_section_content article,
	.business_section_content .business_card
) > div > p {
	color: var(--business-text);
	font-size: var(--business-fs-body);
	line-height: 1.5;
	letter-spacing: -.01em;
}

/* Shared specification table */
#sub_content.business table {
	width: 100%;
	border: 1px solid var(--business-border-strong);
	border-radius: var(--business-radius-compact);
	border-spacing: 0;
	border-collapse: separate;
	overflow: hidden;
	background: var(--business-surface);
}

#sub_content.business table :where(th, td) {
	padding: 15px 18px;
	border: 0;
	border-right: 1px solid var(--business-border);
	border-bottom: 1px solid var(--business-border);
	color: var(--business-text);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	text-align: center;
	vertical-align: middle;
	word-break: keep-all;
}

#sub_content.business table tr > :last-child {
	border-right: 0;
}

#sub_content.business table tbody tr:last-child > * {
	border-bottom: 0;
}

#sub_content.business table thead th {
	background: #eaf0f4;
	color: var(--business-heading);
	font-weight: 700;
}

#sub_content.business table tbody th {
	background: var(--business-surface-soft);
	color: var(--business-heading);
	font-weight: 700;
}

/* #sub_content.business table tbody tr:nth-child(even) td {
	background: #fbfcfd;
} */

#sub_content.business table caption {
	color: var(--business-heading);
	font-size: 15px;
	font-weight: 700;
}

@media (max-width: 1024px) {
	#sub_content.business {
		--business-fs-section: 26px;
		--business-fs-lead: 22px;
		--business-fs-card: 18px;
		--business-fs-body: 16px;
	}
}

@media (max-width: 767px) {
	#sub_content.business {
		--business-radius-visual: 16px;
		--business-radius-card: 12px;
		--business-radius-compact: 10px;
		--business-fs-section: 22px;
		--business-fs-lead: 19px;
		--business-fs-card: 16px;
		--business-fs-body: 15px;
		--business-fs-label: 13px;
	}

	#sub_content.business .business_section_title > span {
		font-size: 13px;
	}

	#sub_content.business table :where(th, td) {
		padding: 12px 13px;
		font-size: 14px;
		line-height: 1.55;
	}
}

#sub_content.building_business .building_zero_cards article > span {
	font-size: 14px;
	letter-spacing: .07em;
}

#sub_content.building_business .building_zero_cards article > strong {
	font-size: var(--business-fs-card);
}

#sub_content.building_business .building_zero_cards article > p {
	font-size: var(--business-fs-body);
	line-height: 1.8;
}

@media (max-width: 767px) {
	.building_business .building_function_grid strong, .building_business .building_system_features strong{
		font-size: 18px !important;
	}
	#sub_content.building_business .building_zero_cards article > strong {
		font-size: 20px;
	}

	#sub_content.building_business .building_zero_cards article > p {
		font-size: 14px;
	}
}

/* Wastewater page: varied layouts for measurement, operation and solution sections. */
#sub_content.wastewater_business .wastewater_quality_intro {
	
}

#sub_content.wastewater_business .wastewater_quality_product {
	overflow: hidden;
	margin: 0;
	background: #e9eef1;
}

#sub_content.wastewater_business .wastewater_quality_product img {
	display: block;
	width: 100%;
	height: auto;
}

#sub_content.wastewater_business .wastewater_quality_copy > span {
	display: block;
	margin-bottom: 14px;
	color: var(--main-blue);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .12em;
}

#sub_content.wastewater_business .wastewater_quality_copy > strong {
	color: var(--business-heading);
    font-size: var(--business-fs-lead);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}

#sub_content.wastewater_business .wastewater_quality_copy > p {
	margin: 14px 0 24px;
	color: #62727d;
	font-size: 16px;
	line-height: 1.75;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#sub_content.wastewater_business .wastewater_quality_copy > p > span {
	display: inline-block;
	max-width: 100%;
	padding: 2px 8px 2px 12px;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .07em;
	position: relative;
	white-space: nowrap;
}

#sub_content.wastewater_business .wastewater_quality_copy > p > span::before{
	content: '';
	width: 4px;
	height: 4px;
	background: var(--main-blue);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#sub_content.wastewater_business .wastewater_quality_sites {
	display: grid;
	grid-template-columns: minmax(210px, .32fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-top: 38px;
	padding-bottom: 38px;
	border-bottom: 1px solid #dbe4e8;
}

#sub_content.wastewater_business .wastewater_quality_sites > strong,
#sub_content.wastewater_business .wastewater_quality_history > strong {
	color: #183649;
	font-size: 22px;
}

#sub_content.wastewater_business .wastewater_quality_sites > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	/* border-top: 2px solid #263b47; */
}

#sub_content.wastewater_business .wastewater_quality_sites li {
	overflow: hidden;
	background: #fff;
	color: #344b59;
}

#sub_content.wastewater_business .wastewater_quality_sites figure {
	overflow: hidden;
	margin: 0;
	aspect-ratio: 1.6 / 1;
}

#sub_content.wastewater_business .wastewater_quality_sites figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#sub_content.wastewater_business .wastewater_quality_sites li > span {
	display: block;
	position: relative;
	padding: 17px 20px 17px 35px;
	font-size: 16px;
	font-weight: 700;
}

#sub_content.wastewater_business .wastewater_quality_sites li > span::before {
	position: absolute;
	top: 50%;
	left: 19px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--main-blue);
	content: '';
	transform: translateY(-50%);
}

#sub_content.wastewater_business .wastewater_quality_history {
	display: grid;
	grid-template-columns: minmax(210px, .32fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
	margin-top: 38px;
}

#sub_content.wastewater_business .wastewater_quality_history > ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 34px;
	/* border-top: 2px solid #263b47; */
}

#sub_content.wastewater_business .wastewater_quality_history li {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 14px;
	padding: 16px 4px;
}

#sub_content.wastewater_business .wastewater_quality_history li > span {
	color: var(--main-blue);
	font-size: 14px;
	font-weight: 800;
}

#sub_content.wastewater_business .wastewater_quality_history li > p {
	color: #5c6d78;
	font-size: 14px;
	line-height: 1.65;
}

#sub_content.wastewater_business .wastewater_measure_layout {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: 44px;
	align-items: center;
	margin-top: 34px;
}

#sub_content.wastewater_business .wastewater_measure_layout .wastewater_measure_visual {
	width: 100%;
	margin: 0;
}

#sub_content.wastewater_business .wastewater_measure_functions {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	counter-reset: wastewater-measure;
}

#sub_content.wastewater_business .wastewater_measure_functions article {
	position: relative;
	min-height: 0;
	padding: 19px 0 19px 72px;
	border: 0;
	border-bottom: 1px solid #dbe4e8;
	border-radius: 0;
	background: transparent;
	counter-increment: wastewater-measure;
}

#sub_content.wastewater_business .wastewater_measure_functions article:first-child {
	border-top: 2px solid #263b47;
}

#sub_content.wastewater_business .wastewater_measure_functions article::before {
	position: absolute;
	top: 50%;
	left: 12px;
	color: var(--main-blue);
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	content: '0' counter(wastewater-measure);
	transform: translateY(-50%);
}


#sub_content.wastewater_business .wastewater_measure_functions article > p {
	margin-top: 5px;

}

#sub_content.wastewater_business .wastewater_function_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	border-top: 2px solid #263b47;
}

#sub_content.wastewater_business .wastewater_function_list article {
	position: relative;
	min-height: 0;
	padding: 20px 28px 20px 48px;
	border: 0;
	border-bottom: 1px solid #dbe4e8;
	border-radius: 0;
	background: transparent;
}

#sub_content.wastewater_business .wastewater_function_list article:nth-child(even) {
	border-left: 1px solid #dbe4e8;
}

#sub_content.wastewater_business .wastewater_function_list article::before {
	position: absolute;
	top: 29px;
	left: 24px;
	width: 9px;
	height: 9px;
	background: var(--main-blue);
	content: '';
	transform: rotate(45deg);
}


#sub_content.wastewater_business .wastewater_solution_list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding-top: 8px;
	counter-reset: wastewater-solution;
}

#sub_content.wastewater_business .wastewater_solution_list::before {
	position: absolute;
	top: 40px;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	/* background: linear-gradient(90deg, #24877c, #0878ba); */
	background: var(--main-blue);
	content: '';
}

#sub_content.wastewater_business .wastewater_solution_list article {
	position: relative;
	min-height: 0;
	padding: 82px 24px 20px;
	border: 0;
	border-radius: 0;
	background: transparent;
	text-align: center;
	counter-increment: wastewater-solution;
}

#sub_content.wastewater_business .wastewater_solution_list article::before {
	position: absolute;
	top: 6px;
	left: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	border: 7px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--main-blue);
	background: var(--main-blue);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	content: '0' counter(wastewater-solution);
	transform: translateX(-50%);
}

/* #sub_content.wastewater_business .wastewater_solution_list article:not(:last-child)::after {
	position: absolute;
	top: 29px;
	right: -6px;
	z-index: 3;
	color: #0878ba;
	font-size: 28px;
	font-weight: 700;
	content: '›';
	transform: translateX(50%);
} */

#sub_content.wastewater_business .wastewater_solution_list article > span {
	display: block;
	margin: 8px 0 12px;
	color: var(--main-blue);
	font-size: 14px;
}

/* #sub_content.wastewater_business .wastewater_solution_list article > strong {
	font-size: 21px;
}

#sub_content.wastewater_business .wastewater_solution_list article > p {
	font-size: 15px;
} */

@media (max-width: 1024px) {
	#sub_content.wastewater_business .wastewater_quality_intro {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	#sub_content.wastewater_business .wastewater_quality_product {
		width: 100%;
		max-width: 660px;
		margin: 0 auto;
	}

	#sub_content.wastewater_business .wastewater_quality_sites,
	#sub_content.wastewater_business .wastewater_quality_history {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	#sub_content.wastewater_business .wastewater_measure_layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	#sub_content.wastewater_business .wastewater_measure_layout .wastewater_measure_visual {
		max-width: 760px;
		margin: 0 auto;
	}

	#sub_content.wastewater_business .wastewater_solution_list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 0;
	}

	#sub_content.wastewater_business .wastewater_solution_list::before,
	#sub_content.wastewater_business .wastewater_solution_list article:not(:last-child)::after {
		display: none;
	}
}

@media (max-width: 767px) {
	#sub_content.wastewater_business .wastewater_quality_intro {
		gap: 22px;
	}

	#sub_content.wastewater_business .wastewater_quality_copy > strong {
		font-size: 18px;
	}

	#sub_content.wastewater_business .wastewater_quality_copy > p {
		gap: 6px 4px;
		margin: 12px 0 12px;
	}

	#sub_content.wastewater_business .wastewater_quality_copy > p > span {
		padding: 2px 6px 2px 11px;
		font-size: 13px;
		letter-spacing: .03em;
	}

	#sub_content.wastewater_business .wastewater_quality_sites > ul,
	#sub_content.wastewater_business .wastewater_quality_history > ul {
		grid-template-columns: 1fr;
	}

	#sub_content.wastewater_business .wastewater_quality_sites > strong,
	#sub_content.wastewater_business .wastewater_quality_history > strong {
		font-size: 19px;
	}

	#sub_content.wastewater_business .wastewater_measure_layout {
		gap: 20px;
		margin-top: 26px;
	}

	#sub_content.wastewater_business .wastewater_measure_functions article {
		padding: 17px 0 17px 58px;
	}

	#sub_content.wastewater_business .wastewater_measure_functions article::before {
		left: 8px;
		font-size: 19px;
	}

	#sub_content.wastewater_business .wastewater_function_list {
		grid-template-columns: 1fr;
	}

	#sub_content.wastewater_business .wastewater_function_list article:nth-child(even) {
		border-left: 0;
	}

	#sub_content.wastewater_business .wastewater_solution_list {
		grid-template-columns: 1fr;
		gap: 0;
		padding-top: 0;
	}

	#sub_content.wastewater_business .wastewater_solution_list::before {
		top: 32px;
		bottom: 32px;
		left: 31px;
		display: block;
		width: 2px;
		height: auto;
	}

	#sub_content.wastewater_business .wastewater_solution_list article {
		min-height: 112px;
		padding: 10px 0 24px 84px;
		text-align: left;
	}

	#sub_content.wastewater_business .wastewater_solution_list article::before {
		top: 8px;
		left: 0;
		width: 58px;
		height: 58px;
		border-width: 6px;
		font-size: 14px;
		transform: none;
	}

	#sub_content.wastewater_business .wastewater_solution_list article > span {
		margin-top: 0;
	}
}

/* Nuclear product/specification tables: follow the hydrogen product specification UI. */
#sub_content.business :is(.nuclear_spec_table_wrap, .hydrogen_test_table_wrap) {
	overflow: hidden;
	border: 1px solid #dfe6ea;
	border-radius: 17px;
	background: #fff;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) {
	width: 100%;
	min-width: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	border-spacing: 0;
	border-collapse: separate;
	background: #fff;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) caption {
	position: absolute;
	overflow: hidden;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) :is(th, td) {
	padding: 16px 20px;
	border: 0;
	border-right: 1px solid #e6ebee;
	border-bottom: 1px solid #e6ebee;
	color: #273c48;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	word-break: keep-all;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) tr > :last-child {
	border-right: 0;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) thead th {
	background: var(--main-blue);
	color: #fff;
	font-weight: 700;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) tbody th {
	background: #f8f8f8;
	color: #555555;
	font-size: 14px;
	font-weight: 700;
}

#sub_content.business .nuclear_spec_table:not(.nuclear_controller_table) tbody td:first-of-type {
	background: #f8f8f8;
	color: #555555;
	font-weight: 700;
}

#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) tbody tr:last-child > * {
	border-bottom: 0;
}

@media (max-width: 767px) {
	#sub_content.business :is(.nuclear_spec_table_wrap, .hydrogen_test_table_wrap) {
		margin-top: 24px;
	}

	#sub_content.business :is(.nuclear_spec_table, .hydrogen_test_table) :is(th, td) {
		padding: 13px 14px;
		font-size: 14px;
	}

}

/* sub02_03 HVAC control panel */
.panel_business .nuclear_hvac_overview {
	grid-template-columns: minmax(320px, .5fr) minmax(0, 1.15fr);
	gap: 48px;
}

.panel_business .nuclear_hvac_info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.panel_business .nuclear_hvac_overview .nuclear_hvac_visual {
	overflow: hidden;
	padding: 0;
	background: #fff;
}

.panel_business .nuclear_hvac_overview .nuclear_hvac_visual img {
	width: 100%;
	min-height: 330px;
	object-fit: contain;
}

.panel_business .nuclear_hvac_overview .nuclear_hvac_visual figcaption {
	margin: 0;
	padding: 15px 18px;
	border-top: 1px solid #e3e8eb;
	background: #fff;
}

.panel_business .nuclear_hvac_info .nuclear_intro_list {
	grid-template-columns: 1fr;
	gap: 0;
	margin-top: 24px;
}

.panel_business .nuclear_hvac_info .nuclear_intro_list li {
	padding: 12px 8px 12px 26px;
	border-bottom: 1px solid #dce3e7;
	font-size: 17px;
}

.panel_business .nuclear_hvac_info .nuclear_intro_list li::before {
	top: 21px;
	left: 4px;
	width: 7px;
	height: 7px;
	border-radius: 0;
}

.panel_business .nuclear_spec_kicker {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 14px;
	/* background: #173e59; */
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
}

.panel_business .business_section_content > .nuclear_function_list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15;
	margin-top: 24px;
}

.panel_business .business_section_content > .nuclear_function_list article {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 3px 22px;
	align-content: center;
	min-height: 126px;
	padding: 24px 26px;
	border: 0;
	border-bottom: 1px solid #dce3e7;
	background: transparent;
	box-shadow: none;
	border-radius: 0!important;
}

.panel_business .business_section_content > .nuclear_function_list article:nth-child(odd) {
	border-right: 1px solid #dce3e7;
}

.panel_business .business_section_content > .nuclear_function_list article:hover {
	transform: none;
	border-color: #dce3e7;
	background: #f7f9fa;
	box-shadow: none;
}

.panel_business .business_section_content > .nuclear_function_list article > span {
	grid-row: 1 / 3;
	align-self: center;
	margin: 0;
	color: var(--main-blue);
	font-size: 14px;
}

.panel_business .business_section_content > .nuclear_function_list article > strong {
	margin: 0;
	font-size: 20px;
}

.panel_business .business_section_content > .nuclear_function_list article > p {
	font-size: 15px;
	line-height: 1.55;
}

.panel_business .nuclear_meter_layout {
	gap: 48px;
	align-items: stretch;
}

.panel_business .nuclear_meter_layout .nuclear_function_list {
	gap: 14px;
}

.panel_business .nuclear_meter_layout .nuclear_function_list article {
	position: relative;
	overflow: hidden;
	min-height: 142px;
	padding: 28px 24px 24px;
	border: 0;
	background: #f6f9fb !important;
	box-shadow: none;
	
}

.panel_business .nuclear_meter_layout .nuclear_function_list article::before {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--main-blue);
	box-shadow: 0 0 10px rgba(86, 196, 130, .75);
	content: '';
}

.panel_business .nuclear_meter_layout .nuclear_function_list article:hover {
	transform: translateY(-3px);
	background: #1d4b67;
	box-shadow: 0 12px 25px rgba(24, 46, 61, .16);
}

.panel_business .nuclear_meter_layout .nuclear_function_list article > span {
	margin-bottom: 10px;
}

.panel_business .nuclear_meter_layout .nuclear_function_list article > strong {
	margin-bottom: 7px;
	color: #fff;
	font-size: 19px;
}

.panel_business .nuclear_meter_layout .nuclear_function_list article > p {
	color: #c7d2d8;
	font-size: 15px;
	line-height: 1.55;
}

@media (max-width: 1024px) {
	.panel_business .nuclear_hvac_overview {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.panel_business .nuclear_hvac_overview .nuclear_hvac_visual {
		max-width: 560px;
		margin: 0 auto;
	}
}

@media (max-width: 767px) {
	.panel_business .nuclear_hvac_overview {
		gap: 24px;
		padding: 26px 20px;
	}

	.panel_business .nuclear_hvac_overview_text {
		padding-left: 16px;
	}

	.panel_business .nuclear_hvac_overview .nuclear_hvac_visual img {
		min-height: 240px;
	}

	.panel_business .nuclear_hvac_info .nuclear_intro_list {
		grid-template-columns: 1fr;
	}

	.panel_business .business_section_content > .nuclear_function_list {
		grid-template-columns: 1fr;
	}

	.panel_business .business_section_content > .nuclear_function_list article:nth-child(odd) {
		border-right: 0;
	}

	.panel_business .business_section_content > .nuclear_function_list article {
		grid-template-columns: 100px minmax(0, 1fr);
		min-height: 112px;
		padding: 20px 12px;
	}

	.panel_business .nuclear_meter_layout .nuclear_function_list {
		grid-template-columns: 1fr;
	}

	.panel_business .nuclear_meter_layout .nuclear_function_list article {
		min-height: 0;
	}
}
/* relay performance test */
.relay_test_business .relay_test_overview {display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:70px;align-items:center;}
.relay_test_business .relay_test_overview_text {
	padding: 30px;
    background: #f8f8f8;
    border-radius: 8px;
}
.relay_test_business .relay_test_overview_text strong {
	color: var(--business-heading);
    font-size: var(--business-fs-lead);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
	margin-bottom: 14px;
	display:block;
}
.relay_test_business .relay_test_overview_text p {color:#5d6872;font-size:18px;line-height:1.85;word-break:keep-all;}
.relay_test_business .relay_tester_visual {margin:0;text-align:center;}
.relay_test_business .relay_tester_visual img {display:block;width:100%;max-height:520px;object-fit:contain;}
.relay_test_business .relay_tester_visual figcaption {margin-top:14px;color:#73808b;font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;}
.relay_test_business .relay_test_items {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;border-top:2px solid var(--main-blue);border-bottom:1px solid #dce2e7;}
.relay_test_business .relay_test_items li {position:relative;min-height:230px;padding:34px 28px;border-right:1px solid #dce2e7;}
.relay_test_business .relay_test_items li:last-child {border-right:0;}
.relay_test_business .relay_test_items span {display:block;margin-bottom:23px;color:var(--main-blue);font-size:15px;font-weight:800;letter-spacing:.08em;}
.relay_test_business .relay_test_items strong {
	color: var(--business-heading);
    font-size: var(--business-fs-card);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.015em;
	margin-bottom: 10px;
	display:block;
}
.relay_test_business .relay_test_items p {margin:0;color:#66717a;font-size:16px;line-height:1.7;word-break:keep-all;}
.relay_test_business .relay_target_list {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;}
.relay_test_business .relay_target_list li {position:relative;padding:0px 24px 0px 54px;color:#27333d;font-size:19px;}
.relay_test_business .relay_target_list li::before {content:'';position:absolute;top:50%;left:24px;width:9px;height:9px;border-radius:50%;background:var(--main-blue);transform:translateY(-50%);}
.relay_test_business .relay_panel_layout {display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:60px;align-items:start;}
.relay_test_business .relay_panel_drawing {
	justify-content:center;
	min-height:480px;
	margin:0;
	overflow:hidden;
	flex-direction: column;
    gap: 30px; 
	margin-top: 14px;}
.relay_test_business .relay_panel_drawing img {display:block;width:100%;height:auto;max-height:520px;object-fit:contain;}
.relay_test_business .relay_panel_drawing figcaption {text-align:center;color:#8b969f;font-size:16px;font-weight:600;margin-top:14px;}
.relay_test_business .relay_panel_list {display:grid;grid-template-columns:1fr;gap:0;margin:0;border-top:2px solid var(--main-blue);}
.relay_test_business .relay_panel_list > div {padding:24px 8px;border-bottom:1px solid #dce2e7;}
.relay_test_business .relay_panel_list dt {
	display:flex;
	align-items:center;
	gap:13px;
	color: var(--business-heading);
    font-size: var(--business-fs-card);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.015em;
	margin-bottom: 10px;
	}
.relay_test_business .relay_panel_list dt span {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 34px;
	height:34px;
	border-radius:50%;
	background:linear-gradient(90deg, var(--main-blue), #07946e);
	color:#fff;
	font-size:13px;
}
.relay_test_business .relay_panel_list dd {margin:0;padding-left:47px;color:#65707a;font-size:18px;line-height:1.7;word-break:keep-all;}
.relay_test_business .relay_equipment_image {
	display: block;
	width: 100%;
	height: 210px;
	margin: 0 0 32px;
	background: #f4f6f7;
	object-fit: contain;
}
.relay_test_business .nuclear_card_grid article > ul {
	display: grid;
	gap: 8px;
	margin: 20px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid #dfe4e8;
	list-style: none;
}
.relay_test_business .nuclear_card_grid article > ul > li {
	position: relative;
	margin: 0;
	padding-left: 16px;
	color: #65707a;
	font-size: 15px;
	line-height: 1.65;
	word-break: keep-all;
}
.relay_test_business .nuclear_card_grid article > ul > li::before {
	content: '';
	position: absolute;
	top: .72em;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--main-blue);
}

@media (max-width: 1024px) {
	.relay_test_business .relay_test_overview {grid-template-columns:1fr;gap:38px;}
	.relay_test_business .relay_tester_visual img {max-height:430px;}
	.relay_test_business .relay_test_items {grid-template-columns:repeat(2,minmax(0,1fr));}
	.relay_test_business .relay_test_items li:nth-child(2) {border-right:0;}
	.relay_test_business .relay_test_items li:nth-child(-n+2) {border-bottom:1px solid #dce2e7;}
	.relay_test_business .relay_panel_layout {grid-template-columns:1fr;gap:38px;}
	.relay_test_business .relay_panel_drawing {min-height:380px;}
	.relay_test_business .relay_equipment_image {height:240px;}
}

@media (max-width: 767px) {
	.relay_test_business .relay_test_overview_text strong {font-size:17px;}
	.relay_test_business .relay_test_overview_text p {font-size:15px;}
	.relay_test_business .relay_test_items {grid-template-columns:1fr;}
	.relay_test_business .relay_test_items li {min-height:0;padding:25px 20px;border-right:0;border-bottom:1px solid #dce2e7;}
	.relay_test_business .relay_test_items li:last-child {border-bottom:0;}
	.relay_test_business .relay_test_items span {margin-bottom:18px;}
	.relay_test_business .relay_target_list,.relay_test_business .relay_panel_list {grid-template-columns:1fr;}
	.relay_test_business .relay_target_list li {font-size:17px;}
	.relay_test_business .relay_target_list li::before {left:18px;}
	.relay_test_business .relay_panel_list {gap:0;}
	.relay_test_business .relay_panel_drawing {min-height:260px;padding:20px;}
	.relay_test_business .relay_panel_list > div {padding:21px 2px;}
	.relay_test_business .relay_panel_list dt {font-size:17px;}
	.relay_test_business .relay_panel_list dd {padding-left:0;font-size:15px;}
	.relay_test_business .relay_equipment_image {height:210px;margin-bottom:24px;}
	.relay_test_business .nuclear_card_grid article > ul {margin-top:16px;padding-top:15px;}
	.relay_test_business .nuclear_card_grid article > ul > li {font-size:15px;}
}
/* A/S lookup result table: scoped to sub05 only */
#content.as_retrive {width:100%;max-width:1400px;}
.as_retrive_list{margin: 0 auto;padding: 65px 0 150px;}
.as_retrive_list .as_list_meta {display:flex;justify-content:flex-end;margin-bottom:14px;color:#65717a;font-size:16px;}
.as_retrive_list .as_list_wrap {overflow-x:auto;margin-bottom:30px;border-top:2px solid #000;}
.as_retrive_list .as_list_wrap table {width:100%;min-width:720px;border:0;border-bottom:1px solid #d3d3d3;border-collapse:collapse;table-layout:fixed;}
.as_retrive_list .as_list_wrap .as_col_num {width:10%;}
.as_retrive_list .as_list_wrap .as_col_site {width:30%;}
.as_retrive_list .as_list_wrap .as_col_product {width:28%;}
.as_retrive_list .as_list_wrap .as_col_date {width:17%;}
.as_retrive_list .as_list_wrap .as_col_status {width:15%;}
.as_retrive_list .as_list_wrap th,.as_retrive_list .as_list_wrap td {height:auto;color:#383838;font-size:16px;line-height:1.5;text-align:center;vertical-align:middle;word-break:keep-all;}
.as_retrive_list .as_list_wrap thead th {padding:15px 10px;border:0;border-bottom:1px solid #d3d3d3;background:#fff;color:#383838;font-weight:600;}
.as_retrive_list .as_list_wrap tbody td {padding:30px 15px;border:0;border-top:1px solid #e9e9e9;background:#fff;}
.as_retrive_list .as_list_wrap tbody tr {background:#fff;transition:background .2s ease;}
.as_retrive_list .as_list_wrap tbody tr:hover td {background:#fafafa;}
.as_retrive_list .as_list_wrap .td_subject {text-align:left;}
.as_retrive_list .as_list_wrap .td_subject a {display:block;color:#202c35;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.as_retrive_list .as_list_wrap .td_subject a:hover,.as_retrive_list .as_list_wrap .td_subject a:focus {color:var(--main-blue);text-decoration:underline;}
.as_retrive_list .as_status {display:inline-flex;align-items:center;justify-content:center;min-width:78px;height:32px;padding:0 12px;border-radius:18px;font-size:14px;font-weight:700;white-space:nowrap;}
.as_retrive_list .as_status_ing {background:#e8f2fb;color:#075ca4;}
.as_retrive_list .as_status_done {background:#e8f6f0;color:#08764f;}
.as_retrive_list .as_list_paging {margin-top:42px;}
.as_retrive_list .as_list_buttons {margin-top:42px;text-align:center;}
.as_retrive_list .as_list_buttons .btn {display:inline-flex;align-items:center;justify-content:center;width:220px;max-width:100%;height:56px;padding:0 24px;border:0;background:#333;color:#fff;font-size:16px;font-weight:700;}
.as_retrive_list .as_list_buttons .btn:hover,.as_retrive_list .as_list_buttons .btn:focus {background:var(--main-deep-blue);color:#fff;}

@media (max-width: 1400px) {
	#sub_content.as_retrive {width:96%;}
}

@media (max-width: 1024px) {
	.as_retrive_list .as_list_wrap tbody td {padding-right:13px;padding-left:13px;}
}

@media (max-width: 767px) {
	.as_retrive_list .as_list_meta {margin-bottom:10px;font-size:14px;}
	.as_retrive_list .as_list_wrap table {min-width:680px;}
	.as_retrive_list .as_list_wrap thead th {padding:12px 8px;font-size:14px;}
	.as_retrive_list .as_list_wrap tbody td {padding:25px 12px;font-size:14px;}
	.as_retrive_list .as_status {min-width:68px;height:29px;padding:0 9px;font-size:12px;}
	.as_retrive_list .as_list_paging,.as_retrive_list .as_list_buttons {margin-top:30px;}
}

/* ===== 대리점 공급 제품 카드 (스마트수질센서 / EZMETA / 퇴적센서) ===== */
#sub_content.wastewater_business .partner_product_section {--partner-accent:#24877c;display:block;}
#sub_content.wastewater_business .partner_product_head {margin-bottom:32px;}
#sub_content.wastewater_business .partner_product_head > span {display:block;margin-bottom:10px;color:var(--partner-accent);font-size:14px;font-weight:800;letter-spacing:.1em;}
#sub_content.wastewater_business .partner_product_head > strong {display:block;color:#1d303c;font-size:var(--business-fs-section);font-weight:700;line-height:1.45;}
#sub_content.wastewater_business .partner_product_cards {display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;align-items:stretch;}
#sub_content.wastewater_business .partner_product_card {display:flex;flex-direction:column;padding:30px 28px 34px;border:1px solid #dfe6ea;border-radius:18px;background:#fff;box-sizing:border-box;}
#sub_content.wastewater_business .partner_maker_badge {align-self:flex-start;margin-bottom:12px;padding:5px 13px;border-radius:30px;background:#eef5f4;color:var(--partner-accent);font-size:14px;font-weight:700;letter-spacing:.02em;line-height:1.5;word-break:keep-all;}
#sub_content.wastewater_business .partner_product_thumb {display:flex;align-items:center;justify-content:center;height:300px;margin:0 0 22px;padding:14px;border-radius:12px;background:#f6f8fa;box-sizing:border-box;}
#sub_content.wastewater_business .partner_product_thumb img { width: 100%; height: 100%; object-fit: contain;}
#sub_content.wastewater_business .partner_product_thumb.is_empty span {color:#9dacb3;font-size:14px;font-weight:600;letter-spacing:.02em;}
#sub_content.wastewater_business .partner_product_card h4 {margin:0;color:#1d303c;font-size:var(--business-fs-lead);font-weight:700;line-height:1.4;}
#sub_content.wastewater_business .partner_product_lead {margin:8px 0 0;color:#65727a;font-size:15px;line-height:1.7;word-break:keep-all;}
#sub_content.wastewater_business .partner_product_block {margin-top:24px;padding-top:22px;border-top:1px solid #eceff1;}
#sub_content.wastewater_business .partner_product_block > strong {display:block;margin-bottom:13px;color:var(--partner-accent);font-size:14px;font-weight:800;letter-spacing:.02em;}
#sub_content.wastewater_business .partner_product_tags {display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;}
#sub_content.wastewater_business .partner_product_tags li {padding:7px 13px;border:1px solid #dde5e8;border-radius:30px;background:#fbfcfd;color:#4c5b64;font-size:13px;line-height:1.4;word-break:keep-all;}
#sub_content.wastewater_business .partner_product_sites {margin:0;padding:0;list-style:none;}
#sub_content.wastewater_business .partner_product_sites li {position:relative;padding-left:15px;color:#596871;font-size:15px;line-height:1.9;word-break:keep-all;}
#sub_content.wastewater_business .partner_product_sites li::before {content:'';position:absolute;top:.85em;left:0;width:5px;height:5px;border-radius:50%;background:var(--partner-accent);}

@media (max-width:1024px) {
	#sub_content.wastewater_business .partner_product_cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
	#sub_content.wastewater_business .partner_product_thumb {height:170px;}
}

@media (max-width:768px) {
	#sub_content.wastewater_business .partner_product_head {margin-bottom:24px;}
	#sub_content.wastewater_business .partner_product_head > strong {font-size:22px;}
	#sub_content.wastewater_business .partner_product_cards {grid-template-columns:1fr;gap:18px;}
	#sub_content.wastewater_business .partner_product_card {padding:24px 20px 28px;border-radius:14px;}
	#sub_content.wastewater_business .partner_product_thumb {height:200px;margin-bottom:18px;}
	#sub_content.wastewater_business .partner_product_card h4 {font-size:20px;}
}

/* ===== 통합 원격 감시제어 시스템 4단계 (sub02_05) ===== */
#sub_content.wastewater_business .water_solution_steps {grid-template-columns:repeat(2,minmax(0,1fr));}

@media (max-width:1024px) {
	#sub_content.wastewater_business .water_solution_steps {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:780px) {
	#sub_content.wastewater_business .water_solution_steps {grid-template-columns:1fr;}
}
/* ===== 학술발표 실적 표 (sub04_01) ===== */
.rnd_page .rnd_paper_table .rnd_col_no {width:5%;border-right: 1px solid #ddd;}
.rnd_page .rnd_paper_table .rnd_col_ptitle {width:53%;border-right: 1px solid #ddd;}
.rnd_page .rnd_paper_table .rnd_col_year {width:6%;border-right: 1px solid #ddd;}
.rnd_page .rnd_paper_table .rnd_col_conf {width:36%;}
/* 1열 NO */
.rnd_page .rnd_paper_table thead th:first-child,
.rnd_page .rnd_paper_table tbody td:first-child {padding-right:6px;padding-left:6px;text-align:center;white-space:nowrap;}
.rnd_page .rnd_paper_table tbody td:first-child {color:#123b59;font-weight:700;}
/* 2열 연구제목 */
.rnd_page .rnd_paper_table tbody td:nth-child(2) {color:#333;font-weight:600;}
/* 3열 연도 */
.rnd_page .rnd_paper_table thead th:nth-child(3),
.rnd_page .rnd_paper_table tbody td:nth-child(3) {padding-right:6px;padding-left:6px;text-align:center;white-space:nowrap;}
.rnd_page .rnd_paper_table tbody td:nth-child(3) {color:#333;font-weight:700;}

/* 781~1024px : 표 유지 + 가로 스크롤 */
@media (min-width:781px) and (max-width:1024px) {
	.rnd_page .rnd_paper_wrap {overflow-x:auto;}
	.rnd_page .rnd_paper_table {min-width:880px;}
	.rnd_page .rnd_paper_table th,
	.rnd_page .rnd_paper_table td {padding:18px 16px;}
	.rnd_page .rnd_paper_table thead th:first-child,
	.rnd_page .rnd_paper_table tbody td:first-child,
	.rnd_page .rnd_paper_table thead th:nth-child(3),
	.rnd_page .rnd_paper_table tbody td:nth-child(3) {padding-right:6px;padding-left:6px;}
}

/* 780px 이하 : 카드형 — 라벨칸 없이 값만 표시 */
@media (max-width:780px) {
	.rnd_page .rnd_paper_table {min-width:0;}
	.rnd_page .rnd_paper_table tbody td {display:block;padding:7px 0;}
	.rnd_page .rnd_paper_table tbody td::before {display:none;}
	.rnd_page .rnd_paper_table tbody td:first-child {padding:0 0 4px;font-size:14px;text-align:left;}
	.rnd_page .rnd_paper_table tbody td:nth-child(2) {padding:0 0 5px;font-size:16px;font-weight:700;color:#222;text-align:left;}
	.rnd_page .rnd_paper_table tbody td:nth-child(3) {padding:0 0 5px;text-align:left;}
}

/* ===== 서지보호 : 특징·적용 카드 옆에 사양표 배치 (sub02_05) =====
   1201px 이상에서만 2단. 그 이하에서는 래퍼가 일반 div로 남아
   기존 세로 배치와 사이트 공통 반응형 규칙이 그대로 동작한다. */
@media (min-width:1201px) {
	#sub_content.surge_business .surge_detail_layout {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;align-items:start;margin-top:42px;}
	#sub_content.surge_business .surge_detail_layout .surge_info_cards {grid-template-columns:1fr;gap:18px;margin-top:0;}
	#sub_content.surge_business .surge_detail_layout .surge_inline_spec {margin-top:0;}
	#sub_content.surge_business .surge_detail_layout .surge_spec_table_wrap {overflow-x:auto;}
	#sub_content.surge_business .surge_detail_layout .surge_spec_table {min-width:520px;}
	#sub_content.surge_business .surge_detail_layout .surge_spec_table :is(th,td) {padding:10px;font-size:15px;}
}

/* ===== 서지보호 소제목 (통합 원격 감시제어 시스템 내부, sub02_05) ===== */
#sub_content.surge_business .surge_sub_head {
	margin: 50px 0 24px;
	padding-top: 30px;
	/* border-top:1px solid #dfe6ea; */
}

@media (max-width:767px) {
	#sub_content.surge_business .surge_sub_head {margin-bottom:26px;padding-top:36px;}
}

/* ===== 수중의 퇴적물 감지 시스템 (sub02_05) ===== */
#sub_content.surge_business .sediment_head {margin:60px 0 22px;color:#203643;font-size:20px;font-weight:700;line-height:1.45;}
#sub_content.surge_business .sediment_layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:start;margin-top:38px;}
#sub_content.surge_business .sediment_feature h5 {margin:0 0 18px;color:#203643;font-size:20px;font-weight:700;}
#sub_content.surge_business .sediment_feature ul {margin:0;padding:0;list-style:none;}

/* 이미지 자리표시 — 실제 이미지로 교체 예정 */
#sub_content.surge_business .sediment_ph {display:flex;align-items:center;justify-content:center;margin:0;padding:24px;border-radius:14px;background:#f6f8fa;box-sizing:border-box;min-height:230px;text-align:center;}
#sub_content.surge_business .sediment_ph > span {color:#8b99a2;font-size:15px;font-weight:600;line-height:1.6;word-break:keep-all;}
#sub_content.surge_business .sediment_ph small {display:block;margin-top:8px;font-size:13px;font-weight:400;color:#a3aeb5;}
#sub_content.surge_business .sediment_ph_compare {min-height:330px;}
#sub_content.surge_business .sediment_ph_wide {min-height:420px;margin-top:30px; padding: 0; width: 60%;}
#sub_content.surge_business .sediment_ph_wide img {width:100%;height:100%; border:1px solid #e0e6e9; border-radius:14px;}

#sub_content.surge_business .sediment_parts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
#sub_content.surge_business .sediment_parts article {min-width:0;    border: 1px solid #ddd; border-radius: 14px; padding-bottom: 20px;}
#sub_content.surge_business .sediment_parts article figure{background: #ffffff}
#sub_content.surge_business .sediment_parts .sediment_ph {height:200px;margin-bottom:20px; padding-bottom: 0;}
#sub_content.surge_business .sediment_parts .sediment_ph img{height: 100%;width: 100%;object-fit: contain;}
#sub_content.surge_business .sediment_parts strong {display:block;color:#596871;font-size:17px;line-height:1.45; text-align:center;}
#sub_content.surge_business .sediment_parts em {display:block;margin-top:6px;color:var(--main-blue);font-size:14px;font-style:normal;font-weight:700;letter-spacing:.02em;}
#sub_content.surge_business .sediment_parts p {margin-top:11px;color:#65727a;font-size:15px;line-height:1.75;word-break:keep-all;}

#sub_content.surge_business .sediment_flow {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;}
#sub_content.surge_business .sediment_flow li {position:relative;padding:26px 22px;border:1px solid #e0e6e9;border-top:3px solid var(--main-blue);background:#fff;box-sizing:border-box;}
#sub_content.surge_business .sediment_flow li + li::before {content:'';position:absolute;top:50%;left:-11px;width:7px;height:7px;border-top:2px solid #b6c2c9;border-right:2px solid #b6c2c9;transform:translateY(-50%) rotate(45deg);}
#sub_content.surge_business .sediment_flow span {display:block;margin-bottom:12px;color:var(--main-blue);font-size:13px;font-weight:800;letter-spacing:.08em;}
#sub_content.surge_business .sediment_flow strong {display:block;color:#1d303c;font-size:18px;font-weight:700;line-height:1.45;word-break:keep-all;}
#sub_content.surge_business .sediment_flow em {display:block;margin-top:8px;color:#77848c;font-size:14px;font-style:normal;line-height:1.6;word-break:keep-all;}

#sub_content.surge_business .sediment_compare {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
#sub_content.surge_business .sediment_compare article {padding:22px;border:1px solid #e0e6e9;border-radius:14px;background:#fff;box-sizing:border-box;text-align:center;}
#sub_content.surge_business .sediment_compare article.is_primary {border-color:var(--main-blue);background:#f4f9fc;}
#sub_content.surge_business .sediment_compare .sediment_ph {min-height:170px;margin-bottom:18px;background:#eef2f5;}
#sub_content.surge_business .sediment_compare strong {display:block;color:#1d303c;font-size:17px;font-weight:700;line-height:1.45;word-break:keep-all;}
#sub_content.surge_business .sediment_compare p {margin-top:9px;color:#77848c;font-size:15px;line-height:1.65;word-break:keep-all;}

@media (max-width:1024px) {
	#sub_content.surge_business .sediment_layout {grid-template-columns:1fr;gap:28px;}
	#sub_content.surge_business .sediment_parts {grid-template-columns:repeat(2,minmax(0,1fr));}
	#sub_content.surge_business .sediment_flow {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
	#sub_content.surge_business .sediment_flow li + li::before {display:none;}
	#sub_content.surge_business .sediment_ph_wide{width:100%;}
}

@media (max-width:767px) {
	#sub_content.surge_business .sediment_head {margin:44px 0 18px;padding-top:32px;font-size:20px;}
	#sub_content.surge_business .sediment_layout {margin-top:28px;gap:22px;}
	#sub_content.surge_business .sediment_parts,
	#sub_content.surge_business .sediment_compare {grid-template-columns:1fr;gap:18px;}
	#sub_content.surge_business .sediment_flow {grid-template-columns:1fr;gap:14px;}
	#sub_content.surge_business .sediment_ph {min-height:190px;padding:18px;}
	#sub_content.surge_business .sediment_ph_compare {min-height:240px;}
	#sub_content.surge_business .sediment_ph_wide {min-height:280px;}
}

/* ===== 대리점 카드 : 외부 링크형 (sub02_05) ===== */
#sub_content.wastewater_business .partner_product_card.is_link {position:relative;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
#sub_content.wastewater_business .partner_product_card.is_link:hover,
#sub_content.wastewater_business .partner_product_card.is_link:focus-visible {border-color:var(--partner-accent);box-shadow:0 4px 8px rgba(36,135,124,.14);transform:translateY(-3px);}
#sub_content.wastewater_business .partner_product_card.is_link h4 {display:inline-flex;align-items:center;gap:7px;}
#sub_content.wastewater_business .partner_product_card.is_link h4::after {content:'';width:13px;height:13px;flex:0 0 13px;background:var(--partner-accent);transition:transform .2s ease;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h5v2H7v10h10v-3h2v5H5V5z'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3zM5 5h5v2H7v10h10v-3h2v5H5V5z'/%3E%3C/svg%3E") no-repeat center/contain;}
#sub_content.wastewater_business .partner_product_card.is_link:hover h4::after {transform:translate(2px,-2px);}

@media (prefers-reduced-motion: reduce) {
	#sub_content.wastewater_business .partner_product_card.is_link,
	#sub_content.wastewater_business .partner_product_card.is_link h4::after {transition:none;}
	#sub_content.wastewater_business .partner_product_card.is_link:hover {transform:none;}
}


body.board_catalog .bo_cate_link,
body.board_catalog #bo_gall .bo_cate_link {
	display: inline-block;
    margin: 0 0 6px;
    padding: 0px 12px;
    border: 1px solid #cfe0ec;
    border-radius: 30px;
    background: #eef5fa;
    color: #1c6ea4 !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 24px !important;
    letter-spacing: .01em;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
    font-size: 14px !important;
    height: 24px;
}


@media (max-width:767px) {
	body.board_catalog .bo_cate_link,
	body.board_catalog #bo_gall .bo_cate_link {font-size:12px !important;}
}

@media (prefers-reduced-motion: reduce) {
	body.board_catalog .bo_cate_link,
	body.board_catalog #bo_gall .bo_cate_link {transition:none;}
}

/* ===== 전기화재 (sub02_10) ===== */
#sub_content.electric_fire_business .ef_head {margin-bottom:40px;}
#sub_content.electric_fire_business .ef_head > span {display:block;margin-bottom:11px;color:var(--main-blue);font-size:14px;font-weight:800;letter-spacing:.06em;}
#sub_content.electric_fire_business .ef_head > strong {
	color: var(--business-heading);
    font-size: var(--business-fs-lead);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}
#sub_content.electric_fire_business .ef_head > p {
	color: var(--business-text);
    font-size: var(--business-fs-body);
    line-height: 1.8;
    letter-spacing: -.015em;
	word-break:keep-all;
	margin-top: 14px;
}

#sub_content.electric_fire_business .ef_main {align-items:start;}
#sub_content.electric_fire_business .ef_feature h5 {margin:0 0 20px;color:#203643;font-size:20px;font-weight:700;}
#sub_content.electric_fire_business .ef_feature ul {margin:0;padding:0;list-style:none;}
#sub_content.electric_fire_business .ef_feature li {padding:22px 0;border-top:1px solid #e4eaee;}
#sub_content.electric_fire_business .ef_feature li:first-child {padding-top:0;border-top:0;}
#sub_content.electric_fire_business .ef_feature li > strong {
	position:relative;
	display:block;
	margin-bottom:9px;
	padding-left:15px;
	color:#1d303c;
	font-size:var(--business-fs-body);
	font-weight:700;
	line-height:1.5;
	word-break:keep-all;
}
#sub_content.electric_fire_business .ef_feature li > p {
	margin:0;padding-left:15px; color: var(--business-text);;font-size:17px;line-height:1.8;word-break:keep-all;}

#sub_content.electric_fire_business .ef_ph {display:flex;align-items:center;justify-content:center;margin:0;border-radius:16px;background:#f6f8fa;box-sizing:border-box;}
#sub_content.electric_fire_business .ef_ph img {max-width:100%;height:auto;object-fit:contain;}

#sub_content.electric_fire_business .ef_sub_head {margin:52px 0 20px;color:#203643;font-size:20px;font-weight:700;}
/* 제품 이미지 + 사양표 2단 배치 */
#sub_content.electric_fire_business .ef_spec_wrap {display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1.2fr);gap:30px;align-items:start;}
#sub_content.electric_fire_business .ef_spec_wrap .ef_spec_table {min-width:0;}
#sub_content.electric_fire_business .ef_spec_table .ef_col_name {width:34%;}
#sub_content.electric_fire_business .ef_spec_table :is(th,td) {text-align:left;}
#sub_content.electric_fire_business .ef_spec_table thead th {text-align:center;}

#sub_content.electric_fire_business .ef_flow_ph {display:flex;align-items:center;justify-content:center;margin:0;border:1px solid #dfe6ea;background:#f6f8fa;box-sizing:border-box;}
#sub_content.electric_fire_business .ef_flow_ph img {width:100%;height:auto;object-fit:contain;}

@media (max-width:1024px) {
	#sub_content.electric_fire_business .ef_main {gap:30px;}
	#sub_content.electric_fire_business .ef_spec_wrap {gap:24px;}
}

@media (max-width:767px) {
	#sub_content.electric_fire_business .ef_head {margin-bottom:30px;}
	#sub_content.electric_fire_business .ef_head > strong {font-size:19px;}
	#sub_content.electric_fire_business .ef_head > p {font-size:15px;}
	#sub_content.electric_fire_business .ef_feature li > strong {font-size:17px;}
	#sub_content.electric_fire_business .ef_sub_head {margin:38px 0 16px;font-size:18px;}
	#sub_content.electric_fire_business .ef_spec_table .ef_col_name {width:38%;}
	
}
@media (max-width:480px) {
	#sub_content.electric_fire_business .ef_main{
		grid-template-columns:1fr;
	}
	#sub_content.electric_fire_business .ef_spec_wrap{
		grid-template-columns:1fr;

	}
	
}
/* ===== 연구실적 이미지 확대 팝업 (sub04_02 / sub04_03) ===== */
.rnd_page button.rnd_project_visual {appearance:none;-webkit-appearance:none;border:0;cursor:zoom-in;transition:transform .22s ease,box-shadow .22s ease;}
.rnd_page button.rnd_project_visual:hover,
.rnd_page button.rnd_project_visual:focus-visible {transform:translateY(-3px);box-shadow:0 12px 24px rgba(22,45,63,.18);}

body.rnd_zoom_open {overflow:hidden;}
.rnd_zoom {position:fixed;z-index:9999;inset:0;display:flex;align-items:center;justify-content:center;padding:52px;background:rgba(12,24,33,.82);box-sizing:border-box;}
.rnd_zoom[hidden] {display:none;}
.rnd_zoom .rnd_zoom_img {display:block;max-width:90vw;max-height:85vh;width:40vw;height:auto;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.rnd_zoom .rnd_zoom_close {position:absolute;top:24px;right:28px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.14);cursor:pointer;transition:background-color .2s ease;}
.rnd_zoom .rnd_zoom_close:hover,
.rnd_zoom .rnd_zoom_close:focus-visible {background:rgba(255,255,255,.28);}
.rnd_zoom .rnd_zoom_close::before,
.rnd_zoom .rnd_zoom_close::after {content:'';position:absolute;top:50%;left:50%;width:20px;height:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg);}
.rnd_zoom .rnd_zoom_close::after {transform:translate(-50%,-50%) rotate(-45deg);}

@media (max-width:1024px) {
	.rnd_zoom {padding:44px 24px;}
	.rnd_zoom .rnd_zoom_img {max-width:92vw;max-height:80vh; width: 60vw;}
	.rnd_zoom .rnd_zoom_close {top:16px;right:16px;width:40px;height:40px;}
}

@media (max-width:767px) {
	.rnd_zoom {padding:56px 14px 20px;}
	.rnd_zoom .rnd_zoom_img {max-width:94vw;max-height:72vh;  width: 80vw;}
	.rnd_zoom .rnd_zoom_close {top:12px;right:12px;width:36px;height:36px;}
	.rnd_zoom .rnd_zoom_close::before,
	.rnd_zoom .rnd_zoom_close::after {width:17px;}
}

@media (prefers-reduced-motion: reduce) {
	.rnd_page button.rnd_project_visual {transition:none;}
	.rnd_page button.rnd_project_visual:hover,
	.rnd_page button.rnd_project_visual:focus-visible {transform:none;}
}
