
.sp-popular,.sp-actions{font-family:Manrope,Arial,sans-serif;color:#102b57}
.sp-popular{padding:36px 0 26px}
.sp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.sp-section-head h2,.sp-actions h2{margin:0;color:#102b57;font-size:22px;line-height:1.2;font-weight:800}
.sp-section-accent{display:block;width:18px;height:2px;margin-top:10px;border-radius:5px;background:#1a5fa7}
.sp-all-link{display:inline-flex;align-items:center;gap:7px;color:#1d5b9f;text-decoration:none;font-size:11px;font-weight:700}
.sp-area-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.sp-area-card{position:relative;display:block;aspect-ratio:1.04/1;border-radius:8px;overflow:hidden;background:#34516e var(--sp-area-image,linear-gradient(145deg,#456988,#18344f)) center/cover no-repeat;text-decoration:none;box-shadow:0 2px 8px rgba(19,42,68,.08);transform:translateZ(0)}
.sp-area-card:before{content:"";position:absolute;inset:0;background:var(--sp-area-image,none) center/cover no-repeat;transition:transform .35s ease}
.sp-area-card:hover:before{transform:scale(1.045)}
.sp-area-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,29,49,.05) 15%,rgba(7,25,43,.86) 100%)}
.sp-area-content{position:absolute;inset:0;padding:15px;display:flex;flex-direction:column;justify-content:space-between;color:#fff}
.sp-area-pin{width:18px;height:18px;opacity:.8}.sp-area-pin svg{width:100%;height:100%;fill:#fff}
.sp-area-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.sp-area-bottom strong{display:block;font-size:15px;line-height:1.15;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.sp-area-bottom span:not(.sp-area-arrow){display:block;margin-top:5px;font-size:9px;font-weight:650;opacity:.92}
.sp-area-arrow{width:30px;height:30px;flex:0 0 30px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:#fff;color:#173e78;font-size:16px;font-weight:800;box-shadow:0 2px 7px rgba(0,0,0,.14)}
.sp-actions{padding:24px 0 54px}
.sp-actions h2{margin-bottom:18px}
.sp-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sp-action-card{min-height:254px;padding:22px 18px 20px;border:1px solid #e6ebf1;border-radius:10px;background:#fff;box-shadow:0 5px 18px rgba(20,42,72,.06);display:flex;flex-direction:column;align-items:center;text-align:center}
.sp-action-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:17px}
.sp-action-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.sp-action-blue .sp-action-icon{background:#edf4ff;color:#2873da}
.sp-action-orange .sp-action-icon{background:#fff3e8;color:#f07c16}
.sp-action-teal .sp-action-icon{background:#eaf8f5;color:#138a83}
.sp-action-purple .sp-action-icon{background:#f4efff;color:#7c4ce3}
.sp-action-card h3{margin:0 0 10px;color:#1d2d43;font-size:14px;line-height:1.25;font-weight:800}
.sp-action-card p{margin:0 auto 18px;max-width:230px;color:#6c7787;font-size:11px;line-height:1.65}
.sp-action-card a{margin-top:auto;min-width:116px;height:38px;padding:0 14px;border:1px solid #dce3eb;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;color:#264f83;background:#fff;text-decoration:none;font-size:10px;font-weight:800;transition:.18s ease}
.sp-action-card a:hover{border-color:#b9c7d7;transform:translateY(-1px);box-shadow:0 4px 10px rgba(20,42,72,.06)}
.sp-action-card a span{font-size:15px}
@media(max-width:1100px){.sp-area-grid{grid-template-columns:repeat(3,1fr)}.sp-actions-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){
 .sp-popular{padding-top:28px}.sp-section-head h2,.sp-actions h2{font-size:19px}
 .sp-area-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:7px}
 .sp-area-card{min-width:72%;scroll-snap-align:start}
 .sp-actions-grid{grid-template-columns:1fr}
 .sp-action-card{min-height:220px}
}

.sp-home-section-title .elementor-heading-title{margin:0;color:#102b57;font-family:Manrope,Arial,sans-serif;font-size:22px;line-height:1.2;font-weight:800}
.sp-home-section-title-accent:after{content:"";display:block;width:18px;height:2px;margin-top:10px;border-radius:4px;background:#1a5fa7}
.sp-home-section-link .elementor-button{background:transparent!important;color:#1d5b9f!important;padding:0!important;border:0!important;box-shadow:none!important;font-size:11px!important;font-weight:700!important}
.sp-home-section-link .elementor-button:hover{color:#123f73!important}
.sp-home-recent-wrap{padding-top:10px;padding-bottom:28px}
.sp-home-why-wrap{padding-top:8px;padding-bottom:46px}
.sp-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}
.sp-why-item{display:flex;align-items:flex-start;gap:15px}
.sp-why-icon{width:58px;height:58px;flex:0 0 58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f6ff;color:#2d6fce}
.sp-why-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.sp-why-item h3{margin:4px 0 7px;color:#183252;font-size:13px;line-height:1.25;font-weight:800}
.sp-why-item p{margin:0;color:#6d7989;font-size:10.5px;line-height:1.55}
@media(max-width:1024px){.sp-why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.sp-home-section-title .elementor-heading-title{font-size:19px}.sp-why-grid{grid-template-columns:1fr;gap:18px}}


/* ===== 1.3.0 mobile/layout corrections ===== */

/* Keep every section in normal document flow. */
.sp-home-popular-head,
.sp-home-popular-wrap,
.sp-home-actions-title,
.sp-home-actions-wrap,
.sp-home-recent-head,
.sp-home-recent-wrap,
.sp-home-why-title,
.sp-home-why-wrap,
.sp-home-pro-title,
.sp-home-pro-wrap,
.sp-home-news-head,
.sp-home-news-wrap,
.sp-home-final-title,
.sp-home-final-wrap{
	position:relative!important;
	inset:auto!important;
	transform:none!important;
	height:auto!important;
	min-height:0!important;
	overflow:visible!important;
}

/* Elementor containers must not overlap when content wraps. */
.sp-home-popular-head > .e-con-inner,
.sp-home-popular-wrap > .e-con-inner,
.sp-home-actions-title > .e-con-inner,
.sp-home-actions-wrap > .e-con-inner,
.sp-home-recent-head > .e-con-inner,
.sp-home-recent-wrap > .e-con-inner,
.sp-home-why-title > .e-con-inner,
.sp-home-why-wrap > .e-con-inner,
.sp-home-pro-title > .e-con-inner,
.sp-home-pro-wrap > .e-con-inner,
.sp-home-news-head > .e-con-inner,
.sp-home-news-wrap > .e-con-inner,
.sp-home-final-title > .e-con-inner,
.sp-home-final-wrap > .e-con-inner{
	height:auto!important;
	min-height:0!important;
	overflow:visible!important;
}

/* Professional panel */
.sp-pro-panel{
	position:relative;
	overflow:hidden;
	min-height:205px;
	border-radius:0;
	background:#0d315d var(--sp-pro-bg,none) center right/cover no-repeat;
	color:#fff;
}
.sp-pro-overlay{
	position:absolute;inset:0;
	background:linear-gradient(90deg,rgba(5,34,67,.98) 0%,rgba(5,34,67,.92) 49%,rgba(5,34,67,.48) 72%,rgba(5,34,67,.18) 100%);
}
.sp-pro-content{position:relative;z-index:2;padding:26px 34px}
.sp-pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;max-width:980px}
.sp-pro-item{display:flex;align-items:flex-start;gap:14px}
.sp-pro-icon{width:34px;height:34px;flex:0 0 34px;color:#d5e7fb;margin-top:2px}
.sp-pro-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.sp-pro-item h3{margin:0 0 6px;font-size:12px;font-weight:800;color:#fff}
.sp-pro-item p{margin:0 0 13px;max-width:190px;font-size:9.5px;line-height:1.5;color:#dce7f4}
.sp-pro-item a{display:inline-flex;align-items:center;gap:8px;height:33px;padding:0 12px;border:1px solid rgba(255,255,255,.35);border-radius:5px;color:#fff;text-decoration:none;font-size:9px;font-weight:700}
.sp-pro-item a:hover{background:rgba(255,255,255,.08)}

/* News */
.sp-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sp-news-card{display:block;overflow:hidden;border:1px solid #e4e9ef;border-radius:8px;background:#fff;text-decoration:none;box-shadow:0 3px 12px rgba(20,42,72,.05)}
.sp-news-image{aspect-ratio:1.45/1;background:#dfe7ef center/cover no-repeat}
.sp-news-body{padding:13px 14px 15px}
.sp-news-cat{display:block;margin-bottom:5px;color:#5b7aa0;font-size:8.5px;font-weight:650}
.sp-news-card h3{margin:0 0 11px;color:#173458;font-size:12px;line-height:1.35;font-weight:800}
.sp-news-card time{color:#7c8796;font-size:8.5px}

/* Final CTA */
.sp-final-cta{
	display:grid;
	grid-template-columns:1fr 1px 1fr;
	gap:32px;
	align-items:center;
	padding:30px 36px;
	border-radius:10px;
	background:linear-gradient(135deg,#122e52,#0c2342);
	color:#fff;
	box-shadow:0 10px 24px rgba(10,29,53,.12);
}
.sp-final-col{display:flex;align-items:center;gap:22px;min-width:0}
.sp-final-icon{width:68px;height:68px;flex:0 0 68px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#dce8f8}
.sp-final-icon svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.sp-final-copy h3{margin:0 0 7px;font-size:13px;font-weight:800}
.sp-final-copy p{margin:0 0 14px;max-width:310px;color:#d8e2ee;font-size:10px;line-height:1.5}
.sp-final-buttons{display:flex;flex-wrap:wrap;gap:10px}
.sp-final-buttons a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 14px;border:1px solid rgba(255,255,255,.34);border-radius:5px;color:#fff;text-decoration:none;font-size:9px;font-weight:750}
.sp-final-buttons a.is-primary{background:#347cf4;border-color:#347cf4}
.sp-final-buttons a.is-gold{background:#b48a22;border-color:#b48a22}
.sp-final-divider{width:1px;height:90px;background:rgba(255,255,255,.25)}

/* Mobile fixes for existing sections */
@media(max-width:767px){
	.sp-home-popular-head,
	.sp-home-actions-title,
	.sp-home-recent-head,
	.sp-home-why-title,
	.sp-home-pro-title,
	.sp-home-news-head,
	.sp-home-final-title{
		padding-left:16px!important;
		padding-right:16px!important;
		padding-top:24px!important;
		padding-bottom:12px!important;
	}
	.sp-home-popular-wrap,
	.sp-home-actions-wrap,
	.sp-home-recent-wrap,
	.sp-home-why-wrap,
	.sp-home-pro-wrap,
	.sp-home-news-wrap,
	.sp-home-final-wrap{
		padding-left:16px!important;
		padding-right:16px!important;
		padding-bottom:24px!important;
	}

	.sp-home-popular-head > .e-con-inner,
	.sp-home-recent-head > .e-con-inner,
	.sp-home-news-head > .e-con-inner{
		display:flex!important;
		flex-direction:row!important;
		align-items:center!important;
		justify-content:space-between!important;
		gap:12px!important;
		flex-wrap:wrap!important;
	}
	.sp-home-popular-head .elementor-widget-heading,
	.sp-home-recent-head .elementor-widget-heading,
	.sp-home-news-head .elementor-widget-heading{
		width:auto!important;
		flex:1 1 190px!important;
		min-width:0!important;
	}
	.sp-home-section-link{
		width:auto!important;
		flex:0 0 auto!important;
	}
	.sp-home-section-title .elementor-heading-title{
		font-size:19px!important;
		line-height:1.25!important;
	}

	/* Areas become a clean swipe row and occupy their own space. */
	.sp-area-grid{
		display:flex!important;
		width:100%!important;
		gap:12px!important;
		overflow-x:auto!important;
		overflow-y:hidden!important;
		scroll-snap-type:x mandatory!important;
		padding:0 0 8px!important;
		margin:0!important;
	}
	.sp-area-card{
		flex:0 0 78%!important;
		min-width:78%!important;
		aspect-ratio:1.2/1!important;
		scroll-snap-align:start!important;
	}

	.sp-actions{padding:0!important}
	.sp-actions-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
	.sp-action-card{min-height:0!important;padding:22px 18px!important}

	.sp-why-grid{grid-template-columns:1fr!important;gap:18px!important}

	/* Native Voxel feed must remain horizontally scrollable without escaping into adjacent sections. */
	.sp-home-recent-feed{
		width:100%!important;
		max-width:100%!important;
		overflow:hidden!important;
	}

	.sp-pro-panel{min-height:0;border-radius:10px}
	.sp-pro-overlay{background:rgba(6,35,67,.94)}
	.sp-pro-content{padding:24px 20px}
	.sp-pro-grid{grid-template-columns:1fr;gap:24px}
	.sp-pro-item p{max-width:none}

	.sp-news-grid{
		display:flex;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		gap:12px;
		padding-bottom:7px;
	}
	.sp-news-card{flex:0 0 82%;min-width:82%;scroll-snap-align:start}

	.sp-final-cta{grid-template-columns:1fr;gap:22px;padding:24px 20px}
	.sp-final-divider{width:100%;height:1px}
	.sp-final-col{align-items:flex-start}
	.sp-final-icon{width:56px;height:56px;flex-basis:56px}
	.sp-final-icon svg{width:31px;height:31px}
}


/* ===== 1.4.0 finishing pass ===== */

/* Popular areas: ensure the following section starts after the cards on mobile. */
.sp-home-popular-wrap{
	display:block!important;
	clear:both!important;
	margin:0!important;
	padding-bottom:24px!important;
}
.sp-home-popular-wrap > .e-con-inner{
	display:block!important;
	width:100%!important;
}
.sp-home-popular-wrap .elementor-widget-spitoulis-popular-areas{
	display:block!important;
	width:100%!important;
}
.sp-home-popular-wrap .elementor-widget-container{
	display:block!important;
	width:100%!important;
}
.sp-area-grid{
	position:relative!important;
	float:none!important;
	clear:both!important;
	margin:0!important;
}
.sp-home-actions-title{
	clear:both!important;
	margin-top:0!important;
}

/* Recent properties: normalize Voxel card heights/images.
   Scoped to the homepage feed only. */
.sp-home-recent-feed .ts-feed-nowrap,
.sp-home-recent-feed .ts-feed-grid{
	align-items:stretch!important;
}
.sp-home-recent-feed .ts-feed-nowrap > *,
.sp-home-recent-feed .ts-feed-grid > *{
	height:auto!important;
	align-self:stretch!important;
}
.sp-home-recent-feed .ts-preview,
.sp-home-recent-feed .ts-preview > a,
.sp-home-recent-feed .ts-preview .ts-preview-content{
	height:100%!important;
}
.sp-home-recent-feed .ts-preview{
	display:flex!important;
	flex-direction:column!important;
	min-height:340px!important;
}
.sp-home-recent-feed .ts-preview .ts-preview-content{
	display:flex!important;
	flex-direction:column!important;
	flex:1 1 auto!important;
}
.sp-home-recent-feed .ts-preview .ts-image,
.sp-home-recent-feed .ts-preview .ts-preview-thumbnail,
.sp-home-recent-feed .ts-preview .ts-image-container{
	height:180px!important;
	min-height:180px!important;
	max-height:180px!important;
	overflow:hidden!important;
}
.sp-home-recent-feed .ts-preview .ts-image img,
.sp-home-recent-feed .ts-preview .ts-preview-thumbnail img,
.sp-home-recent-feed .ts-preview .ts-image-container img{
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
}

/* Professional section: true full-bleed desktop/laptop. */
.sp-home-pro-wrap{
	width:100vw!important;
	max-width:100vw!important;
	margin-left:calc(50% - 50vw)!important;
	margin-right:calc(50% - 50vw)!important;
	padding-left:0!important;
	padding-right:0!important;
}
.sp-home-pro-wrap > .e-con-inner{
	width:100%!important;
	max-width:none!important;
	padding:0!important;
}
.sp-home-pro-wrap .elementor-widget-spitoulis-professionals,
.sp-home-pro-wrap .elementor-widget-container{
	width:100%!important;
}
.sp-pro-panel{
	width:100%!important;
	border-radius:0!important;
}
.sp-pro-content{
	max-width:1440px;
	margin:0 auto;
	padding-left:48px!important;
	padding-right:48px!important;
}

/* Final CTA: heading stays an Elementor Heading but visually becomes part of the dark panel. */
.sp-home-final-title{
	background:linear-gradient(135deg,#122e52,#0c2342)!important;
	max-width:1344px!important;
	margin:0 auto!important;
	border-radius:12px 12px 0 0!important;
	padding-top:18px!important;
	padding-bottom:2px!important;
}
.sp-home-final-title > .e-con-inner{
	max-width:none!important;
	padding:0 32px!important;
}
.sp-home-final-title .elementor-heading-title{
	color:#fff!important;
	text-align:center!important;
	font-size:19px!important;
}
.sp-home-final-wrap{
	max-width:1344px!important;
	margin:0 auto 42px!important;
	padding:0!important;
}
.sp-home-final-wrap > .e-con-inner{
	max-width:none!important;
	padding:0!important;
}
.sp-final-cta{
	border-radius:0 0 12px 12px!important;
	box-shadow:0 10px 24px rgba(10,29,53,.12)!important;
	padding-top:18px!important;
}

/* Desktop/laptop sizing closer to mockup. */
@media(min-width:768px){
	.sp-area-grid{
		grid-template-columns:repeat(6,minmax(0,1fr));
	}
	.sp-home-actions-title,
	.sp-home-actions-wrap,
	.sp-home-popular-head,
	.sp-home-popular-wrap,
	.sp-home-recent-head,
	.sp-home-recent-wrap,
	.sp-home-why-title,
	.sp-home-why-wrap,
	.sp-home-news-head,
	.sp-home-news-wrap{
		max-width:1440px!important;
		margin-left:auto!important;
		margin-right:auto!important;
	}
}

/* Strong mobile flow fixes. */
@media(max-width:767px){
	.sp-home-popular-head{
		padding-bottom:12px!important;
	}
	.sp-home-popular-wrap{
		padding-top:0!important;
		padding-bottom:26px!important;
	}
	.sp-area-grid{
		display:flex!important;
		flex-direction:row!important;
		align-items:stretch!important;
		flex-wrap:nowrap!important;
		width:100%!important;
		min-height:255px!important;
		height:auto!important;
		overflow-x:auto!important;
		overflow-y:hidden!important;
		gap:12px!important;
	}
	.sp-area-card{
		flex:0 0 78%!important;
		min-width:78%!important;
		width:78%!important;
		height:248px!important;
		min-height:248px!important;
		aspect-ratio:auto!important;
	}
	.sp-home-actions-title{
		position:relative!important;
		z-index:1!important;
		display:block!important;
		width:100%!important;
		padding-top:20px!important;
		margin:0!important;
		background:transparent!important;
	}
	.sp-home-actions-wrap{
		position:relative!important;
		z-index:1!important;
		display:block!important;
		width:100%!important;
	}

	.sp-home-recent-feed .ts-preview{
		min-height:330px!important;
	}
	.sp-home-recent-feed .ts-preview .ts-image,
	.sp-home-recent-feed .ts-preview .ts-preview-thumbnail,
	.sp-home-recent-feed .ts-preview .ts-image-container{
		height:170px!important;
		min-height:170px!important;
		max-height:170px!important;
	}

	.sp-home-pro-wrap{
		width:auto!important;
		max-width:none!important;
		margin-left:0!important;
		margin-right:0!important;
		padding-left:16px!important;
		padding-right:16px!important;
	}
	.sp-home-pro-wrap > .e-con-inner{padding:0!important}
	.sp-pro-panel{border-radius:10px!important}
	.sp-pro-content{padding:24px 20px!important}

	.sp-home-final-title{
		max-width:none!important;
		margin:0 16px!important;
		border-radius:10px 10px 0 0!important;
		padding:18px 0 0!important;
	}
	.sp-home-final-title > .e-con-inner{padding:0 18px!important}
	.sp-home-final-wrap{
		max-width:none!important;
		margin:0 16px 28px!important;
		padding:0!important;
	}
	.sp-final-cta{
		border-radius:0 0 10px 10px!important;
		padding:18px 18px 22px!important;
	}
}


/* ===== 1.5.0 final visual corrections ===== */

/*
 * PROFESSIONALS
 * The title remains a normal Elementor Heading widget.
 * The title container and custom content visually become one full-width band.
 */
body .sp-home-pro-title,
body .sp-home-pro-wrap{
	position:relative!important;
	left:50%!important;
	width:100vw!important;
	max-width:100vw!important;
	margin-left:-50vw!important;
	margin-right:-50vw!important;
	transform:none!important;
	background:#082e59!important;
	overflow:visible!important;
}

body .sp-home-pro-title{
	padding:20px 0 0!important;
	color:#fff!important;
}

body .sp-home-pro-title > .e-con-inner,
body .sp-home-pro-wrap > .e-con-inner{
	width:100%!important;
	max-width:1440px!important;
	margin:0 auto!important;
	padding-left:48px!important;
	padding-right:48px!important;
}

body .sp-home-pro-title .elementor-heading-title{
	color:#fff!important;
	font-size:20px!important;
	line-height:1.2!important;
	font-weight:800!important;
	margin:0!important;
}

body .sp-home-pro-wrap{
	padding:0!important;
	background:#082e59!important;
}

body .sp-home-pro-wrap > .e-con-inner{
	max-width:none!important;
	padding:0!important;
}

body .sp-pro-panel{
	position:relative!important;
	width:100%!important;
	min-height:190px!important;
	border-radius:0!important;
	overflow:hidden!important;
	background-color:#082e59!important;
	background-image:
		linear-gradient(90deg,
			rgba(5,37,72,.99) 0%,
			rgba(5,37,72,.97) 38%,
			rgba(5,37,72,.82) 58%,
			rgba(5,37,72,.28) 77%,
			rgba(5,37,72,.08) 100%
		),
		var(--sp-pro-bg, url('professionals-bg.webp'))!important;
	background-position:center, right center!important;
	background-size:100% 100%, auto 100%!important;
	background-repeat:no-repeat!important;
}

body .sp-pro-overlay{
	display:none!important;
}

body .sp-pro-content{
	position:relative!important;
	z-index:2!important;
	width:100%!important;
	max-width:1440px!important;
	margin:0 auto!important;
	padding:20px 48px 30px!important;
}

body .sp-pro-grid{
	max-width:900px!important;
	grid-template-columns:repeat(3,minmax(0,1fr))!important;
	gap:44px!important;
}

body .sp-pro-item{
	gap:15px!important;
}

body .sp-pro-icon{
	width:36px!important;
	height:36px!important;
	flex-basis:36px!important;
	color:#d8e6f5!important;
}

body .sp-pro-item h3{
	font-size:12px!important;
	margin-bottom:6px!important;
}

body .sp-pro-item p{
	font-size:9.5px!important;
	line-height:1.5!important;
	min-height:30px!important;
	margin-bottom:12px!important;
}

body .sp-pro-item a{
	height:34px!important;
	padding:0 13px!important;
	border-radius:5px!important;
	font-size:9px!important;
}


/*
 * FINAL CTA
 * Heading stays an Elementor Heading widget, but it is visually inside
 * the same rounded dark card just like the mockup.
 */
body .sp-home-final-title,
body .sp-home-final-wrap{
	width:calc(100% - 96px)!important;
	max-width:1344px!important;
	margin-left:auto!important;
	margin-right:auto!important;
	background:linear-gradient(135deg,#122e52,#0b2342)!important;
}

body .sp-home-final-title{
	margin-top:18px!important;
	margin-bottom:0!important;
	padding:19px 24px 0!important;
	border-radius:11px 11px 0 0!important;
}

body .sp-home-final-title > .e-con-inner{
	width:100%!important;
	max-width:none!important;
	padding:0!important;
}

body .sp-home-final-title .elementor-heading-title{
	color:#fff!important;
	text-align:center!important;
	font-size:18px!important;
	font-weight:800!important;
	line-height:1.2!important;
	margin:0!important;
}

body .sp-home-final-wrap{
	margin-top:0!important;
	margin-bottom:42px!important;
	padding:0!important;
	border-radius:0 0 11px 11px!important;
	overflow:hidden!important;
}

body .sp-home-final-wrap > .e-con-inner{
	width:100%!important;
	max-width:none!important;
	padding:0!important;
}

body .sp-final-cta{
	display:grid!important;
	grid-template-columns:1fr 1px 1fr!important;
	align-items:center!important;
	gap:38px!important;
	min-height:150px!important;
	padding:18px 48px 28px!important;
	border-radius:0 0 11px 11px!important;
	background:transparent!important;
	box-shadow:none!important;
}

body .sp-final-col{
	display:grid!important;
	grid-template-columns:74px 1fr!important;
	align-items:center!important;
	gap:23px!important;
}

body .sp-final-icon{
	width:70px!important;
	height:70px!important;
	flex-basis:70px!important;
	border-color:rgba(255,255,255,.20)!important;
}

body .sp-final-icon svg{
	width:39px!important;
	height:39px!important;
}

body .sp-final-copy h3{
	font-size:13px!important;
	margin-bottom:6px!important;
}

body .sp-final-copy p{
	font-size:9.5px!important;
	line-height:1.5!important;
	margin-bottom:13px!important;
}

body .sp-final-buttons{
	gap:10px!important;
}

body .sp-final-buttons a{
	min-height:35px!important;
	padding:0 14px!important;
	font-size:9px!important;
	border-radius:4px!important;
}

body .sp-final-divider{
	height:88px!important;
	background:rgba(255,255,255,.28)!important;
}


/* Mobile: professionals and CTA remain clean, stacked, and non-overlapping. */
@media(max-width:767px){
	body .sp-home-pro-title,
	body .sp-home-pro-wrap{
		left:auto!important;
		width:auto!important;
		max-width:none!important;
		margin-left:16px!important;
		margin-right:16px!important;
	}

	body .sp-home-pro-title{
		padding:18px 18px 0!important;
		border-radius:10px 10px 0 0!important;
	}

	body .sp-home-pro-title > .e-con-inner,
	body .sp-home-pro-wrap > .e-con-inner{
		padding:0!important;
	}

	body .sp-home-pro-title .elementor-heading-title{
		font-size:18px!important;
	}

	body .sp-home-pro-wrap{
		border-radius:0 0 10px 10px!important;
		overflow:hidden!important;
	}

	body .sp-pro-panel{
		min-height:0!important;
		border-radius:0 0 10px 10px!important;
		background-image:linear-gradient(rgba(5,37,72,.94),rgba(5,37,72,.94)),url('professionals-bg.webp')!important;
		background-size:cover!important;
		background-position:center!important;
	}

	body .sp-pro-content{
		padding:20px 18px 24px!important;
	}

	body .sp-pro-grid{
		grid-template-columns:1fr!important;
		gap:22px!important;
		max-width:none!important;
	}

	body .sp-pro-item p{
		min-height:0!important;
		max-width:none!important;
	}

	body .sp-home-final-title,
	body .sp-home-final-wrap{
		width:auto!important;
		max-width:none!important;
		margin-left:16px!important;
		margin-right:16px!important;
	}

	body .sp-home-final-title{
		padding:18px 18px 0!important;
	}

	body .sp-home-final-title .elementor-heading-title{
		font-size:18px!important;
	}

	body .sp-final-cta{
		grid-template-columns:1fr!important;
		gap:20px!important;
		padding:18px 18px 24px!important;
	}

	body .sp-final-col{
		grid-template-columns:58px 1fr!important;
		gap:16px!important;
		align-items:start!important;
	}

	body .sp-final-icon{
		width:56px!important;
		height:56px!important;
		flex-basis:56px!important;
	}

	body .sp-final-icon svg{
		width:31px!important;
		height:31px!important;
	}

	body .sp-final-divider{
		width:100%!important;
		height:1px!important;
	}
}

/* 1.6.0 robust visual fallback */
.sp-area-grid{grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);grid-template-columns:none!important;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.sp-area-card{scroll-snap-align:start;min-width:190px}
.sp-home-pro-title{background:#082e59!important;color:#fff!important;padding-top:20px!important;padding-bottom:0!important}.sp-home-pro-title .elementor-heading-title{color:#fff!important}.sp-home-pro-wrap{background:#082e59!important}
.sp-pro-panel{background-color:#082e59!important;background-image:linear-gradient(90deg,rgba(5,37,72,.99),rgba(5,37,72,.90) 58%,rgba(5,37,72,.18)),url('professionals-bg.webp')!important;background-position:center,right center!important;background-size:100% 100%,auto 100%!important;background-repeat:no-repeat!important}
.sp-final-cta{background:linear-gradient(135deg,#122e52,#0b2342)!important;color:#fff!important;border-radius:11px!important}.sp-final-copy h3,.sp-final-copy p,.sp-final-icon{color:#fff!important}.sp-home-final-title{background:transparent!important}.sp-home-final-title .elementor-heading-title{color:#172234!important}
@media(max-width:767px){.sp-area-grid{min-height:260px!important}.sp-area-card{min-height:248px!important}.sp-home-actions-title{padding-top:28px!important;clear:both!important}.sp-pro-panel{background-size:cover!important}.sp-final-cta{border-radius:10px!important}}


/* =========================================================
   1.9.0 — Editable actions + strict equal-height property feed
   ========================================================= */

/* Elementor icon manager outputs <i> or <svg>; normalize both. */
.sp-action-icon i,
.sp-action-icon svg{
	font-size:31px!important;
	width:31px!important;
	height:31px!important;
	line-height:31px!important;
}

/*
 * Voxel Post Feed equal height:
 * The important rule is that the feed items stretch and every preview/card
 * becomes a flex column with a fixed media block and a flexible content body.
 */
.sp-home-recent-feed .ts-feed-nowrap{
	display:flex!important;
	align-items:stretch!important;
}
.sp-home-recent-feed .ts-feed-nowrap > *{
	display:flex!important;
	align-items:stretch!important;
	height:auto!important;
}
.sp-home-recent-feed .ts-feed-nowrap > * > *{
	width:100%!important;
	height:100%!important;
}

.sp-home-recent-feed .ts-preview,
.sp-home-recent-feed .ts-preview-card,
.sp-home-recent-feed .ts-card,
.sp-home-recent-feed article{
	display:flex!important;
	flex-direction:column!important;
	height:100%!important;
	min-height:360px!important;
}

.sp-home-recent-feed .ts-preview > a,
.sp-home-recent-feed .ts-preview-card > a,
.sp-home-recent-feed .ts-card > a,
.sp-home-recent-feed article > a{
	display:flex!important;
	flex-direction:column!important;
	height:100%!important;
}

.sp-home-recent-feed .ts-preview .ts-image,
.sp-home-recent-feed .ts-preview .ts-preview-thumbnail,
.sp-home-recent-feed .ts-preview .ts-image-container,
.sp-home-recent-feed .ts-preview-card .ts-image,
.sp-home-recent-feed .ts-preview-card .ts-preview-thumbnail,
.sp-home-recent-feed .ts-preview-card .ts-image-container,
.sp-home-recent-feed .ts-card .ts-image,
.sp-home-recent-feed .ts-card .ts-preview-thumbnail,
.sp-home-recent-feed .ts-card .ts-image-container{
	height:180px!important;
	min-height:180px!important;
	max-height:180px!important;
	flex:0 0 180px!important;
	overflow:hidden!important;
}

.sp-home-recent-feed .ts-preview .ts-image img,
.sp-home-recent-feed .ts-preview .ts-preview-thumbnail img,
.sp-home-recent-feed .ts-preview .ts-image-container img,
.sp-home-recent-feed .ts-preview-card .ts-image img,
.sp-home-recent-feed .ts-preview-card .ts-preview-thumbnail img,
.sp-home-recent-feed .ts-preview-card .ts-image-container img,
.sp-home-recent-feed .ts-card .ts-image img,
.sp-home-recent-feed .ts-card .ts-preview-thumbnail img,
.sp-home-recent-feed .ts-card .ts-image-container img{
	width:100%!important;
	height:100%!important;
	object-fit:cover!important;
	object-position:center!important;
}

.sp-home-recent-feed .ts-preview-content,
.sp-home-recent-feed .ts-card-content,
.sp-home-recent-feed .ts-preview-body{
	display:flex!important;
	flex-direction:column!important;
	flex:1 1 auto!important;
	min-height:0!important;
}

/*
 * Voxel cards often have a last stats/meta row; push it to the bottom when
 * the template exposes any of these common wrappers.
 */
.sp-home-recent-feed .ts-preview-content > :last-child,
.sp-home-recent-feed .ts-card-content > :last-child,
.sp-home-recent-feed .ts-preview-body > :last-child{
	margin-top:auto!important;
}

/* Make cards visually identical even when title wraps one extra line. */
.sp-home-recent-feed h3,
.sp-home-recent-feed .ts-preview-title,
.sp-home-recent-feed .ts-card-title{
	min-height:42px!important;
}

@media(max-width:767px){
	.sp-home-recent-feed .ts-preview,
	.sp-home-recent-feed .ts-preview-card,
	.sp-home-recent-feed .ts-card,
	.sp-home-recent-feed article{
		min-height:345px!important;
	}
	.sp-home-recent-feed .ts-preview .ts-image,
	.sp-home-recent-feed .ts-preview .ts-preview-thumbnail,
	.sp-home-recent-feed .ts-preview .ts-image-container,
	.sp-home-recent-feed .ts-preview-card .ts-image,
	.sp-home-recent-feed .ts-preview-card .ts-preview-thumbnail,
	.sp-home-recent-feed .ts-preview-card .ts-image-container,
	.sp-home-recent-feed .ts-card .ts-image,
	.sp-home-recent-feed .ts-card .ts-preview-thumbnail,
	.sp-home-recent-feed .ts-card .ts-image-container{
		height:170px!important;
		min-height:170px!important;
		max-height:170px!important;
		flex-basis:170px!important;
	}
}


/* =========================================================
   1.9.1 — Fix actions section + final CTA visibility
   ========================================================= */

/* Do not force Elementor/FontAwesome SVGs to fill:none; it makes them fade/disappear. */
.sp-action-icon svg{
	width:34px!important;
	height:34px!important;
	display:block!important;
}
.sp-action-icon svg *{
	fill:currentColor!important;
	stroke:none!important;
}
.sp-action-icon .e-font-icon-svg{
	fill:currentColor!important;
}

/* If the icon is an <i>, keep it visible too. */
.sp-action-icon i{
	color:inherit!important;
	font-size:31px!important;
	line-height:1!important;
}

/* Stronger default card appearance in case theme CSS bleeds in. */
.sp-action-card{
	background:#fff!important;
	border:1px solid #e5ebf2!important;
	border-radius:14px!important;
	box-shadow:0 2px 8px rgba(19,42,68,.04)!important;
}
.sp-action-card h3{color:#1d2d43!important}
.sp-action-card p{color:#6c7787!important}
.sp-action-card a{
	border:1px solid #ccd7e4!important;
	color:#204d90!important;
	background:#fff!important;
}

/* Re-assert final CTA look with higher specificity. */
body .sp-final-cta{
	background:linear-gradient(135deg,#122e52,#0c2342)!important;
	border-radius:12px!important;
	box-shadow:0 10px 24px rgba(10,29,53,.12)!important;
	color:#fff!important;
}
body .sp-final-copy h3,
body .sp-final-copy p,
body .sp-final-buttons a{
	color:#fff!important;
}

/* Responsive fallbacks for the inline-styled final CTA widget. */
@media(max-width:767px){
	body .sp-final-cta{
		grid-template-columns:1fr!important;
		gap:22px!important;
		padding:24px 20px!important;
	}
	body .sp-final-divider{
		width:100%!important;
		height:1px!important;
	}
	body .sp-final-col{
		align-items:flex-start!important;
	}
}


/* =========================================================
   2.0.0 — Professionals fade + Final CTA mockup match
   ========================================================= */

/* Existing separate Elementor CTA heading is no longer needed.
   The title now lives inside the editable CTA widget. */
.sp-home-final-title{
	display:none!important;
}

/* Professionals: one continuous color-to-image fade with no hard seam. */
body .sp-pro-panel{
	position:relative!important;
	overflow:hidden!important;
	background:var(--sp-pro-color,#082e59)!important;
	min-height:190px!important;
}

body .sp-pro-image{
	position:absolute;
	z-index:0;
	top:0;
	right:0;
	bottom:0;
	width:var(--sp-pro-image-width,36%);
	background-image:var(--sp-pro-bg,url('professionals-bg.webp'));
	background-position:center;
	background-size:cover;
	background-repeat:no-repeat;
}

body .sp-pro-fade{
	position:absolute;
	z-index:1;
	inset:0;
	pointer-events:none;
	background:linear-gradient(
		90deg,
		var(--sp-pro-color,#082e59) 0%,
		var(--sp-pro-color,#082e59) var(--sp-pro-fade-start,58%),
		transparent 88%
	);
}

body .sp-pro-content{
	position:relative!important;
	z-index:2!important;
}

/* Final CTA */
body .sp-home-final-wrap{
	padding-top:26px!important;
	padding-bottom:42px!important;
}

body .sp-final-cta{
	width:100%!important;
	max-width:1344px!important;
	margin:0 auto!important;
	padding:22px 34px 28px!important;
	border-radius:12px!important;
	background:
		radial-gradient(circle at 50% 10%,rgba(255,255,255,.05),transparent 38%),
		linear-gradient(135deg,var(--sp-final-bg,#102b4d),#0a213c)!important;
	color:#fff!important;
	box-shadow:0 10px 24px rgba(10,29,53,.12)!important;
}

body .sp-final-title{
	margin:0 0 20px!important;
	text-align:center!important;
	color:#fff!important;
	font-size:24px!important;
	line-height:1.2!important;
	font-weight:800!important;
}

body .sp-final-main{
	display:grid!important;
	grid-template-columns:1fr 1px 1fr!important;
	align-items:center!important;
	gap:42px!important;
}

body .sp-final-col{
	display:grid!important;
	grid-template-columns:82px minmax(0,1fr)!important;
	align-items:center!important;
	gap:24px!important;
}

body .sp-final-icon{
	width:78px!important;
	height:78px!important;
	border:1px solid rgba(255,255,255,.22)!important;
	border-radius:50%!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	color:#e2edf9!important;
}

body .sp-final-icon svg{
	width:44px!important;
	height:44px!important;
	fill:none!important;
	stroke:currentColor!important;
	stroke-width:1.35!important;
	stroke-linecap:round!important;
	stroke-linejoin:round!important;
}

body .sp-final-copy h3{
	margin:0 0 7px!important;
	color:#fff!important;
	font-size:18px!important;
	font-weight:800!important;
}

body .sp-final-copy p{
	margin:0 0 15px!important;
	max-width:360px!important;
	color:#d8e2ee!important;
	font-size:13px!important;
	line-height:1.5!important;
}

body .sp-final-buttons{
	display:flex!important;
	flex-wrap:wrap!important;
	gap:11px!important;
}

body .sp-final-buttons a{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-width:154px!important;
	height:42px!important;
	padding:0 17px!important;
	border:1px solid rgba(255,255,255,.33)!important;
	border-radius:7px!important;
	background:transparent!important;
	color:#fff!important;
	text-decoration:none!important;
	font-size:12px!important;
	font-weight:750!important;
}

body .sp-final-buttons a.is-primary{
	background:#347cf4!important;
	border-color:#347cf4!important;
}
body .sp-final-buttons a.is-gold{
	background:#b48a22!important;
	border-color:#b48a22!important;
}

body .sp-final-divider{
	width:1px!important;
	height:106px!important;
	background:rgba(255,255,255,.25)!important;
}

/* Responsive */
@media(max-width:767px){
	body .sp-pro-image{
		width:58%!important;
		opacity:.62;
	}
	body .sp-pro-fade{
		background:linear-gradient(90deg,var(--sp-pro-color,#082e59) 0%,var(--sp-pro-color,#082e59) 43%,transparent 94%)!important;
	}

	body .sp-home-final-wrap{
		padding:24px 16px 30px!important;
	}
	body .sp-final-cta{
		padding:22px 18px 24px!important;
	}
	body .sp-final-title{
		font-size:21px!important;
		margin-bottom:22px!important;
	}
	body .sp-final-main{
		grid-template-columns:1fr!important;
		gap:22px!important;
	}
	body .sp-final-col{
		grid-template-columns:64px minmax(0,1fr)!important;
		gap:16px!important;
	}
	body .sp-final-icon{
		width:62px!important;
		height:62px!important;
	}
	body .sp-final-icon svg{
		width:35px!important;
		height:35px!important;
	}
	body .sp-final-copy h3{
		font-size:16px!important;
	}
	body .sp-final-copy p{
		font-size:12px!important;
	}
	body .sp-final-buttons a{
		min-width:0!important;
		height:40px!important;
		padding:0 13px!important;
		font-size:11px!important;
	}
	body .sp-final-divider{
		width:100%!important;
		height:1px!important;
	}
}

/* 2.0.2 editable section sizing/layout */
.sp-why-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:34px!important}.sp-why-item{display:flex!important;align-items:center!important;gap:18px!important;text-decoration:none!important}.sp-why-icon{width:68px!important;height:68px!important;flex:0 0 68px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#f1f6ff!important;color:#2d6fce!important}.sp-why-icon i,.sp-why-icon svg{width:34px!important;height:34px!important;font-size:34px!important;color:inherit!important;fill:currentColor!important}.sp-why-copy h3{margin:0 0 7px!important;color:#183252!important;font-size:15px!important;font-weight:800!important}.sp-why-copy p{margin:0!important;color:#6d7989!important;font-size:12px!important;line-height:1.55!important}
.sp-pro-panel{min-height:235px!important}.sp-pro-content{padding-top:28px!important;padding-bottom:36px!important}.sp-pro-grid{max-width:980px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:52px!important}.sp-pro-item{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:17px!important}.sp-pro-icon{width:42px!important;height:42px!important;color:#e3edf8!important}.sp-pro-icon i,.sp-pro-icon svg{width:40px!important;height:40px!important;font-size:40px!important;color:inherit!important;fill:currentColor!important}.sp-pro-copy h3{margin:0 0 7px!important;color:#fff!important;font-size:15px!important;font-weight:800!important}.sp-pro-copy p{margin:0 0 14px!important;color:#dbe6f1!important;font-size:12px!important;line-height:1.55!important;min-height:38px!important}.sp-pro-copy a{display:inline-flex!important;align-items:center!important;gap:9px!important;height:38px!important;padding:0 14px!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:7px!important;color:#fff!important;text-decoration:none!important;font-size:10px!important;font-weight:750!important}
.sp-home-final-title{display:none!important}body .sp-home-final-wrap{padding:28px 48px 44px!important}body .sp-final-cta{display:block!important;width:100%!important;max-width:1344px!important;margin:0 auto!important;padding:24px 36px 30px!important;border-radius:12px!important;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.05),transparent 42%),linear-gradient(135deg,var(--sp-final-bg,#102b4d),#0b213d)!important;color:#fff!important;box-shadow:0 10px 24px rgba(10,29,53,.13)!important}body .sp-final-title{margin:0 0 24px!important;text-align:center!important;color:#fff!important;font-size:24px!important;font-weight:800!important}body .sp-final-main{display:grid!important;grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr)!important;gap:44px!important;align-items:center!important}body .sp-final-col{display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;gap:24px!important;align-items:center!important;min-width:0!important}body .sp-final-icon{width:80px!important;height:80px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#e2edf9!important}body .sp-final-icon i,body .sp-final-icon svg{width:44px!important;height:44px!important;font-size:44px!important;color:inherit!important;fill:currentColor!important}body .sp-final-copy{min-width:0!important}body .sp-final-copy h3{margin:0 0 7px!important;color:#fff!important;font-size:18px!important;font-weight:800!important}body .sp-final-copy p{margin:0 0 15px!important;max-width:360px!important;color:#d8e2ee!important;font-size:13px!important;line-height:1.55!important}body .sp-final-buttons{display:flex!important;flex-wrap:wrap!important;gap:10px!important}body .sp-final-buttons a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:150px!important;min-height:42px!important;padding:0 16px!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:7px!important;background:transparent!important;color:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:750!important}body .sp-final-buttons a.is-primary{background:#347cf4!important;border-color:#347cf4!important}body .sp-final-buttons a.is-gold{background:#b48a22!important;border-color:#b48a22!important}body .sp-final-divider{width:1px!important;height:110px!important;background:rgba(255,255,255,.27)!important}
@media(max-width:1024px){.sp-why-grid{grid-template-columns:repeat(2,1fr)!important}.sp-pro-grid{gap:28px!important}}@media(max-width:767px){.sp-why-grid{grid-template-columns:1fr!important;gap:18px!important}.sp-pro-grid{grid-template-columns:1fr!important;gap:24px!important}.sp-pro-content{padding:22px 18px 26px!important}body .sp-home-final-wrap{padding:24px 16px 32px!important}body .sp-final-cta{padding:22px 18px 24px!important}body .sp-final-title{font-size:21px!important;margin-bottom:22px!important}body .sp-final-main{grid-template-columns:1fr!important;gap:22px!important}body .sp-final-col{grid-template-columns:64px minmax(0,1fr)!important;gap:16px!important}body .sp-final-icon{width:62px!important;height:62px!important}body .sp-final-divider{width:100%!important;height:1px!important}body .sp-final-buttons a{min-width:0!important;min-height:40px!important;padding:0 13px!important;font-size:11px!important}}


/* =========================================================
   2.1.1 — Professionals visual alignment
   ========================================================= */

/* Keep all three professional blocks on the same visual baseline. */
body .sp-pro-content{
  max-width:1440px!important;
  margin:0 auto!important;
  padding-left:48px!important;
  padding-right:48px!important;
}
body .sp-pro-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:36px!important;
  max-width:1040px!important;
}
body .sp-pro-item{
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:stretch!important;
  height:100%!important;
  min-height:132px!important;
}
body .sp-pro-icon{
  align-self:start!important;
  margin-top:1px!important;
}
body .sp-pro-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  height:100%!important;
}
body .sp-pro-copy h3{
  width:100%!important;
  margin:0 0 7px!important;
}
body .sp-pro-copy p{
  width:100%!important;
  min-height:56px!important;
  margin:0 0 12px!important;
}
body .sp-pro-copy a{
  margin-top:auto!important;
  align-self:flex-start!important;
  min-width:164px!important;
  height:38px!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

@media(max-width:1024px){
  body .sp-pro-grid{gap:24px!important;max-width:none!important}
  body .sp-pro-item{grid-template-columns:40px minmax(0,1fr)!important}
  body .sp-pro-copy a{min-width:148px!important}
}

@media(max-width:767px){
  body .sp-pro-content{padding-left:18px!important;padding-right:18px!important}
  body .sp-pro-grid{grid-template-columns:1fr!important;gap:22px!important}
  body .sp-pro-item{min-height:0!important;height:auto!important}
  body .sp-pro-copy p{min-height:0!important}
  body .sp-pro-copy a{margin-top:4px!important}
}


/* =========================================================
   2.1.2 — Featured Agents / Brokers section
   Native Voxel profile feed, styled to match the homepage system.
   ========================================================= */

.sp-agents-section{
	position:relative!important;
	overflow:hidden!important;
	background:
		radial-gradient(circle at 10% 0%,rgba(111,77,242,.055),transparent 30%),
		#f7f9fc!important;
	border-top:1px solid #e7ecf3!important;
	border-bottom:1px solid #e7ecf3!important;
}

.sp-agents-section:after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:3px;
	background:linear-gradient(90deg,#173d70 0%,#6f4df2 45%,#8b52f4 100%);
	opacity:.9;
}

.sp-agents-kicker .elementor-heading-title{
	margin:0!important;
	font-size:14px!important;
	line-height:1.2!important;
	font-weight:750!important;
	letter-spacing:.01em!important;
}

.sp-agents-title .elementor-heading-title{
	margin:0!important;
	font-size:30px!important;
	line-height:1.15!important;
	font-weight:800!important;
}

.sp-agents-all .elementor-button{
	background:transparent!important;
	border:0!important;
	padding:0!important;
	box-shadow:none!important;
	font-size:11px!important;
	font-weight:750!important;
}

/* Native Voxel feed wrapper. */
.sp-home-agents-feed{
	width:100%!important;
	max-width:100%!important;
	overflow:visible!important;
}

.sp-home-agents-feed .ts-feed-nowrap{
	display:flex!important;
	align-items:stretch!important;
	gap:18px!important;
	padding:4px 2px 14px!important;
	overflow-x:auto!important;
	overflow-y:visible!important;
	scroll-snap-type:x proximity!important;
	scrollbar-width:none!important;
}
.sp-home-agents-feed .ts-feed-nowrap::-webkit-scrollbar{display:none!important}

/* Each Voxel card slot. */
.sp-home-agents-feed .ts-feed-nowrap > *{
	flex:0 0 184px!important;
	width:184px!important;
	min-width:184px!important;
	align-self:stretch!important;
	scroll-snap-align:start!important;
}

/* Generic Voxel preview/card surfaces. */
.sp-home-agents-feed .ts-preview,
.sp-home-agents-feed .ts-preview-card,
.sp-home-agents-feed .ts-card,
.sp-home-agents-feed article{
	height:100%!important;
	min-height:238px!important;
	background:#fff!important;
	border:1px solid #e3e9f1!important;
	border-radius:16px!important;
	overflow:hidden!important;
	box-shadow:0 7px 18px rgba(24,47,76,.065)!important;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}

.sp-home-agents-feed .ts-preview:hover,
.sp-home-agents-feed .ts-preview-card:hover,
.sp-home-agents-feed .ts-card:hover,
.sp-home-agents-feed article:hover{
	transform:translateY(-3px)!important;
	border-color:#d6dff0!important;
	box-shadow:0 12px 24px rgba(24,47,76,.11)!important;
}

/* Profile image/logo area. */
.sp-home-agents-feed .ts-image,
.sp-home-agents-feed .ts-preview-thumbnail,
.sp-home-agents-feed .ts-image-container{
	height:164px!important;
	min-height:164px!important;
	max-height:164px!important;
	background:#fff!important;
	padding:13px!important;
	overflow:hidden!important;
}

.sp-home-agents-feed .ts-image img,
.sp-home-agents-feed .ts-preview-thumbnail img,
.sp-home-agents-feed .ts-image-container img{
	width:100%!important;
	height:100%!important;
	object-fit:contain!important;
	object-position:center!important;
	border-radius:12px!important;
}

/* Text area and common title selectors. */
.sp-home-agents-feed .ts-preview-content,
.sp-home-agents-feed .ts-card-content,
.sp-home-agents-feed .ts-preview-body{
	padding:13px 14px 15px!important;
	text-align:center!important;
}

.sp-home-agents-feed h3,
.sp-home-agents-feed .ts-preview-title,
.sp-home-agents-feed .ts-card-title{
	margin:0!important;
	color:#183252!important;
	font-size:13px!important;
	line-height:1.3!important;
	font-weight:800!important;
	white-space:nowrap!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
}

/* Navigation arrows: restrained navy/purple style. */
.sp-home-agents-feed .ts-nav-prev,
.sp-home-agents-feed .ts-nav-next,
.sp-home-agents-feed .ts-feed-nav > button{
	width:40px!important;
	height:40px!important;
	border:1px solid #d9e1ec!important;
	border-radius:50%!important;
	background:#fff!important;
	color:#173d70!important;
	box-shadow:0 5px 14px rgba(24,47,76,.1)!important;
}
.sp-home-agents-feed .ts-nav-prev:hover,
.sp-home-agents-feed .ts-nav-next:hover,
.sp-home-agents-feed .ts-feed-nav > button:hover{
	background:#173d70!important;
	color:#fff!important;
	border-color:#173d70!important;
}

@media(max-width:767px){
	.sp-agents-title .elementor-heading-title{font-size:23px!important}
	.sp-agents-kicker .elementor-heading-title{font-size:12px!important}
	.sp-home-agents-feed .ts-feed-nowrap{gap:12px!important}
	.sp-home-agents-feed .ts-feed-nowrap > *{
		flex-basis:162px!important;
		width:162px!important;
		min-width:162px!important;
	}
	.sp-home-agents-feed .ts-preview,
	.sp-home-agents-feed .ts-preview-card,
	.sp-home-agents-feed .ts-card,
	.sp-home-agents-feed article{
		min-height:218px!important;
	}
	.sp-home-agents-feed .ts-image,
	.sp-home-agents-feed .ts-preview-thumbnail,
	.sp-home-agents-feed .ts-image-container{
		height:145px!important;
		min-height:145px!important;
		max-height:145px!important;
		padding:11px!important;
	}
}


/* =========================================================
   2.1.4 — Recent properties feed + automatic final CTA
   ========================================================= */

/*
 * Do not require .post-feed-grid because Voxel markup differs between
 * versions/templates. The only stable hook we own is .sp-home-recent-feed.
 */
.sp-home-recent-feed .ts-feed-nowrap,
.sp-home-recent-feed .post-feed-grid.ts-feed-nowrap{
	align-items:stretch!important;
}

/* Every property preview uses the same card width/height behaviour. */
.sp-home-recent-feed .ts-feed-nowrap > .ts-preview,
.sp-home-recent-feed .post-feed-grid.ts-feed-nowrap > .ts-preview{
	height:auto!important;
	align-self:stretch!important;
	min-width:280px!important;
	max-width:300px!important;
	flex-shrink:0!important;
}

.sp-home-recent-feed .ts-preview > [data-elementor-type="page"]{
	height:100%!important;
}
.sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con{
	height:100%!important;
	display:flex!important;
	flex-direction:column!important;
}
.sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con > .e-con:last-child{
	flex:1!important;
}
.sp-home-recent-feed .ts-preview .elementor-widget-image{
	height:200px!important;
	max-height:200px!important;
	overflow:hidden!important;
	flex-shrink:0!important;
}
.sp-home-recent-feed .ts-preview .elementor-widget-image img{
	width:100%!important;
	height:200px!important;
	max-height:200px!important;
	object-fit:cover!important;
	object-position:center!important;
}
.sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con > .e-con:last-child > .e-con:last-child{
	margin-top:auto!important;
}

/* CTA is a real element inserted by home-sections.js. CSS alone cannot create it. */
.sp-home-recent-feed .listings-cta-card{
	min-width:280px!important;
	width:280px!important;
	max-width:280px!important;
	flex:0 0 280px!important;
	align-self:stretch!important;
	display:flex!important;
	flex-direction:column!important;
	align-items:center!important;
	justify-content:center!important;
	gap:15px!important;
	padding:30px 24px!important;
	border-radius:16px!important;
	background:linear-gradient(145deg,#0B3767 0%,#173D70 46%,#6F4DF2 100%)!important;
	color:#fff!important;
	text-align:center!important;
	text-decoration:none!important;
	box-shadow:0 8px 20px rgba(11,55,103,.16)!important;
	transition:transform .2s ease,box-shadow .2s ease!important;
}
.sp-home-recent-feed .listings-cta-card:hover{
	transform:translateY(-4px)!important;
	box-shadow:0 14px 32px rgba(11,55,103,.28)!important;
}
.sp-home-recent-feed .listings-cta-card .cta-emoji{
	width:54px!important;
	height:54px!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	border:1px solid rgba(255,255,255,.25)!important;
	border-radius:50%!important;
	font-size:30px!important;
	line-height:1!important;
	color:#fff!important;
}
.sp-home-recent-feed .listings-cta-card .cta-title{
	margin:0!important;
	color:#fff!important;
	font-size:19px!important;
	line-height:1.3!important;
	font-weight:800!important;
}
.sp-home-recent-feed .listings-cta-card .cta-sub{
	margin:0!important;
	max-width:220px!important;
	color:rgba(255,255,255,.85)!important;
	font-size:12px!important;
	line-height:1.55!important;
}
.sp-home-recent-feed .listings-cta-card .cta-btn{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	margin-top:4px!important;
	min-height:40px!important;
	padding:0 18px!important;
	border-radius:999px!important;
	background:#fff!important;
	color:#0B3767!important;
	font-size:12px!important;
	font-weight:800!important;
}

@media(max-width:768px){
	.sp-home-recent-feed .ts-feed-nowrap,
	.sp-home-recent-feed .post-feed-grid.ts-feed-nowrap{
		overflow-x:auto!important;
		-webkit-overflow-scrolling:touch!important;
		scroll-snap-type:x mandatory!important;
		padding-right:24px!important;
	}
	.sp-home-recent-feed .ts-feed-nowrap > .ts-preview,
	.sp-home-recent-feed .post-feed-grid.ts-feed-nowrap > .ts-preview,
	.sp-home-recent-feed .listings-cta-card{
		scroll-snap-align:start!important;
	}
	.sp-home-recent-feed .listings-cta-card{
		min-width:240px!important;
		width:240px!important;
		max-width:240px!important;
		flex-basis:240px!important;
		padding:24px 16px!important;
		margin-right:16px!important;
	}
}


/* =========================================================
   2.1.5 — Recent properties CTA readability + correct URL
   ========================================================= */

.sp-home-recent-feed .listings-cta-card{
	position:relative!important;
	justify-content:center!important;
	padding:30px 24px 28px!important;
	gap:14px!important;
}

.sp-home-recent-feed .listings-cta-card .cta-emoji{
	margin-bottom:2px!important;
}

.sp-home-recent-feed .listings-cta-card .cta-title{
	max-width:220px!important;
	font-size:19px!important;
	line-height:1.25!important;
	letter-spacing:0!important;
}

.sp-home-recent-feed .listings-cta-card .cta-sub{
	max-width:218px!important;
	color:#e8eef8!important;
	opacity:1!important;
	font-size:12.5px!important;
	line-height:1.5!important;
	font-weight:500!important;
	text-wrap:balance!important;
}

.sp-home-recent-feed .listings-cta-card .cta-btn{
	margin-top:10px!important;
	width:100%!important;
	max-width:232px!important;
	min-height:48px!important;
	padding:0 18px!important;
	border-radius:999px!important;
	background:#fff!important;
	color:#0B3767!important;
	font-size:12.5px!important;
	font-weight:800!important;
	box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
}

/* Remove any decorative arrow/icon that may visually overlap text. */
.sp-home-recent-feed .listings-cta-card::before,
.sp-home-recent-feed .listings-cta-card::after{
	content:none!important;
	display:none!important;
}

/* Mobile: preserve readable copy and button proportions. */
@media(max-width:768px){
	.sp-home-recent-feed .listings-cta-card{
		justify-content:center!important;
		padding:24px 16px 22px!important;
		gap:13px!important;
	}
	.sp-home-recent-feed .listings-cta-card .cta-title{
		font-size:18px!important;
		max-width:200px!important;
	}
	.sp-home-recent-feed .listings-cta-card .cta-sub{
		font-size:12px!important;
		line-height:1.5!important;
		max-width:195px!important;
	}
	.sp-home-recent-feed .listings-cta-card .cta-btn{
		max-width:205px!important;
		min-height:46px!important;
		font-size:12px!important;
	}
}


/* =========================================================
   2.1.6 — Restore native Voxel card geometry
   ---------------------------------------------------------
   2.1.4 added overly aggressive height rules to the property
   card internals. Keep only the useful equal-height behaviour
   and let the actual Voxel/Elementor card template draw itself.
   ========================================================= */

/* Give the Recent Properties section a proper visual ending. */
body .sp-home-recent-wrap{
	padding-bottom:30px!important;
}
body .sp-home-recent-feed{
	padding-bottom:4px!important;
}
body .sp-home-recent-feed .ts-feed-nowrap,
body .sp-home-recent-feed .post-feed-grid.ts-feed-nowrap{
	align-items:stretch!important;
	padding-bottom:8px!important;
}

/* Stretch only the outer Voxel items. */
body .sp-home-recent-feed .ts-feed-nowrap > .ts-preview,
body .sp-home-recent-feed .post-feed-grid.ts-feed-nowrap > .ts-preview{
	height:auto!important;
	min-height:0!important;
	align-self:stretch!important;
	display:flex!important;
	flex-direction:column!important;
}

/*
 * Do NOT force 100% height on every nested Elementor container.
 * This was the part that was changing the bottom of the cards.
 */
body .sp-home-recent-feed .ts-preview > [data-elementor-type="page"]{
	height:auto!important;
	min-height:100%!important;
	flex:1 1 auto!important;
}

body .sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con{
	height:auto!important;
	min-height:100%!important;
	display:flex!important;
	flex-direction:column!important;
}

/* Let the content block grow naturally. */
body .sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con > .e-con:last-child{
	flex:1 1 auto!important;
	height:auto!important;
	min-height:0!important;
}

/* Keep only the image crop consistency. */
body .sp-home-recent-feed .ts-preview .elementor-widget-image{
	height:200px!important;
	min-height:200px!important;
	max-height:200px!important;
	overflow:hidden!important;
	flex:0 0 200px!important;
}
body .sp-home-recent-feed .ts-preview .elementor-widget-image img{
	width:100%!important;
	height:200px!important;
	max-height:200px!important;
	object-fit:cover!important;
	object-position:center center!important;
}

/* Bottom meta row stays aligned, without changing card border/background. */
body .sp-home-recent-feed .ts-preview > [data-elementor-type="page"] > .e-con > .e-con:last-child > .e-con:last-child{
	margin-top:auto!important;
}

/* CTA follows the same stretched outer height. */
body .sp-home-recent-feed .listings-cta-card{
	height:auto!important;
	min-height:100%!important;
	align-self:stretch!important;
}

/* Clean spacing before the following Why Spitoulis section. */
body .sp-home-why-title{
	margin-top:0!important;
	padding-top:18px!important;
}

@media(max-width:768px){
	body .sp-home-recent-wrap{
		padding-bottom:22px!important;
	}
	body .sp-home-recent-feed .ts-preview .elementor-widget-image{
		height:170px!important;
		min-height:170px!important;
		max-height:170px!important;
		flex-basis:170px!important;
	}
	body .sp-home-recent-feed .ts-preview .elementor-widget-image img{
		height:170px!important;
		max-height:170px!important;
	}
	body .sp-home-why-title{
		padding-top:12px!important;
	}
}
