.rs-127-wrapper {
	font-family: 'Roboto', sans-serif;
	color: #333;
}

.rs-127-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	position: relative;
	z-index: 2;
}

.rs-127-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	font-size: 15px;
	gap: 8px;
}

.rs-127-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.rs-127-btn-orange {
	background-color: #f16e22;
	color: #fff;
}

.rs-127-btn-green {
	background-color: #5ab85e;
	color: #fff;
	border-radius: 30px;
	padding: 10px 20px;
	font-size: 14px;
}

.rs-127-btn-yellow {
	background-color: #f7b749;
	color: #333;
}

/* Section 1: Services */
.rs-127-section-services {
	position: relative;
	padding: 60px 0;
	background-color: #2b3a4a; /* Fallback */
	background-size: cover;
	background-position: right center;
	color: #fff;
	min-height: 400px;
}

.rs-127-overlay-gradient {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(30,45,65,1) 0%, rgba(30,45,65,0.85) 40%, rgba(30,45,65,0.2) 100%);
	z-index: 1;
}

.rs-127-content-left {
	max-width: 50%;
}

.rs-127-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 30px;
	color: #fff;
}

.rs-127-service-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.rs-127-service-item {
	display: flex;
	margin-bottom: 20px;
	align-items: flex-start;
}

.rs-127-service-icon {
	font-size: 24px; /* default, overridden by controls */
	color: #f7b749; /* default, overridden by controls */
	margin-right: 15px;
	margin-top: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rs-127-service-icon svg {
	width: 24px; /* default, overridden by controls */
	height: 24px; /* default, overridden by controls */
	fill: #f7b749; /* default, overridden by controls */
}

.rs-127-service-text h4 {
	font-size: 18px;
	margin: 0 0 5px 0;
	color: #fff;
}

.rs-127-service-text p {
	font-size: 14px;
	color: #cfd8dc;
	margin: 0;
	line-height: 1.4;
}

.rs-127-buttons-overlay {
	position: absolute;
	bottom: -20px;
	right: 20%;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-end;
	z-index: 10;
}

/* Section 2: Contact */
.rs-127-section-contact {
	background-color: #f8f9fa;
	padding: 40px 0;
	border-bottom: 1px solid #eaeaea;
}

.rs-127-flex-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.rs-127-contact-info {
	display: flex;
	align-items: center;
	gap: 20px;
}

.rs-127-subtitle {
	font-size: 14px;
	color: #555;
	display: block;
	margin-bottom: 5px;
}

.rs-127-phone {
	font-size: 36px;
	font-weight: 700;
	margin: 0 0 5px 0;
	color: #222;
	line-height: 1;
}

.rs-127-desc {
	font-size: 13px;
	color: #777;
	margin: 0;
}

.rs-127-contact-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: flex-end;
}

/* Section 3: Bottom */
.rs-127-section-bottom {
	position: relative;
	padding: 60px 0;
	background-size: cover;
	background-position: center;
}

.rs-127-bottom-gradient {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,1) 100%);
	z-index: 1;
}

.rs-127-flex-end {
	display: flex;
	justify-content: flex-end;
}

.rs-127-bottom-content {
	max-width: 45%;
	text-align: left;
}

.rs-127-bottom-title {
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: #222;
}

.rs-127-bottom-desc {
	font-size: 16px;
	color: #555;
	margin: 0 0 20px 0;
}

/* Responsive */
@media (max-width: 991px) {
	.rs-127-content-left,
	.rs-127-bottom-content {
		max-width: 100%;
	}
	
	.rs-127-overlay-gradient {
		background: rgba(30,45,65,0.85);
	}
	
	.rs-127-bottom-gradient {
		background: rgba(255,255,255,0.9);
	}
	
	.rs-127-buttons-overlay {
		position: static;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
		margin-top: 30px;
	}
	
	.rs-127-flex-end {
		justify-content: flex-start;
	}
	
	.rs-127-contact-buttons {
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	.rs-127-phone {
		font-size: 28px;
	}
	.rs-127-contact-info {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}