/* 장자기독학교 커스텀 스타일 - 라이트 테마 (CSS만) - 파스텔톤 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;800;900&display=swap');

:root {
	/* 라이트 테마 컬러 팔레트 - 중간 파스텔톤 */
	--primary-red: #ff8fa3;          /* 부드러운 핑크 레드 */
	--primary-blue: #89b4fa;         /* 부드러운 파스텔 블루 */
	--light-bg: #ffffff;             /* 메인 배경 */
	--light-surface: #fafbfc;        /* 카드/섹션 배경 */
	--light-card: #f5f7fa;           /* 카드 배경 */
	--text-primary: #2c3e50;         /* 주요 텍스트 */
	--text-secondary: #64748b;       /* 보조 텍스트 */
	--text-muted: #94a3b8;           /* 흐린 텍스트 */
	--border-color: #e2e8f0;         /* 보더 색상 */
	
	/* 그라디언션 - 파스텔톤 */
	--gradient-primary: linear-gradient(135deg, #ff8fa3 0%, #89b4fa 100%);
	--gradient-light: linear-gradient(135deg, #fef5f7 0%, #f0f4ff 100%);
	--gradient-accent: linear-gradient(135deg, #89b4fa 0%, #ff8fa3 100%);
}

/* ========== BODY & BASIC OVERRIDES ========== */
body {
	background: #e9ecef !important;
	color: var(--text-primary) !important;
	font-family: 'Noto Sans KR', 'Inter', sans-serif !important;
}

body.landing,
body.is-preload,
body.is-mobile {
	background: #e9ecef !important;
}

#page-wrapper,
body.landing #page-wrapper,
body.is-preload #page-wrapper,
body.is-mobile.landing #page-wrapper {
	background: #e9ecef !important;
	background-color: #e9ecef !important;
	background-image: none !important;
}

body, input, select, textarea {
	color: var(--text-primary) !important;
	font-weight: 400;
}

strong, b {
	color: var(--text-primary) !important;
	font-weight: 600;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--text-primary) !important;
	font-weight: 600;
}

/* ========== HEADER IMPROVEMENTS ========== */
#header {
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
	border-bottom: 1px solid var(--border-color) !important;
	transition: all 0.3s ease !important;
}

#header h1 a {
	color: var(--text-primary) !important;
	font-weight: 700;
	text-decoration: none;
	border: none;
}

#header.alt {
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(20px);
}

#header.alt h1 a {
	color: var(--text-primary) !important;
}

#header.scrolled h1 a,
#header:not(.alt) h1 a {
	color: var(--text-primary) !important;
	font-weight: 700;
	text-decoration: none;
	border: none;
}

/* ====== 모바일/태블릿 (980px 이하) ====== */
@media screen and (max-width: 980px) {
	#header nav > ul > li.desktop-only {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		position: absolute !important;
		left: -9999px !important;
		pointer-events: none !important;
	}
	
	#header nav > ul > li.special {
		display: inline-block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: auto !important;
		height: auto !important;
		overflow: visible !important;
		position: static !important;
		left: auto !important;
		padding: 0 !important;
		pointer-events: auto !important;
		z-index: 10001 !important;
	}
	
	#header nav > ul > li.special > a.menuToggle {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		color: #64748b !important;
		pointer-events: auto !important;
		cursor: pointer !important;
		position: relative !important;
		z-index: 10001 !important;
	}
	
	#header nav > ul > li.special > a.menuToggle span {
		pointer-events: auto !important;
		cursor: pointer !important;
	}
	
	#header nav > ul > li.special > a.menuToggle:after {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z' fill='%2364748b' /%3E%3C/svg%3E") !important;
		pointer-events: none !important;
	}
	
	#header nav > ul > li.special > a.menuToggle:hover {
		color: #475569 !important;
	}
	
	#header nav > ul > li.special > a.menuToggle:hover:after {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M4,10h24c1.104,0,2-0.896,2-2s-0.896-2-2-2H4C2.896,6,2,6.896,2,8S2.896,10,4,10z M28,14H4c-1.104,0-2,0.896-2,2 s0.896,2,2,2h24c1.104,0,2-0.896,2-2S29.104,14,28,14z M28,22H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h24c1.104,0,2-0.896,2-2 S29.104,22,28,22z' fill='%23475569' /%3E%3C/svg%3E") !important;
	}
	
	#header {
		padding: 1em 0 !important;
	}
	
	#header .header-logo {
		height: 60px !important;
	}
}

