@charset "utf-8";

/* 내용관리 */
#ctt { background:#fff; }
.ctt_admin { display:none; text-align:right; }
#ctt header h1 { position:absolute; font-size:0; line-height:0; overflow:hidden; }
#ctt_con img { max-width:100%; height:auto; }

/* =========================================================
   History
========================================================= */
.history_page { width:100%; background:#fff; overflow:hidden; }
.history_page .pc_only { display:block; }
.history_heading .history_label { display:block; margin-bottom:clamp(10px, 1vw, 16px); font-size:clamp(12px, 0.9vw, 15px); font-weight:700; line-height:1; color:#003cac; }
.history_heading h2 { font-size:clamp(24px, 2.5vw, 38px); font-weight:700; line-height:1.4; color:#111; letter-spacing:-0.05em; word-break:keep-all; }
.history_heading h2 strong { font-weight:700; color:#003cac; }

/* 특허 소개 */
.patent_section { padding:60px 0 clamp(80px, 9vw, 150px); }
.patent_inner { display:grid; grid-template-columns:minmax(0, 0.8fr) minmax(300px, 1fr) minmax(0, 1fr); align-items:center; gap:clamp(20px, 3.5vw, 50px); width:min(calc(100% - 60px), 1200px); margin:0 auto; position:relative; }
.patent_inner::before { content:''; grid-row:1/2; width:50vw; height:100%; border-radius:0 clamp(25px, 2vw, 40px) clamp(25px, 2vw, 40px) 0; background:#f1f6fc; position:absolute; top:0; right:50%; z-index:0; }
.patent_intro { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; min-width:0; padding:clamp(50px, 6.5vw, 80px) 0; position:relative; z-index:2; }
.patent_number { font-size:clamp(12px, 1vw, 15px); font-weight:400; line-height:1.6; color:#555; text-align:right; letter-spacing:-0.04em; }
.patent_image { width:100%; max-width:360px; margin:clamp(50px, 6.5vw, 80px) 0; background:#fff; box-shadow:0 8px 25px rgba(33,53,80,0.14); position:relative; z-index:2; }
.patent_image img { display:block; width:100%; }
.patent_values { margin:0; padding:0; list-style:none; position:relative; z-index:2; }
.patent_value { display:flex; align-items:center; gap:clamp(20px, 2vw, 30px); min-width:0; padding:35px 0; }
.patent_value + .patent_value { border-top:1px solid #e4e7ec; }
.patent_value_icon { display:flex; align-items:center; justify-content:center; flex:0 0 clamp(38px, 3vw, 48px); width:clamp(38px, 3vw, 48px); height:clamp(38px, 3vw, 48px); color:#0756d6; }
.patent_value_icon svg { display:block; width:100%; height:100%; }
.patent_value_text { min-width:0; }
.patent_value_text h3 { font-size:clamp(16px, 2vw, 26px); font-weight:700; line-height:1.4; color:#003cac; letter-spacing:-0.04em; }
.patent_value_text p { margin-top:clamp(8px, 0.8vw, 12px); font-size:clamp(12px, 1.5vw, 18px); font-weight:400; line-height:1.65; color:#444; letter-spacing:-0.04em; word-break:keep-all; }

/* 연혁 제목 */
.history_section { padding:0 0 clamp(130px, 14vw, 240px); }
.history_inner { width:min(calc(100% - 60px), 1200px); margin:0 auto; }
.history_title { text-align:center; }
.history_title h2 { font-size:clamp(25px, 2.5vw, 38px); font-weight:700; line-height:1.4; color:#111; letter-spacing:-0.05em; }
.history_title p { margin-top:clamp(15px, 1.5vw, 24px); font-size:clamp(13px, 1.8vw, 22px); font-weight:400; line-height:1.65; color:#555; letter-spacing:-0.04em; word-break:keep-all; }

/* 연혁 목록 */
.history_list { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); margin-top:clamp(50px, 6vw, 70px); }
.history_group { display:flex; flex-direction:column; min-width:0; }
.history_group_heading { min-height:clamp(155px, 13vw, 205px); padding:0 clamp(15px, 2vw, 30px); text-align:center; position:relative; }
.history_group_heading::after { content:''; width:12px; height:12px; border:2px solid #0756d6; border-radius:50%; background:#fff; position:absolute; bottom:-7px; left:50%; z-index:2; transform:translateX(-50%); }
.history_group_icon { display:flex; align-items:center; justify-content:center; width:clamp(45px, 4vw, 62px); height:clamp(45px, 4vw, 62px); margin:0 auto clamp(10px, 1vw, 16px); color:#d7d9dd; }
.history_group_icon svg { display:block; width:100%; height:100%; }
.history_period { display:inline-flex; align-items:center; justify-content:center; min-width:clamp(145px, 13vw, 190px); min-height:clamp(34px, 3vw, 44px); padding:0 clamp(15px, 1.5vw, 24px); border-radius:100px; background:#003cac; font-size:clamp(12px, 1.4vw, 16px); font-weight:600; line-height:1; color:#fff; white-space:nowrap; }
.history_group_heading h3 { margin-top:clamp(14px, 1.3vw, 20px); font-size:clamp(16px, 2vw, 26px); font-weight:700; line-height:1.4; color:#222; letter-spacing:-0.04em; word-break:keep-all; }
.history_records { flex:1; padding:clamp(35px, 3.5vw, 55px) clamp(20px, 2.5vw, 30px) clamp(45px, 4vw, 65px); border-top:1px solid #0756d6; background:#f1f6fc; }
.history_group + .history_group .history_records { border-left:1px solid #fff; }
.history_record { display:grid; grid-template-columns:clamp(45px, 4vw, 60px) minmax(0, 1fr); gap:clamp(8px, 1vw, 15px); margin:0; }
.history_record + .history_record { margin-top:clamp(15px, 1.5vw, 23px); }
.history_record dt { font-size:clamp(12px, 1.4vw, 16px); font-weight:700; line-height:1.65; color:#0756d6; }
.history_record dd { min-width:0; margin:0; font-size:clamp(12px, 1.4vw, 16px); font-weight:400; line-height:1.65; color:#444; letter-spacing:-0.04em; word-break:keep-all; }
.history_record ul { margin:0; padding:0; list-style:none; }
.history_record li { padding-left:12px; position:relative; }
.history_record li::before { content:'·'; position:absolute; top:0; left:0; }
.history_record dd > ul > li + li { margin-top:3px; }

/* 반응형 */
@media (max-width:980px) {
	.patent_inner { grid-template-columns:minmax(0, 1fr) minmax(270px, 1fr); width:100%; padding:0 40px; }
	.patent_inner::before { width:70%; right:30%; }
	.patent_values { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); grid-column:1 / -1; gap:0; }
	.patent_value { display:block; padding:30px 20px; text-align:center; }
	.patent_value + .patent_value { border-top:0; border-left:1px solid #e4e7ec; }
	.patent_value_icon { margin:0 auto 15px; }
	.history_inner { width:100%; padding:0 30px; }
	.history_list { display:flex; flex-flow:column; margin-top:45px; }
	.history_group { display:flex; flex-flow:row; }
	.history_group_heading { min-height:0; padding:30px; padding-left:0; }
	.history_group_heading::after { top:-5px; right:-6px; bottom:auto; left:auto; transform:none; }
	.history_records { padding:40px 28px 50px; }
	.history_group + .history_group .history_records { border-left:0; }
}

@media (max-width:760px) {
	.history_page .pc_only { display:none; }
	.patent_inner { grid-template-columns:minmax(0, 0.85fr) minmax(260px, 1.15fr); padding:0 30px; }
	.patent_number { margin-top:130px; }
	.patent_values { width:100%; margin-top:20px; }
}

@media (max-width:540px) {
	.patent_inner { display:flex; flex-flow:column; }
	.patent_inner::before { width:calc(100% - 30px); height:clamp(500px, 130vw, 650px); right:auto; left:0; }
	.patent_intro { display:block; padding-bottom:0; }
	.patent_number { width:80%; margin:20px auto 0; font-size:11px; text-align:right; }
	.patent_image { width:80%; margin:0 auto; }
	.patent_values { display:block; }
	.patent_value { display:flex; padding:20px 0; text-align:left; }
	.patent_value + .patent_value { border-top:1px solid #e4e7ec; border-left:0; }
	.patent_value_icon { margin:0; }
	.history_inner { padding:0 10px; }
	.history_title p { font-size:12px; }
	.history_list { margin-top:35px; }
	.history_group { flex-flow:column; }
	.history_foundation, .history_expansion { margin-top:35px; }
	.history_group_heading { padding:0 15px 25px; }
	.history_group_heading::after { right:auto; bottom:-7px; left:50%; top:auto; transform:translateX(-50%); }
	.history_group_icon { width:40px; height:40px; }
	.history_period { min-width:120px; min-height:30px; font-size:11px; }
	.history_group_heading h3 { margin-top:12px; font-size:16px; }
	.history_records { padding:28px 16px 38px; }
	.history_record { grid-template-columns:43px minmax(0, 1fr); gap:5px; }
	.history_record dt, .history_record dd { font-size:11px; }
}