	:root {
		--color-primary: #172554;	
		--color-primary-light: #2e4074;
		--color-secondary: #475569;	
		--color-border: #cbd5e1;	 
		--bg-base: #f8fafc;			
		--bg-white: #ffffff;		 
		--bg-lighter: #f1f5f9;		 
		--accent-main: #2563eb;		
		--accent-hover: #1d4ed8;
		--accent-sub: #eff6ff;		 
		--highlight-cyan: rgba(34, 211, 238, 0.6);
		--max-width: 1280px; 
		--header-height: 64px;
		--radius-sm: 4px;
		--radius-md: 8px;
		--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
		--shadow-md: 0 10px 18px -6px rgba(0,0,0,.12), 0 6px 10px -6px rgba(0,0,0,.08);
	}
	.text-red { color: var(--accent-main) !important; }
	.text-muted { color: var(--color-secondary); }
	.fw-bold { font-weight: 700; }
	.d-flex { display: flex; }
	.align-center { align-items: center; }
	.justify-between { justify-content: space-between; }
	.gap-10 { gap: 10px; }
	.hidden { display: none !important; }
	.btn {
		display: inline-flex; align-items: center; justify-content: center;
		padding: 10px 20px; font-size: 14px; font-weight: 700;
		cursor: pointer; border: 1px solid transparent; transition: all 0.3s ease;
		background: transparent; color: var(--color-primary);
		border-radius: var(--radius-sm); white-space: nowrap; gap: 8px;
	}
	.btn.primary { background-color: var(--color-primary); color: #fff; border-color: var(--color-primary); }
	.btn.primary:hover { background-color: var(--color-primary-light); }
	.btn.outline { border-color: var(--color-border); background: #fff; color: var(--color-primary); }
	.btn.outline:hover { border-color: var(--color-primary); background: var(--bg-lighter); }
	.btn-sm { padding: 8px 16px; font-size: 13px; }
	.btn_flex {
		margin-top: 24px; display:flex; gap:10px; flex-wrap:wrap; align-items:center;
	}
	.hero {
		background: var(--color-primary);
		border-bottom: 1px solid rgba(255,255,255,0.1);
		color: #ffffff;
		display: flex; align-items: center; position: relative;
	}
	@media only screen and (min-width: 641px) {
	.hero {
		height: 440px; min-height: 440px;
		padding: 40px 0;
	}
	.hero-content { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; align-items: center; width: 100%; }
	}
	.hero-text h1 { font-size: 42px; line-height: 1.25; margin: 0 0 16px 0; font-weight: 800; color: #fff; letter-spacing: -1px; }
	.hero-text p { font-size: 17px; color: rgba(255,255,255,0.85); margin-bottom: 28px; line-height: 1.6; }
	.hero-sub { font-size: 13px; letter-spacing: 1px; margin-bottom: 14px; font-weight: 800; color: var(--highlight-cyan); }
	.title-highlight { background: linear-gradient(to top, var(--highlight-cyan) 40%, transparent 40%); display: inline-block; line-height: 100%; }
	.hero-note { display: inline-flex; font-size: 13px; color: rgba(255,255,255,0.7); margin-top: 10px; background: rgba(255,255,255,0.1); padding: 4px 10px; border-radius: 99px; }
	.hero-btn-group { display: flex; gap: 10px; margin-top: 20px; }
	.hero-btn-group .btn.hero-white {
		background-color: #fff !important;
		color: var(--color-primary) !important;
		border: 1px solid #fff !important;
	}
	.hero-btn-group .btn.hero-white:hover {
		background-color: rgba(255,255,255,0.9) !important;
	}
	.hero-btn-group .btn.hero-outline {
		background-color: transparent !important;
		color: #fff !important;
		border: 1px solid #fff !important;
	}
	.hero-btn-group .btn.hero-outline:hover {
		background-color: rgba(255,255,255,0.15) !important;
	}
	.trust-bar { display: grid; gap: 12px; }
	.trust-card {
		background: rgba(255,255,255,0.10);
		border: 1px solid rgba(255,255,255,0.20);
		border-radius: var(--radius-md);
		padding: 16px;
		display: flex; gap: 12px; align-items: flex-start;
		backdrop-filter: blur(4px); transition: transform 0.2s;
	}
	.trust-card:hover { transform: translateX(4px); background: rgba(255,255,255,0.15); }
	.trust-ic {
		width: 32px; height: 32px; border-radius: 8px;
		display: flex; align-items: center; justify-content: center;
		background: rgba(255,255,255,0.14); color: #fff; flex: 0 0 auto;
	}
	.trust-tt { margin: 0 0 4px 0; font-size: 14px; font-weight: 800; color: #fff; }
	.trust-dd { margin: 0; font-size: 13px; line-height: 1.4; color: rgba(255,255,255,0.8); }
	section { padding: 80px 0; border-bottom: 1px solid var(--color-border); background: #fff; }
	section#company-info-cards {padding: 60px 0;}
	section:nth-of-type(even) { background: var(--bg-base); }
	.section-title { font-size: 30px; font-weight: 800; margin: 0 0 12px 0; color: var(--color-primary); letter-spacing: -0.5px; }
	.section-desc { color: var(--color-secondary); margin: 0 0 40px 0; font-size: 16px; max-width: 800px; }
	.pathbar { background: var(--bg-white); border-bottom: 1px solid var(--color-border); padding: 12px 0; }
	.panel {
		background: var(--bg-white); border: 1px solid var(--color-border);
		border-top: 3px solid var(--color-primary); border-radius: var(--radius-md);
		box-shadow: var(--shadow-sm); padding: 34px; max-width: 920px; margin: 0 auto;
	}
	.lead { font-size: 18px; font-weight: 700; color: var(--color-primary); margin-bottom: 16px; display: block; }
	.info-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
	.info-box {
		background: var(--bg-white); border: 1px solid var(--color-border);
		border-radius: var(--radius-sm); padding: 22px;
		box-shadow: var(--shadow-sm); transition: 0.25s;
		border-top: 3px solid var(--accent-main);
	}
	.info-box:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: #b8c6da; }
	.info-box h3 { font-size: 16px; margin: 0 0 14px 0; display: flex; align-items: center; gap: 8px; color: var(--color-primary); font-weight: 800; }
	.info-dl { margin: 0; font-size: 13px; }
	.info-dl dt { color: var(--color-primary); font-weight: 700; margin-bottom: 4px; float: left; clear: left; width: 80px; }
	.info-dl dd { color: var(--color-secondary); margin: 0 0 8px 80px; line-height: 1.5; }
	.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
	.product-card {
		background: var(--bg-white); border: 1px solid var(--color-border);
		border-radius: var(--radius-sm); overflow: hidden;
		transition: transform 0.3s ease, box-shadow 0.3s ease;
		display: flex; flex-direction: column;
		color: inherit; 
	}
	.product-card:hover { border-color: var(--color-primary); transform: translateY(-5px); box-shadow: var(--shadow-md); }
	a.product-card { cursor: pointer; }
	a.product-card:hover .card-title { color: var(--accent-main); }
	.card-badges { padding: 16px; display: flex; gap: 6px; flex-wrap: wrap; background: #f8fafc; border-bottom: 1px solid var(--color-border); }
	.badge { font-size: 11px; font-weight: 700; background: #fff; padding: 4px 8px; color: var(--color-secondary); border-radius: 2px; border: 1px solid var(--color-border); }
	.badge.gov { background: rgba(37, 99, 235, 0.1); color: var(--accent-main); border-color: rgba(37, 99, 235, 0.2); }
	.card-icon-area { height: 100px; display: flex; align-items: center; justify-content: center; background: #fff; border-bottom: 1px solid var(--color-border); font-size: 32px; color: var(--color-secondary); }
	#business .card-icon-area { height: auto; }
	@media only screen and (max-width: 640px) {
		#business .card-icon-area img { width: 100%; height: auto; }
	}
	.card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
	.card-title { font-size: 16px; font-weight: 800; margin: 0 0 10px 0; color: var(--color-primary); transition: color 0.2s; }
	.card-desc { font-size: 14px; color: var(--color-secondary); margin: 0; line-height: 1.6; }
	.client-matrix { display: flex;justify-content: space-between;flex-wrap: wrap; gap: 1px; background: var(--color-border); border: 1px solid var(--color-border); border-radius: var(--radius-sm); overflow: hidden; margin-top: 20px; }
	.client-cell { width: calc(25% - 1px);background: #fff; padding: 16px; display: flex; align-items: center; gap: 10px; }
	@media only screen and (min-width: 641px) {
		#clients .client-matrix { margin-right: 7px; }
		#clients .client-cell { width: 158px; padding: 0; }
		#process .client-matrix { margin-right: 1px; }
		#process .client-cell { width: 211px; }
	}
	@media only screen and (max-width: 640px) {
		#process .client-cell { width: calc(50% - 0.5px); height: 70px;}
		#clients .client-matrix { justify-content: start; gap: 0; background: none; border-radius: 0; border: 0; border-top: solid 1px var(--color-border); border-left: solid 1px var(--color-border); }
		#clients .client-cell { width: 33.33333333333%; padding: 0; border-bottom: solid 1px var(--color-border); border-right: solid 1px var(--color-border); }
		#clients .client-cell img { width: 100%; height: auto; }
	}
	.client-cell i { color: var(--accent-main); font-size: 14px; width: 16px; text-align: center; }
	.client-cell span { font-size: 13px; font-weight: 700; color: var(--color-primary); }
	.timeline-wrap { max-width: 920px; margin: 0 auto; }
	.timeline { margin-top: 18px; display: grid; gap: 14px; position: relative; padding-left: 18px; }
	.timeline:before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--color-border); }
	.t-row { position: relative; display: grid; grid-template-columns: 100px 1fr; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
	.t-row:before { content: ""; position: absolute; left: -16px; top: 22px; width: 10px; height: 10px; border-radius: 999px; background: var(--accent-main); box-shadow: 0 0 0 4px rgba(37,99,235, 0.18); }
	.t-date { font-weight: 800; color: var(--color-primary); font-size: 13px; }
	.t-text { color: var(--color-secondary); font-size: 14px; }
	.cert-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 22px; }
	.cert-card { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); overflow: hidden; display: flex; flex-direction: column; transition: .25s; cursor: pointer; }
	.cert-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--color-primary); }
	.cert-visual { height: 181px; background: var(--bg-lighter); display: flex; align-items: center; justify-content: center; font-size: 40px; color: #94a3b8; border-bottom: 1px solid var(--color-border); position: relative; }
	@media only screen and (max-width: 640px) {
		.cert-visual { height: auto; }
		.cert-visual img { width: 100%; height: auto; }
	}
	.cert-badge-auth { position: absolute; top: 0; right: 0; background: var(--color-primary); color: #fff; font-size: 11px; font-weight: 800; padding: 4px 8px; border-bottom-left-radius: 8px; }
	.cert-info { padding: 16px; text-align: center; }
	.cert-name { display: block; font-size: 15px; font-weight: 800; color: var(--color-primary); margin-bottom: 4px; }
	.cert-detail { display: block; font-size: 13px; color: var(--color-secondary); }
	.copyright-products { margin-top: 30px; padding: 24px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; }
	.sub-title { font-size: 16px; font-weight: 800; color: var(--color-primary); margin: 0 0 10px 0; }
	.product-chip-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; margin-top: 14px; }
	.product-chip { 
		display: flex; 
		align-items: center; 
		gap: 10px; 
		width: 100%; 
		border: 1px solid var(--color-border); 
		background: var(--bg-lighter); 
		border-radius: var(--radius-sm); 
		padding: 10px 12px; 
		cursor: pointer; 
		transition: 0.2s;
		justify-content: flex-start; 
		text-align: left;
	}
	.product-chip:hover { border-color: var(--color-primary); background: #fff; }
	.chip-icon { width: 30px; height: 30px; background: rgba(37, 99, 235, 0.1); color: var(--accent-main); display: flex; align-items: center; justify-content: center; border-radius: 4px; flex-shrink: 0; }
	.chip-text { font-size: 13px; font-weight: 700; color: var(--color-primary); flex: 1; }
	/* 그룹 라벨 + 등록증 발급 대기 chip */
	.copyright-group-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 22px; padding: 6px 4px 6px 10px; border-left: 3px solid var(--accent-main); font-size: 13px; font-weight: 800; color: var(--color-primary); letter-spacing: -0.01em; }
	.copyright-group-label:first-child { margin-top: 4px; }
	.copyright-group-label--forensic { border-left-color: #475569; }
	.copyright-group-link { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; background: #1e293b; color: #fff !important; text-decoration: none; border-radius: 6px; font-size: 12px; font-weight: 700; transition: 0.15s; }
	.copyright-group-link:hover { background: #334155; transform: translateY(-1px); }
	.product-chip-grid--pending { margin-top: 10px; }
	.product-chip--pending { cursor: not-allowed; background: #f8fafc; border-style: dashed; opacity: 0.78; pointer-events: none; }
	.product-chip--pending .chip-text { color: #475569; }
	.product-chip--pending .chip-icon { background: rgba(100, 116, 139, 0.12); color: #64748b; }

	/* ── 인라인 스타일 정리용 유틸리티 ── */
	.mt-0 { margin-top: 0 !important; }
	/* ── 인라인 스타일 클래스화 (2차 정밀 검토) ── */
	.lead--aeo { margin: 0; color: var(--color-secondary); line-height: 1.8; font-weight: 500; }
	.info-box--primary { border-top-color: var(--color-primary) !important; }
	.text-muted--box { margin: 0; font-size: 13px; line-height: 1.7; }
	.overview-desc { color: var(--color-secondary); }
	.ceo-signature { margin-top: 30px; text-align: right; font-weight: 700; color: var(--color-primary); }
	.section-footnote { margin: 16px 0 0 0; color: var(--color-secondary); font-size: 13px; line-height: 1.7; }
	.panel--accent { border-top-color: var(--accent-main) !important; }
	.cta-link-strong { color: var(--color-primary) !important; font-weight: 700; }
	.cta-link-strong:hover { text-decoration: underline; }
	.aeo-geo-note { margin: 14px 0 0; color: var(--color-secondary); line-height: 1.7; font-size: 14px; }
	.copyright-products-head { margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }
	.m-0 { margin: 0 !important; }
	.sub-note { font-size: 13px; }
	.email-link { color: var(--color-secondary); }
	.cert-badge-auth--ip { background: #475569 !important; }

	#company-info-cards { border-bottom: none; }

		/* 강점 섹션 CTA 안내 텍스트 모바일 줄바꿈 보강 */
		.strengths-cta-note { display: inline; margin-left: 10px; font-size: 13px; }
		@media (max-width: 640px) {
			.strengths-cta-note { display: block; margin-left: 0; margin-top: 8px; }
		}

	/* ── 인증서 모달 (A4 50% 축소 표시 / 모바일 최적화) ── */
	.cert-modal { position: fixed; inset: 0; z-index: 2000; display: none; align-items: center; justify-content: center; padding: 16px; }
	.cert-modal[aria-hidden="false"] { display: flex; }
	.cert-modal__backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.7); }
	.cert-modal__panel { position: relative; width: min(640px, 94vw); max-height: 94vh; display: flex; flex-direction: column; background: #fff; border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 25px 60px rgba(0,0,0,.45); }
	.cert-modal__header { display: flex; justify-content: space-between; padding: 12px 16px; background: var(--color-primary); color: #fff; align-items: center; flex-shrink: 0; gap: 12px; }
	.cert-modal__title { font-weight: 800; font-size: 15px; flex: 1; word-break: keep-all; line-height: 1.3; }
	.cert-modal__close { display: inline-flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.16); border: 1px solid rgba(255,255,255,0.4); color: #fff; cursor: pointer; font-size: 18px; padding: 0; border-radius: 8px; min-width: 40px; min-height: 36px; transition: 0.15s; flex-shrink: 0; }
	.cert-modal__close:hover { background: rgba(255,255,255,0.32); }
	.cert-modal__close:active { transform: scale(0.95); }
	.cert-modal__body { padding: 16px 18px 14px; background: #f1f5f9; text-align: center; flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }
	.cert-modal__img { max-width: min(595px, 100%); max-height: 60vh; width: auto; height: auto; cursor: zoom-out; -webkit-user-select: none; user-select: none; box-shadow: 0 6px 18px rgba(0,0,0,.12); border-radius: 4px; display: inline-block; }
	.cert-modal__img-hint { display: block; margin: 8px 2px 0; font-size: 11px; color: #94a3b8; }
	.cert-modal__verify { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; margin: 14px auto 4px; padding: 12px 14px; max-width: 100%; background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 12px; color: #334155; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
	.cert-modal__verify[hidden] { display: none !important; }
	.cert-modal__verify > i { color: #2563eb; font-size: 16px; align-self: flex-start; padding-top: 2px; }
	.cert-verify-body { flex: 1 1 240px; display: flex; flex-direction: column; gap: 4px; text-align: left; }
	.cert-modal__verify .cert-verify-label { line-height: 1.5; color: #475569; font-size: 12px; }
	.cert-verify-qr-hint { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: #2563eb; font-weight: 700; padding: 4px 0 0; }
	.cert-verify-qr-hint i { font-size: 13px; }
	.cert-verify-btn { display: inline-flex; align-items: center; gap: 5px; padding: 9px 14px; background: #2563eb; color: #fff !important; text-decoration: none; border-radius: 6px; font-size: 12px; font-weight: 700; transition: 0.2s; white-space: nowrap; min-height: 36px; }
	.cert-verify-btn:hover { background: #1d4ed8; transform: translateY(-1px); }
	.cert-modal__notice { margin: 10px 2px 0; font-size: 11px; line-height: 1.5; color: #64748b; }
	/* 모바일 최적화 */
	@media (max-width: 640px) {
		.cert-modal { padding: 8px; }
		.cert-modal__panel { width: 96vw; max-height: 96vh; border-radius: 10px; }
		.cert-modal__header { padding: 11px 14px; gap: 10px; }
		.cert-modal__title { font-size: 14px; }
		.cert-modal__close { min-width: 42px; min-height: 38px; font-size: 19px; }
		.cert-modal__body { padding: 14px 12px 12px; }
		.cert-modal__img { max-width: 100%; max-height: 54vh; }
		.cert-modal__img-hint { font-size: 10.5px; margin-top: 6px; }
		.cert-modal__verify { gap: 8px; padding: 11px 12px; margin-top: 12px; }
		.cert-modal__verify > i { align-self: center; padding-top: 0; }
		.cert-verify-body { flex: 1 1 100%; text-align: center; align-items: center; }
		.cert-modal__verify .cert-verify-label { font-size: 11.5px; }
		.cert-verify-qr-hint { justify-content: center; }
		.cert-verify-btn { width: 100%; justify-content: center; padding: 10px 14px; font-size: 12px; min-height: 40px; }
		.cert-modal__notice { font-size: 10.5px; }
	}
	@media (max-width: 640px) {
	 .hero { height: auto; padding: 40px 5vw; }
		.hero-content { grid-template-columns: 1fr; text-align: center; }
		.title-highlight { font-size: 7vw ;}
		.trust-bar { grid-template-columns: repeat(3, 1fr); margin-top: 30px; }
		.trust-card {align-items: center; text-align: left;}
		.product-grid, .cert-grid { grid-template-columns: repeat(2, 1fr); }
		.info-grid { grid-template-columns: 1fr; }
		.hero-btn-group { justify-content: center; }
		.panel { padding: 24px; }
		.panel .btn { padding: 10px 3vw; }
		.btn_flex {
			margin-top: 24px; display:flex; gap:0; 	justify-content: space-between;
		}
		.btn_flex .btn {
			width: 48%;
			padding: 10px 0;
		}
		.btn_flex .text-muted {
			margin-top: 15px;
		}
		section {padding: 50px 5vw; }
		section#company-info-cards {padding: 40px 5vw; }
		.nav-links { display: none; } 
		.hero-text h1 { font-size: 32px; }
		.trust-bar { grid-template-columns: 1fr; }
		.product-grid, .cert-grid { grid-template-columns: 1fr; }
		.t-row { grid-template-columns: 1fr; }
		.timeline:before { left: 6px; }
		.t-row:before { left: -14px; }
		.product-chip-grid { grid-template-columns: 1fr; }
		.section-title { font-size: 26px; text-align: center; }
		.section-desc { text-align: center; margin-left: auto; margin-right: auto; }
		.hero-text h1 { font-size: 28px; }
	}
