/**
 * One Services Grid — numbered editorial services layout.
 */

.elementor-widget-one-services-grid {
	clear: both;
}

.one-services-grid__grid {
	--one-sg-columns: 4;
	display: grid;
	grid-template-columns: repeat(var(--one-sg-columns), minmax(0, 1fr));
	border-top: 1px solid #E4E2DD;
	border-left: 1px solid #E4E2DD;
}

.one-services-grid__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 100%;
	padding: 36px 32px 40px;
	background-color: #F5F4F1;
	border-right: 1px solid #E4E2DD;
	border-bottom: 1px solid #E4E2DD;
	color: inherit;
	text-decoration: none;
	transition: background-color 180ms ease;
}

.one-services-grid__item::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background-color: var(--one-bronze, #B08D57);
	opacity: 0;
	transition: opacity 180ms ease;
}

.one-services-grid__item:hover,
.one-services-grid__item:focus-within {
	background-color: #fff;
}

.one-services-grid__item:hover::after,
.one-services-grid__item:focus-within::after {
	opacity: 1;
}

.one-services-grid__number {
	display: block;
	margin: 0 0 28px;
	font-family: var(--one-font-heading, 'Playfair Display', Georgia, serif);
	font-size: clamp(1.75rem, 2.2vw, 2.25rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--one-bronze-light, #C9A86A);
}

.one-services-grid__title {
	margin: 0 0 16px;
	font-family: var(--one-font-heading, 'Playfair Display', Georgia, serif);
	font-size: clamp(1.125rem, 1.4vw, 1.375rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--one-obsidian, #1C1C1E);
}

.one-services-grid__desc {
	margin: 0;
	font-family: var(--one-font-body, 'Jost', sans-serif);
	font-size: 0.9375rem;
	font-weight: 300;
	line-height: 1.65;
	color: rgba(28, 28, 30, 0.62);
}

@media (max-width: 1024px) {
	.one-services-grid__item {
		padding: 28px 24px 32px;
	}

	.one-services-grid__number {
		margin-bottom: 20px;
	}
}

@media (max-width: 767px) {
	.one-services-grid__item {
		padding: 24px 20px 28px;
	}
}