/* ====== 데스크탑 (981px 이상) ====== */
@media screen and (min-width: 981px) {
	#header nav > ul > li.special {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		position: absolute !important;
		left: -9999px !important;
	}
	
	#header nav > ul > li.desktop-only {
		display: inline-block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	#header {
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 1.2em 5em !important;
		min-height: 80px !important;
	}
	
	#header h1 {
		margin: 0 !important;
		flex-shrink: 0 !important;
		display: flex !important;
		align-items: center !important;
		height: 100% !important;
	}
	
	#header h1 .logo-link {
		display: flex !important;
		align-items: center !important;
		gap: 0.75rem !important;
		height: 100% !important;
	}
	
	#header nav {
		flex-grow: 1 !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		padding-right: 3em !important;
		height: 100% !important;
	}
	
	#header nav > ul {
		display: flex !important;
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 2.5em !important;
		align-items: center !important;
		height: 100% !important;
	}
	
	#header nav > ul > li.desktop-only {
		display: flex !important;
		align-items: center !important;
		height: 100% !important;
		padding: 0 !important;
	}
	
	#header nav > ul > li.desktop-only > a {
		color: var(--text-secondary) !important;
		font-weight: 500 !important;
		font-size: 0.95em !important;
		text-decoration: none !important;
		border: none !important;
		transition: all 0.3s ease !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		white-space: nowrap !important;
		line-height: 1 !important;
		height: auto !important;
		letter-spacing: -0.03em !important;
	}
	
	#header nav > ul > li.desktop-only > a:hover {
		color: var(--primary-red) !important;
		transform: translateY(-2px) !important;
	}
	
	#header .header-logo {
		height: 200px !important;
		width: auto !important;
		max-height: 200px !important;
		object-fit: contain !important;
		display: block !important;
	}
}

#header nav > ul > li > a {
	color: var(--text-secondary) !important;
	font-weight: 500;
	transition: all 0.3s ease;
}

#header nav > ul > li > a:hover {
	color: var(--text-primary) !important;
}

#header.alt nav > ul > li > a {
	color: var(--text-secondary) !important;
}

/* ========== BANNER & PRELOAD ========== */
#banner {
	background: linear-gradient(135deg, #e9ecef 0%, #f8f9fa 100%) !important;
	color: var(--text-primary) !important;
	position: relative;
	overflow: hidden;
}

#banner:after {
	background: transparent !important;
	opacity: 0 !important;
}

body.is-preload #banner:after {
	background: #e9ecef !important;
	opacity: 1 !important;
}

body.landing #banner {
	background: linear-gradient(135deg, #e9ecef 0%, #f8f9fa 100%) !important;
	background-image: none !important;
}

body.is-mobile.landing #banner {
	background: linear-gradient(135deg, #e9ecef 0%, #f8f9fa 100%) !important;
	background-image: none !important;
}

body.landing #page-wrapper {
	background: #e9ecef !important;
	background-image: none !important;
}

body.is-mobile.landing #page-wrapper {
	background: #e9ecef !important;
	background-image: none !important;
}

body.is-preload #page-wrapper {
	background: #f8f9fa !important;
}

body.is-preload {
	background: #f8f9fa !important;
}

#banner:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><defs><radialGradient id="a" cx="50%" cy="50%"><stop offset="0%" stop-color="%23ff8fa3" stop-opacity="0.01"/><stop offset="100%" stop-color="transparent"/></radialGradient></defs><circle cx="200" cy="200" r="300" fill="url(%23a)"/><circle cx="800" cy="800" r="400" fill="url(%23a)"/></svg>');
	opacity: 0.1;
	pointer-events: none;
}

#banner .inner {
	position: relative;
	z-index: 2;
}

#banner h2 {
	font-size: 3em;
	font-weight: 800;
	margin-bottom: 0.5em;
	text-shadow: none;
	color: var(--text-primary) !important;
	background: linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#banner p {
	font-size: 1.2em;
	margin-bottom: 2em;
	color: var(--text-secondary) !important;
	line-height: 1.6;
	font-weight: 300;
}

#banner h2:before, #banner h2:after {
	background: linear-gradient(135deg, var(--primary-red) 0%, var(--primary-blue) 100%) !important;
	height: 2px !important;
}

