/* ==========================================================================
   Site Footer
   ========================================================================== */

.site-footer{
	background:var(--color-black);
	color:#e9e6df;
	margin-top:0;
}

.site-footer__grid{
	display:grid;
	grid-template-columns:1.6fr 1fr 1fr 1fr;
	gap:40px;
	padding:64px 24px 48px;
}

/* Brand column */
.site-footer__logo{
	display:inline-flex;
	flex-direction:column;
	gap:4px;
	margin-bottom:18px;
}

.site-footer__logo-name{
	font-family:var(--font-heading);
	font-size:26px;
	font-weight:700;
	letter-spacing:0.03em;
	color:var(--color-gold);
	text-transform:uppercase;
}

.site-footer__logo-tagline{
	font-family:var(--font-body);
	font-size:11px;
	letter-spacing:0.28em;
	text-transform:uppercase;
	color:#cbc3ac;
}

.site-footer__desc{
	font-family:var(--font-body);
	font-size:14.5px;
	line-height:1.7;
	color:#b9b6ae;
	max-width:320px;
	margin:0 0 22px;
}

.site-footer__socials{
	display:flex;
	align-items:center;
	gap:14px;
}

.site-footer__socials a{
	display:flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:50%;
	background:rgba(201,162,75,0.12);
	color:var(--color-gold);
	transition:background .25s ease, color .25s ease, transform .25s ease;
}

.site-footer__socials a:hover{
	background:var(--color-gold);
	color:var(--color-black);
	transform:translateY(-2px);
}

/* Link columns */
.site-footer__col-title{
	font-family:var(--font-heading);
	font-size:20px;
	font-weight:500;
	color:#fff;
	margin:0 0 18px;
}

.footer-links-list{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.footer-links-list a{
	font-family:var(--font-body);
	font-size:14.5px;
	color:#b9b6ae;
	transition:color .25s ease;
}

.footer-links-list a:hover{
	color:var(--color-gold);
}

.footer-contact-list a{
	font-family:var(--font-body);
	font-size:14.5px;
	color:#b9b6ae;
	transition:color .25s ease;
}

.footer-contact-list a:hover{
	color:var(--color-gold);
}

.footer-contact-item{
	display:flex;
	align-items:flex-start;
	gap:10px;
}

.footer-contact-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	flex-shrink:0;
	color:var(--color-gold);
	margin-top:1px;
}

/* Bottom bar */
.site-footer__bottom{
	border-top:1px solid rgba(255,255,255,0.08);
	padding:20px 24px;
}

.site-footer__bottom-inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:12px;
}

.site-footer__copyright{
	font-family:var(--font-body);
	font-size:13px;
	color:#8f8c85;
	margin:0;
}

.footer-legal-list{
	display:flex;
	align-items:center;
	gap:24px;
}

.footer-legal-list a{
	font-family:var(--font-body);
	font-size:13px;
	color:#8f8c85;
	transition:color .25s ease;
}

.footer-legal-list a:hover{
	color:var(--color-gold);
}

/* ==========================================================================
   Responsive - Tablet
   Brand full width on top, Quick Links / Programs / Get in Touch as
   3 even columns below it.
   ========================================================================== */
@media (max-width: 1024px){
	.site-footer__grid{
		grid-template-columns:repeat(3, 1fr);
		row-gap:40px;
	}
	.site-footer__brand{
		grid-column:1 / -1;
	}
}

/* ==========================================================================
   Responsive - Mobile
   Everything stacks in a single left-aligned column.
   ========================================================================== */
@media (max-width: 640px){

	.site-footer__grid{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		gap:40px;
		padding:48px 24px 32px;
		text-align:left;
	}

	.site-footer__brand{
		width:100%;
	}

	.site-footer__desc{
		max-width:340px;
		margin-left:0;
		margin-right:0;
	}

	.site-footer__socials{
		justify-content:flex-start;
	}

	.site-footer__col{
		width:100%;
	}

	.site-footer__col-title{
		font-size:16px;
		margin-bottom:16px;
	}

	.footer-links-list{
		align-items:flex-start;
		gap:12px;
	}

	.footer-contact-list{
		align-items:flex-start;
		gap:12px;
	}

	.footer-contact-item{
		justify-content:flex-start;
	}

	.site-footer__bottom-inner{
		flex-direction:column;
		align-items:flex-start;
		text-align:left;
	}

	.footer-legal-list{
		gap:18px;
	}
}