/* ==================================================
	FOOTER - Mobile First
================================================== */

footer {
	background: #111111;
	padding-block: 3.5rem 1.5rem;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	padding-bottom: 2.5rem;
	border-bottom: 0.0625rem solid rgba(255, 255, 255, 0.07);
}

.footer-grid img {
    border-radius: 50%;
}

.footer-brand .footer-logo-name {
	display: block;
	font-family: var(--serif);
	font-size: 1.25rem;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--white);
}

.footer-brand .footer-logo-city {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.5625rem;
	letter-spacing: 0.55em;
	text-transform: uppercase;
	color: var(--gold);
}

.footer-brand p {
	margin-top: 1rem;
	max-width: 14.375rem;
	font-size: 0.8125rem;
	font-weight: 300;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.35);
}

.footer-social {
	display: flex;
	gap: 0.625rem;
	margin-top: 1.5rem;
}

.soc-icon {
	width: 2.375rem;
	height: 2.375rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0.0625rem solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.4);
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.soc-icon:hover {
	border-color: rgba(255, 255, 255, 0.4);
	color: var(--white);
}

.soc-icon svg {
	width: 0.9375rem;
	height: 0.9375rem;
}

.footer-col h4 {
	margin-bottom: 1.25rem;
	font-size: 0.59375rem;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.3);
}

.footer-col a {
	display: block;
	margin-bottom: 0.6875rem;
	font-size: 0.84375rem;
	font-weight: 300;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.5);
	text-decoration: none;
	transition: color 0.2s;
}

.footer-col a:hover {
	color: var(--white);
}

.footer-bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 1.75rem;
}

.footer-copy {
	font-size: 0.71875rem;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.18);
	text-align: center;
}

/* ==================================================
	TABLET (min-width: 641px) - 2 columns
================================================== */

@media (min-width: 641px) {

	footer {
		padding-block: 4rem 1.75rem;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 2.5rem;
	}
}

/* ==================================================
	DESKTOP (min-width: 992px) - brand + 3 link columns
================================================== */

@media (min-width: 992px) {

	footer {
		padding-block: 4.5rem 2rem;
	}

	.footer-grid {
		grid-template-columns: 2.2fr 1fr 1fr 1fr;
		gap: 3.5rem;
		padding-bottom: 3.25rem;
	}
}