/* ========== WRAPPER STYLE IMPROVEMENTS ========== */
.wrapper.style1 {
	background: var(--light-surface) !important;
	color: var(--text-primary) !important;
}

.wrapper.style1 h2, .wrapper.style1 h3, .wrapper.style1 h4, .wrapper.style1 h5, .wrapper.style1 h6 {
	color: var(--text-primary) !important;
}

.wrapper.style1 strong, .wrapper.style1 b {
	color: var(--text-primary) !important;
}

.wrapper.style1 header p {
	color: var(--text-secondary) !important;
}

.wrapper.style1 header.major h2, .wrapper.style1 header.major h3, .wrapper.style1 header.major h4, .wrapper.style1 header.major h5, .wrapper.style1 header.major h6 {
	border-color: var(--border-color) !important;
}

.wrapper.style1 header.major p {
	color: var(--text-secondary) !important;
}

.wrapper.style1 .icon.major {
	border-color: var(--border-color) !important;
	background: rgba(137, 180, 250, 0.1) !important;
	transition: all 0.3s ease !important;
}

.wrapper.style1 .icon.major:hover {
	transform: translateY(-5px) scale(1.05) !important;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
}

.wrapper.style1 .icon.style1 {
	color: #ffd89b !important;
	text-shadow: 0 2px 4px rgba(255, 216, 155, 0.3) !important;
}

.wrapper.style1 .icon.style1:before {
	background: linear-gradient(135deg, #ffd89b 0%, #ffb88c 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.wrapper.style1 .icon.style2 {
	color: #ffb3d9 !important;
	text-shadow: 0 2px 4px rgba(255, 179, 217, 0.3) !important;
}

.wrapper.style1 .icon.style2:before {
	background: linear-gradient(135deg, #ffb3d9 0%, #ff8fb9 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.wrapper.style1 .icon.style3 {
	color: #89d4cf !important;
	text-shadow: 0 2px 4px rgba(137, 212, 207, 0.3) !important;
}

.wrapper.style1 .icon.style3:before {
	background: linear-gradient(135deg, #89d4cf 0%, #a7e9e4 100%) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.wrapper.style1 .icons.major li:nth-child(1) .icon {
	color: #ffd89b !important;
}

.wrapper.style1 .icons.major li:nth-child(2) .icon {
	color: #ffb3d9 !important;
}

.wrapper.style1 .icons.major li:nth-child(3) .icon {
	color: #89d4cf !important;
}

.wrapper.style2 {
	background: var(--light-bg) !important;
}

.wrapper.style3 {
	background: var(--light-surface) !important;
	color: var(--text-primary) !important;
}

.wrapper.style3 h2, .wrapper.style3 h3, .wrapper.style3 h4, .wrapper.style3 h5, .wrapper.style3 h6 {
	color: var(--text-primary) !important;
}

.wrapper.style3 strong, .wrapper.style3 b {
	color: var(--text-primary) !important;
}

.wrapper.style3 header p {
	color: var(--text-secondary) !important;
}

.wrapper.style3 header.major h2, .wrapper.style3 header.major h3, .wrapper.style3 header.major h4, .wrapper.style3 header.major h5, .wrapper.style3 header.major h6 {
	border-color: var(--border-color) !important;
}

.wrapper.style3 header.major p {
	color: var(--text-secondary) !important;
}

.wrapper.style4 {
	background: var(--gradient-primary) !important;
	color: white !important;
	position: relative;
}

.wrapper.style4:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.1) 50%, transparent 70%);
	pointer-events: none;
}

.wrapper.style4 .inner {
	position: relative;
	z-index: 2;
}

.wrapper.style4 h2 {
	color: white !important;
	font-size: 2.2em;
	font-weight: 700;
	text-shadow: none;
}

.wrapper.style4 p {
	color: rgba(255, 255, 255, 0.9) !important;
}

.wrapper.style5 {
	background: var(--light-bg) !important;
	color: var(--text-primary) !important;
}

.wrapper.style5 h2, .wrapper.style5 h3, .wrapper.style5 h4, .wrapper.style5 h5, .wrapper.style5 h6 {
	color: var(--text-primary) !important;
}

.wrapper.style5 strong, .wrapper.style5 b {
	color: var(--text-primary) !important;
}

