/* Hero & Services Sections */
.hero { background:var(--gradient-hero); color:#fff; padding:var(--spacing-section-y) 0; text-align:center; }
.hero-content { max-width:800px; margin:0 auto; }
.hero h1 { font-size:3rem; margin-bottom:1rem; }
.hero p { font-size:1.2rem; margin-bottom:2rem; opacity:0.9; }
.btn { display:inline-block; background-color:var(--accent-color); color:#fff; padding:0.8rem 2rem; border-radius:50px; text-decoration:none; font-weight:600; transition:all var(--transition-base); }
.btn:hover { background-color:#ea580c; transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.services { padding:var(--spacing-section-y) 0; }
.section-title { text-align:center; margin-bottom:3rem; }
.section-title h2 { font-size:2.5rem; color:var(--dark-color); margin-bottom:1rem; }
.section-title p { color:var(--gray-color); max-width:600px; margin:0 auto; }
.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:2rem; }
.service-card { background-color:#fff; border-radius:var(--radius-lg); padding:2rem; box-shadow:var(--shadow-md); transition:transform var(--transition-base); }
.service-card:hover { transform:translateY(-10px); }
.service-icon { display:flex; align-items:center; justify-content:flex-start; margin-bottom:1rem; color:var(--primary-color); font-size:2.5rem; }
.service-icon-image { width:2.5rem; height:2.5rem; display:block; }
.service-icon-emoji { display:inline-block; line-height:1; }
.service-card h3 { margin-bottom:1rem; }

:root {
	--service-card-fixed-width: 378.67px;
	--service-card-gap: 32px;
}

.services-grid.fixed-width-layout {
	grid-template-columns:repeat(auto-fit, minmax(var(--service-card-fixed-width), var(--service-card-fixed-width)));
	justify-content:center;
	gap:var(--service-card-gap);
}

.services-grid.fixed-width-layout.limit-3-cols {
	max-width:calc(var(--service-card-fixed-width) * 3 + var(--service-card-gap) * 2);
	width:100%;
	margin:0 auto;
}

.services-grid.fixed-width-layout .service-card {
	width:min(100%, var(--service-card-fixed-width));
	max-width:min(100%, var(--service-card-fixed-width));
	margin:0 auto;
}

.services-grid.fixed-width-layout.single-item,
.services-grid.fixed-width-layout.two-items,
.services-grid.fixed-width-layout.normal-items {
	max-width:100%;
}

@media (max-width: 960px) {
	.services-grid.fixed-width-layout.limit-3-cols {
		max-width:calc(var(--service-card-fixed-width) * 2 + var(--service-card-gap));
	}
}

@media (max-width: 600px) {
	.services-grid.fixed-width-layout {
		grid-template-columns:repeat(auto-fit, minmax(100%, 1fr));
	}

	.services-grid.fixed-width-layout.limit-3-cols {
		max-width:100%;
	}
}
