
.main_section_wrap { position:relative; }
.mobile_only { display:none; }

/* 문의 패널 */
.main_contact_box { display:flex; width:min(calc(100% - clamp(24px, 3.7vw, 60px)), 1200px); margin:0 auto; border-radius:clamp(7px, 0.7vw, 10px); background:#19243a; color:#fff; box-shadow:0 clamp(7px, 0.7vw, 12px) clamp(14px, 1.3vw, 22px) rgba(17,31,55,0.25); overflow:hidden; position:absolute; top:0; left:50%; transform:translate(-50%, -50%); z-index:100; }
.main_contact_box .contact_item { display:flex; align-items:center; flex:1; min-width:0; min-height:clamp(90px, 12vw, 140px); padding:clamp(13px, 1.5vw, 25px) clamp(16px, 2.5vw, 42px); color:#fff; transition:background-color 0.2s ease; }
.main_contact_box .contact_item:hover { background:rgba(255,255,255,0.04); }
.main_contact_box .contact_estimate { position:relative; }
.main_contact_box .contact_estimate::before { content:''; display:block; width:1px; height:50%; background:rgba(255,255,255,0.18); position:absolute; top:50%; left:0; transform:translateY(-50%); }
.main_contact_box .contact_icon { display:flex; align-items:center; justify-content:center; flex:0 0 clamp(50px, 7vw, 80px); aspect-ratio:1/1; margin-right:clamp(11px, 1.5vw, 24px); border-radius:50%; background:rgba(255,255,255,0.08); color:#fff; }
.main_contact_box .contact_icon svg { display:block; width:clamp(24px, 3vw, 34px); height:clamp(24px, 3vw, 34px); }
.main_contact_box .contact_text { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.main_contact_box .contact_label { margin-bottom:clamp(3px, 0.3vw, 5px); font-size:clamp(14px, 2vw, 24px); font-weight:400; color:#c0cef7; }
.main_contact_box .contact_text strong { font-size:clamp(18px, 3vw, 32px); font-weight:600; color:#fff; letter-spacing:-0.03em; white-space:nowrap; }
.main_contact_box .contact_arrow { display:flex; align-items:center; justify-content:center; flex:0 0 auto; margin-left:auto; padding-left:clamp(5px, 0.8vw, 12px); font-size:clamp(14px, 1.2vw, 20px); color:#fff; }


/* =========================================================
   Main section 1
========================================================= */
.section1 { position:relative; z-index:20; background:linear-gradient(180deg, #eef5ff 0%, #fff 80%); }
.section1 > .inner { width:100%; max-width:1200px; margin:0 auto; }

/* 검색 영역 */
.section1 .main_product_search { padding:clamp(100px, 15vw, 150px) 0; text-align:center; }
.section1 .main_product_search .search_heading h2 { display:flex; align-items:center; justify-content:center; gap:clamp(7px, 0.7vw, 12px); font-size:clamp(18px, 3.4vw, 32px); font-weight:600; line-height:1.4; color:#111; letter-spacing:-0.045em; }
.section1 .main_product_search .search_title_icon { display:inline-flex; flex:0 0 clamp(22px, 2.6vw, 30px); width:clamp(22px, 2.6vw, 30px); height:clamp(22px, 2.6vw, 30px); color:#0052c8; }
.section1 .main_product_search .search_title_icon svg { display:block; width:100%; height:100%; }
.section1 .main_product_search .search_heading p { margin-top:clamp(7px, 0.55vw, 10px); font-size:clamp(14px, 2vw, 20px); font-weight:500; line-height:1.6; color:#777; letter-spacing:-0.04em; }

/* 검색 폼 */
.section1 .product_search_form { display:flex; width:min(100%, clamp(570px, 60vw, 870px)); height:clamp(50px, 6vw, 70px); margin:clamp(22px, 1.9vw, 36px) auto 0; border:clamp(1px, 0.11vw, 2px) solid #0756d6; border-radius:clamp(4px, 0.4vw, 8px); background:#fff; box-shadow:0 clamp(4px, 0.4vw, 8px) clamp(10px, 1vw, 18px) rgba(29,67,138,0.13); overflow:hidden; position:relative; }
.section1 .product_search_form .search_input_icon { display:flex; width:clamp(17px, 1.2vw, 23px); height:clamp(17px, 1.2vw, 23px); color:#c9cdd4; position:absolute; top:50%; left:clamp(13px, 1.3vw, 25px); transform:translateY(-50%); pointer-events:none; }
.section1 .product_search_form .search_input_icon svg { display:block; width:100%; height:100%; }
.section1 .product_search_form input[type="text"] { flex:1; min-width:0; height:100%; padding:0 clamp(12px, 1.3vw, 25px) 0 clamp(42px, 3.4vw, 64px); border:0 !important; background:#fff; box-shadow:none !important; font-size:clamp(14px, 2vw, 20px); color:#222; }
.section1 .product_search_form input[type="text"]::placeholder { color:#b7bac0; }
.section1 .product_search_form button { flex:0 0 clamp(80px, 9vw, 100px); height:100%; border:0; background:#064bb8; font-size:clamp(14px, 1.7vw, 20px); font-weight:600; color:#fff; transition:background-color 0.2s ease; }
.section1 .product_search_form button:hover { background:#033e9d; }

/* 인기 검색어 */
.section1 .popular_keywords { display:flex; align-items:flex-start; justify-content:center; gap:clamp(13px, 1.45vw, 28px); max-width:clamp(570px, 60vw, 870px); margin:clamp(15px, 1.3vw, 25px) auto 0; font-size:clamp(12px, 2vw, 18px); line-height:1.6; letter-spacing:-0.04em; }
.section1 .popular_keywords strong { flex:0 0 auto; font-weight:600; color:#333; }
.section1 .popular_keywords ul { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:clamp(3px, 0.4vw, 8px) clamp(11px, 1.25vw, 24px); }
.section1 .popular_keywords a { color:#777; white-space:nowrap; transition:color 0.2s ease; }
.section1 .popular_keywords a:hover { color:#0756d6; }


/* =========================================================
   Main section 2
========================================================= */
.section2 { position:relative; z-index:10; background:#111; }
.section2 .full { width:100%; max-width:none; margin:0; }

/* 카테고리 목록 */
.section2 .main_category_list { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); width:100%; }
.section2 .main_category_item { display:flex; align-items:center; justify-content:center; min-width:0; height:37.5vw; min-height:520px; color:#fff; text-align:center; overflow:hidden; position:relative; isolation:isolate; }
.section2 .main_category_item::before { content:''; background-image:var(--category-bg); background-repeat:no-repeat; background-position:center; background-size:cover; position:absolute; inset:0; z-index:-2; transform:scale(1); transition:transform 0.5s ease; }
.section2 .main_category_item::after { content:''; background:linear-gradient(180deg, transparent 20%, rgba(0,0,0,0.6) 100%); position:absolute; inset:0; z-index:-1; opacity:0; transition:opacity 0.4s ease; }
.section2 .main_category_item:hover::before { transform:scale(1.05); }
.section2 .main_category_item:hover::after { opacity:1; }

/* 카테고리별 이미지 위치 */
.section2 .main_category_item.category_residue::before { background-position:center center; }
.section2 .main_category_item.category_chemistry::before { background-position:center center; }
.section2 .main_category_item.category_microbiology::before { background-position:center right 10%; }
.section2 .main_category_item.category_consumables::before { background-position:center center; }
.section2 .main_category_item.category_equipment::before { background-position:center center; }

/* 카테고리 내용 */
.section2 .main_category_item .category_content { display:flex; flex-direction:column; align-items:center; width:100%; padding:clamp(20px, 2vw, 40px); color:#fff; position:relative; z-index:2; transform:translateY(clamp(0px, 0.5vw, 8px)); transition:transform 0.35s ease; }
.section2 .main_category_item:hover .category_content { transform:translateY(0); }
.section2 .main_category_item .category_content h2 { font-size:clamp(20px, 1.5vw, 30px); font-weight:600; line-height:1.3; color:#fff; letter-spacing:-0.045em; text-shadow:0 0 10px rgba(50, 50, 50, 0.5); }
.section2 .main_category_item .category_content p { margin-top:clamp(7px, 0.55vw, 11px); font-size:clamp(14px, 1vw, 18px); font-weight:400; line-height:1.5; color:#fff; letter-spacing:-0.04em; text-shadow:0 0 10px rgba(50, 50, 50, 0.5); }

/* 자세히 보기 */
.section2 .main_category_item .category_more { display:flex; align-items:center; justify-content:center; gap:clamp(7px, 0.55vw, 11px); min-width:clamp(112px, 7.5vw, 150px); height:clamp(34px, 2.4vw, 46px); margin-top:clamp(20px, 1.8vw, 36px); padding:0 clamp(15px, 1.25vw, 25px); border:1px solid rgba(255,255,255,0.85); border-radius:50px; font-size:clamp(12px, 0.75vw, 15px); font-weight:400; line-height:1; color:#fff; white-space:nowrap; transition:background-color 0.3s ease, color 0.3s ease; }
.section2 .main_category_item .category_more i { font-size:clamp(12px, 0.85vw, 17px); transition:transform 0.3s ease; }
.section2 .main_category_item:hover .category_more { background:#fff; color:#033e9d; font-weight:bold; }
.section2 .main_category_item:hover .category_more i { transform:translateX(3px); }


/* =========================================================
   Main section 3
========================================================= */
.section3 { position:relative; background:#f3f1ed url('../img/section3_bg.png') no-repeat center center; background-size:cover; }
.section3 > .inner { width:100%; max-width:1200px; margin:0 auto; }
.section3 .main_partner_wrap { width:100%; padding:clamp(90px, 10vw, 180px) 0 clamp(100px, 11vw, 200px); text-align:center; }
.section3 .partner_heading h2 { font-size:clamp(20px, 3.5vw, 32px); font-weight:600; line-height:1.45; color:#171717; letter-spacing:-0.045em; }

/* 파트너 목록 */
.section3 .partner_list { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(8px, 0.7vw, 12px); width:100%; margin:clamp(40px, 3.5vw, 65px) auto 0; }
.section3 .partner_item { display:flex; align-items:center; justify-content:center; min-width:0; height:clamp(70px, 8vw, 90px); border:1px solid rgba(0,0,0,0.03); border-radius:clamp(5px, 0.45vw, 8px); background:#fff; box-shadow:0 2px 8px rgba(30,40,50,0.03); overflow:hidden; transition:transform 0.25s ease, box-shadow 0.25s ease; }
.section3 .partner_item:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(30,40,50,0.1); }
.section3 .partner_item img { display:block; width:auto; max-width:100%; max-height:100%; object-fit:contain; }
.section3 .partner_item a { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }


/* =========================================================
   Main section 4
========================================================= */
.section4 { position:relative; background:#24495b url('../img/section4_bg.png') no-repeat center center; background-size:cover; }
.section4 > .inner { display:flex; align-items:center; justify-content:center; width:100%; max-width:1200px; margin:0 auto; }
.section4 .main_inquiry_wrap { display:flex; flex-direction:column; align-items:center; width:100%; padding:clamp(90px, 10vw, 180px) 0 clamp(100px, 11vw, 200px); text-align:center; }
.section4 .inquiry_heading h2 { font-size:clamp(20px, 4vw, 40px); font-weight:600; line-height:1.4; color:#fff; letter-spacing:-0.045em; text-shadow:0 0 10px rgba(20,40,50,0.25); word-break:keep-all; }
.section4 .inquiry_heading p { margin-top:10px; font-size:clamp(16px, 2vw, 20px); font-weight:3s00; line-height:1.6; color:#fff; letter-spacing:-0.04em; text-shadow:0 0 10px rgba(20,40,50,0.25); word-break:keep-all; }

/* 제품 문의하기 */
.section4 .inquiry_btn { display:flex; align-items:center; justify-content:center; gap:clamp(7px, 0.55vw, 11px); min-width:clamp(112px, 7.5vw, 150px); height:clamp(34px, 2.4vw, 46px); margin-top:clamp(28px, 2.4vw, 46px); padding:0 clamp(15px, 1.25vw, 25px); border:1px solid rgba(255,255,255,0.85); border-radius:50px; background:transparent; font-size:clamp(12px, 0.75vw, 15px); font-weight:400; line-height:1; color:#fff; white-space:nowrap; transition:background-color 0.3s ease, color 0.3s ease; }
.section4 .inquiry_btn i { font-size:clamp(12px, 0.85vw, 17px); transition:transform 0.3s ease; }
.section4 .inquiry_btn:hover { background:#fff; color:#033e9d; font-weight:bold; }
.section4 .inquiry_btn:hover i { transform:translateX(3px); }




@media (max-width: 1200px){
	
}

@media (max-width: 1050px){

}

@media (max-width: 980px){

	.section2 .main_category_list { display:block; }
	.section2 .main_category_item { width:100%; height:35vw; min-height:150px; }
	.section2 .main_category_item::before { background-size:150% auto; }
	.section2 .main_category_item .category_content { padding:clamp(14px, 3vw, 28px); transform:none; }
	.section2 .main_category_item .category_content h2 { font-size:clamp(16px, 3.5vw, 26px); }
	.section2 .main_category_item .category_content p { margin-top:clamp(4px, 0.8vw, 8px); font-size:clamp(12px, 2vw, 16px); }
	.section2 .main_category_item .category_more { min-width:clamp(104px, 14vw, 122px); height:clamp(30px, 4.2vw, 38px); margin-top:clamp(12px, 2vw, 20px); padding:0 clamp(13px, 2vw, 18px); font-size:clamp(11px, 1.5vw, 13px); }
	.section2 .main_category_item .category_more i { font-size:clamp(11px, 1.6vw, 14px); }

	.section3 { background-position:center center; }
	.section3 .main_partner_wrap { padding:clamp(80px, 14vw, 130px) 0 clamp(90px, 15vw, 145px); }
	.section3 .partner_list { gap:clamp(5px, 1vw, 9px); margin-top:clamp(32px, 5vw, 48px); }
	.section3 .partner_item { height:clamp(60px, 7vw, 70px); }

}

@media (max-width: 870px){

}

@media (max-width: 760px){

}

@media (max-width: 650px){

}

@media (max-width:540px) {

	.mobile_only { display:block; }

	.main_contact_box { display:block; }
	.main_contact_box .contact_item { width:100%; min-height:58px; padding:20px; }
	.main_contact_box .contact_estimate::before { width:calc(100% - 40px); height:1px; top:0; left:50%; transform:translateX(-50%); }
	.main_contact_box .contact_arrow { padding-left:5px; font-size:14px; }

	.section1 .main_product_search { padding-top:140px; }
	.section1 .popular_keywords { justify-content:flex-start; gap:12px; text-align:left; }
	.section1 .popular_keywords ul { flex:1; min-width:0; }

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

}

@media (max-width: 430px){

}