.wrapper.style5 ul.alt li {
	border-color: var(--border-color) !important;
	color: var(--text-secondary) !important;
}

.wrapper.style5 ul.alt li strong {
	color: var(--text-primary) !important;
}

/* ========== SPOTLIGHT IMPROVEMENTS ========== */
.spotlight:nth-child(1) { 
	background: rgba(255, 179, 179, 0.02) !important;
}

.spotlight:nth-child(2) { 
	background: rgba(179, 204, 255, 0.02) !important;
}

.spotlight:nth-child(3) { 
	background: rgba(255, 179, 179, 0.03) !important;
}

.spotlight h2 {
	color: var(--text-primary) !important;
	font-size: 1.8em;
	font-weight: 700;
}

.spotlight p {
	color: var(--text-secondary) !important;
}

.spotlight .content {
	padding: 3em 4em 2em 4em;
}

/* ========== FEATURES SECTION ========== */
.wrapper.style3 .features,
.wrapper.style3 ul.features {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	list-style: none !important;
	padding: 0 !important;
	width: 100% !important;
	margin: 0 !important;
}

.wrapper.style3 .features li,
.wrapper.style3 ul.features li {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	text-align: center !important;
	width: 50% !important;
	min-height: 320px !important;
	padding: 2em 1.5em 1em 1.5em !important;
	margin: 0 !important;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.5rem;
}

.wrapper.style3 .features li:before,
.wrapper.style3 ul.features li:before {
	display: none !important;
}

.wrapper.style3 .features li.icon:after,
.wrapper.style3 ul.features li.icon:after {
	display: block !important;
	position: static !important;
	font-family: 'Font Awesome 5 Free' !important;
	font-weight: 900 !important;
	font-size: 2.2em !important;
	color: var(--primary-red) !important;
	margin: 0 0 1em 0 !important;
	text-align: center !important;
	width: 100% !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	order: -1 !important;
	background: var(--gradient-primary) !important;
	background-clip: text !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}

.wrapper.style3 .features li.icon.solid.fa-user-graduate:after {
	content: '\f501' !important;
}

.wrapper.style3 .features li.icon.solid.fa-book-open:after {
	content: '\f518' !important;
}

.wrapper.style3 .features li.icon.solid.fa-calendar-alt:after {
	content: '\f073' !important;
}

.wrapper.style3 .features li.icon.solid.fa-video:after {
	content: '\f03d' !important;
}

.wrapper.style3 .features li.icon.solid.fa-bullhorn:after {
	content: '\f0a1' !important;
}

.wrapper.style3 .features li.icon.solid.fa-map-marker-alt:after {
	content: '\f3c5' !important;
}

.wrapper.style3 .features li h3,
.wrapper.style3 ul.features li h3 {
	font-size: 1.1em !important;
	margin: 0 0 1em 0 !important;
	color: var(--text-primary) !important;
	font-weight: 700 !important;
	text-align: center !important;
	width: 100% !important;
	flex-shrink: 0 !important;
	order: 1 !important;
}

.wrapper.style3 .features li p,
.wrapper.style3 ul.features li p {
	font-size: 0.9em !important;
	line-height: 1.5 !important;
	margin: 0 0 1.5em 0 !important;
	flex-grow: 1 !important;
	text-align: center !important;
	width: 100% !important;
	color: var(--text-secondary) !important;
	order: 2 !important;
}

.wrapper.style3 .features li ul.actions,
.wrapper.style3 ul.features li ul.actions {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	flex-shrink: 0 !important;
	width: 100% !important;
	position: static !important;
	order: 3 !important;
}

.wrapper.style3 .features li ul.actions li,
.wrapper.style3 ul.features li ul.actions li {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-height: auto !important;
	background: none !important;
	display: block !important;
	text-align: center !important;
	position: static !important;
}

.wrapper.style3 .features li .button.small,
.wrapper.style3 ul.features li .button.small,
.wrapper.style3 .features li .button,
.wrapper.style3 ul.features li .button {
	padding: 0.6em 2em !important;
	font-size: 0.8em !important;
	min-width: 120px !important;
	margin: 0 !important;
	display: inline-block !important;
	font-weight: 600 !important;
	background: var(--gradient-primary) !important;
	color: white !important;
	border: 0 !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
	text-align: center !important;
	position: static !important;
	transform: none !important;
	box-shadow: 0 4px 15px rgba(255, 143, 163, 0.2) !important;
	outline: 0 !important;
}

