@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

:root {
	--primary-color: #0047A0;
	/* Deep Blue representing trust and the Taegukgi */
	--secondary-color: #CD313A;
	/* Red point color */
	--text-dark: #333333;
	--text-light: #777777;
	--bg-light: #f8f9fa;
	--bg-white: #ffffff;
}

body {
	font-family: 'Noto Sans KR', sans-serif;
	color: var(--text-dark);
	background-color: var(--bg-white);
	line-height: 1.6;
}

/* Header & Navigation */
.navbar {
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	background-color: var(--bg-white);
	padding: 5px 0;
}

.navbar-brand {
	font-weight: 700;
	color: var(--primary-color) !important;
	font-size: 1.5rem;
}

.nav-link {
	color: var(--text-dark) !important;
	font-weight: 500;
	margin: 0 10px;
	transition: color 0.3s ease;
}

.nav-link:hover,
.nav-link.active {
	color: var(--primary-color) !important;
}

/* Hero Section */
.hero-section {
	background: linear-gradient(rgba(0, 71, 160, 0.85), rgba(0, 71, 160, 0.85)), url('../img/hero-bg.jpg') center/cover no-repeat;
	color: white;
	padding: 100px 0;
	text-align: center;
}

.hero-title {
	font-size: 3rem;
	font-weight: 700;
	margin-bottom: 20px;
}

.hero-subtitle {
	font-size: 1.25rem;
	font-weight: 300;
	opacity: 0.9;
}

/* Common Sections */
.section-padding {
	padding: 80px 0;
}

.section-title {
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom: 40px;
	text-align: center;
	position: relative;
	padding-bottom: 15px;
}

.section-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	height: 3px;
	background-color: var(--secondary-color);
}

/* Footer */
.footer {
	background-color: #222;
	color: #ccc;
	padding: 50px 0 20px;
	font-size: 0.9rem;
}

.footer-title {
	color: white;
	font-weight: 600;
	margin-bottom: 20px;
}

.footer a {
	color: #ccc;
	text-decoration: none;
}

.footer a:hover {
	color: white;
}

.footer-bottom {
	margin-top: 40px;
	padding-top: 20px;
	border-top: 1px solid #444;
	text-align: center;
}