/* =============================================================
   ONSAEMIRO EDU v18 - 2026-04-19
   GIF 배경 + lianlogis 스타일 통합
   ============================================================= */
/* ═══ 1. GLOBAL ═══ */
html, body {
	overflow-x: hidden !important;
	max-width: 100vw !important;
	margin: 0 !important;
}

.wp-site-blocks {
	padding: 0 !important;
	margin: 0 !important;
}

.entry-content > * {
	max-width: 100% !important;
}

.entry-content > .alignwide,
.entry-content > .alignfull {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-group.alignfull {
	max-width: 100vw !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 홈/특정페이지 본문 여백 제거 - 히어로 풀스크린용 */
body.home .entry-content.wp-block-post-content,
body.home .entry-content.has-global-padding,
body.home .wp-block-post-content,
body.page-id-17 .entry-content.wp-block-post-content,
body.page-id-17 .entry-content.has-global-padding {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
}

body.home main, body.page-id-17 main {
	padding: 0 !important;
	margin: 0 !important;
}

a {
	color: #3b82f6;
}

a:hover {
	color: #0f172a;
}

/* ═══ 2. HEADER - 기본 (내부 페이지용) ═══ */
header.wp-block-template-part {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	background: #ffffff !important;
	border-bottom: 1px solid #e2e8f0 !important;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

/* 상단 연락처 바 숨김 */
header.wp-block-template-part > .wp-block-group:first-child {
	display: none !important;
}

/* 헤더 버튼/QR 숨김 */
header .wp-block-buttons,
header .wp-block-button,
.osm-header-cta,
img[src*="kakaotalk_2026"],
img[src*="qr-mini"],
.qr-mini-icon {
	display: none !important;
}

/* ═══ 3. HEADER - PC (로고 왼쪽, 메뉴 중앙) ═══ */
@media (min-width: 769px) {
	header.wp-block-template-part > .wp-block-group:nth-child(2),
																								  header.wp-block-template-part .is-content-justification-space-between {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 40px !important;
		min-height: 72px !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	
	/* 로고: 왼쪽 */
	header .osm-logo,
																								  header .wp-block-site-logo,
																								  header .wp-block-site-title {
		order: 0 !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
	}
	
	header .wp-block-site-logo img,
																								  header .custom-logo {
		max-height: 52px !important;
		height: 52px !important;
		width: auto !important;
	}
	
	/* 네비: 중앙 */
	header .wp-block-navigation {
		order: 1 !important;
		flex: 1 1 auto !important;
		display: flex !important;
		justify-content: center !important;
	}
	
	header .wp-block-navigation__responsive-container {
		display: block !important;
		position: static !important;
		width: auto !important;
		height: auto !important;
		background: transparent !important;
		padding: 0 !important;
		overflow: visible !important;
	}
	
	header .wp-block-navigation__container {
		display: flex !important;
		flex-direction: row !important;
		justify-content: center !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	header .wp-block-navigation .wp-block-navigation-item a,
																								  header .wp-block-navigation-item__content {
		font-size: 17px !important;
		font-weight: 600 !important;
		padding: 12px 20px !important;
		letter-spacing: .3px !important;
		color: #1e293b !important;
		text-decoration: none !important;
		transition: color .3s !important;
	}
	
	header .wp-block-navigation .wp-block-navigation-item a:hover {
		color: #00BFA6 !important;
	}
	
	/* 구분선 제거 */
	header .wp-block-navigation .wp-block-navigation-item:not(:last-child)::after {
		display: none !important;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
}

/* ═══ 4. HEADER - 홈 전용 투명 (흰 로고/메뉴) ═══ */
@media (min-width: 769px) {
	body.home header.wp-block-template-part,
																								  body.page-id-17 header.wp-block-template-part {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		border-bottom: none !important;
		box-shadow: none !important;
	}
	
	body.home header.wp-block-template-part .wp-block-group,
																								  body.home header.wp-block-template-part .wp-block-group.has-background,
																								  body.page-id-17 header.wp-block-template-part .wp-block-group,
																								  body.page-id-17 header.wp-block-template-part .wp-block-group.has-background {
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		border: none !important;
		box-shadow: none !important;
	}
	
	/* 흰 로고 */
	body.home header .wp-block-site-logo img,
																								  body.home header .custom-logo,
																								  body.page-id-17 header .wp-block-site-logo img,
																								  body.page-id-17 header .custom-logo {
		filter: brightness(0) invert(1) !important;
	}
	
	/* 흰 메뉴 */
	body.home header .wp-block-navigation-item a,
																								  body.home header .wp-block-navigation-item__content,
																								  body.page-id-17 header .wp-block-navigation-item a,
																								  body.page-id-17 header .wp-block-navigation-item__content {
		color: #ffffff !important;
		text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
	}
	
	body.home header .wp-block-navigation-item a:hover,
																								  body.page-id-17 header .wp-block-navigation-item a:hover {
		color: #00BFA6 !important;
	}
}

/* ═══ 5. HERO - GIF 배경 풀스크린 ═══ */
.osm-hero-wrapper {
	position: relative !important;
	width: 100vw !important;
	height: 100vh !important;
	min-height: 100vh !important;
	margin-left: calc(-50vw + 50%) !important;
	margin-top: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background-color: #0f172a !important;
	display: flex !important;
	align-items: center !important;
}

/* 홈에서 히어로를 헤더 밑으로 집어넣음 */
body.home .osm-hero-wrapper,
body.page-id-17 .osm-hero-wrapper {
	margin-top: 0 !important;
}

/* GIF 배경 - 전체 화면 커버 */
.osm-hero-bg {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
	background-image: url('https://osmredu.net/wp-content/uploads/2026/04/study1.gif') !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

/* 오버레이 */
.osm-hero-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(135deg, rgba(12,35,64,0.7) 0%, rgba(12,35,64,0.4) 50%, rgba(12,35,64,0.6) 100%) !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

/* 콘텐츠 */
.osm-hero-content {
	position: relative !important;
	z-index: 10 !important;
	max-width: 900px !important;
	padding: 0 8% !important;
	pointer-events: auto !important;
}

.osm-hero-eyebrow {
	display: block !important;
	font-size: 15px !important;
	letter-spacing: 2px !important;
	color: #00BFA6 !important;
	font-weight: 500 !important;
	margin: 0 0 16px !important;
}

.osm-hero-title {
	display: block !important;
	font-size: clamp(36px, 5vw, 60px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.2 !important;
	margin: 0 0 20px !important;
}

.osm-hero-desc {
	display: block !important;
	font-size: 17px !important;
	color: rgba(255,255,255,0.85) !important;
	line-height: 1.7 !important;
	margin: 0 0 32px !important;
}

.osm-hero-buttons {
	display: flex !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.osm-btn-primary {
	display: inline-block !important;
	padding: 14px 32px !important;
	background: #00BFA6 !important;
	color: #ffffff !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	text-decoration: none !important;
	transition: all .3s !important;
}

.osm-btn-primary:hover {
	background: #00a08c !important;
	transform: translateY(-2px) !important;
}

.osm-btn-secondary {
	display: inline-block !important;
	padding: 14px 32px !important;
	border: 2px solid rgba(255,255,255,0.5) !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	border-radius: 4px !important;
	background: transparent !important;
	transition: all .3s !important;
}

.osm-btn-secondary:hover {
	border-color: #00BFA6 !important;
	color: #00BFA6 !important;
	background: rgba(255,255,255,0.05) !important;
}

/* ═══ 6. SCROLL 흘러내리는 라인 애니메이션 ═══ */
.osm-scroll-indicator {
	position: absolute !important;
	bottom: 40px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	z-index: 20 !important;
	pointer-events: none !important;
}

.osm-scroll-text {
	font-size: 11px !important;
	letter-spacing: 4px !important;
	color: rgba(255,255,255,0.7) !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	display: block !important;
}

.osm-scroll-line-wrap {
	position: relative !important;
	width: 2px !important;
	height: 60px !important;
	background: rgba(255,255,255,0.2) !important;
	overflow: hidden !important;
	border-radius: 1px !important;
	display: block !important;
}

.osm-scroll-line-bar {
	position: absolute !important;
	top: -60px !important;
	left: 0 !important;
	width: 100% !important;
	height: 60px !important;
	background: linear-gradient(to bottom, transparent 0%, #00BFA6 40%, #ffffff 100%) !important;
	border-radius: 1px !important;
	display: block !important;
	animation: osmScrollFlow 2s cubic-bezier(0.4, 0, 0.2, 1) infinite !important;
}

/* 내부 자식 div 숨김 방지 해제 */
.osm-scroll-line-bar > div,
.osm-scroll-line-bar > span {
	display: none !important;
}

@keyframes osmScrollFlow {
	0% {
		top: -60px;
		opacity: 0;
	}
	
	20% {
		opacity: 1;
	}
	
	80% {
		opacity: 1;
	}
	
	100% {
		top: 60px;
		opacity: 0;
	}
}

/* ═══ 7. HERO - MOBILE ═══ */
@media (max-width: 768px) {
	.osm-hero-wrapper {
		width: 100vw !important;
		height: 100vh !important;
		min-height: 100vh !important;
		margin-left: 0 !important;
		margin-top: 0 !important;
	}
	
	.osm-hero-content {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: flex-start !important;
		padding: 80px 24px 120px !important;
		max-width: 100% !important;
	}
	
	.osm-hero-eyebrow {
		font-size: 11px !important;
		letter-spacing: 2.5px !important;
		margin: 0 0 14px !important;
	}
	
	.osm-hero-title {
		font-size: 32px !important;
		line-height: 1.25 !important;
		margin: 0 0 16px !important;
	}
	
	.osm-hero-desc {
		font-size: 14px !important;
		line-height: 1.65 !important;
		margin: 0 0 24px !important;
	}
	
	.osm-hero-buttons {
		gap: 10px !important;
	}
	
	.osm-btn-primary,
																								  .osm-btn-secondary {
		padding: 12px 24px !important;
		font-size: 14px !important;
		white-space: nowrap !important;
	}
	
	.osm-scroll-indicator {
		bottom: 24px !important;
		gap: 8px !important;
	}
	
	.osm-scroll-text {
		font-size: 10px !important;
		letter-spacing: 3px !important;
	}
	
	.osm-scroll-line-wrap {
		height: 50px !important;
	}
	
	.osm-scroll-line-bar {
		height: 50px !important;
		top: -50px !important;
	}
}

/* ═══ 8. HEADER - MOBILE ═══ */
@media (max-width: 768px) {
	/* 홈 - 투명 */
	body.home header.wp-block-template-part,
																								  body.page-id-17 header.wp-block-template-part {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 9999 !important;
		background: transparent !important;
		background-color: transparent !important;
		border-bottom: none !important;
		box-shadow: none !important;
	}
	
	body.home header.wp-block-template-part > .wp-block-group,
																								  body.page-id-17 header.wp-block-template-part > .wp-block-group {
		background: transparent !important;
		background-color: transparent !important;
	}
	
	/* 내부 페이지 - 흰 배경 */
	body:not(.home):not(.page-id-17) header.wp-block-template-part {
		position: sticky !important;
		background: #ffffff !important;
		border-bottom: 1px solid #e2e8f0 !important;
		box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
	}
	
	header.wp-block-template-part > .wp-block-group:nth-child(2),
																								  header.wp-block-template-part .is-content-justification-space-between {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 12px 16px !important;
		min-height: 56px !important;
		width: 100% !important;
	}
	
	/* 로고 */
	header .wp-block-site-logo img,
																								  header .custom-logo {
		max-height: 40px !important;
		width: auto !important;
	}
	
	body.home header .wp-block-site-logo img,
																								  body.home header .custom-logo,
																								  body.page-id-17 header .wp-block-site-logo img,
																								  body.page-id-17 header .custom-logo {
		filter: brightness(0) invert(1) !important;
	}
	
	/* 햄버거 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		cursor: pointer !important;
		z-index: 9999 !important;
	}
	
	body.home .wp-block-navigation__responsive-container-open,
																								  body.page-id-17 .wp-block-navigation__responsive-container-open {
		color: #ffffff !important;
	}
	
	body.home .wp-block-navigation__responsive-container-open svg,
																								  body.page-id-17 .wp-block-navigation__responsive-container-open svg {
		fill: #ffffff !important;
		width: 28px !important;
		height: 28px !important;
	}
	
	body:not(.home):not(.page-id-17) .wp-block-navigation__responsive-container-open {
		color: #1a1a2e !important;
	}
	
	body:not(.home):not(.page-id-17) .wp-block-navigation__responsive-container-open svg {
		fill: #1a1a2e !important;
		width: 28px !important;
		height: 28px !important;
	}
}

/* ═══ 9. MOBILE MENU 오버레이 ═══ */
@media (max-width: 768px) {
	.wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		max-width: 100vw !important;
		z-index: 2147483646 !important;
		background: rgba(12, 35, 64, 0.98) !important;
		background-color: rgba(12, 35, 64, 0.98) !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		box-sizing: border-box !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		padding-top: 80px !important;
		padding-bottom: 40px !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
		gap: 0 !important;
		background: transparent !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation-item {
		width: 100% !important;
		border-bottom: 1px solid rgba(255,255,255,0.12) !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation-item::after {
		display: none !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation-item a,
																								  .wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation-item__content {
		display: block !important;
		color: #ffffff !important;
		font-size: 18px !important;
		font-weight: 600 !important;
		padding: 20px 24px !important;
		text-align: center !important;
		text-decoration: none !important;
		width: 100% !important;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open
																								  .wp-block-navigation-item a:hover {
		color: #00BFA6 !important;
		background: rgba(255,255,255,0.05) !important;
	}
	
	.wp-block-navigation__responsive-container-close {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: fixed !important;
		top: 16px !important;
		right: 16px !important;
		z-index: 2147483647 !important;
		width: 44px !important;
		height: 44px !important;
		align-items: center !important;
		justify-content: center !important;
		background: rgba(255,255,255,0.15) !important;
		border: none !important;
		border-radius: 50% !important;
		cursor: pointer !important;
	}
	
	.wp-block-navigation__responsive-container-close svg {
		display: block !important;
		fill: #ffffff !important;
		width: 22px !important;
		height: 22px !important;
	}
	
	html.has-modal-open,
																								  body.has-modal-open {
		overflow: hidden !important;
	}
}

/* ═══ 10. PROGRAMS ═══ */
.osm-programs {
	padding: 100px 5% !important;
	background: #ffffff !important;
	text-align: center !important;
}

.osm-section-label {
	display: block !important;
	font-size: 13px !important;
	letter-spacing: 3px !important;
	color: #00BFA6 !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	margin: 0 auto 12px !important;
	text-align: center !important;
}

.osm-section-title {
	display: block !important;
	font-size: clamp(28px, 3.5vw, 42px) !important;
	font-weight: 800 !important;
	color: #0C2340 !important;
	line-height: 1.3 !important;
	margin: 0 auto 48px !important;
	text-align: center !important;
	max-width: 800px !important;
}

.osm-programs-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 24px !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
}

.osm-card {
	position: relative !important;
	background-color: #0C2340 !important;
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	min-height: 220px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: transform 0.4s, box-shadow .4s !important;
	cursor: default !important;
	border: none !important;
	box-shadow: none !important;
}

.osm-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 40px rgba(0,0,0,0.25) !important;
}

.osm-card-overlay {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: linear-gradient(to top, rgba(12,35,64,0.95) 0%, rgba(12,35,64,0.7) 50%, rgba(12,35,64,0.3) 100%) !important;
	z-index: 1 !important;
	transition: background .4s !important;
}

.osm-card:hover .osm-card-overlay {
	background: linear-gradient(to top, rgba(12,35,64,1) 0%, rgba(12,35,64,0.8) 50%, rgba(12,35,64,0.4) 100%) !important;
}

.osm-card-body {
	position: relative !important;
	z-index: 2 !important;
	padding: 28px 24px !important;
	text-align: left !important;
}

.osm-card-body h3,
.osm-card h3 {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 10px !important;
	text-shadow: 0 2px 8px rgba(0,0,0,0.7) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.osm-card-body p,
.osm-card p {
	font-size: 14px !important;
	color: rgba(255,255,255,0.9) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	text-shadow: 0 1px 6px rgba(0,0,0,0.6) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

@media (max-width: 768px) {
	.osm-programs {
		padding: 60px 20px !important;
	}
	
	.osm-programs-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
	
	.osm-card {
		min-height: 160px !important;
	}
	
	.osm-card-body {
		padding: 18px 14px !important;
	}
	
	.osm-card-body h3 {
		font-size: 14px !important;
	}
	
	.osm-card-body p {
		font-size: 11px !important;
	}
}

/* ═══ 11. ABOUT ═══ */
.osm-about {
	padding: 100px 5% !important;
	background-color: #0C2340 !important;
	text-align: center !important;
	color: #ffffff !important;
}

.osm-about-inner {
	max-width: 1100px !important;
	margin: 0 auto !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

.osm-section-label-light {
	display: block !important;
	width: 100% !important;
	font-size: 13px !important;
	letter-spacing: 3px !important;
	color: #00BFA6 !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 0 auto 12px !important;
}

.osm-about-title {
	display: block !important;
	width: 100% !important;
	font-size: clamp(28px, 4vw, 44px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	line-height: 1.3 !important;
	margin: 0 auto 20px !important;
	text-align: center !important;
}

.osm-about-desc {
	display: block !important;
	width: 100% !important;
	max-width: 700px !important;
	font-size: 16px !important;
	color: rgba(255,255,255,0.7) !important;
	line-height: 1.8 !important;
	margin: 0 auto 48px !important;
	text-align: center !important;
}

.osm-stats-divider {
	width: 100% !important;
	height: 1px !important;
	background: rgba(255,255,255,0.1) !important;
	margin: 0 0 48px !important;
}

.osm-stats-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 32px !important;
	width: 100% !important;
	text-align: center !important;
}

.osm-stat-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.osm-stat-number {
	display: block !important;
	font-size: clamp(24px, 2.5vw, 32px) !important;
	font-weight: 800 !important;
	color: #00BFA6 !important;
	letter-spacing: 1px !important;
	margin-bottom: 8px !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.osm-stat-label {
	display: block !important;
	font-size: 13px !important;
	color: rgba(255,255,255,0.6) !important;
	letter-spacing: .5px !important;
	line-height: 1.5 !important;
}

@media (max-width: 768px) {
	.osm-about {
		padding: 60px 20px !important;
	}
	
	.osm-stats-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 24px !important;
	}
	
	.osm-stat-number {
		font-size: 22px !important;
	}
	
	.osm-stat-label {
		font-size: 11px !important;
	}
}

/* ═══ 12. ARCHIVE ═══ */
.osm-archive {
	padding: 80px 5% !important;
	background: #F8FAFB !important;
	text-align: center !important;
}

.osm-archive-inner {
	max-width: 800px !important;
	margin: 0 auto !important;
}

.osm-archive .osm-section-label {
	color: #00BFA6 !important;
}

.osm-archive-title {
	font-size: clamp(24px, 3vw, 36px) !important;
	font-weight: 800 !important;
	color: #0C2340 !important;
	margin: 0 0 16px !important;
}

.osm-archive-desc {
	font-size: 16px !important;
	color: #666 !important;
	line-height: 1.7 !important;
	margin: 0 0 24px !important;
}

.osm-archive-link {
	display: inline-block !important;
	padding: 14px 36px !important;
	background: #0C2340 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	border-radius: 4px !important;
	transition: background .3s !important;
}

.osm-archive-link:hover {
	background: #1B6B93 !important;
}

/* ═══ 13. CTA BANNER ═══ */
.osm-cta-banner {
	padding: 80px 5% !important;
	background: linear-gradient(135deg, #1B6B93 0%, #0C2340 100%) !important;
	text-align: center !important;
	color: #ffffff !important;
}

.osm-cta-inner {
	max-width: 800px !important;
	margin: 0 auto !important;
}

.osm-cta-banner h2 {
	font-size: clamp(24px, 3vw, 36px) !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 12px !important;
}

.osm-cta-banner p {
	font-size: 16px !important;
	color: rgba(255,255,255,0.75) !important;
	margin: 0 0 32px !important;
}

.osm-cta-btns {
	display: flex !important;
	gap: 16px !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}

.osm-btn-white {
	display: inline-block !important;
	padding: 14px 32px !important;
	background: #ffffff !important;
	color: #0C2340 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-radius: 4px !important;
	transition: all .3s !important;
}

.osm-btn-white:hover {
	background: #00BFA6 !important;
	color: #fff !important;
}

.osm-btn-ghost {
	display: inline-block !important;
	padding: 14px 32px !important;
	border: 2px solid rgba(255,255,255,0.4) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-radius: 4px !important;
	background: transparent !important;
	transition: all .3s !important;
}

.osm-btn-ghost:hover {
	border-color: #00BFA6 !important;
	color: #00BFA6 !important;
}

@media (max-width: 768px) {
	.osm-cta-banner {
		padding: 60px 20px !important;
	}
	
	.osm-cta-btns {
		flex-direction: column !important;
	}
	
	.osm-btn-white,
																								  .osm-btn-ghost {
		width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* ═══ 14. 플로팅 버튼 - 작게 + 강한 글로우 ═══ */
.osm-float {
	position: fixed !important;
	right: 20px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 9999 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	align-items: center !important;
}

.osm-float-kakao,
.osm-float-consult {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px 16px !important;
	border-radius: 50px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	min-width: 84px !important;
	text-align: center !important;
	z-index: 1 !important;
	box-shadow: 0 0 0 3px rgba(0,191,166,0.5), 0 0 16px 4px rgba(0,191,166,0.7), 0 0 32px 6px rgba(0,229,255,0.4) !important;
	animation: osmGlowPulse 2s ease-in-out infinite !important;
	transition: transform .3s !important;
}

.osm-float-kakao {
	background: #FEE500 !important;
	color: #3C1E1E !important;
}

.osm-float-consult {
	background: #0C2340 !important;
	color: #ffffff !important;
}

.osm-float-kakao:hover,
.osm-float-consult:hover {
	transform: translateY(-2px) scale(1.05) !important;
	box-shadow: 0 0 0 4px rgba(0,191,166,0.8), 0 0 24px 8px rgba(0,191,166,0.9), 0 0 48px 12px rgba(0,229,255,0.6) !important;
}

@keyframes osmGlowPulse {
	0%, 100% {
		box-shadow: 0 0 0 3px rgba(0,191,166,0.5), 0 0 16px 4px rgba(0,191,166,0.7), 0 0 32px 6px rgba(0,229,255,0.4);
	}
	
	25% {
		box-shadow: 0 0 0 3px rgba(0,229,255,0.6), 0 0 18px 5px rgba(0,229,255,0.8), 0 0 36px 8px rgba(59,130,246,0.5);
	}
	
	50% {
		box-shadow: 0 0 0 3px rgba(59,130,246,0.6), 0 0 20px 6px rgba(59,130,246,0.8), 0 0 40px 10px rgba(0,191,166,0.5);
	}
	
	75% {
		box-shadow: 0 0 0 3px rgba(0,220,180,0.7), 0 0 18px 5px rgba(0,220,180,0.8), 0 0 36px 8px rgba(0,229,255,0.5);
	}
}

@media (max-width: 768px) {
	.osm-float {
		right: 12px !important;
		gap: 8px !important;
	}
	
	.osm-float-kakao,
																								  .osm-float-consult {
		padding: 7px 14px !important;
		font-size: 11px !important;
		min-width: 72px !important;
	}
}

/* ═══ 15. FOOTER ═══ */
footer.wp-block-template-part {
	background: #0C2340 !important;
}

footer .wp-block-site-title a {
	color: #ffffff !important;
}

footer p, footer span, footer a {
	color: rgba(255,255,255,0.7) !important;
}

footer .wp-block-site-logo,
footer .custom-logo-link,
footer .wp-block-image {
	display: none !important;
}

/* ═══ 16. 상담문의 페이지 ═══ */
.page-id-26 .entry-content {
	max-width: 900px !important;
	margin: 0 auto !important;
	padding: 0 24px !important;
}

.googlemaps {
	width: 100% !important;
	height: 450px !important;
	overflow: hidden !important;
	border-radius: 12px !important;
}

.googlemaps iframe {
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}

@media (max-width: 768px) {
	.page-id-26 .entry-content {
		padding: 0 16px !important;
	}
	
	.googlemaps {
		height: 320px !important;
	}
}

/* ═══ 17. 학원소개 페이지 기존 시스템 유지 ═══ */
.page-id-1 .entry-title,
.page-id-1 .wp-block-post-title,
body.page-id-1 header.entry-header {
	display: none !important;
}

.osm-highlight-box {
	background: linear-gradient(135deg, #f0f9ec 0%, #e3f2db 100%) !important;
	border-left: 5px solid #8EC641 !important;
	border-radius: 0 12px 12px 0 !important;
	padding: 24px 28px !important;
}

.osm-badge {
	display: inline-block !important;
	background: linear-gradient(135deg, #8EC641 0%, #72B33A 100%) !important;
	color: #ffffff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	padding: 6px 18px !important;
	border-radius: 20px !important;
	letter-spacing: 1px !important;
	margin-bottom: 10px !important;
}

.osm-chip {
	display: inline-block !important;
	background: #f0f9ec !important;
	color: #5C9E2E !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 6px 16px !important;
	border-radius: 20px !important;
	border: 1px solid #c8e6c0 !important;
	margin: 4px !important;
}

/* ═══ 18. Jetpack 슬라이더 (내부 페이지용) ═══ */
.osm-hero-slideshow {
	margin-bottom: 32px !important;
	border-radius: 0 0 12px 12px !important;
	overflow: visible !important;
}

.osm-hero-slideshow .swiper-slide img {
	width: 100% !important;
	height: 550px !important;
	object-fit: cover !important;
}

@media (max-width: 782px) {
	.osm-hero-slideshow .swiper-slide img {
		height: 320px !important;
		object-position: left center !important;
	}
}

/* =============================================================
   END v18
   ============================================================= */
/* =============================================================
   v18 HOTFIX - 5-FIX APPEND 2026-04-19
   절대 이 블록 위의 기존 CSS를 수정하지 마세요.
   ============================================================= */
/* ═══════════════════════════════════════════════════
   FIX 1 — 흰색 로고 이미지 강제 삽입
   ═══════════════════════════════════════════════════ */
body.home header .wp-block-site-title,
body.page-id-17 header .wp-block-site-title,
body.home header .wp-block-site-title a,
body.page-id-17 header .wp-block-site-title a {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
	text-decoration: none !important;
}

body.home header .wp-block-site-title a,
body.page-id-17 header .wp-block-site-title a {
	display: inline-block !important;
	width: 220px !important;
	height: 52px !important;
	background-image: url('https://osmredu.net/wp-content/uploads/2026/04/ed88acebaa85eba19ceab3a0.png') !important;
	background-size: contain !important;
	background-repeat: no-repeat !important;
	background-position: left center !important;
}

@media (max-width: 768px) {
	body.home header .wp-block-site-title a,
																								  body.page-id-17 header .wp-block-site-title a {
		width: 160px !important;
		height: 40px !important;
		background-image: url('https://osmredu.net/wp-content/uploads/2026/04/ed88acebaa85eba19ceab3a0.png') !important;
	}
}

/* ═══════════════════════════════════════════════════
   FIX 2 — 플로팅 버튼 위아래 간격 좁히기
   ═══════════════════════════════════════════════════ */
html body .osm-float,
body .osm-float,
.osm-float[class] {
	gap: 4px !important;
}

@media (max-width: 768px) {
	html body .osm-float,
																								  body .osm-float,
																								  .osm-float[class] {
		gap: 3px !important;
	}
}

/* ═══════════════════════════════════════════════════
   FIX 3 — SCROLL 라인 위→아래 흐름 애니메이션
   ═══════════════════════════════════════════════════ */
.osm-scroll-line-bar > div,
.osm-scroll-line-bar > span,
.osm-scroll-line-bar * {
	display: none !important;
}

.osm-scroll-line-wrap {
	position: relative !important;
	width: 2px !important;
	height: 60px !important;
	background: rgba(255,255,255,0.2) !important;
	overflow: hidden !important;
	border-radius: 1px !important;
	display: block !important;
	margin: 0 auto !important;
}

.osm-scroll-line-bar {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 30px !important;
	background: linear-gradient(to bottom,
    rgba(0,191,166,0) 0%,
    rgba(0,191,166,0.5) 30%,
    #00BFA6 70%,
    #ffffff 100%) !important;
	border-radius: 1px !important;
	display: block !important;
	animation: osmScrollFlowV2 1.8s linear infinite !important;
}

@keyframes osmScrollFlowV2 {
	0% {
		transform: translateY(-100%);
		opacity: 0;
	}
	
	20% {
		opacity: 1;
	}
	
	80% {
		opacity: 1;
	}
	
	100% {
		transform: translateY(200%);
		opacity: 0;
	}
}

@keyframes osmScrollLine {
	0%, 100% {
		transform: none;
	}
}

@keyframes osmScrollFlow {
	0%, 100% {
		transform: none;
	}
}

/* ═══════════════════════════════════════════════════
   FIX 4 — 모바일 SCROLL 위치 위로
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.osm-scroll-indicator {
		bottom: auto !important;
		top: 58% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		gap: 6px !important;
	}
	
	.osm-scroll-text {
		font-size: 10px !important;
		letter-spacing: 3px !important;
		color: rgba(255,255,255,0.7) !important;
	}
	
	.osm-scroll-line-wrap {
		width: 2px !important;
		height: 45px !important;
	}
	
	.osm-scroll-line-bar {
		height: 24px !important;
	}
}

/* ═══════════════════════════════════════════════════
   FIX 5 — 모바일 햄버거 3줄 아이콘 강제
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
	.wp-block-navigation__responsive-container-open svg {
		display: none !important;
	}
	
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		cursor: pointer !important;
		position: relative !important;
		z-index: 9999 !important;
	}
	
	.wp-block-navigation__responsive-container-open::before {
		content: '' !important;
		display: block !important;
		position: absolute !important;
		width: 24px !important;
		height: 2px !important;
		background: #ffffff !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		border-radius: 1px !important;
		box-shadow: 0 -8px 0 0 #ffffff, 0 8px 0 0 #ffffff !important;
	}
	
	body:not(.home):not(.page-id-17) .wp-block-navigation__responsive-container-open::before {
		background: #1a1a2e !important;
		box-shadow: 0 -8px 0 0 #1a1a2e, 0 8px 0 0 #1a1a2e !important;
	}
	
	.wp-block-navigation__responsive-container-open::after {
		display: none !important;
	}
}

/* =============================================================
   END v18 HOTFIX
   ============================================================= */
/* ═══ FIX 1 PATCH — 부모 text-indent 해제 ═══ */
body.home header .wp-block-site-title,
body.page-id-17 header .wp-block-site-title {
	text-indent: 0 !important;
	overflow: visible !important;
	display: inline-block !important;
}

body.home header .wp-block-site-title a,
body.page-id-17 header .wp-block-site-title a {
	text-indent: 0 !important;
	overflow: hidden !important;
}

/* =============================================================
   v19 PATCH — 3-FIX 2026-04-19
   1. 플로팅 버튼 간격+위치
   2. 웹 네비 하단 흰색 라인
   3. 로고 크기 확대
   ============================================================= */
/* ═══ PATCH 1 — 플로팅 버튼 간격 완전 좁히기 + 위치 상단 이동 ═══ */
html body .osm-float,
body .osm-float,
.osm-float[class] {
	gap: 2px !important;
	bottom: auto !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

@media (max-width: 768px) {
	html body .osm-float,
																								  body .osm-float,
																								  .osm-float[class] {
		gap: 2px !important;
		top: 40% !important;
		bottom: auto !important;
		transform: translateY(-50%) !important;
	}
}

/* ═══ PATCH 2 — 웹 네비게이션 메뉴 하단 흰색 라인 ═══ */
@media (min-width: 769px) {
	header.wp-block-template-part .wp-block-navigation .wp-block-navigation__container {
		border-bottom: 1px solid rgba(255,255,255,0.3) !important;
		padding-bottom: 8px !important;
	}
}

/* ═══ PATCH 3 — 로고 크기 확대 ═══ */
body.home header .wp-block-site-title a,
body.page-id-17 header .wp-block-site-title a {
	width: 280px !important;
	height: 66px !important;
}

@media (max-width: 768px) {
	body.home header .wp-block-site-title a,
																								  body.page-id-17 header .wp-block-site-title a {
		width: 200px !important;
		height: 50px !important;
	}
}

/* ═══ END v19 PATCH ═══ */
/* ═══ PATCH 1-B — 플로팅 버튼 BR 태그 제거 + 간격 강제 ═══ */
.osm-float br,
.osm-float[class] br,
html body .osm-float br {
	display: none !important;
	height: 0 !important;
	line-height: 0 !important;
	font-size: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.osm-float .osm-float-kakao,
.osm-float .osm-float-consult {
	margin: 0 !important;
	padding: 6px 14px !important;
}

/* ═══ PATCH 1-C — 플로팅 버튼 위치 상단 + 간격 조정 ═══ */
html body .osm-float,
body .osm-float,
.osm-float[class] {
	top: 30% !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	gap: 6px !important;
}

@media (max-width: 768px) {
	html body .osm-float,
																								  body .osm-float,
																								  .osm-float[class] {
		top: 25% !important;
		bottom: auto !important;
		transform: translateY(-50%) !important;
		gap: 6px !important;
	}
}

/* ===== 작업1: 웹 소셜 링크 ===== */
@media (min-width: 769px) {
	.osm-social-links {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		margin-right: 16px !important;
	}
	
	.osm-social-naver img, .osm-social-youtube img {
		width: 28px !important;
		height: 28px !important;
		object-fit: contain !important;
		opacity: .85 !important;
		transition: opacity .2s !important;
		display: block !important;
	}
	
	.osm-social-naver:hover img, .osm-social-youtube:hover img {
		opacity: 1 !important;
	}
}

@media (max-width: 768px) {
	.osm-social-links {
		display: none !important;
	}
}

/* ===== 작업2: 네비 중앙정렬 + 폰트 ===== */
@media (min-width: 769px) {
	header .wp-block-navigation {
		flex: 1 !important;
		display: flex !important;
		justify-content: center !important;
	}
	
	header .wp-block-navigation .wp-block-navigation__container {
		justify-content: center !important;
	}
	
	header .wp-block-navigation-item__content, header .wp-block-navigation .wp-block-navigation-item a {
		font-size: 17px !important;
		font-weight: 600 !important;
		letter-spacing: .2px !important;
	}
}

/* ===== 작업3: 모바일 플로팅 소셜 ===== */
@media (max-width: 768px) {
	.osm-float-social {
		display: flex !important;
		flex-direction: row !important;
		gap: 6px !important;
		align-items: center !important;
		justify-content: center !important;
		margin-top: 4px !important;
	}
	
	.osm-float-social a img {
		width: 22px !important;
		height: 22px !important;
		object-fit: contain !important;
		display: block !important;
		opacity: .85 !important;
		border-radius: 4px !important;
	}
	
	.osm-float-social a:hover img {
		opacity: 1 !important;
	}
}

@media (min-width: 769px) {
	.osm-float-social {
		display: none !important;
	}
}

/* ===== 작업4: 글로우 축소 ===== */
.osm-float-kakao, .osm-float-consult {
	box-shadow: 0 0 6px rgba(0,191,166,0.35), 0 0 12px rgba(0,191,166,0.15) !important;
	border: 1.5px solid rgba(0,191,166,0.5) !important;
}

.osm-float-kakao:hover, .osm-float-consult:hover {
	box-shadow: 0 0 10px rgba(0,191,166,0.5), 0 0 20px rgba(0,191,166,0.25) !important;
}

@keyframes borderGlow {
	0%, 100% {
		border-color: rgba(0,191,166,0.5) !important;
		filter: drop-shadow(0 0 3px rgba(0,191,166,0.3)) !important;
	}
	
	50% {
		border-color: rgba(0,150,255,0.5) !important;
		filter: drop-shadow(0 0 5px rgba(0,150,255,0.3)) !important;
	}
}

/* =============================================================
   v20 PATCH — 소셜로고 재배치 + 네비 글자 확대 + 모바일 정렬
   2026-04-20
   ============================================================= */
/* ═══ A. 웹 — 소셜로고 크기·정렬 통일 (이미 네비 뒤 위치에 있음) ═══ */
@media (min-width: 769px) {
	.osm-social-links {
		display: flex !important;
		align-items: center !important;
		gap: 14px !important;
		margin-left: 20px !important;
		margin-right: 16px !important;
		flex: 0 0 auto !important;
	}
	
	.osm-social-links a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 40px !important;
		height: 40px !important;
		padding: 0 !important;
		line-height: 0 !important;
		text-decoration: none !important;
	}
	
	.osm-social-links a img {
		width: 38px !important;
		height: 38px !important;
		min-width: 38px !important;
		min-height: 38px !important;
		max-width: 38px !important;
		max-height: 38px !important;
		object-fit: contain !important;
		object-position: center !important;
		display: block !important;
		opacity: .9 !important;
		transition: opacity 0.2s, transform .2s !important;
	}
	
	.osm-social-links a:hover img {
		opacity: 1 !important;
		transform: scale(1.08) !important;
	}
}

/* ═══ B. 웹 — 네비게이션 메뉴 글자 확대 (17px → 19px) ═══ */
@media (min-width: 769px) {
	header .wp-block-navigation .wp-block-navigation-item a,
																						  header .wp-block-navigation-item__content,
																						  header .wp-block-navigation-item__label {
		font-size: 19px !important;
		font-weight: 700 !important;
		letter-spacing: .3px !important;
		padding: 12px 22px !important;
	}
	
	/* 인라인 style로 박힌 clamp() 폰트사이즈 강제 덮어쓰기 */
	header nav.wp-block-navigation[style*="font-size"],
																						  header ul.wp-block-navigation__container[style*="font-size"],
																						  header li.wp-block-navigation-item[style*="font-size"] {
		font-size: 19px !important;
	}
}

/* ═══ C. 모바일 — 소셜로고를 햄버거 왼쪽에 배치 ═══ */
@media (max-width: 768px) {
	/* 헤더 2번째 줄 flex 컨테이너의 자식 순서 제어 */
	header .wp-block-group.is-content-justification-space-between {
		align-items: center !important;
		gap: 8px !important;
	}
	
	/* 로고: 왼쪽 끝 */
	header .osm-logo {
		order: 1 !important;
		flex: 0 0 auto !important;
		margin-right: auto !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
	
	/* 소셜 링크: 햄버거보다 앞(왼쪽) */
	header .osm-social-links {
		order: 2 !important;
		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
		margin: 0 !important;
	}
	
	.osm-social-links a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 36px !important;
		height: 36px !important;
		padding: 0 !important;
		line-height: 0 !important;
		text-decoration: none !important;
	}
	
	.osm-social-links a img {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		min-height: 32px !important;
		max-width: 32px !important;
		max-height: 32px !important;
		object-fit: contain !important;
		object-position: center !important;
		display: block !important;
		opacity: .95 !important;
		filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35)) !important;
	}
	
	/* 네비(햄버거 포함): 소셜 다음, 오른쪽 끝 */
	header nav.wp-block-navigation {
		order: 3 !important;
		flex: 0 0 auto !important;
		margin-left: 4px !important;
	}
	
	/* 무료 상담 버튼: 모바일에서 숨김 (공간 부족) */
	header .wp-block-buttons {
		display: none !important;
	}
}

/* ═══ D. 모바일 — 온새미로 로고 왼쪽 끝 밀착 ═══ */
@media (max-width: 768px) {
	header.wp-block-template-part > .wp-block-group {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	
	header .osm-logo h1.wp-block-site-title {
		margin: 0 !important;
		padding: 0 !important;
	}
	
	header .osm-logo h1.wp-block-site-title a {
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
}

/* ═══ E. 플로팅 버튼 내부 .osm-float-social 완전 숨김 (안전장치) ═══ */
.osm-float-social,
.osm-float .osm-float-social {
	display: none !important;
	visibility: hidden !important;
}

/* ═══ END v20 PATCH ═══ */
/* =============================================================
   v20-FIX — 소셜로고 위치 재배치 (웹: 오른쪽 끝 / 모바일: 햄버거 왼쪽)
   2026-04-20
   ============================================================= */
/* ═══ 웹 — 소셜로고 가장 오른쪽 끝 배치 ═══ */
@media (min-width: 769px) {
	/* 헤더 2번째 줄 flex 컨테이너 순서 제어 */
	header .osm-logo {
		order: 1 !important;
	}
	
	header nav.wp-block-navigation {
		order: 2 !important;
		flex: 1 1 auto !important;
	}
	
	/* 무료상담 버튼 숨김 — 소셜로고가 대체 */
	header .wp-block-buttons {
		order: 3 !important;
		display: none !important;
	}
	
	/* 소셜로고: 가장 오른쪽 끝 */
	header .osm-social-links {
		order: 4 !important;
		margin-left: auto !important;
		margin-right: 0 !important;
	}
}

/* ═══ 모바일 — 소셜로고 햄버거 왼쪽 배치 ═══ */
@media (max-width: 768px) {
	header .osm-logo {
		order: 1 !important;
	}
	
	header .osm-social-links {
		order: 2 !important;
		margin-left: auto !important;
		margin-right: 4px !important;
	}
	
	header nav.wp-block-navigation {
		order: 3 !important;
		margin-left: 0 !important;
	}
}

/* ═══ END v20-FIX ═══ */
/* =============================================================
   v20-FIX2 — 소셜로고 동일 크기 보이게 (비율 보정)
   블로그=정사각형(1042x1043) / 유튰브=가로형(580x238, 2.44:1)
   ============================================================= */
/* ══ 웹: 블로그 34x34, 유트브 높이 맞춤 — 시각적 동일 크기 ══ */
@media (min-width: 769px) {
	/* 블로그 아이콘 (1번째) */
	.osm-social-links a:first-child {
		width: 36px !important;
		height: 36px !important;
	}
	
	.osm-social-links a:first-child img {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		min-height: 34px !important;
		max-width: 34px !important;
		max-height: 34px !important;
	}
	
	/* 유튰브 아이콘 (2번째) — 넓게 펼쳐서 동일 높이 */
	.osm-social-links a:nth-child(2) {
		width: auto !important;
		height: 36px !important;
		min-width: 50px !important;
	}
	
	.osm-social-links a:nth-child(2) img {
		width: auto !important;
		height: 30px !important;
		min-width: auto !important;
		min-height: 30px !important;
		max-width: 80px !important;
		max-height: 30px !important;
		object-fit: contain !important;
	}
}

/* ══ 모바일: 블로그 28x28, 유트브 높이 맞춤 ══ */
@media (max-width: 768px) {
	.osm-social-links a:first-child {
		width: 30px !important;
		height: 30px !important;
	}
	
	.osm-social-links a:first-child img {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
		max-width: 28px !important;
		max-height: 28px !important;
	}
	
	.osm-social-links a:nth-child(2) {
		width: auto !important;
		height: 30px !important;
		min-width: 40px !important;
	}
	
	.osm-social-links a:nth-child(2) img {
		width: auto !important;
		height: 24px !important;
		min-width: auto !important;
		min-height: 24px !important;
		max-width: 65px !important;
		max-height: 24px !important;
		object-fit: contain !important;
	}
}

/* ══ END v20-FIX2 ══ */
/* v20-FIX3 — 모바일 로고 왼쪽 끝 강제 정렬 */
@media (max-width: 768px) {
	/* 플렉스 부모: space-between → flex-start 오버라이드 */
	header .wp-block-group.is-content-justification-space-between,
																						  header.wp-block-template-part .wp-block-group.is-content-justification-space-between {
		justify-content: flex-start !important;
	}
	
	/* 헤더 내부 패딩 최소화 */
	header.wp-block-template-part > .wp-block-group,
																						  header .wp-block-group.is-content-justification-space-between {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
	
	/* 로고: 왼쪽 끝 밀착, 오른쪽 자동 마진으로 나머지 요소 밀기 */
	header .osm-logo {
		order: 1 !important;
		margin-left: 0 !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		flex-shrink: 0 !important;
	}
	
	/* 로고 내부 요소 마진/패딩 제거 */
	header .osm-logo h1,
																						  header .osm-logo .wp-block-site-title,
																						  header .osm-logo h1 a,
																						  header .osm-logo .wp-block-site-title a {
		margin-left: 0 !important;
		padding-left: 0 !important;
		text-align: left !important;
	}
	
	/* 소셜링크: 로고 다음, 햄버거 왼쪽 */
	header .osm-social-links {
		order: 2 !important;
		margin-left: 0 !important;
		margin-right: 4px !important;
	}
	
	/* 네비게이션(햄버거): 맨 오른쪽 */
	header nav.wp-block-navigation {
		order: 3 !important;
		margin-left: 0 !important;
	}
}

/* v24 — 모바일 로고 왼쪽 끝 (특이도 일치 오버라이드) */
@media (max-width: 768px) {
	header.wp-block-template-part > .wp-block-group:nth-child(2),
																						  header.wp-block-template-part .is-content-justification-space-between {
		justify-content: flex-start !important;
		padding-left: 0 !important;
	}
}

/* =============================================================
   v25 PATCH — 학원소개 페이지 전면 재설계 (완전판)
   2026-04-24
   ============================================================= */
/* === HERO === */
.page-id-1 .osm-about-hero {
	position: relative;
	min-height: 600px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	text-align: center;
	padding: 0 20px;
}

.page-id-1 .osm-about-hero::before {
	content: '';
	position: absolute;
	background: rgba(12,35,64,0.55);
}

.page-id-1 .osm-about-hero > * {
	position: relative;
	z-index: 2;
}

.page-id-1 .osm-about-hero h1 {
	font-size: clamp(28px, 5vw, 48px);
	font-weight: 800;
	margin-bottom: 16px;
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

/* === SECTION 공통 === */
.page-id-1 .osm-section {
	padding: 80px 5%;
	max-width: 1400px;
	margin: 0 auto;
}

.page-id-1 .osm-section-title {
	font-size: clamp(28px, 3.5vw, 42px);
	font-weight: 800;
	color: #0C2340;
	text-align: center;
	margin-bottom: 16px;
}

.page-id-1 .osm-section-subtitle {
	font-size: 16px;
	color: #666;
	text-align: center;
	margin-bottom: 48px;
}

/* === SECTION 02 - STEP 카드 === */
.page-id-1 .osm-step-card {
	position: relative;
	background-size: cover;
	background-position: center;
	min-height: 300px;
	border-radius: 16px;
	overflow: hidden;
	color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px 24px;
	transition: transform .3s;
}

.page-id-1 .osm-step-card::before {
	content: '';
	position: absolute;
	background: rgba(12,35,64,0.65);
	z-index: 1;
}

.page-id-1 .osm-step-card > * {
	position: relative;
	z-index: 2;
	text-shadow: 0 2px 6px rgba(0,0,0,0.6);
}

.page-id-1 .osm-step-card:hover {
	transform: translateY(-4px);
}

.page-id-1 .osm-steps-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* === SECTION 03 - 시험분석지 === */
.page-id-1 .osm-exam-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
}

.page-id-1 .osm-exam-grid img {
	width: 100%;
	min-height: 500px;
	object-fit: cover;
	border-radius: 8px;
	cursor: zoom-in;
	transition: transform 0.3s, box-shadow .3s;
	box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.page-id-1 .osm-exam-grid img:hover {
	transform: scale(1.02);
	box-shadow: 0 8px 32px rgba(0,0,0,0.15);
}

/* === SECTION 04 - 과목 카드 === */
.page-id-1 .osm-subject-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto 48px;
}

.page-id-1 .osm-subject-card {
	border-radius: 16px;
	padding: 48px 24px;
	text-align: center;
	transition: transform 0.3s, box-shadow .3s;
}

.page-id-1 .osm-subject-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}

.page-id-1 .osm-subject-card.korean {
	background: linear-gradient(135deg, #FFF4E6 0%, #FFE0BC 100%);
}

.page-id-1 .osm-subject-card.english {
	background: linear-gradient(135deg, #E6F4FF 0%, #BCD6FF 100%);
}

.page-id-1 .osm-subject-card.math {
	background: linear-gradient(135deg, #E6FFF8 0%, #BCF0E0 100%);
}

.page-id-1 .osm-subject-card img {
	width: 72px;
	height: 72px;
	margin-bottom: 16px;
}

.page-id-1 .osm-subject-card h3 {
	color: #0C2340;
	font-weight: 800;
	font-size: 22px;
	margin-bottom: 12px;
}

/* === SECTION 04 - 영어 5영역 / 국어 5영역 공통 도형 === */
.page-id-1 .osm-skill-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
}

.page-id-1 .osm-skill-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 200px;
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	transition: transform .3s;
}

.page-id-1 .osm-skill-badge:hover {
	transform: scale(1.05);
}

.page-id-1 .osm-skill-badge img {
	width: 80px;
	height: 80px;
	margin-bottom: 12px;
}

.page-id-1 .osm-skill-badge span {
	color: #0C2340;
	font-weight: 700;
	font-size: 16px;
}

.page-id-1 .osm-skill-english {
	background: linear-gradient(135deg, #E6F4FF 0%, #BCD6FF 100%);
}

.page-id-1 .osm-skill-korean {
	background: linear-gradient(135deg, #FFF4E6 0%, #FFE0BC 100%);
}

/* === SECTION 04 - 수학 4단계 === */
.page-id-1 .osm-math-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	max-width: 1200px;
	margin: 0 auto;
}

.page-id-1 .osm-math-step {
	background: linear-gradient(135deg, #E6FFF8 0%, #BCF0E0 100%);
	border-radius: 16px;
	padding: 32px 20px;
	text-align: center;
	min-height: 240px;
	position: relative;
}

.page-id-1 .osm-math-step .step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: #00BFA6;
	color: #FFFFFF;
	border-radius: 50%;
	font-weight: 800;
	margin-bottom: 16px;
}

.page-id-1 .osm-math-step img {
	width: 64px;
	height: 64px;
	margin: 16px 0;
}

.page-id-1 .osm-math-step h4 {
	color: #0C2340;
	font-weight: 700;
}

/* === SECTION 05 - AI 프로그램 === */
.page-id-1 .osm-ai-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	background: linear-gradient(135deg, #F8FAFB 0%, #E6F4FF 100%);
	padding: 60px 40px;
	border-radius: 16px;
}

.page-id-1 .osm-ai-section img {
	width: 100%;
	border-radius: 12px;
}

.page-id-1 .osm-ai-point {
	display: flex;
	gap: 16px;
	margin-bottom: 24px;
}

.page-id-1 .osm-ai-point-icon {
	flex: 0 0 48px;
	height: 48px;
	color: #00BFA6;
}

/* === SECTION 06 - CTA === */
.page-id-1 .osm-cta-section {
	background: linear-gradient(135deg, #1B6B93 0%, #0C2340 100%);
	padding: 80px 20px;
	text-align: center;
	color: #FFFFFF;
	border-radius: 16px;
	margin-top: 80px;
}

.page-id-1 .osm-cta-section h2 {
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 800;
	color: #FFFFFF;
	margin-bottom: 16px;
}

.page-id-1 .osm-cta-buttons {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 32px;
}

.page-id-1 .osm-cta-btn {
	display: inline-block;
	padding: 16px 32px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
	transition: transform .3s;
}

.page-id-1 .osm-cta-btn:hover {
	transform: translateY(-2px);
}

.page-id-1 .osm-cta-btn-phone {
	background: #FFFFFF;
	color: #0C2340;
}

.page-id-1 .osm-cta-btn-kakao {
	background: #FEE500;
	color: #3C1E1E;
}

.page-id-1 .osm-cta-btn-visit {
	background: transparent;
	color: #FFFFFF;
	border: 2px solid rgba(255,255,255,0.5);
}

/* === 이모티콘·깨진 문자 완전 제거 === */
.page-id-1 .emoji {
	display: none !important;
}

/* === 기존 osm-icon-* PNG 숨김 === */
.page-id-1 img[src*="osm-icon-reading"],
.page-id-1 img[src*="osm-icon-speaking"],
.page-id-1 img[src*="osm-icon-literature"],
.page-id-1 img[src*="osm-icon-grammar"],
.page-id-1 img[src*="osm-icon-comprehension"] {
	display: none !important;
}

/* === 모바일 반응형 === */
@media (max-width: 768px) {
	.page-id-1 .osm-section {
		padding: 60px 20px;
	}
	
	.page-id-1 .osm-about-hero {
		min-height: 480px;
	}
	
	.page-id-1 .osm-steps-grid {
		grid-template-columns: 1fr;
	}
	
	.page-id-1 .osm-step-card {
		min-height: 240px;
	}
	
	.page-id-1 .osm-exam-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.page-id-1 .osm-exam-grid img {
		min-height: 400px;
	}
	
	.page-id-1 .osm-subject-grid {
		grid-template-columns: 1fr;
	}
	
	.page-id-1 .osm-skill-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.page-id-1 .osm-skill-grid > :nth-child(5) {
		grid-column: 1 / -1;
		max-width: 50%;
		margin: 0 auto;
	}
	
	.page-id-1 .osm-skill-badge {
		min-height: 160px;
	}
	
	.page-id-1 .osm-skill-badge img {
		width: 56px;
		height: 56px;
	}
	
	.page-id-1 .osm-math-steps {
		grid-template-columns: 1fr;
	}
	
	.page-id-1 .osm-ai-section {
		grid-template-columns: 1fr;
		padding: 40px 24px;
	}
	
	.page-id-1 .osm-cta-buttons {
		flex-direction: column;
	}
	
	.page-id-1 .osm-cta-btn {
		width: 100%;
		box-sizing: border-box;
	}
}

/* END v25 PATCH */
/* === v25 FIX — SECTION 05 레이아웃 보정 === */
.page-id-1 .osm-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}

.page-id-1 .osm-two-col img {
	width: 100%;
	max-height: 500px;
	object-fit: cover;
	border-radius: 12px;
}

.page-id-1 .osm-consult-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
	margin-top: 60px;
}

.page-id-1 .osm-consult-section img {
	width: 100%;
	max-height: 500px;
	object-fit: cover;
	border-radius: 12px;
}

.page-id-1 .osm-parent-section {
	margin-top: 60px;
}

.page-id-1 .osm-parent-section .osm-two-col img {
	max-height: 400px;
}

.page-id-1 .osm-subsection-title {
	font-size: 24px;
	font-weight: 700;
	color: #0C2340;
	margin-bottom: 24px;
}

.page-id-1 .osm-ai-title {
	font-size: 28px;
	font-weight: 800;
	color: #0C2340;
	margin-bottom: 24px;
}

.page-id-1 .osm-ai-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	font-weight: 800;
	font-size: 14px;
	color: #FFFFFF;
	flex-shrink: 0;
}

@media (max-width: 768px) {
	.page-id-1 .osm-two-col {
		grid-template-columns: 1fr;
	}
	
	.page-id-1 .osm-consult-section {
		grid-template-columns: 1fr;
	}
}

/* END v25 FIX */
/* v25 FIX2 — CTA margin-top 제거 */
.page-id-1 .osm-cta-section {
	margin-top: 0 !important;
}

/* ===== v26 — 학원소개 페이지 전면 재설계 CSS 2026-04-24 ===== */
.page-id-1 .osm-ab-hero {
	background: linear-gradient(135deg,#0C2340 0%,#1a3a5c 100%);
	padding: 100px 24px 80px;
	text-align: center;
	color: #fff;
}

.page-id-1 .osm-ab-hero-in {
	max-width: 800px;
	margin: 0 auto;
}

.page-id-1 .osm-ab-eye {
	font-size: 15px;
	letter-spacing: 2px;
	color: #00BFA6;
	margin-bottom: 16px;
	font-weight: 600;
}

.page-id-1 .osm-ab-htitle {
	font-size: clamp(28px,5vw,44px);
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 20px;
}

.page-id-1 .osm-ab-hdesc {
	font-size: 16px;
	line-height: 1.8;
	opacity: .85;
	margin-bottom: 32px;
}

.page-id-1 .osm-ab-hcta {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}

.page-id-1 .osm-ab-btn-p {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #00BFA6;
	color: #fff;
	padding: 14px 32px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}

.page-id-1 .osm-ab-btn-p:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,191,166,.4);
}

.page-id-1 .osm-ab-btn-s {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 2px solid rgba(255,255,255,.4);
	color: #fff;
	padding: 14px 32px;
	border-radius: 50px;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none;
	transition: border-color .2s, background .2s;
}

.page-id-1 .osm-ab-btn-s:hover {
	border-color: #00BFA6;
	background: rgba(0,191,166,.1);
}

.page-id-1 .osm-ab-sec {
	max-width: 1100px;
	margin: 0 auto;
	padding: 80px 24px;
}

.page-id-1 .osm-ab-label {
	font-size: 13px;
	letter-spacing: 3px;
	color: #00BFA6;
	font-weight: 700;
	margin-bottom: 12px;
	text-align: center;
}

.page-id-1 .osm-ab-stitle {
	font-size: clamp(22px,4vw,32px);
	font-weight: 800;
	color: #0C2340;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 16px;
}

.page-id-1 .osm-ab-sdesc {
	font-size: 16px;
	color: #555;
	text-align: center;
	line-height: 1.7;
	margin-bottom: 40px;
}

.page-id-1 .osm-ab-stitle3 {
	font-size: 20px;
	font-weight: 700;
	color: #0C2340;
	margin: 48px 0 20px;
	text-align: center;
}

.page-id-1 .osm-ab-text {
	font-size: 15px;
	color: #444;
	line-height: 1.8;
	text-align: center;
	margin-top: 32px;
}

.page-id-1 .osm-ab-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin-top: 40px;
}

.page-id-1 .osm-ab-card-1 {
	background: #fff;
	border-radius: 20px;
	padding: 40px 32px;
	box-shadow: 0 4px 24px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
}

.page-id-1 .osm-ab-card-1 h3 {
	font-size: 20px;
	font-weight: 700;
	color: #0C2340;
	margin-bottom: 16px;
}

.page-id-1 .osm-ab-quote {
	border-left: 4px solid #00BFA6;
	padding: 16px 20px;
	background: #f0faf8;
	border-radius: 0 12px 12px 0;
	margin: 16px 0;
	font-size: 15px;
	color: #333;
	line-height: 1.7;
}

.page-id-1 .osm-ab-highlight {
	background: linear-gradient(135deg,#00BFA6,#00897B);
	color: #fff;
	padding: 16px 24px;
	border-radius: 12px;
	font-size: 16px;
	margin: 16px 0;
	text-align: center;
}

.page-id-1 .osm-ab-card-1 p {
	font-size: 15px;
	color: #444;
	line-height: 1.8;
}

.page-id-1 .osm-ab-curr-hero {
	margin: 0 auto 40px;
	max-width: 900px;
	text-align: center;
}

.page-id-1 .osm-ab-curr-hero img {
	width: 100%;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(12,35,64,.1);
}

.page-id-1 .osm-ab-steps {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.page-id-1 .osm-ab-step {
	background: #fff;
	border-radius: 16px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 4px 20px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
	position: relative;
}

.page-id-1 .osm-ab-badge {
	display: inline-block;
	background: #0C2340;
	color: #fff;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 16px;
}

.page-id-1 .osm-step-1 {
	border-top: 4px solid #00BFA6;
}

.page-id-1 .osm-step-2 {
	border-top: 4px solid #0C2340;
}

.page-id-1 .osm-step-3 {
	border-top: 4px solid #FFB300;
}

.page-id-1 .osm-ab-step h3 {
	font-size: 18px;
	font-weight: 700;
	color: #0C2340;
	margin-bottom: 12px;
}

.page-id-1 .osm-ab-step p {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
}

.page-id-1 .osm-ab-soft-cta {
	background: #f8fafb;
	border-radius: 16px;
	padding: 32px;
	text-align: center;
	margin-top: 40px;
	border: 1px solid #e8edf2;
}

.page-id-1 .osm-ab-soft-cta p {
	font-size: 16px;
	color: #333;
	margin-bottom: 12px;
}

.page-id-1 .osm-ab-soft-cta a {
	color: #00BFA6;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
}

.page-id-1 .osm-ab-soft-cta a:hover {
	text-decoration: underline;
}

.page-id-1 .osm-ab-schools {
	display: flex;
	gap: 40px;
	justify-content: center;
	margin-bottom: 40px;
}

.page-id-1 .osm-ab-school-col {
	background: #fff;
	border-radius: 16px;
	padding: 28px 36px;
	box-shadow: 0 4px 20px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
	min-width: 200px;
}

.page-id-1 .osm-ab-school-col h4 {
	font-size: 16px;
	font-weight: 700;
	color: #00BFA6;
	margin-bottom: 12px;
	text-align: center;
}

.page-id-1 .osm-ab-school-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.page-id-1 .osm-ab-school-col li {
	font-size: 15px;
	color: #333;
	padding: 6px 0;
	border-bottom: 1px solid #f0f0f0;
	text-align: center;
}

.page-id-1 .osm-ab-school-col li:last-child {
	border-bottom: none;
}

.page-id-1 .osm-ab-exam-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-bottom: 24px;
}

.page-id-1 .osm-ab-exam-grid figure {
	margin: 0;
	text-align: center;
}

.page-id-1 .osm-ab-exam-grid img {
	width: 100%;
	border-radius: 12px;
	box-shadow: 0 4px 16px rgba(12,35,64,.08);
}

.page-id-1 .osm-ab-exam-grid figcaption {
	font-size: 13px;
	color: #666;
	margin-top: 10px;
	font-weight: 500;
}

.page-id-1 .osm-ab-subjects {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.page-id-1 .osm-ab-subj {
	background: #fff;
	border-radius: 20px;
	padding: 40px 24px;
	text-align: center;
	box-shadow: 0 4px 24px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
	transition: transform .2s, box-shadow .2s;
}

.page-id-1 .osm-ab-subj:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 40px rgba(12,35,64,.12);
}

.page-id-1 .osm-ab-subj svg {
	width: 48px;
	height: 48px;
	margin-bottom: 16px;
}

.page-id-1 .osm-subj-kor {
	border-top: 4px solid #E53935;
}

.page-id-1 .osm-subj-kor svg {
	color: #E53935;
}

.page-id-1 .osm-subj-eng {
	border-top: 4px solid #1E88E5;
}

.page-id-1 .osm-subj-eng svg {
	color: #1E88E5;
}

.page-id-1 .osm-subj-mat {
	border-top: 4px solid #00BFA6;
}

.page-id-1 .osm-subj-mat svg {
	color: #00BFA6;
}

.page-id-1 .osm-ab-subj h3 {
	font-size: 22px;
	font-weight: 800;
	color: #0C2340;
	margin-bottom: 12px;
}

.page-id-1 .osm-ab-subj p {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
}

.page-id-1 .osm-ab-skills {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.page-id-1 .osm-ab-skill {
	background: #fff;
	border-radius: 16px;
	padding: 24px 20px;
	text-align: center;
	min-width: 100px;
	flex: 1;
	max-width: 140px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	box-shadow: 0 2px 12px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
	transition: transform .2s;
}

.page-id-1 .osm-ab-skill:hover {
	transform: translateY(-3px);
}

.page-id-1 .osm-ab-skill svg {
	width: 32px;
	height: 32px;
	color: #0C2340;
}

.page-id-1 .osm-ab-skill span {
	font-size: 14px;
	font-weight: 700;
	color: #0C2340;
}

.page-id-1 .osm-ab-eng-skills .osm-ab-skill svg {
	color: #1E88E5;
}

.page-id-1 .osm-ab-kor-skills .osm-ab-skill svg {
	color: #E53935;
}

.page-id-1 .osm-ab-math {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 32px;
}

.page-id-1 .osm-ab-mstep {
	background: #fff;
	border-radius: 16px;
	padding: 28px 20px;
	text-align: center;
	flex: 1;
	min-width: 120px;
	max-width: 180px;
	box-shadow: 0 2px 12px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.page-id-1 .osm-ab-mnum {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #00BFA6;
	color: #fff;
	font-weight: 800;
	font-size: 14px;
}

.page-id-1 .osm-ab-mstep svg {
	width: 28px;
	height: 28px;
	color: #00BFA6;
}

.page-id-1 .osm-ab-mstep h4 {
	font-size: 15px;
	font-weight: 700;
	color: #0C2340;
	margin: 0;
}

.page-id-1 .osm-ab-s5 {
	background: #f8fafb;
}

.page-id-1 .osm-ab-ai {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
	margin-bottom: 48px;
}

.page-id-1 .osm-ab-ai-img img {
	width: 100%;
	border-radius: 16px;
	box-shadow: 0 8px 32px rgba(12,35,64,.1);
}

.page-id-1 .osm-ab-ai-txt h3 {
	font-size: 22px;
	font-weight: 800;
	color: #0C2340;
	margin-bottom: 12px;
}

.page-id-1 .osm-ab-ai-list {
	list-style: none;
	padding: 0;
	margin: 16px 0 0;
}

.page-id-1 .osm-ab-ai-list li {
	padding: 12px 0;
	border-bottom: 1px solid #e8edf2;
	font-size: 15px;
	color: #333;
	line-height: 1.6;
}

.page-id-1 .osm-ab-ai-list li:last-child {
	border-bottom: none;
}

.page-id-1 .osm-ab-sys-2col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.page-id-1 .osm-ab-sys {
	background: #fff;
	border-radius: 20px;
	padding: 36px 28px;
	box-shadow: 0 4px 24px rgba(12,35,64,.06);
	border: 1px solid #eef2f7;
}

.page-id-1 .osm-ab-sys h3 {
	font-size: 20px;
	font-weight: 700;
	color: #0C2340;
	margin-bottom: 8px;
}

.page-id-1 .osm-ab-sys > p {
	font-size: 14px;
	color: #888;
	margin-bottom: 16px;
}

.page-id-1 .osm-ab-sys ul {
	list-style: none;
	padding: 0;
	margin: 0 0 16px;
}

.page-id-1 .osm-ab-sys li {
	font-size: 14px;
	color: #333;
	padding: 6px 0;
	line-height: 1.5;
}

.page-id-1 .osm-ab-sys img {
	width: 100%;
	border-radius: 12px;
	margin-top: 12px;
}

.page-id-1 .osm-ab-sys-item {
	background: #f8fafb;
	border-radius: 12px;
	padding: 16px;
	margin-bottom: 12px;
}

.page-id-1 .osm-ab-sys-item strong {
	font-size: 15px;
	color: #0C2340;
	display: block;
	margin-bottom: 6px;
}

.page-id-1 .osm-ab-sys-item p {
	font-size: 14px;
	color: #555;
	margin: 0;
	line-height: 1.6;
}

.page-id-1 .osm-ab-cta {
	background: linear-gradient(135deg,#0C2340 0%,#1a3a5c 100%);
	border-radius: 0;
	max-width: 100%;
	padding: 80px 24px;
	text-align: center;
	color: #fff;
}

.page-id-1 .osm-ab-cta h2 {
	font-size: clamp(22px,4vw,32px);
	font-weight: 800;
	color: #fff;
	margin-bottom: 16px;
}

.page-id-1 .osm-ab-cta > p {
	font-size: 16px;
	opacity: .85;
	margin-bottom: 32px;
}

.page-id-1 .osm-ab-cta-btns {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 24px;
}

.page-id-1 .osm-ab-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 16px 36px;
	border-radius: 50px;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}

.page-id-1 .osm-cta-phone {
	background: #00BFA6;
	color: #fff;
}

.page-id-1 .osm-cta-phone:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,191,166,.4);
}

.page-id-1 .osm-cta-kakao {
	background: #FEE500;
	color: #3C1E1E;
}

.page-id-1 .osm-cta-kakao:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(254,229,0,.4);
}

.page-id-1 .osm-cta-visit {
	border: 2px solid rgba(255,255,255,.4);
	color: #fff;
}

.page-id-1 .osm-cta-visit:hover {
	border-color: #00BFA6;
	background: rgba(0,191,166,.15);
}

.page-id-1 .osm-ab-hours {
	font-size: 14px;
	opacity: .7;
	margin-top: 8px;
}

@media(max-width:768px) {
	.page-id-1 .osm-ab-hero {
		padding: 80px 20px 60px;
	}
	
	.page-id-1 .osm-ab-htitle {
		font-size: 28px;
	}
	
	.page-id-1 .osm-ab-sec {
		padding: 56px 20px;
	}
	
	.page-id-1 .osm-ab-grid-2 {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.page-id-1 .osm-ab-steps {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.page-id-1 .osm-ab-schools {
		flex-direction: column;
		gap: 16px;
		align-items: center;
	}
	
	.page-id-1 .osm-ab-exam-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.page-id-1 .osm-ab-subjects {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	.page-id-1 .osm-ab-skills {
		gap: 10px;
	}
	
	.page-id-1 .osm-ab-skill {
		min-width: 80px;
		padding: 16px 12px;
	}
	
	.page-id-1 .osm-ab-math {
		gap: 10px;
	}
	
	.page-id-1 .osm-ab-mstep {
		min-width: 80px;
		padding: 20px 12px;
	}
	
	.page-id-1 .osm-ab-ai {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	
	.page-id-1 .osm-ab-sys-2col {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.page-id-1 .osm-ab-cta {
		padding: 56px 20px;
	}
	
	.page-id-1 .osm-ab-cta-btns {
		flex-direction: column;
		align-items: center;
	}
	
	.page-id-1 .osm-ab-cta-btn {
		width: 100%;
		max-width: 320px;
		justify-content: center;
	}
	
	.page-id-1 .osm-ab-hcta {
		flex-direction: column;
		align-items: center;
	}
	
	.page-id-1 .osm-ab-btn-p,.page-id-1 .osm-ab-btn-s {
		width: 100%;
		max-width: 300px;
		justify-content: center;
	}
}

/* ===== END v26 ===== */
/* ── v26 FIX: S05 시스템카드 이미지 높이 제한 ── */
.page-id-1 .osm-ab-sys img {
	max-height: 350px;
	object-fit: cover;
}

.page-id-1 .osm-ab-sys-2col {
	align-items: start;
}

/* === v27 ABOUT PAGE MODIFICATIONS === */
/* Hero image (replacing text) */
.page-id-1 .osm-ab-himg {
	max-width: 480px;
	width: 90%;
	height: auto;
	margin: 0 auto 16px;
	display: block;
}

/* S01 image overlay */
.page-id-1 .osm-ab-phil-img {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	max-width: 800px;
	margin: 0 auto;
}

.page-id-1 .osm-ab-phil-img img {
	width: 100%;
	display: block;
	border-radius: 16px;
}

.page-id-1 .osm-ab-phil-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 32px;
	background: rgba(12,35,64,0.6);
	color: #fff;
	border-radius: 16px;
}

.page-id-1 .osm-ab-phil-overlay h3 {
	font-size: 1.6rem;
	margin-bottom: 12px;
	color: #fff;
}

.page-id-1 .osm-ab-phil-overlay .osm-ab-quote {
	color: rgba(255,255,255,0.9);
	border-left-color: rgba(255,255,255,0.5);
}

.page-id-1 .osm-ab-phil-overlay p {
	color: rgba(255,255,255,0.95);
}

@media(max-width:600px) {
	.page-id-1 .osm-ab-himg {
		max-width: 320px;
	}
	
	.page-id-1 .osm-ab-phil-overlay {
		padding: 16px;
	}
	
	.page-id-1 .osm-ab-phil-overlay h3 {
		font-size: 1.2rem;
	}
}

/* === v27-FIX1 === */
/* S01 blockquote 도형(배경) 제거 — 텍스트만 유지 */
.page-id-1 .osm-ab-phil-overlay .osm-ab-quote {
	background: transparent;
	border-left-color: rgba(255,255,255,0.5);
	border-radius: 0;
	padding: 8px 0;
	margin: 12px 0;
}

/* S06 AI sdesc 열 정렬 — 다른 문구와 동일하게 좌측 정렬 */
.page-id-1 .osm-ab-s5 .osm-ab-ai-txt .osm-ab-sdesc {
	text-align: start;
}

/* === v27-FIX2 === */
/* S01 h3↔blockquote 간격 확대 — 이미지 온새미로 글자 노출 */
.page-id-1 .osm-ab-phil-overlay h3 {
	margin-bottom: 50px;
}

.page-id-1 .osm-ab-phil-overlay .osm-ab-quote {
	margin-top: 50px;
}

@media(max-width:600px) {
	.page-id-1 .osm-ab-phil-overlay h3 {
		margin-bottom: 32px;
	}
	
	.page-id-1 .osm-ab-phil-overlay .osm-ab-quote {
		margin-top: 32px;
	}
}

/* === v27-FIX3 — S08 주간테스트 이미지 사이즈 조정 === */
.page-id-1 .osm-ab-sys img[src*="eca3bceab084ed858cec8aa4ed8ab8"] {
	max-height: none;
	max-width: 480px;
	width: 100%;
	object-fit: contain;
	display: block;
	margin: 1rem auto;
	border-radius: 12px;
}

/* ═══ 시험분석 하위메뉴 호버 수정: 골드 배경 제거 → 글씨색 강조 + 밑줄 ═══ */
/* 1) 모든 페이지: 하위메뉴 호버 시 골드 배경 제거, 글씨색 강조 + 밑줄 */
html body header .wp-block-navigation-submenu .wp-block-navigation__submenu-container li a:hover,
html body header .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: transparent !important;
	background-image: none !important;
	color: #00BFA6 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	text-shadow: none !important;
	transition: color .25s ease, text-decoration .25s ease !important;
}

/* 2) 시험분석 페이지(흰 배경): 하위메뉴 기본 텍스트 색 검정으로 변경 */
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container li a,
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #1a1a2e !important;
}

/* 3) 시험분석 페이지: 하위메뉴 호버 시 강조색 + 밑줄 */
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container li a:hover,
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: transparent !important;
	background-image: none !important;
	color: #00BFA6 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
}

/* 시험분석 페이지: 하위메뉴 텍스트 그림자 제거 */
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container li a,
body.page-id-656 header .wp-block-navigation-submenu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	text-shadow: none !important;
}

/* ═══ School Exam Archive - CTA 박스 리디자인 ═══ */
/* CTA 컨테이너 */
.sea-cta-container {
	margin-top: 80px !important;
}

/* 공통 박스 스타일 */
.sea-cta-box {
	flex: 1 1 480px !important;
	border-radius: 24px !important;
	padding: 48px 40px !important;
	position: relative !important;
	overflow: hidden !important;
	transition: transform .3s ease, box-shadow .3s ease !important;
}

.sea-cta-box:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 20px 60px rgba(0,0,0,0.12) !important;
}

/* NAVER BLOG 박스 */
.sea-cta-blog {
	background: linear-gradient(135deg, #ffffff 0%, #f0faf4 60%, #e8f5ee 100%) !important;
	border: 1px solid rgba(3,199,90,0.12) !important;
}

.sea-cta-blog .sea-cta-bg-pattern {
	position: absolute !important;
	top: -60px !important;
	right: -60px !important;
	width: 220px !important;
	height: 220px !important;
	background: radial-gradient(circle, rgba(3,199,90,0.15) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

.sea-cta-blog::after {
	content: '' !important;
	position: absolute !important;
	bottom: -40px !important;
	left: -40px !important;
	width: 160px !important;
	height: 160px !important;
	background: radial-gradient(circle, rgba(3,199,90,0.06) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

/* CONSULTATION 박스 */
.sea-cta-consult {
	background: linear-gradient(145deg, #0b0b0b 0%, #1a1a2e 50%, #16213e 100%) !important;
	color: #fff !important;
}

.sea-cta-consult .sea-cta-bg-pattern {
	position: absolute !important;
	top: -60px !important;
	left: -60px !important;
	width: 240px !important;
	height: 240px !important;
	background: radial-gradient(circle, rgba(255,217,138,0.12) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

.sea-cta-consult::after {
	content: '' !important;
	position: absolute !important;
	bottom: -30px !important;
	right: -30px !important;
	width: 180px !important;
	height: 180px !important;
	background: radial-gradient(circle, rgba(0,191,166,0.08) 0%, transparent 70%) !important;
	pointer-events: none !important;
}

/* 라벨 스타일 */
.sea-cta-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background: rgba(0,0,0,0.04) !important;
	padding: 6px 14px !important;
	border-radius: 20px !important;
	margin-bottom: 4px !important;
}

.sea-cta-consult .sea-cta-label {
	background: rgba(255,255,255,0.08) !important;
}

.sea-cta-dot {
	display: inline-block !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	animation: sea-pulse 2s ease-in-out infinite !important;
}

@keyframes sea-pulse {
	0%, 100% {
		opacity: 1;
	}
	
	50% {
		opacity: .5;
	}
}

/* 제목 */
.sea-cta-title {
	font-family: 'Noto Sans KR', 'SF Pro Display', -apple-system, sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
	letter-spacing: -.5px !important;
}

.sea-cta-blog .sea-cta-title {
	color: #1a1a2e !important;
}

/* 설명 */
.sea-cta-desc {
	font-family: 'Noto Sans KR', -apple-system, sans-serif !important;
	font-size: 15px !important;
	line-height: 1.75 !important;
}

.sea-cta-blog .sea-cta-desc {
	color: #5a5a6e !important;
}

/* 버튼 공통 */
.sea-cta-btn {
	display: inline-flex !important;
	align-items: center !important;
	padding: 14px 28px !important;
	border-radius: 12px !important;
	font-family: 'Noto Sans KR', -apple-system, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all .25s ease !important;
	cursor: pointer !important;
}

/* 블로그 버튼 */
.sea-cta-btn-blog {
	background: #1a1a2e !important;
	color: #fff !important;
}

.sea-cta-btn-blog:hover {
	background: #03c75a !important;
	color: #fff !important;
	transform: translateX(4px) !important;
}

/* 전화 버튼 */
.sea-cta-btn-phone {
	background: rgba(255,255,255,0.1) !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.2) !important;
}

.sea-cta-btn-phone:hover {
	background: rgba(255,255,255,0.18) !important;
	color: #fff !important;
}

/* 카카오 버튼 */
.sea-cta-btn-kakao {
	background: #FEE500 !important;
	color: #1a1a1a !important;
}

.sea-cta-btn-kakao:hover {
	background: #ffed4a !important;
	color: #1a1a1a !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 16px rgba(254,229,0,0.3) !important;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
	.sea-cta-box {
		padding: 36px 28px !important;
	}
	
	.sea-cta-title {
		font-size: 20px !important;
	}
	
	.sea-cta-btn {
		padding: 12px 22px !important;
		font-size: 14px !important;
	}
}

/* ═══ 이미지 기반 CTA 박스 호버 효과 ═══ */
.sea-img-cta {
	transition: transform .3s ease, box-shadow .3s ease !important;
	border-radius: 16px !important;
	overflow: hidden !important;
}

.sea-img-cta:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 16px 48px rgba(0,0,0,0.15) !important;
}

.sea-img-cta img {
	transition: transform .4s ease !important;
}

.sea-img-cta:hover img {
	transform: scale(1.02) !important;
}

/* === OSM DESIGN 2026-10-13 START === */
@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

@font-face {
	font-family: 'Pretendard Variable';
	font-style: normal;
	font-weight: 45 920;
	src: format("woff2-variations");
}

:root {
}

body {
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-break: keep-all;
	letter-spacing: -.01em;
}

body h1,body h2,body h3,body h4,body h5,body h6,body .wp-block-heading,body .wp-block-site-title,body .sea-cta-title,body .sea-cta-desc,body .sea-cta-btn {
	font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif !important;
	letter-spacing: -.025em;
	word-break: keep-all;
}

input,button,select,textarea {
	font-family: inherit;
}

@keyframes osmUp {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes osmFloat {
	0%,100% {
		transform: translateY(0);
	}
	
	50% {
		transform: translateY(-8px);
	}
}

@keyframes osmShine {
	from {
		background-position: 0 50%;
	}
	
	to {
		background-position: 200% 50%;
	}
}

.osm-fx-up {
	animation: osmUp .9s cubic-bezier(.2,.7,.2,1) both;
}

.osm-fx-d1 {
	animation-delay: .12s;
}

.osm-fx-d2 {
	animation-delay: .24s;
}

.osm-fx-d3 {
	animation-delay: .36s;
}

.osm-fx-float {
	animation: osmFloat 6s ease-in-out infinite;
}

.osm-fx-lift {
	transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s;
}

.osm-fx-lift:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 48px rgba(12,35,64,.16) !important;
}

.osm-fx-zoom {
	overflow: hidden;
}

.osm-fx-zoom img {
	transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

.osm-fx-zoom:hover img {
	transform: scale(1.05);
}

.osm-fx-btn {
	transition: transform .25s, box-shadow .25s, filter .25s;
}

.osm-fx-btn:hover {
	transform: translateY(-2px);
	filter: brightness(1.07);
}

.osm-fx-shine {
	background-size: 200% auto !important;
	animation: osmShine 8s linear infinite;
}

@supports (animation-timeline: view()) {
	.osm-fx-reveal {
		animation: osmUp linear both;
	}
}

@media (prefers-reduced-motion:reduce) {
	.osm-fx-up,.osm-fx-float,.osm-fx-reveal,.osm-fx-shine {
		animation: none !important;
	}
	
	.osm-fx-lift:hover,.osm-fx-btn:hover {
		transform: none;
	}
}

/* OSM v2 pages: full width */
body.page-id-1 .entry-content.wp-block-post-content,
body.page-id-656 .entry-content.wp-block-post-content,
body.page-id-26 .entry-content.wp-block-post-content,
body.page-id-25 .entry-content.wp-block-post-content,
body.page-id-668 .entry-content.wp-block-post-content,
body.page-id-768 .entry-content.wp-block-post-content,
body.page-id-769 .entry-content.wp-block-post-content,
body.page-id-770 .entry-content.wp-block-post-content,
body.page-id-771 .entry-content.wp-block-post-content,
body.page-id-772 .entry-content.wp-block-post-content,
body.page-id-773 .entry-content.wp-block-post-content,
body.page-id-774 .entry-content.wp-block-post-content,
body.page-id-775 .entry-content.wp-block-post-content,
body.page-id-792 .entry-content.wp-block-post-content,
body.page-id-863 .entry-content.wp-block-post-content {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0 !important;
}

@keyframes osmPan {
	from {
		background-position: 50% 35%;
	}
	
	to {
		background-position: 50% 65%;
	}
}

.osm-fx-pan {
	animation: osmPan 26s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion:reduce) {
	.osm-fx-pan {
		animation: none !important;
	}
}

/* === OSM DESIGN END === */
/* ===== OSM V3 2026-10-14 (scripts/osm_v3.css) ===== */
@media (min-width: 769px) {
	html body header.wp-block-template-part > .wp-block-group:nth-child(2),
								html body header.wp-block-template-part .is-content-justification-space-between {
		max-width: 1168px !important;
		margin: 0 auto !important;
		padding: 0 24px !important;
		min-height: 76px !important;
	}
	
	html body header .wp-block-navigation .wp-block-navigation-item__content {
		font-weight: 600 !important;
		letter-spacing: -.01em !important;
	}
}

@media (min-width: 769px) {
	html body header .wp-block-navigation .wp-block-navigation__container {
		flex-wrap: nowrap !important;
		gap: 4px !important;
	}
	
	html body header .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item {
		width: auto !important;
		min-width: 0 !important;
		flex: 0 0 auto !important;
	}
	
	html body header .wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		font-size: 16.5px !important;
		padding: 10px 16px !important;
		width: auto !important;
	}
}

html body.home header.wp-block-template-part {
	position: sticky !important;
	top: 0 !important;
	background: #fff !important;
	border-bottom: 1px solid #E2E8F0 !important;
	box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}

html body.home header .wp-block-navigation .wp-block-navigation-item__content,html body.home header .wp-block-site-title a {
	color: #1B2A3D !important;
	text-shadow: none !important;
}

html body header .osm-hd-sns {
	order: 9 !important;
}

html body.admin-bar header.wp-block-template-part {
	top: 32px !important;
}

@media (max-width: 782px) {
	html body.admin-bar header.wp-block-template-part {
		top: 46px !important;
	}
}

@media (max-width: 600px) {
	html body.admin-bar header.wp-block-template-part {
		top: 0 !important;
	}
}

@media (min-width: 769px) {
	html body header .wp-block-navigation .has-child {
		position: relative !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
		width: auto !important;
		height: auto !important;
		min-width: 236px !important;
		overflow: visible !important;
		padding: 10px 0 !important;
		margin-top: 0 !important;
		border: 1px solid #E2E8F0 !important;
		border-radius: 12px !important;
		background: #fff !important;
		box-shadow: 0 18px 40px rgba(12,35,64,.14) !important;
		transition: opacity .18s ease, visibility 1ms linear .5s !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container::before {
		content: "" !important;
		position: absolute !important;
		left: -16px !important;
		right: -16px !important;
		top: -26px !important;
		height: 28px !important;
		background: transparent !important;
	}
	
	html body header .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
								html body header .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
		visibility: visible !important;
		opacity: 1 !important;
		transition: opacity .18s ease, visibility 1ms linear 1ms !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: block !important;
		padding: 9px 22px !important;
		font-size: 15px !important;
		color: #1B2A3D !important;
		text-decoration: none !important;
		white-space: nowrap !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
		color: #0C2340 !important;
		background: #F5F7FA !important;
		text-decoration: none !important;
	}
}

.osm-hd-sns {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: 18px;
	flex: 0 0 auto;
}

.osm-hd-sns a {
	display: block;
	line-height: 0;
	opacity: .92;
	transition: opacity .2s, transform .2s;
}

.osm-hd-sns a:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.osm-hd-sns img {
	display: block;
	height: 28px;
	width: auto;
}

@media (max-width: 768px) {
	.osm-hd-sns {
		gap: 8px;
		margin-left: auto;
		margin-right: 8px;
	}
	
	.osm-hd-sns img {
		height: 24px;
	}
}

.osm3 {
	color: #1B2A3D;
	font-size: 16px;
	line-height: 1.7;
	word-break: keep-all;
	overflow-wrap: break-word;
	letter-spacing: -.005em;
}

.osm3 * {
	box-sizing: border-box;
}

.osm3 h1,.osm3 h2,.osm3 h3,.osm3 p,.osm3 ul,.osm3 figure {
	margin: 0;
}

.osm3 a {
	text-decoration: none;
}

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

.osm3 .w {
	max-width: 1168px;
	margin: 0 auto;
	padding: 0 24px;
}

.osm3 .sec {
	padding: 96px 0;
	background: #fff;
}

.osm3 .sec.alt {
	background: #F5F7FA;
}

.osm3 .sec.dark {
	background: #0C2340;
	color: #fff;
}

.osm3 .sec.tight {
	padding: 64px 0;
}

.osm3 .tl {
	color: #0C2340;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.osm3 .tl:hover {
	color: #3E7D1E;
}

.osm3 .dark .tl {
	color: #fff;
}

.osm3 .mt {
	margin-top: 48px;
}

.osm3 .mt-s {
	margin-top: 24px;
}

.osm3 .note {
	margin-top: 28px;
	color: #556677;
	font-size: 15px;
}

.osm3 .dark .note {
	color: rgba(255,255,255,.7);
}

.osm3 .hd {
	max-width: 720px;
	margin: 0 0 44px;
}

.osm3 .hd.c {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.osm3 .eb {
	display: block;
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	color: #3E7D1E;
	text-transform: uppercase;
}

.osm3 .hd h2,.osm3 .hd h3.h2 {
	font-size: clamp(26px,3.2vw,36px);
	line-height: 1.32;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #0C2340;
}

.osm3 .hd p {
	margin-top: 16px;
	font-size: 17px;
	line-height: 1.75;
	color: #556677;
}

.osm3 .dark .eb {
	color: #8EC641;
}

.osm3 .dark .hd h2 {
	color: #fff;
}

.osm3 .dark .hd p {
	color: rgba(255,255,255,.75);
}

.osm3 .g {
	display: grid;
	gap: 20px;
}

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

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

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

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

.osm3 .split {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 64px;
	align-items: center;
}

.osm3 .split.top {
	align-items: start;
}

.osm3 .split.s57 {
	grid-template-columns: 5fr 7fr;
}

.osm3 .split.s75 {
	grid-template-columns: 7fr 5fr;
}

.osm3 .split.s48 {
	grid-template-columns: 4fr 8fr;
}

@media (max-width: 1024px) {
	.osm3 .g4,.osm3 .g5,.osm3 .g3 {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
	
	.osm3 .split,.osm3 .split.s57,.osm3 .split.s75,.osm3 .split.s48 {
		grid-template-columns: minmax(0,1fr);
		gap: 40px;
	}
}

@media (max-width: 640px) {
	.osm3 .g2,.osm3 .g3,.osm3 .g4,.osm3 .g5 {
		grid-template-columns: minmax(0,1fr);
	}
	
	.osm3 .sec {
		padding: 64px 0;
	}
	
	.osm3 .w {
		padding: 0 20px;
	}
	
	.osm3 .hd {
		margin-bottom: 32px;
	}
}

.osm3 .card {
	display: block;
	position: relative;
	padding: 28px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid #E2E8F0;
	color: #1B2A3D;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}

.osm3 a.card:hover {
	border-color: #0C2340;
	box-shadow: 0 14px 34px rgba(12,35,64,.10);
	transform: translateY(-3px);
}

.osm3 .card h3 {
	margin-top: 18px;
	font-size: 19px;
	line-height: 1.45;
	font-weight: 700;
	color: #0C2340;
	letter-spacing: -.02em;
}

.osm3 .card p {
	margin-top: 8px;
	font-size: 15.5px;
	line-height: 1.7;
	color: #556677;
}

.osm3 .card .no {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	color: #3E7D1E;
}

.osm3 .card .no + h3 {
	margin-top: 10px;
}

.osm3 .card .more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
	font-size: 15px;
	font-weight: 700;
	color: #0C2340;
}

.osm3 .card .more .ic {
	width: 18px;
	height: 18px;
}

.osm3 .dark .card {
	background: rgba(255,255,255,.05);
	border-color: rgba(255,255,255,.14);
	color: #fff;
}

.osm3 .dark a.card:hover {
	border-color: rgba(255,255,255,.5);
	background: rgba(255,255,255,.08);
}

.osm3 .dark .card h3,.osm3 .dark .card .more {
	color: #fff;
}

.osm3 .dark .card p {
	color: rgba(255,255,255,.72);
}

.osm3 .dark .card .no {
	color: #8EC641;
}

.osm3 .it {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #EEF2F8;
}

.osm3 .dark .it {
	background: rgba(255,255,255,.08);
}

.osm3 .card.ph {
	padding: 0;
	overflow: hidden;
}

.osm3 .card.ph .phi {
	display: block;
	aspect-ratio: 16/10;
	overflow: hidden;
	background: #EEF2F8;
}

.osm3 .card.ph .phi img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}

.osm3 a.card.ph:hover .phi img {
	transform: scale(1.04);
}

.osm3 .card.ph h3 {
	margin: 22px 26px 0;
}

.osm3 .card.ph p {
	margin: 8px 26px 0;
}

.osm3 .card.ph .more {
	margin: 16px 26px 26px;
}

.osm3 .card .chk {
	margin-top: 18px;
}

.osm3 .card .chk li {
	padding: 10px 0;
}

.osm3 .card .chk strong {
	font-size: 16px;
	font-weight: 600;
}

.osm3 .card .btns .btn {
	min-height: 44px;
	padding: 0 16px;
	font-size: 15px;
}

.osm3 .tag {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 6px;
	background: #EEF2F8;
	color: #0C2340;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .02em;
}

.osm3 .tag.gr {
	background: #EEF6E6;
	color: #3E7D1E;
}

.osm3 .ic,.osm-ic {
	display: inline-block;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	vertical-align: middle;
	background-image: url('https://osmredu.net/wp-content/uploads/2026/10/osm-icons.png');
	background-repeat: no-repeat;
	background-size: 3000% 300%;
}

.osm3 .it .ic {
	width: 26px;
	height: 26px;
}

.osm3 .btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.osm3 .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 24px;
	border-radius: 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border: 1.5px solid transparent;
	transition: background .2s, border-color .2s, color .2s, transform .2s;
}

.osm3 .btn:hover {
	transform: translateY(-1px);
}

.osm3 .btn .ic {
	width: 20px;
	height: 20px;
}

.osm3 .btn.pri {
	background: #0C2340;
	color: #fff;
}

.osm3 .btn.pri:hover {
	background: #16406E;
	color: #fff;
}

.osm3 .btn.lt {
	background: #fff;
	color: #0C2340;
}

.osm3 .btn.lt:hover {
	background: #EEF2F8;
	color: #0C2340;
}

.osm3 .btn.kk {
	background: #FEE500;
	color: #191600;
}

.osm3 .btn.kk:hover {
	background: #F5DC00;
	color: #191600;
}

.osm3 .btn.ol {
	background: #fff;
	border-color: #CBD5E1;
	color: #0C2340;
}

.osm3 .btn.ol:hover {
	border-color: #0C2340;
	color: #0C2340;
}

.osm3 .btn.olw,.osm3 .dark .btn.ol,.osm3 .hero .btn.ol,.osm3 .cta .btn.ol {
	background: transparent;
	border-color: rgba(255,255,255,.45);
	color: #fff;
}

.osm3 .btn.olw:hover,.osm3 .dark .btn.ol:hover,.osm3 .hero .btn.ol:hover,.osm3 .cta .btn.ol:hover {
	border-color: #fff;
	color: #fff;
}

@media (max-width: 640px) {
	.osm3 .btns .btn {
		flex: 1 1 100%;
	}
}

.osm3 .hero {
	position: relative;
	padding: 128px 0 72px;
	background-color: #081A30;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color: #fff;
}

.osm3 .hero .pill {
	display: inline-block;
	margin-bottom: 22px;
	padding: 7px 14px;
	border-radius: 999px;
	border: 1px solid rgba(142,198,65,.45);
	color: #8EC641;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
}

.osm3 .hero h1 {
	max-width: 780px;
	font-size: clamp(34px,5vw,56px);
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -.035em;
	color: #fff;
}

.osm3 .hero h1 em {
	font-style: normal;
	color: #8EC641;
}

.osm3 .hero .lead {
	max-width: 640px;
	margin-top: 22px;
	font-size: clamp(16px,1.8vw,19px);
	line-height: 1.75;
	color: rgba(255,255,255,.86);
}

.osm3 .hero .lead a {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.osm3 .hero .btns {
	margin-top: 34px;
}

.osm3 .stats {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	margin-top: 64px;
	border-top: 1px solid rgba(255,255,255,.2);
}

.osm3 .stats > div {
	padding: 22px 20px 0 0;
}

.osm3 .stats b {
	display: block;
	font-size: clamp(22px,2.6vw,30px);
	line-height: 1.2;
	font-weight: 800;
	color: #8EC641;
	letter-spacing: -.02em;
}

.osm3 .stats span {
	display: block;
	margin-top: 6px;
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255,255,255,.75);
}

@media (max-width: 768px) {
	.osm3 .hero {
		padding: 96px 0 56px;
	}
	
	.osm3 .stats {
		grid-template-columns: repeat(2,minmax(0,1fr));
		margin-top: 44px;
	}
	
	.osm3 .stats > div {
		padding: 18px 12px 0 0;
	}
}

.osm3 .pic {
	border-radius: 16px;
	overflow: hidden;
	background: #F5F7FA;
	box-shadow: 0 18px 44px rgba(12,35,64,.12);
}

.osm3 .pic img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .6s ease;
}

.osm3 .pic:hover img {
	transform: scale(1.02);
}

.osm3 .pic.flat {
	box-shadow: none;
	border: 1px solid #E2E8F0;
}

.osm3 .cap {
	margin-top: 12px;
	font-size: 14px;
	color: #556677;
}

.osm3 .chk {
	list-style: none;
	padding: 0;
}

.osm3 .chk li {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	padding: 16px 0;
	border-bottom: 1px solid #E2E8F0;
}

.osm3 .chk li:first-child {
	padding-top: 0;
}

.osm3 .chk li:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.osm3 .chk .ic {
	margin-top: 2px;
}

.osm3 .chk strong {
	display: block;
	font-size: 17px;
	line-height: 1.5;
	color: #0C2340;
}

.osm3 .chk em {
	display: block;
	font-style: normal;
	font-size: 15px;
	line-height: 1.65;
	color: #556677;
}

.osm3 .dark .chk li {
	border-color: rgba(255,255,255,.14);
}

.osm3 .dark .chk strong {
	color: #fff;
}

.osm3 .dark .chk em {
	color: rgba(255,255,255,.72);
}

.osm3 .road {
	border-top: 1px solid #E2E8F0;
}

.osm3 .road > div {
	display: grid;
	grid-template-columns: 240px minmax(0,1fr);
	gap: 24px;
	padding: 28px 0;
	border-bottom: 1px solid #E2E8F0;
	align-items: baseline;
}

.osm3 .road .st {
	display: block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	color: #3E7D1E;
}

.osm3 .road b {
	display: block;
	margin-top: 4px;
	font-size: 21px;
	line-height: 1.4;
	color: #0C2340;
	letter-spacing: -.02em;
}

.osm3 .road p {
	font-size: 16px;
	line-height: 1.75;
	color: #556677;
}

@media (max-width: 640px) {
	.osm3 .road > div {
		grid-template-columns: minmax(0,1fr);
		gap: 8px;
	}
}

.osm3 .res b {
	display: block;
	font-size: clamp(26px,3vw,32px);
	line-height: 1.2;
	font-weight: 800;
	color: #0C2340;
	letter-spacing: -.02em;
}

.osm3 .res p {
	margin-top: 10px;
}

.osm3 .proof {
	display: grid;
	grid-template-columns: auto minmax(0,1fr);
	gap: 36px;
	align-items: center;
	padding: 40px 44px;
	border-radius: 16px;
	background: #0C2340;
	color: #fff;
	margin-bottom: 20px;
}

.osm3 .proof .big {
	font-size: clamp(40px,6vw,64px);
	font-weight: 800;
	line-height: 1;
	color: #8EC641;
	letter-spacing: -.03em;
}

.osm3 .proof h3 {
	font-size: clamp(19px,2.2vw,23px);
	line-height: 1.45;
	color: #fff;
}

.osm3 .proof p {
	margin-top: 8px;
	color: rgba(255,255,255,.78);
	font-size: 15.5px;
}

.osm3 .proof a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	color: #fff;
	font-weight: 700;
}

.osm3 .proof a .ic {
	width: 18px;
	height: 18px;
}

@media (max-width: 640px) {
	.osm3 .proof {
		grid-template-columns: minmax(0,1fr);
		gap: 16px;
		padding: 28px 24px;
	}
}

.osm3 .doc {
	padding: 14px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid #E2E8F0;
	transition: box-shadow .2s, transform .2s;
}

.osm3 .doc:hover {
	box-shadow: 0 14px 34px rgba(12,35,64,.10);
	transform: translateY(-3px);
}

.osm3 .doc .im {
	aspect-ratio: 3/4;
	border-radius: 10px;
	overflow: hidden;
	background: #F5F7FA;
	border: 1px solid #EEF2F8;
}

.osm3 .doc .im img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.osm3 .doc figcaption {
	padding: 16px 6px 4px;
}

.osm3 .doc strong {
	display: block;
	font-size: 17px;
	color: #0C2340;
}

.osm3 .doc span {
	display: block;
	margin-top: 4px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #556677;
}

@media (max-width: 640px) {
	.osm3 .g.dg {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 12px;
	}
	
	.osm3 .doc {
		padding: 8px;
	}
	
	.osm3 .doc figcaption {
		padding: 10px 4px 2px;
	}
	
	.osm3 .doc strong {
		font-size: 15px;
	}
	
	.osm3 .doc span {
		font-size: 13px;
	}
}

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

.osm3 .lk a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 22px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #E2E8F0;
	color: #0C2340;
	font-weight: 600;
	line-height: 1.5;
	transition: border-color .2s, background .2s;
}

.osm3 .lk a:hover {
	border-color: #0C2340;
}

.osm3 .lk .ic {
	width: 20px;
	height: 20px;
}

@media (max-width: 640px) {
	.osm3 .lk {
		grid-template-columns: minmax(0,1fr);
	}
}

.osm3 .faq {
	border-top: 1px solid #E2E8F0;
}

.osm3 .faq details {
	border-bottom: 1px solid #E2E8F0;
	padding: 22px 0;
}

.osm3 .faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	list-style: none;
	cursor: pointer;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
	color: #0C2340;
}

.osm3 .faq summary::-webkit-details-marker {
	display: none;
}

.osm3 .faq summary::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
	color: #3E7D1E;
}

.osm3 .faq details[open] summary::after {
	content: "−";
}

.osm3 .faq p {
	margin-top: 12px;
	font-size: 15.5px;
	line-height: 1.75;
	color: #556677;
}

.osm3 .faq a {
	color: #0C2340;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.osm3 .cta {
	padding: 96px 0;
	background: #081A30;
	color: #fff;
	text-align: center;
}

.osm3 .cta h2 {
	font-size: clamp(26px,3.2vw,36px);
	line-height: 1.32;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #fff;
}

.osm3 .cta .sub {
	max-width: 620px;
	margin: 16px auto 0;
	font-size: 17px;
	color: rgba(255,255,255,.78);
}

.osm3 .cta .btns {
	justify-content: center;
	margin-top: 34px;
}

.osm3 .cta .info {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 28px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.14);
	font-size: 14.5px;
	color: rgba(255,255,255,.72);
}

.osm3 .cta .info span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.osm3 .cta .info .ic {
	width: 18px;
	height: 18px;
}

.osm3 .blog {
	display: grid;
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
	gap: 0;
	border-radius: 20px;
	overflow: hidden;
	background: #0C2340;
	color: #fff;
}

.osm3 .blog .tx {
	padding: 56px 52px;
}

.osm3 .blog .logo {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .08em;
	color: #8EC641;
}

.osm3 .blog .logo img {
	width: 44px;
	height: 44px;
	border-radius: 10px;
}

.osm3 .blog h2 {
	font-size: clamp(24px,2.6vw,32px);
	line-height: 1.32;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #fff;
}

.osm3 .blog p {
	margin-top: 16px;
	font-size: 17px;
	line-height: 1.75;
	color: rgba(255,255,255,.8);
}

.osm3 .blog .chk {
	margin-top: 24px;
}

.osm3 .blog .chk li {
	border-color: rgba(255,255,255,.14);
}

.osm3 .blog .chk strong {
	color: #fff;
	font-size: 16px;
}

.osm3 .blog .chk em {
	color: rgba(255,255,255,.7);
}

.osm3 .blog .btns {
	margin-top: 32px;
}

.osm3 .blog .vis {
	position: relative;
	min-height: 420px;
	background: #F5F7FA;
	background-position: top center;
	background-size: cover;
}

.osm3 .blog a.vis {
	display: block;
}

@media (max-width: 1024px) {
	.osm3 .blog {
		grid-template-columns: minmax(0,1fr);
	}
	
	.osm3 .blog .vis {
		min-height: 300px;
	}
	
	.osm3 .blog .tx {
		padding: 40px 28px;
	}
}

.osm3 .sns a {
	display: flex;
	align-items: center;
	gap: 20px;
}

.osm3 .sns img {
	flex: 0 0 auto;
	height: 44px;
	width: auto;
}

.osm3 .sns h3 {
	margin-top: 0;
}

.osm3 .sns p {
	margin-top: 4px;
}

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

.osm3 .facts > div {
	padding: 22px 20px 22px 0;
	border-bottom: 1px solid #E2E8F0;
}

.osm3 .facts b {
	display: block;
	font-size: 24px;
	font-weight: 800;
	color: #0C2340;
}

.osm3 .facts span {
	display: block;
	margin-top: 4px;
	font-size: 14.5px;
	color: #556677;
}

.osm3 .tline > div {
	display: grid;
	grid-template-columns: 200px minmax(0,1fr);
	gap: 20px;
	padding: 18px 0;
	border-bottom: 1px solid #E2E8F0;
}

.osm3 .tline b {
	color: #0C2340;
}

.osm3 .tline span {
	color: #556677;
}

@media (max-width: 640px) {
	.osm3 .facts {
		grid-template-columns: minmax(0,1fr);
	}
	
	.osm3 .tline > div {
		grid-template-columns: minmax(0,1fr);
		gap: 4px;
	}
}

.osm3-after {
	max-width: 1168px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}

.osm3 .i-phone-n,.osm-ic.i-phone-n {
	background-position: 0 0;
}

.osm3 .i-chat-n,.osm-ic.i-chat-n {
	background-position: 3.4483% 0;
}

.osm3 .i-pin-n,.osm-ic.i-pin-n {
	background-position: 6.8966% 0;
}

.osm3 .i-clock-n,.osm-ic.i-clock-n {
	background-position: 10.3448% 0;
}

.osm3 .i-search-n,.osm-ic.i-search-n {
	background-position: 13.7931% 0;
}

.osm3 .i-target-n,.osm-ic.i-target-n {
	background-position: 17.2414% 0;
}

.osm3 .i-repeat-n,.osm-ic.i-repeat-n {
	background-position: 20.6897% 0;
}

.osm3 .i-trend-n,.osm-ic.i-trend-n {
	background-position: 24.1379% 0;
}

.osm3 .i-cpu-n,.osm-ic.i-cpu-n {
	background-position: 27.5862% 0;
}

.osm3 .i-scan-n,.osm-ic.i-scan-n {
	background-position: 31.0345% 0;
}

.osm3 .i-book-n,.osm-ic.i-book-n {
	background-position: 34.4828% 0;
}

.osm3 .i-check-n,.osm-ic.i-check-n {
	background-position: 37.931% 0;
}

.osm3 .i-arrow-n,.osm-ic.i-arrow-n {
	background-position: 41.3793% 0;
}

.osm3 .i-cap-n,.osm-ic.i-cap-n {
	background-position: 44.8276% 0;
}

.osm3 .i-users-n,.osm-ic.i-users-n {
	background-position: 48.2759% 0;
}

.osm3 .i-chart-n,.osm-ic.i-chart-n {
	background-position: 51.7241% 0;
}

.osm3 .i-doc-n,.osm-ic.i-doc-n {
	background-position: 55.1724% 0;
}

.osm3 .i-calendar-n,.osm-ic.i-calendar-n {
	background-position: 58.6207% 0;
}

.osm3 .i-award-n,.osm-ic.i-award-n {
	background-position: 62.069% 0;
}

.osm3 .i-pen-n,.osm-ic.i-pen-n {
	background-position: 65.5172% 0;
}

.osm3 .i-play-n,.osm-ic.i-play-n {
	background-position: 68.9655% 0;
}

.osm3 .i-send-n,.osm-ic.i-send-n {
	background-position: 72.4138% 0;
}

.osm3 .i-message-n,.osm-ic.i-message-n {
	background-position: 75.8621% 0;
}

.osm3 .i-layers-n,.osm-ic.i-layers-n {
	background-position: 79.3103% 0;
}

.osm3 .i-compass-n,.osm-ic.i-compass-n {
	background-position: 82.7586% 0;
}

.osm3 .i-clipboard-n,.osm-ic.i-clipboard-n {
	background-position: 86.2069% 0;
}

.osm3 .i-spark-n,.osm-ic.i-spark-n {
	background-position: 89.6552% 0;
}

.osm3 .i-school-n,.osm-ic.i-school-n {
	background-position: 93.1034% 0;
}

.osm3 .i-external-n,.osm-ic.i-external-n {
	background-position: 96.5517% 0;
}

.osm3 .i-list-n,.osm-ic.i-list-n {
	background-position: 100% 0;
}

.osm3 .i-phone-g,.osm-ic.i-phone-g {
	background-position: 0 50%;
}

.osm3 .i-chat-g,.osm-ic.i-chat-g {
	background-position: 3.4483% 50%;
}

.osm3 .i-pin-g,.osm-ic.i-pin-g {
	background-position: 6.8966% 50%;
}

.osm3 .i-clock-g,.osm-ic.i-clock-g {
	background-position: 10.3448% 50%;
}

.osm3 .i-search-g,.osm-ic.i-search-g {
	background-position: 13.7931% 50%;
}

.osm3 .i-target-g,.osm-ic.i-target-g {
	background-position: 17.2414% 50%;
}

.osm3 .i-repeat-g,.osm-ic.i-repeat-g {
	background-position: 20.6897% 50%;
}

.osm3 .i-trend-g,.osm-ic.i-trend-g {
	background-position: 24.1379% 50%;
}

.osm3 .i-cpu-g,.osm-ic.i-cpu-g {
	background-position: 27.5862% 50%;
}

.osm3 .i-scan-g,.osm-ic.i-scan-g {
	background-position: 31.0345% 50%;
}

.osm3 .i-book-g,.osm-ic.i-book-g {
	background-position: 34.4828% 50%;
}

.osm3 .i-check-g,.osm-ic.i-check-g {
	background-position: 37.931% 50%;
}

.osm3 .i-arrow-g,.osm-ic.i-arrow-g {
	background-position: 41.3793% 50%;
}

.osm3 .i-cap-g,.osm-ic.i-cap-g {
	background-position: 44.8276% 50%;
}

.osm3 .i-users-g,.osm-ic.i-users-g {
	background-position: 48.2759% 50%;
}

.osm3 .i-chart-g,.osm-ic.i-chart-g {
	background-position: 51.7241% 50%;
}

.osm3 .i-doc-g,.osm-ic.i-doc-g {
	background-position: 55.1724% 50%;
}

.osm3 .i-calendar-g,.osm-ic.i-calendar-g {
	background-position: 58.6207% 50%;
}

.osm3 .i-award-g,.osm-ic.i-award-g {
	background-position: 62.069% 50%;
}

.osm3 .i-pen-g,.osm-ic.i-pen-g {
	background-position: 65.5172% 50%;
}

.osm3 .i-play-g,.osm-ic.i-play-g {
	background-position: 68.9655% 50%;
}

.osm3 .i-send-g,.osm-ic.i-send-g {
	background-position: 72.4138% 50%;
}

.osm3 .i-message-g,.osm-ic.i-message-g {
	background-position: 75.8621% 50%;
}

.osm3 .i-layers-g,.osm-ic.i-layers-g {
	background-position: 79.3103% 50%;
}

.osm3 .i-compass-g,.osm-ic.i-compass-g {
	background-position: 82.7586% 50%;
}

.osm3 .i-clipboard-g,.osm-ic.i-clipboard-g {
	background-position: 86.2069% 50%;
}

.osm3 .i-spark-g,.osm-ic.i-spark-g {
	background-position: 89.6552% 50%;
}

.osm3 .i-school-g,.osm-ic.i-school-g {
	background-position: 93.1034% 50%;
}

.osm3 .i-external-g,.osm-ic.i-external-g {
	background-position: 96.5517% 50%;
}

.osm3 .i-list-g,.osm-ic.i-list-g {
	background-position: 100% 50%;
}

.osm3 .i-phone-w,.osm-ic.i-phone-w {
	background-position: 0 100%;
}

.osm3 .i-chat-w,.osm-ic.i-chat-w {
	background-position: 3.4483% 100%;
}

.osm3 .i-pin-w,.osm-ic.i-pin-w {
	background-position: 6.8966% 100%;
}

.osm3 .i-clock-w,.osm-ic.i-clock-w {
	background-position: 10.3448% 100%;
}

.osm3 .i-search-w,.osm-ic.i-search-w {
	background-position: 13.7931% 100%;
}

.osm3 .i-target-w,.osm-ic.i-target-w {
	background-position: 17.2414% 100%;
}

.osm3 .i-repeat-w,.osm-ic.i-repeat-w {
	background-position: 20.6897% 100%;
}

.osm3 .i-trend-w,.osm-ic.i-trend-w {
	background-position: 24.1379% 100%;
}

.osm3 .i-cpu-w,.osm-ic.i-cpu-w {
	background-position: 27.5862% 100%;
}

.osm3 .i-scan-w,.osm-ic.i-scan-w {
	background-position: 31.0345% 100%;
}

.osm3 .i-book-w,.osm-ic.i-book-w {
	background-position: 34.4828% 100%;
}

.osm3 .i-check-w,.osm-ic.i-check-w {
	background-position: 37.931% 100%;
}

.osm3 .i-arrow-w,.osm-ic.i-arrow-w {
	background-position: 41.3793% 100%;
}

.osm3 .i-cap-w,.osm-ic.i-cap-w {
	background-position: 44.8276% 100%;
}

.osm3 .i-users-w,.osm-ic.i-users-w {
	background-position: 48.2759% 100%;
}

.osm3 .i-chart-w,.osm-ic.i-chart-w {
	background-position: 51.7241% 100%;
}

.osm3 .i-doc-w,.osm-ic.i-doc-w {
	background-position: 55.1724% 100%;
}

.osm3 .i-calendar-w,.osm-ic.i-calendar-w {
	background-position: 58.6207% 100%;
}

.osm3 .i-award-w,.osm-ic.i-award-w {
	background-position: 62.069% 100%;
}

.osm3 .i-pen-w,.osm-ic.i-pen-w {
	background-position: 65.5172% 100%;
}

.osm3 .i-play-w,.osm-ic.i-play-w {
	background-position: 68.9655% 100%;
}

.osm3 .i-send-w,.osm-ic.i-send-w {
	background-position: 72.4138% 100%;
}

.osm3 .i-message-w,.osm-ic.i-message-w {
	background-position: 75.8621% 100%;
}

.osm3 .i-layers-w,.osm-ic.i-layers-w {
	background-position: 79.3103% 100%;
}

.osm3 .i-compass-w,.osm-ic.i-compass-w {
	background-position: 82.7586% 100%;
}

.osm3 .i-clipboard-w,.osm-ic.i-clipboard-w {
	background-position: 86.2069% 100%;
}

.osm3 .i-spark-w,.osm-ic.i-spark-w {
	background-position: 89.6552% 100%;
}

.osm3 .i-school-w,.osm-ic.i-school-w {
	background-position: 93.1034% 100%;
}

.osm3 .i-external-w,.osm-ic.i-external-w {
	background-position: 96.5517% 100%;
}

.osm3 .i-list-w,.osm-ic.i-list-w {
	background-position: 100% 100%;
}

html body.page-id-26 .wp-block-post-content > .wp-block-group,html body.page-id-668 .wp-block-post-content > .wp-block-group,html body.page-id-25 .wp-block-post-content > .wp-block-group {
	max-width: 1168px !important;
	margin: 0 auto !important;
	padding: 88px 24px !important;
	box-sizing: border-box !important;
}

html body.page-id-26 .wp-block-post-content > .wp-block-group > *,html body.page-id-668 .wp-block-post-content > .wp-block-group > *,html body.page-id-25 .wp-block-post-content > .wp-block-group > * {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

html body.page-id-26 .wp-block-post-content > .wp-block-group h2,html body.page-id-668 .wp-block-post-content > .wp-block-group h2,html body.page-id-25 .wp-block-post-content > .wp-block-group > h2 {
	font-size: clamp(26px,3.2vw,36px) !important;
	line-height: 1.32 !important;
	font-weight: 800 !important;
	letter-spacing: -.03em !important;
	color: #0C2340 !important;
	margin: 0 0 32px !important;
}

html body.page-id-668 .wp-block-latest-posts {
	display: grid !important;
	grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	gap: 16px !important;
	padding: 0 !important;
	margin: 0 !important;
}

html body.page-id-668 .wp-block-latest-posts li {
	margin: 0 !important;
	padding: 24px 26px !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	background: #fff !important;
	list-style: none !important;
}

html body.page-id-668 .wp-block-latest-posts__post-title {
	display: block !important;
	color: #0C2340 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	text-decoration: none !important;
}

html body.page-id-668 .wp-block-latest-posts__post-title:hover {
	color: #3E7D1E !important;
}

html body.page-id-668 .wp-block-latest-posts__post-date {
	display: block !important;
	margin-top: 6px !important;
	color: #556677 !important;
	font-size: 13.5px !important;
}

html body.page-id-668 .wp-block-latest-posts__post-excerpt {
	margin-top: 10px !important;
	color: #556677 !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}

@media (max-width: 760px) {
	html body.page-id-668 .wp-block-latest-posts {
		grid-template-columns: minmax(0,1fr) !important;
	}
}

html body.page-id-25 .wp-block-post-template .wp-block-column:first-child:not(:has(img)) {
	display: none !important;
}

html body.page-id-25 .wp-block-post-content > .wp-block-group .has-background {
	background: #0C2340 !important;
	border-radius: 16px !important;
}

html body.page-id-25 .wp-block-post-template > li {
	padding: 24px 26px !important;
	margin: 0 0 14px !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 16px !important;
	background: #fff !important;
}

html body.page-id-25 .wp-block-post-template .wp-block-separator {
	display: none !important;
}

html body.page-id-25 .wp-block-post-template .wp-block-post-title a {
	color: #0C2340 !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

html body.page-id-25 .wp-block-post-template .wp-block-post-excerpt,html body.page-id-25 .wp-block-post-template .wp-block-post-date {
	color: #556677 !important;
	font-size: 15px !important;
}

html body.page-id-26 .wp-block-post-content > .wp-block-group iframe {
	width: 100% !important;
	border-radius: 16px !important;
}

html body.page-id-26 .wp-block-post-content > .wp-block-group details {
	margin-top: 16px !important;
	color: #556677 !important;
}

.osm3 .blog .vis {
	display: block !important;
	position: relative;
	min-height: 420px;
	background: #F5F7FA;
	overflow: hidden;
}

.osm3 .blog .vis img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform .6s ease;
}

.osm3 .blog .vis:hover img {
	transform: scale(1.03);
}

html body .wp-block-post-content.has-global-padding:has(> .osm3) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

html body .wp-block-post-content:has(> .osm3) > .osm3 {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (min-width: 769px) {
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container {
		display: block !important;
		columns: 2 !important;
		column-gap: 28px !important;
		width: 520px !important;
		min-width: 520px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		padding: 22px 22px 18px !important;
		border: 1px solid #E2E8F0 !important;
		border-top: 0 !important;
		border-radius: 0 0 16px 16px !important;
		background: #fff !important;
		box-shadow: 0 24px 48px rgba(12,35,64,.16) !important;
		background-image: linear-gradient(90deg,#0C2340,#3E7D1E 60%,#8EC641) !important;
		background-size: 100% 4px !important;
		background-repeat: no-repeat !important;
		background-position: top left !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		display: block !important;
		break-inside: avoid !important;
		width: auto !important;
		margin: 0 !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(6) {
		break-before: column !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(1)::before,html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(4)::before,html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(6)::before {
		display: block !important;
		padding: 4px 14px 8px !important;
		font-size: 11.5px !important;
		font-weight: 800 !important;
		letter-spacing: .14em !important;
		color: #3E7D1E !important;
		text-shadow: none !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(1)::before {
		content: "SUBJECTS · 과목별 수업" !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(4)::before {
		content: "EXAM · 시험분석" !important;
		margin-top: 12px !important;
		padding-top: 14px !important;
		border-top: 1px solid #EEF2F8 !important;
	}
	
	html body header .wp-block-navigation .has-child > .wp-block-navigation__submenu-container > .wp-block-navigation-item:nth-child(6)::before {
		content: "SCHOOLS · 학교별 내신" !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		position: relative !important;
		display: block !important;
		padding: 9px 14px !important;
		border-radius: 10px !important;
		font-size: 15.5px !important;
		font-weight: 600 !important;
		color: #0C2340 !important;
		text-shadow: none !important;
		filter: none !important;
		background: transparent !important;
		transition: background .18s, color .18s, padding-left .18s !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus {
		background: #F2F7EC !important;
		color: #3E7D1E !important;
		padding-left: 22px !important;
		text-decoration: none !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
		content: "" !important;
		position: absolute !important;
		left: 10px !important;
		top: 50% !important;
		width: 3px !important;
		height: 0 !important;
		border-radius: 3px !important;
		background: #8EC641 !important;
		transform: translateY(-50%) !important;
		transition: height .18s !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before {
		height: 16px !important;
	}
	
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container * {
		text-shadow: none !important;
	}
}

@media (min-width: 769px) {
	html body header .wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		margin: 0 !important;
	}
}

.osm3 .bars {
	display: grid;
	gap: 12px;
}

.osm3 .bar {
	display: grid;
	grid-template-columns: 120px minmax(0,1fr) 56px;
	gap: 14px;
	align-items: center;
}

.osm3 .bar span {
	font-size: 15px;
	font-weight: 600;
	color: #0C2340;
}

.osm3 .bar .tr {
	height: 10px;
	border-radius: 999px;
	background: #EEF2F8;
	overflow: hidden;
}

.osm3 .bar .tr i {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg,#0C2340,#3E7D1E 70%,#8EC641);
}

.osm3 .bar b {
	text-align: right;
	font-size: 14.5px;
	font-weight: 700;
	color: #3E7D1E;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-post-title,html body.single:has(.wp-block-post-content > .osm3) main .wp-block-post-featured-image,html body.single:has(.wp-block-post-content > .osm3) main .has-accent-4-color {
	display: none !important;
}

html body.single:has(.wp-block-post-content > .osm3) main {
	padding: 0 !important;
	margin-top: 0 !important;
}

html body.single:has(.wp-block-post-content > .osm3) main > .wp-block-group {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

html body.single .wp-block-post-content:has(> .osm3) {
	margin: 0 !important;
	max-width: none !important;
	width: auto !important;
	padding: 0 !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-post-content ~ * {
	max-width: 1168px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .wp-block-post-title {
	display: block !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .wp-block-post-featured-image {
	display: block !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .has-accent-4-color {
	display: block !important;
}

html body.single .wp-block-post-content:has(> .osm3) > :not(.osm3) {
	max-width: 1168px !important;
	margin: 40px auto 0 !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-post-content ~ * {
	margin-top: 28px !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-terms {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	justify-content: flex-start !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-terms .wp-block-post-terms__separator {
	display: none !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-terms a {
	display: inline-block !important;
	padding: 6px 14px !important;
	border: 1px solid #E2E8F0 !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #0C2340 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-terms a:hover {
	border-color: #3E7D1E !important;
	color: #3E7D1E !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-navigation-link a {
	color: #0C2340 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

html body.single:has(.wp-block-post-content > .osm3) .wp-block-post-navigation-link a:hover {
	color: #3E7D1E !important;
}

html body.single:has(.wp-block-post-content > .osm3) main > .wp-block-group.alignwide {
	max-width: 1168px !important;
	margin: 64px auto 80px !important;
	padding: 0 24px !important;
	box-sizing: border-box !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .wp-block-post-title a {
	color: #0C2340 !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .wp-block-post-title a:hover {
	color: #3E7D1E !important;
}

html body.single:has(.wp-block-post-content > .osm3) main .wp-block-query .wp-block-post-date {
	color: #556677 !important;
	font-size: 14px !important;
}

/* ===== OSM V3 END ===== */
/* --- 시험분석 글: 수학·영어 비교 표(.cmp) + 지필·수행 비율 막대(.ratio) — 2026-10-16 --- */
.osm3 .tbl {
	overflow-x: auto;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	background: #fff;
}

.osm3 .cmp {
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	font-size: 15.5px;
	line-height: 1.6;
	margin: 0;
}

.osm3 .cmp th,.osm3 .cmp td {
	padding: 16px 20px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid #E2E8F0;
}

.osm3 .cmp thead th {
	background: #0C2340;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
}

.osm3 .cmp thead th + th {
	width: 40%;
}

.osm3 .cmp tbody th {
	width: 150px;
	background: #F6F8FB;
	color: #0C2340;
	font-weight: 700;
}

.osm3 .cmp td {
	color: #334455;
}

.osm3 .cmp tbody tr:last-child > * {
	border-bottom: 0;
}

.osm3 .cmp tbody tr:last-child td {
	color: #0C2340;
	font-weight: 600;
}

.osm3 .ratio {
	display: flex;
	height: 10px;
	margin-top: 10px;
	border-radius: 999px;
	overflow: hidden;
	background: #EEF2F8;
	max-width: 260px;
}

.osm3 .ratio i {
	display: block;
	height: 100%;
	background: #0C2340;
}

.osm3 .ratio i + i {
	background: #8EC641;
}

@media (max-width: 640px) {
	.osm3 .cmp {
		font-size: 14.5px;
	}
	
	.osm3 .cmp th,.osm3 .cmp td {
		padding: 12px 14px;
	}
	
	.osm3 .cmp tbody th {
		width: 96px;
	}
}

.osm3 .cmp.one {
	min-width: 0;
}
/* ===== OSM V4 시험분석 글 (2026-10-21): 3초 요약·목차·한 색 강조 막대·글 정보 줄·휴대폰 하단 상담 띠 ===== */
.osm3 section[id]{scroll-margin-top:96px}
.osm3 .hero .meta{margin-top:26px;font-size:13.5px;letter-spacing:-.01em;color:rgba(255,255,255,.62)}
.osm3 .sec.sumsec{padding:56px 0 8px}
.osm3 .sum{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start}
.osm3 .sum .box{padding:34px 36px;border-radius:18px;background:#F3F8EC;border:1px solid #DCEBC7;border-left:6px solid #3E7D1E}
.osm3 .sum .eb{display:inline-block;padding:5px 12px;border-radius:999px;background:#3E7D1E;color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.06em}
.osm3 .sum .vd{margin-top:16px;font-size:18px;line-height:1.7;font-weight:700;color:#0C2340;letter-spacing:-.02em}
.osm3 .sum .kp{margin:20px 0 0;padding:0;list-style:none;counter-reset:k;display:grid;gap:14px}
.osm3 .sum .kp li{position:relative;padding-left:44px;font-size:16px;line-height:1.7;color:#334155}
.osm3 .sum .kp li b{color:#0C2340}
.osm3 .sum .kp li::before{counter-increment:k;content:counter(k);position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;background:#0C2340;color:#fff;font-size:14px;font-weight:800;line-height:28px;text-align:center}
.osm3 .toc{position:sticky;top:96px;padding:26px 26px 14px;border-radius:18px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 10px 30px rgba(12,35,64,.06)}
.osm3 .toc b{display:block;margin-bottom:6px;font-size:12.5px;font-weight:800;letter-spacing:.12em;color:#3E7D1E}
.osm3 .toc a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #EEF2F8;color:#0C2340;font-size:15.5px;font-weight:600;transition:color .2s,padding .2s}
.osm3 .toc a:hover{color:#3E7D1E;padding-left:4px}
.osm3 .toc a span{font-size:12.5px;font-weight:700;color:#A0AEC0;font-variant-numeric:tabular-nums}
.osm3 .bars.v4 .bar .tr i{background:#B8C4D3}
.osm3 .bars.v4 .bar.top .tr i{background:linear-gradient(90deg,#3E7D1E,#8EC641)}
.osm3 .bars.v4 .bar b{color:#64748B}
.osm3 .bars.v4 .bar.top span,.osm3 .bars.v4 .bar.top b{color:#3E7D1E;font-weight:800}
.osm3 .mbar{display:none}
@media (max-width: 900px){.osm3 .sum{grid-template-columns:minmax(0,1fr)}.osm3 .toc{position:static}}
@media (max-width: 768px){
.osm3 .sec.sumsec{padding:36px 0 0}
.osm3 .sum .box{padding:24px 20px}
.osm3 .sum .vd{font-size:16.5px}
.osm3 .sum .kp li{font-size:15px;padding-left:38px}
.osm3 .toc{padding:20px 20px 8px}
.osm3 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;box-shadow:0 -6px 20px rgba(8,26,48,.22)}
.osm3 .mbar a{flex:1 1 50%;display:flex;align-items:center;justify-content:center;gap:8px;height:58px;background:#0C2340;color:#fff;font-size:16px;font-weight:800}
.osm3 .mbar a + a{background:#FEE500;color:#191919}
.osm3 .mbar .ic{width:20px;height:20px}
.osm3 .mbar-sp{height:58px}
}
/* ===== OSM V4 끝 ===== */