.wrapper.style3 .features li .button.small:hover,
.wrapper.style3 ul.features li .button.small:hover,
.wrapper.style3 .features li .button:hover,
.wrapper.style3 ul.features li .button:hover {
	background: var(--gradient-accent) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 25px rgba(255, 143, 163, 0.3) !important;
	color: white !important;
	border: 0 !important;
	outline: 0 !important;
}

.wrapper.style3 .features li:nth-child(1),
.wrapper.style3 .features li:nth-child(2),
.wrapper.style3 .features li:nth-child(3),
.wrapper.style3 .features li:nth-child(4),
.wrapper.style3 .features li:nth-child(5),
.wrapper.style3 .features li:nth-child(6) {
	background: var(--light-card) !important;
}

.wrapper.style3 .features li:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(255, 143, 163, 0.3) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

/* ========== RESPONSIVE IMPROVEMENTS ========== */
@media screen and (max-width: 980px) {
	#banner h2 {
		font-size: 2.2em;
	}
	
	#banner p {
		font-size: 1.1em;
	}
	
	.spotlight .content {
		padding: 2em 3em 1em 3em;
	}
	
	.wrapper.style3 .features li,
	.wrapper.style3 ul.features li {
		width: 50% !important;
		padding: 2em 1.5em 3.5em 1.5em !important;
		min-height: 300px !important;
	}
	
	.wrapper.style3 .features li:after,
	.wrapper.style3 ul.features li:after {
		font-size: 2em !important;
	}
	
	.wrapper.style3 header.major {
		margin: 0 0 2em 0 !important;
	}
}

@media screen and (max-width: 736px) {
	#banner h2 {
		font-size: 1.8em;
	}
	
	#banner p {font-size: 1em;
		line-height: 1.5;
	}
	
	.spotlight .content {
		padding: 2em 1em;
	}
	
	.wrapper.style4 h2 {
		font-size: 1.6em;
	}
	
	.wrapper.style3 .features li,
	.wrapper.style3 ul.features li {
		width: 100% !important;
		padding: 1.5em 1.5em 1.5em 1.5em !important;
		min-height: auto !important;
		background-color: var(--light-card) !important;
		border-top: solid 2px var(--border-color) !important;
		border-left: none !important;
		border-right: none !important;
		border-bottom: none !important;
		position: relative !important;
		justify-content: flex-start !important;
	}
	
	.wrapper.style3 .features li:first-child {
		border-top: 0 !important;
	}
	
	.wrapper.style3 .features li ul.actions {
		position: static !important;
		margin-top: 1em !important;
		bottom: auto !important;
	}
	
	.wrapper.style3 .features li:after,
	.wrapper.style3 ul.features li:after {
		font-size: 1.8em !important;
		margin: 0 0 0.8em 0 !important;
	}
	
	.wrapper.style3 .features li h3,
	.wrapper.style3 ul.features li h3 {
		font-size: 1em !important;
		margin: 0 0 0.8em 0 !important;
	}
	
	.wrapper.style3 .features li p,
	.wrapper.style3 ul.features li p {
		font-size: 0.85em !important;
		margin: 0 0 1em 0 !important;
	}
	
	.wrapper.style3 header.major {
		margin: 0 0 1.5em 0 !important;
	}
	
	.wrapper.style3 header.major h2 {
		font-size: 1.4em !important;
	}
}

@media screen and (max-width: 480px) {
	#banner h2 {
		font-size: 1.5em;
	}
	
	.button.primary {
		padding: 0 2em;
		font-size: 0.9em;
	}
	
	.wrapper.style3 .features li,
	.wrapper.style3 ul.features li {
		padding: 1.2em 1em 1.2em 1em !important;
	}
	
	.wrapper.style3 .features li .button.small,
	.wrapper.style3 ul.features li .button.small,
	.wrapper.style3 .features li .button,
	.wrapper.style3 ul.features li .button {
		padding: 0.5em 1.5em !important;
		font-size: 0.75em !important;
		min-width: 100px !important;
	}
}

/* ========== SPECIAL ANIMATIONS ========== */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

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

.wrapper.style1 .icons.major li {
	animation: fadeInUp 0.6s ease-out;
	animation-delay: 0.2s;
	animation-fill-mode: both;
}

