﻿/* =========================================================
   Hero
   ========================================================= */

.hero {
	width: 100%;
	background: linear-gradient( 120deg, #eef5db 0%, #dceba8 50%, #b8d64c 100% );
}

.hero-content {
	max-width: 1320px;
	min-height: 400px;
	margin: 0 auto;
	padding: 55px 40px;
	display: flex;
	align-items: center;
}

.hero-text {
	max-width: 760px;
}

.hero-eyebrow {
	color: #b51820;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.4px;
}

.hero h1 {
	margin: 12px 0 20px;
	color: #33383d;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 1.04;
	font-weight: 600;
}

	.hero h1 span {
		display: block;
		color: #b51820;
	}

.hero-intro {
	max-width: 690px;
	margin-bottom: 0;
	color: #4d5357;
	font-size: 20px;
	line-height: 1.6;
}

/* =========================================================
   Introduction
   ========================================================= */

.intro {
	padding: 45px 40px;
}

.content-container {
	max-width: 1100px;
	margin: 0 auto;
	text-align: center;
}

	.content-container h2 {
		margin: 0 0 15px;
		color: #40454a;
		font-size: 32px;
	}

	.content-container p {
		max-width: 800px;
		margin: 0 auto;
		color: #60666b;
		font-size: 18px;
		line-height: 1.6;
	}

/* =========================================================
   Services
   ========================================================= */

.services {
	padding: 60px 40px;
	background: #f5f6f4;
}

.section-container {
	max-width: 1200px;
	margin: 0 auto;
}

.section-heading {
	max-width: 760px;
	margin-bottom: 35px;
}

.section-eyebrow {
	margin: 0 0 10px;
	color: #b51820;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.4px;
}

.section-heading h2 {
	margin: 0 0 15px;
	color: #34393e;
	font-size: 36px;
	line-height: 1.2;
}

.section-heading > p:last-child {
	margin: 0;
	color: #62676c;
	font-size: 18px;
	line-height: 1.6;
}

.services-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.service-card {
	min-height: 165px;
	padding: 25px 30px;
	background: #ffffff;
	border-top: 4px solid #b51820;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
}

	.service-card h3 {
		margin: 0 0 12px;
		color: #34393e;
		font-size: 21px;
	}

	.service-card p {
		margin: 0;
		color: #60666b;
		line-height: 1.6;
	}


/* =========================================================
   Validation
   ========================================================= */

.validation {
	padding: 65px 40px;
	background: #ffffff;
}

.validation-container {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 70px;
	align-items: center;
}

.validation-content h2 {
	margin: 0 0 20px;
	color: #34393e;
	font-size: 40px;
	line-height: 1.2;
}

.validation-content p {
	margin: 0 0 16px;
	color: #60666b;
	font-size: 17px;
	line-height: 1.7;
}


/* =========================================================
   Industry Panel
   ========================================================= */

.industry-panel {
	padding: 38px 45px;
	background: #34393e;
	color: #ffffff;
}

	.industry-panel h3 {
		margin: 0 0 22px;
		font-size: 25px;
	}

.industry-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

	.industry-list div {
		padding: 14px 0;
		border-bottom: 1px solid #555b60;
		font-size: 16px;
	}

		.industry-list div:nth-child(odd) {
			margin-right: 25px;
		}


/* =========================================================
   Projects
   ========================================================= */

.projects {
	padding: 65px 40px;
	background: #eef3df;
}

.projects-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.project-card {
	position: relative;
	padding: 30px;
	background: #ffffff;
	border-bottom: 4px solid #b51820;
}

.project-number {
	margin-bottom: 22px;
	color: #b51820;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
}

.project-card h3 {
	margin: 0 0 15px;
	color: #34393e;
	font-size: 22px;
	line-height: 1.3;
}

.project-card p {
	margin: 0 0 25px;
	color: #60666b;
	line-height: 1.6;
}

.project-card a {
	color: #b51820;
	font-weight: 600;
	text-decoration: none;
}

	.project-card a:hover {
		text-decoration: underline;
	}


/* =========================================================
   About
   ========================================================= */

.about {
	padding: 65px 40px;
	background: #ffffff;
}

.about-container {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.2fr 0.8fr;
	gap: 80px;
	align-items: center;
}

.about-content h2 {
	margin: 0 0 20px;
	color: #34393e;
	font-size: 36px;
	line-height: 1.25;
}

.about-content p {
	color: #60666b;
	font-size: 17px;
	line-height: 1.7;
}

.about-highlights {
	border-left: 4px solid #b51820;
	padding-left: 35px;
}

	.about-highlights div {
		padding: 17px 0;
		border-bottom: 1px solid #e0e0e0;
	}

	.about-highlights strong {
		display: block;
		margin-bottom: 5px;
		color: #34393e;
		font-size: 18px;
	}

	.about-highlights span {
		color: #60666b;
	}
	
	/* =========================================================
   Contact
   ========================================================= */

.contact {
	padding: 55px 40px;
	background: #34393e;
	color: #ffffff;
}

.contact-container {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
}

.contact-eyebrow {
	margin: 0 0 8px;
	color: #c8df6a;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.4px;
}

.contact h2 {
	margin: 0 0 12px;
	font-size: 32px;
}

.contact p {
	max-width: 700px;
	margin: 0;
	color: #d9dcdf;
	font-size: 17px;
	line-height: 1.6;
}

.contact-button {
	flex-shrink: 0;
	color: #ffffff;
	background: #b51820;
	border: 2px solid #b51820;
}

	.contact-button:hover {
		background: #94131a;
		border-color: #94131a;
	}
