@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,400;1,600&family=Montserrat:wght@400;600;700;800;900&display=swap");

/* Reset & Basics */
*, *:before, *:after {
	box-sizing: border-box;
}

html, body {
	margin: 0;
	padding: 0;
	background-color: #f3f6f5;
	color: #4a5552;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 15pt;
	line-height: 1.8;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}

a {
	color: #2e8b57;
	text-decoration: none;
	transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
}

a:hover {
	color: #1e5c3a;
	text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
	color: #2e3532;
	font-family: 'Montserrat', Helvetica, Arial, sans-serif;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 0.8em 0;
}

h1 { font-size: 2.2em; font-weight: 800; }
h2 { font-size: 1.8em; font-weight: 800; }
h3 { font-size: 1.3em; font-weight: 700; }
h4 { font-size: 1.1em; font-weight: 700; }

p {
	margin: 0 0 1.5em 0;
}

img {
	max-width: 100%;
	height: auto;
}

.container {
	width: 1200px;
	max-width: calc(100% - 40px);
	margin: 0 auto;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin: -15px;
}

.col-12 { width: 100%; padding: 15px; }
.col-8 { width: 66.666%; padding: 15px; }
.col-6 { width: 50%; padding: 15px; }
.col-4 { width: 33.333%; padding: 15px; }
.col-3 { width: 25%; padding: 15px; }

@media screen and (max-width: 980px) {
	.col-8, .col-6, .col-4, .col-3 {
		width: 100% !important;
	}
}

/* Header */
#header {
	background: #ffffff;
	border-bottom: 1px solid #e0e6e4;
	padding: 2.5em 0 2em 0;
	text-align: center;
}

#header .logo h1 {
	margin: 0;
	font-size: 2.4em;
	font-weight: 900;
	letter-spacing: -0.02em;
}

#header .logo h1 a {
	color: #2e3532;
	text-decoration: none;
}

#header .logo p {
	margin: 0.4em 0 0 0;
	color: #6a7572;
	font-size: 1.05em;
	font-weight: 600;
}

/* Nav */
#nav {
	background: #2e3532;
	text-align: center;
	padding: 0;
	box-shadow: 0 4px 15px rgba(0,0,0,0.06);
	position: sticky;
	top: 0;
	z-index: 1000;
}

#nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
}

#nav ul li {
	margin: 0;
}

#nav ul li a {
	display: block;
	color: #e0e6e4;
	padding: 1.1em 1.8em;
	font-weight: 700;
	font-size: 0.9em;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: background 0.2s, color 0.2s;
}

#nav ul li.current a, #nav ul li a:hover {
	background: #2e8b57;
	color: #ffffff;
	text-decoration: none;
}

/* Banner */
#banner {
	background: linear-gradient(135deg, #242927 0%, #3a423f 100%);
	color: #ffffff;
	padding: 4.5em 0;
	text-align: center;
}

#banner h2 {
	color: #ffffff !important;
	font-size: 2.6em;
	font-weight: 800;
	margin-bottom: 0.4em;
}

#banner p {
	color: #f0f4f2 !important;
	font-size: 1.25em;
	max-width: 850px;
	margin: 0 auto 1.8em auto;
	line-height: 1.7;
}

/* Buttons */
.button {
	display: inline-block;
	background: #2e8b57;
	color: #ffffff !important;
	font-weight: 700;
	font-size: 1.05em;
	padding: 0.9em 2.4em;
	border-radius: 6px;
	text-decoration: none !important;
	transition: background 0.2s, transform 0.1s;
	border: none;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(46,139,87,0.3);
}

.button:hover {
	background: #246e45;
	transform: translateY(-2px);
}

.button.large {
	padding: 1.1em 2.8em;
	font-size: 1.15em;
}

.button.style2 {
	background: #2e8b57;
}

/* Main Content & Articles */
#main {
	padding: 4.5em 0;
}

.box {
	background: #ffffff;
	padding: 2.8em;
	border-radius: 8px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.04);
	border: 1px solid #e0e6e4;
	margin-bottom: 2.5em;
}

.box.page-content header.major {
	text-align: center;
	border-bottom: 2px solid #eef2f1;
	padding-bottom: 1.8em;
	margin-bottom: 2.2em;
}

.box.page-content header.major h2 {
	font-size: 2.4em;
	margin-bottom: 0.3em;
}

.box.page-content header.major p {
	color: #6a7572;
	font-size: 1.2em;
	font-weight: 600;
	margin: 0;
}

h2.major {
	text-align: center;
	position: relative;
	margin-bottom: 2em;
}

h2.major span {
	background: #f3f6f5;
	padding: 0 1.2em;
	position: relative;
	z-index: 1;
}

h2.major:after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background: #d8e0dd;
	z-index: 0;
}

/* Forms */
input[type="text"], input[type="email"], textarea {
	width: 100%;
	padding: 1em;
	border: 1px solid #ccd6d2;
	border-radius: 6px;
	font-family: inherit;
	font-size: 1em;
	color: #2e3532;
	background: #fdfdfd;
	margin-bottom: 1em;
	transition: border-color 0.2s;
}

input[type="text"]:focus, input[type="email"]:focus, textarea:focus {
	outline: none;
	border-color: #2e8b57;
	background: #ffffff;
}

/* Footer */
#footer {
	background: #242927;
	color: #c0cac7;
	padding: 4.5em 0 3em 0;
	text-align: center;
}

#footer h2 {
	color: #ffffff;
	font-size: 1.8em;
	margin-bottom: 0.5em;
}

#footer p {
	color: #a0aca8;
	font-size: 1.05em;
}

#copyright {
	margin-top: 3.5em;
	padding-top: 2em;
	border-top: 1px solid #363d3a;
	font-size: 0.9em;
}

#copyright ul.menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#copyright ul.menu li {
	margin: 0 1.2em;
}

#copyright ul.menu li a {
	color: #a0aca8;
}

#copyright ul.menu li a:hover {
	color: #ffffff;
}
