.gmt-pattern-section,
.gmt-home-section {
	padding-top: var(--gmt-spacing-section);
	padding-bottom: var(--gmt-spacing-section);
}

.gmt-pattern-section-small,
.gmt-home-section-small {
	padding-top: var(--gmt-spacing-section-small);
	padding-bottom: var(--gmt-spacing-section-small);
}

.gmt-surface-light {
	background: var(--gmt-color-background-light);
}

.gmt-surface-dark {
	background: var(--gmt-color-primary);
	color: #fff;
}

.gmt-eyebrow {
	color: var(--gmt-color-accent);
	font-size: var(--gmt-font-size-small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gmt-card {
	border: 1px solid var(--gmt-color-border);
	border-radius: var(--gmt-radius-card);
	box-shadow: var(--gmt-shadow-soft);
}

.gmt-muted {
	color: var(--gmt-color-muted);
}

.gmt-placeholder-media,
.gmt-media-placeholder {
	align-items: center;
	background: linear-gradient(135deg, #ece8df, #d9d6ce);
	color: var(--gmt-color-muted);
	display: flex;
	justify-content: center;
	min-height: 260px;
}

.gmt-home-hero {
	background: var(--gmt-color-primary);
	color: #fff;
	min-height: min(760px, 88vh);
}

.gmt-hero-title {
	font-size: var(--gmt-font-size-heading);
	line-height: 1.02;
	max-width: 760px;
}

.gmt-lead {
	font-size: var(--gmt-font-size-lead);
	max-width: 680px;
}

.gmt-service-summary {
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--gmt-font-size-small);
	margin-top: 1.5rem;
}

.gmt-hero-media {
	min-height: clamp(360px, 56vw, 680px);
	position: relative;
}

.gmt-hero-media::after {
	background: rgba(18, 52, 59, 0.28);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.gmt-business-grid,
.gmt-strength-grid,
.gmt-stat-grid,
.gmt-logo-grid {
	display: grid;
	gap: 1rem;
}

.gmt-business-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gmt-business-card,
.gmt-strength-card,
.gmt-stat-card,
.gmt-logo-placeholder,
.gmt-portfolio-card {
	border: 1px solid var(--gmt-color-border);
	border-radius: var(--gmt-radius-card);
	background: #fff;
	padding: clamp(1rem, 2vw, 1.5rem);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.gmt-business-card:hover,
.gmt-portfolio-card:hover {
	border-color: var(--gmt-color-accent);
	box-shadow: var(--gmt-shadow-medium);
	transform: translateY(-2px);
}

.gmt-card-media {
	min-height: 170px;
	margin: calc(clamp(1rem, 2vw, 1.5rem) * -1) calc(clamp(1rem, 2vw, 1.5rem) * -1) 1rem;
}

.gmt-intro-media {
	min-height: clamp(300px, 40vw, 520px);
}

.gmt-portfolio-layout {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1.25fr 1fr;
}

.gmt-portfolio-card-large {
	grid-row: span 2;
}

.gmt-portfolio-image img {
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.gmt-strength-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gmt-stat-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gmt-logo-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.gmt-logo-placeholder {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 96px;
	text-align: center;
}

.gmt-stat-number {
	color: var(--gmt-color-primary);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
}

.gmt-surface-dark .gmt-muted,
.gmt-surface-dark .gmt-eyebrow {
	color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 980px) {
	.gmt-business-grid,
	.gmt-strength-grid,
	.gmt-stat-grid,
	.gmt-logo-grid,
	.gmt-portfolio-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gmt-portfolio-card-large {
		grid-row: auto;
	}
}

@media (max-width: 640px) {
	.gmt-business-grid,
	.gmt-strength-grid,
	.gmt-stat-grid,
	.gmt-logo-grid,
	.gmt-portfolio-layout {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gmt-business-card,
	.gmt-portfolio-card {
		transition: none;
	}

	.gmt-business-card:hover,
	.gmt-portfolio-card:hover {
		transform: none;
	}
}
