/* Homepage — compact hero, flows into content */
.hero {
	background: linear-gradient(160deg, #006837 0%, #004d29 100%);
	color: #fff;
	padding: 1.75rem 0 1.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.hero__inner {
	display: grid;
	grid-template-columns: 1fr minmax(220px, 320px);
	align-items: center;
	gap: 1.25rem 2rem;
}

.hero__title {
	font-size: clamp(1.5rem, 3.5vw, 2.1rem);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.15;
	margin: 0 0 .4rem;
	color: #fff;
}

.hero__subtitle {
	font-size: .95rem;
	line-height: 1.5;
	opacity: .92;
	margin: 0;
	max-width: 36rem;
}

.hero__search input[type="search"],
.hero__search .search-field {
	width: 100%;
	padding: .7rem 1rem;
	border: none;
	border-radius: var(--radius);
	font-size: .9375rem;
	background: #fff;
	color: var(--color-text);
}

.hero__search .search-form,
.hero__search form {
	display: flex;
	gap: .5rem;
}

.hero__search .search-submit {
	flex-shrink: 0;
	padding: .7rem 1rem;
	background: var(--color-accent);
	color: var(--color-text);
	border: none;
	border-radius: var(--radius);
	font-weight: 600;
	font-size: .875rem;
	cursor: pointer;
}

.hub-section {
	padding: 1.75rem 0 1.5rem;
	background: var(--color-bg-alt);
	border-bottom: 1px solid var(--color-border);
}

.tools-cta {
	padding: 2rem 0;
}

.tools-cta__inner {
	text-align: center;
	padding: 1.75rem 1.25rem;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
}

.tools-cta h2 {
	margin: 0 0 .5rem;
	font-size: 1.25rem;
}

.tools-cta p {
	margin: 0 0 1rem;
	color: var(--color-text-muted);
	font-size: .95rem;
}

.grant-comparison-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
}

.grant-comparison-table th,
.grant-comparison-table td {
	padding: .75rem 1rem;
	border: 1px solid var(--color-border);
	text-align: left;
}

.grant-comparison-table th {
	background: var(--color-primary);
	color: #fff;
}

.grant-comparison-table tr:nth-child(even) {
	background: #fff;
}

@media (max-width: 768px) {
	.hero__inner {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.hero {
		padding: 1.35rem 0 1.25rem;
	}
}

@media (max-width: 640px) {
	.grant-comparison-table { overflow-x: auto; display: block; }
}