.wrapper.style1 .icons.major li:nth-child(2) {
	animation-delay: 0.4s;
}

.wrapper.style1 .icons.major li:nth-child(3) {
	animation-delay: 0.6s;
}

.wrapper.style3 .features li {
	animation: fadeInUp 0.8s ease-out;
	animation-fill-mode: both;
}

.wrapper.style3 .features li:nth-child(1) { animation-delay: 0.1s; }
.wrapper.style3 .features li:nth-child(2) { animation-delay: 0.2s; }
.wrapper.style3 .features li:nth-child(3) { animation-delay: 0.3s; }
.wrapper.style3 .features li:nth-child(4) { animation-delay: 0.4s; }
.wrapper.style3 .features li:nth-child(5) { animation-delay: 0.5s; }
.wrapper.style3 .features li:nth-child(6) { animation-delay: 0.6s; }

/* ========== 스크롤바 ========== */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: var(--light-bg);
}

::-webkit-scrollbar-thumb {
	background: var(--border-color);
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--primary-red);
}

/* ========== 선택 텍스트 ========== */
::selection {
	background: var(--primary-red);
	color: white;
}

::-moz-selection {
	background: var(--primary-red);
	color: white;
}

/* ========== Spotlight 애니메이션 ========== */
.spotlight .image {
	opacity: 0;
	transform: translateX(-50px);
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.spotlight:nth-child(even) .image {
	transform: translateX(50px);
}

.spotlight.animate .image {
	opacity: 1;
	transform: translateX(0);
}

.spotlight .content {
	opacity: 0;
	transform: translateY(30px);
	transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
}

.spotlight.animate .content {
	opacity: 1;
	transform: translateY(0);
}

.spotlight:nth-child(1).animate .image { transition-delay: 0.1s; }
.spotlight:nth-child(1).animate .content { transition-delay: 0.3s; }
.spotlight:nth-child(2).animate .image { transition-delay: 0.2s; }
.spotlight:nth-child(2).animate .content { transition-delay: 0.4s; }
.spotlight:nth-child(3).animate .image { transition-delay: 0.3s; }
.spotlight:nth-child(3).animate .content { transition-delay: 0.5s; }

.spotlight .image img {
	transition: transform 0.4s ease, filter 0.4s ease;
	filter: brightness(0.95);
}

.spotlight:hover .image img {
	transform: scale(1.05);
	filter: brightness(1);
}

.spotlight .image::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(255, 143, 163, 0.05) 0%, rgba(137, 180, 250, 0.05) 100%);
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

.spotlight:hover .image::before {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.spotlight .image,
	.spotlight .content,
	.spotlight .image img {
		transition: none !important;
		transform: none !important;
		animation: none !important;
	}
	
	.spotlight .image {
		opacity: 1;
	}
	
	.spotlight .content {
		opacity: 1;
	}
}

/* ========== 통일된 버튼 스타일 ========== */
input[type="submit"], input[type="reset"], input[type="button"], button, .button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
	-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	background-color: transparent;
	border-radius: 3px;
	border: 0;
	box-shadow: inset 0 0 0 2px var(--primary-blue);
	color: var(--primary-blue);
	cursor: pointer;
	display: inline-block;
	font-size: 0.8em;
	font-weight: 600;
	height: 3.125em;
	letter-spacing: 0.225em;
	line-height: 3.125em;
	max-width: 30em;
	padding: 0 2.75em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.actions {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	list-style: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	width: 100% !important;
	text-align: center !important;
}

.actions li {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

@media screen and (max-width: 480px) {
	.actions {
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		margin: 0 auto 2rem auto !important;
		padding: 0 1rem !important;
	}
	
	.actions li {
		display: block !important;
		width: 100% !important;
		max-width: 280px !important;
		margin: 0.5rem auto !important;
		padding: 0 !important;
		text-align: center !important;
	}
	
	.actions li .button {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
	}
}

.location-card {
	background: var(--light-card) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 16px;
	padding: 2.5rem;
	transition: all 0.3s ease;
	height: 100%;
	align-items: center !important;
	justify-content: flex-start !important;
	box-sizing: border-box !important;
}

.button.primary {
	background: var(--gradient-primary) !important;
	border: none !important;
	color: white !important;
	padding: 0 3em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
	box-shadow: 0 8px 25px rgba(255, 143, 163, 0.2) !important;
}

.button.primary:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 12px 35px rgba(255, 143, 163, 0.3) !important;
	background: var(--gradient-accent) !important;
	color: white !important;
}

