/* ===== Site footer (_footer.php) ===== */#footer.site-footer {	position: relative;	overflow: hidden;	margin-top: 0;	padding: 48px 0 0;	border-top: 0;	box-shadow: none;	font-size: 15px;	color: rgba(255, 255, 255, .72);	background:		radial-gradient(600px 300px at 90% -10%, rgba(103, 213, 179, .18), transparent 70%),		radial-gradient(500px 260px at 0% 110%, rgba(103, 213, 179, .10), transparent 70%),		#10201c;}#footer.site-footer a {	color: rgba(255, 255, 255, .78);	text-decoration: none;	transition: color .2s;}#footer.site-footer a:hover {	color: #8ee6cb;}/* Call to action strip */#footer .sf-cta {	position: relative;	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: space-between;	gap: 18px 28px;	padding: 28px 32px;	border-radius: 24px;	background: linear-gradient(120deg, #3fb892 0%, #67d5b3 55%, #8ee6cb 100%);	box-shadow: 0 20px 40px rgba(0, 0, 0, .25);	overflow: hidden;}#footer .sf-cta::after {	content: "";	position: absolute;	right: -60px;	top: -80px;	width: 240px;	height: 240px;	border-radius: 50%;	background: rgba(255, 255, 255, .15);	pointer-events: none;}#footer .sf-cta-text {	position: relative;	z-index: 1;	flex: 1 1 380px;}#footer .sf-cta h2 {	color: #fff;	font-size: 24px;	font-weight: 700;	line-height: 1.35;	margin: 0 0 4px;	letter-spacing: 0;}#footer .sf-cta p {	margin: 0;	color: rgba(255, 255, 255, .92);	font-size: 15px;}#footer .sf-cta-actions {	position: relative;	z-index: 1;	display: flex;	flex-wrap: wrap;	gap: 10px;}#footer.site-footer .sf-btn {	display: inline-flex;	align-items: center;	gap: 8px;	padding: 12px 22px;	border-radius: 999px;	font-size: 16px;	font-weight: 600;	white-space: nowrap;	transition: transform .2s, box-shadow .2s;}#footer.site-footer .sf-btn:hover {	transform: translateY(-2px);}#footer.site-footer .sf-btn.is-line {	background: #06c755;	color: #fff;	box-shadow: 0 8px 20px rgba(6, 90, 40, .3);}#footer.site-footer .sf-btn.is-line i {	font-size: 20px;}#footer.site-footer .sf-btn.is-call {	background: #fff;	color: #1f7a5e;	box-shadow: 0 8px 20px rgba(0, 0, 0, .12);}/* Columns */#footer .sf-grid {	display: grid;	grid-template-columns: 1.3fr 1fr 1.2fr 1.3fr;	gap: 36px;	padding: 44px 0 36px;}#footer .sf-col h3 {	color: #fff;	font-size: 16px;	font-weight: 700;	letter-spacing: 0;	text-transform: none;	margin: 0 0 14px;}#footer .sf-col h3.sf-sub {	margin-top: 22px;}#footer.site-footer .sf-brand {	display: inline-block;	color: #fff;	font-size: 22px;	font-weight: 700;	line-height: 1.3;	margin-bottom: 10px;}#footer.site-footer .sf-about p {	color: rgba(255, 255, 255, .72);	font-size: 14px;	line-height: 1.75;	margin: 0 0 18px;}#footer .sf-social {	display: flex;	gap: 10px;}#footer.site-footer .sf-social a {	width: 40px;	height: 40px;	border-radius: 12px;	display: flex;	align-items: center;	justify-content: center;	background: rgba(255, 255, 255, .08);	color: #fff;	font-size: 17px;	transition: background-color .2s, transform .2s;}#footer.site-footer .sf-social a:hover {	background: #3fb892;	color: #fff;	transform: translateY(-3px);}#footer .sf-links,#footer .sf-contact {	list-style: none;	margin: 0;	padding: 0;}#footer .sf-links li {	margin-bottom: 8px;}#footer.site-footer .sf-links a {	display: inline-flex;	align-items: center;	font-size: 14.5px;}#footer.site-footer .sf-links a::before {	content: "";	width: 0;	height: 2px;	border-radius: 2px;	background: #67d5b3;	transition: width .2s, margin-right .2s;}#footer.site-footer .sf-links a:hover::before {	width: 10px;	margin-right: 6px;}#footer .sf-contact li {	display: flex;	align-items: flex-start;	gap: 12px;	margin-bottom: 12px;	font-size: 14.5px;	line-height: 1.5;}#footer .sf-contact li > i {	flex: 0 0 auto;	width: 30px;	height: 30px;	border-radius: 9px;	display: flex;	align-items: center;	justify-content: center;	background: rgba(103, 213, 179, .14);	color: #8ee6cb;	font-size: 13px;	margin-top: -3px;}#footer .sf-contact li > i.fa-line {	font-size: 16px;}#footer .sf-contact a,#footer .sf-contact span {	overflow-wrap: anywhere;}#footer .sf-tags {	display: flex;	flex-wrap: wrap;	gap: 8px;}#footer.site-footer .sf-tag {	font-size: 13px;	line-height: 1;	padding: 8px 12px;	border-radius: 999px;	border: 1px solid rgba(255, 255, 255, .14);	color: rgba(255, 255, 255, .8);	transition: background-color .2s, border-color .2s, color .2s;}#footer.site-footer .sf-tag:hover {	background: rgba(103, 213, 179, .16);	border-color: #67d5b3;	color: #fff;}/* Bottom bar */#footer .sf-bottom {	border-top: 1px solid rgba(255, 255, 255, .08);	padding: 18px 0;	font-size: 13.5px;}#footer .sf-bottom-inner {	/* Keep clear of the scroll-to-top square (left) and the floating contact button (right) */	padding: 0 84px 0 56px;	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: space-between;	gap: 10px 24px;}#footer .sf-stats {	display: inline-flex;	align-items: center;	gap: 6px;	color: rgba(255, 255, 255, .55);}#footer .footer-legal-links {	display: flex;	flex-wrap: wrap;	gap: 6px 18px;}#footer.site-footer .footer-legal-links a {	opacity: 1;	color: rgba(255, 255, 255, .7);}#footer.site-footer .footer-legal-links a:hover {	color: #8ee6cb;	text-decoration: none;}@media (max-width: 991px) {	#footer .sf-grid {		grid-template-columns: 1fr 1fr;		gap: 30px;	}}@media (max-width: 767px) {	#footer.site-footer {		padding-top: 28px;	}	#footer .sf-cta {		padding: 22px 20px;		border-radius: 20px;	}	#footer .sf-cta h2 {		font-size: 20px;	}	#footer .sf-cta-actions {		width: 100%;	}	#footer.site-footer .sf-btn {		flex: 1 1 0;		justify-content: center;		padding: 12px 14px;	}	#footer .sf-grid {		grid-template-columns: minmax(0, 1fr);		gap: 28px;		padding: 32px 0 24px;	}	#footer .sf-links {		display: grid;		grid-template-columns: 1fr 1fr;		gap: 0 16px;	}	#footer .sf-bottom {		/* Leave room for the floating contact button */		padding-bottom: 88px;	}	#footer .sf-bottom-inner {		padding: 0;		flex-direction: column;		align-items: flex-start;	}}@media (prefers-reduced-motion: reduce) {	#footer.site-footer .sf-btn,	#footer.site-footer .sf-social a,	#footer.site-footer .sf-links a::before {		transition: none;	}}