.button.primary:active {
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 15px rgba(255, 143, 163, 0.2) !important;
}

.button {
	border: 2px solid var(--primary-blue) !important;
	color: var(--primary-blue) !important;
	background: transparent !important;
	transition: all 0.3s ease;
	font-weight: 500;
}

.button:hover {
	background-color: var(--primary-blue) !important;
	color: white !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 25px rgba(137, 180, 250, 0.2) !important;
}

/* ========== MENU IMPROVEMENTS ========== */
#menu {
	background: var(--light-surface) !important;
	border-left: 1px solid var(--border-color) !important;
	transform: translateX(100%) !important;
	transition: transform 0.5s ease !important;
}

body.is-menu-visible #menu {
	transform: translateX(0) !important;
}

body.is-menu-visible #page-wrapper:before {
	display: block !important;
	background: rgba(0, 0, 0, 0.5) !important;
	opacity: 1 !important;
}

#menu ul > li {
	border-top: 1px solid var(--border-color) !important;
}

#menu ul > li > a {
	color: var(--text-secondary) !important;
	font-weight: 500;
	transition: color 0.3s ease;
	letter-spacing: -0.03em !important;
}

#menu ul > li > a:hover {
	color: var(--primary-red) !important;
}

#menu .close {
	cursor: pointer !important;
	z-index: 10003 !important;
}

/* ========== FOOTER IMPROVEMENTS ========== */
#footer {
	background: var(--light-surface) !important;
	border-top: 1px solid var(--border-color) !important;
	position: relative;
}

#footer .icons a {
	color: var(--text-secondary) !important;
	transition: all 0.3s ease;
	background: var(--light-card) !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#footer .icons a:hover {
	color: white !important;
	background: var(--primary-red) !important;
	border-color: var(--primary-red) !important;
	transform: translateY(-2px);
}

#footer .copyright {
	color: var(--text-muted) !important;
}

#footer .copyright a {
	color: var(--text-secondary) !important;
}

#footer .copyright a:hover {
	color: var(--primary-red) !important;
}

/* ========== LANDING PAGE BACKGROUND OVERRIDE ========== */
body.landing #page-wrapper {
	background: var(--light-bg) !important;
}

body.landing #banner {
	background: var(--gradient-light) !important;
}

body.is-mobile.landing #banner {
	background: var(--gradient-light) !important;
}

body.is-mobile.landing .wrapper.style4 {
	background: var(--gradient-primary) !important;
}

/* ========== HEADER LOGO STYLES ========== */
#header h1 .logo-link {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	text-decoration: none !important;
	border: none !important;
	transition: all 0.3s ease !important;
}

#header .header-logo {
	height: 40px !important;
	width: auto !important;
	display: block !important;
	transition: transform 0.3s ease !important;
	transform: scale(1.5) !important;
}

#header .logo-text {
	color: var(--text-primary) !important;
	font-weight: 700 !important;
	font-size: 1.1em !important;
	letter-spacing: -0.5px !important;
}

#header h1 .logo-link:hover .header-logo {
	transform: scale(1.7) !important;
}

#header h1 .logo-link:hover .logo-text {
	color: var(--primary-red) !important;
}

#header.alt .logo-text {
	color: var(--text-primary) !important;
}

#header.scrolled .logo-text,
#header:not(.alt) .logo-text {
	color: var(--text-primary) !important;
}

@media screen and (max-width: 980px) {
	#header .header-logo {
		height: 35px !important;
	}
	
	#header .logo-text {
		font-size: 1em !important;
	}
}

@media screen and (max-width: 736px) {
	#header .header-logo {
		height: 32px !important;
	}
	
	#header .logo-text {
		font-size: 0.95em !important;
	}
	
	#header h1 .logo-link {
		gap: 0.5rem !important;
	}
}

@media screen and (max-width: 480px) {
	#header .header-logo {
		height: 28px !important;
	}
	
	#header .logo-text {
		font-size: 0.9em !important;
	}
}
/* 영성, 지성, 인성 영어 텍스트 자간 조정 */
.spotlight .content h2 {
	letter-spacing: -0.05em !important;
}