/* --------------------------------------------------------------
   AL QUÈRTO - FOOTER
-------------------------------------------------------------- */

.aq-footer {
	position: relative;

	overflow: hidden;
	isolation: isolate;

	padding:
		clamp(60px, 6vw, 90px)
		clamp(20px, 5vw, 76px)
		clamp(26px, 3vw, 42px);

	color: #fff;

	background:
		radial-gradient(
			circle at 18% 20%,
			rgba(5, 60, 255, .42),
			transparent 34rem
		),
		radial-gradient(
			circle at 86% 18%,
			rgba(5, 60, 255, .28),
			transparent 32rem
		),
		linear-gradient(
			180deg,
			#05070d 0%,
			#02040a 100%
		);
}


/* --------------------------------------------------------------
   BACKGROUND NOISE
-------------------------------------------------------------- */

.aq-footer::before {
	content: "";

	position: absolute;
	inset: 0;

	z-index: 0;

	opacity: .11;

	pointer-events: none;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, .08) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, .06) 1px,
			transparent 1px
		);

	background-size:
		8px 8px,
		12px 12px;

	-webkit-mask-image:
		linear-gradient(
			180deg,
			transparent,
			#000 16%,
			#000 86%,
			transparent
		);

	mask-image:
		linear-gradient(
			180deg,
			transparent,
			#000 16%,
			#000 86%,
			transparent
		);
}


/* --------------------------------------------------------------
   GHOST TEXT
-------------------------------------------------------------- */

.aq-footer__ghost {
	position: absolute;

	right: -5vw;
	top: 20px;

	z-index: 0;

	color:
		rgba(255, 255, 255, .045);

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(8rem, 18vw, 23rem);

	font-weight: 400;
	line-height: .72;
	letter-spacing: -.02em;

	text-transform: uppercase;
	white-space: nowrap;

	pointer-events: none;

	opacity: .7;
}


/* --------------------------------------------------------------
   INNER
-------------------------------------------------------------- */

.aq-footer__inner {
	position: relative;

	z-index: 2;

	width: min(1540px, 100%);

	margin: 0 auto;
}


/* --------------------------------------------------------------
   BRAND / TITLE
-------------------------------------------------------------- */

.aq-footer__brand {
	display: grid;

	grid-template-columns:
		minmax(130px, .22fr)
		minmax(0, 1fr);

	gap:
		clamp(22px, 4vw, 52px);

	align-items: end;

	margin-bottom:
		clamp(30px, 4vw, 50px);
}


/* Logo */

.aq-footer__logo {
	display: inline-flex;

	width:
		clamp(90px, 8vw, 130px);
}


.aq-footer__logo-image {
	display: block;

	width: 100%;
	height: auto;

	object-fit: contain;
}


.aq-footer__logo > span {
	color: #fff;

	font-family:
		var(--aq-font-display);

	font-size: 2.2rem;

	text-transform: uppercase;
}


/* Kicker */

.aq-footer__kicker {
	margin: 0 0 12px;

	color: #9fb1ff;

	font-family:
		var(--aq-font-body);

	font-size: .7rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .09em;

	text-transform: uppercase;
}


/* Main title */

.aq-footer h2 {
	max-width: 800px;

	margin: 0;

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(3rem, 5.4vw, 5.5rem);

	font-weight: 400;
	line-height: .9;
	letter-spacing: -.02em;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   LOCATION GRID
-------------------------------------------------------------- */

.aq-footer__grid {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap:
		clamp(16px, 2vw, 26px);
}


/* --------------------------------------------------------------
   LOCATION CARD
-------------------------------------------------------------- */

.aq-footer-card {
	position: relative;

	overflow: hidden;

	min-height: 330px;

	padding:
		clamp(24px, 2.6vw, 36px);

	border:
		1px solid rgba(255, 255, 255, .18);

	background:
		radial-gradient(
			circle at 86% 12%,
			rgba(5, 60, 255, .28),
			transparent 18rem
		),
		rgba(255, 255, 255, .06);

	box-shadow:
		0 32px 100px rgba(0, 0, 0, .24);

	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}


/* Blue line */

.aq-footer-card::before {
	content: "";

	position: absolute;

	left: -1px;
	top: -1px;
	bottom: -1px;

	width: 6px;

	background:
		var(--aq-blue, #053cff);
}


/* --------------------------------------------------------------
   LOCATION NUMBER
-------------------------------------------------------------- */

.aq-footer-card__num {
	position: absolute;

	right: 22px;
	top: 18px;

	color:
		rgba(255, 255, 255, .09);

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(4rem, 6vw, 7rem);

	font-weight: 400;
	line-height: .78;

	pointer-events: none;
}


/* --------------------------------------------------------------
   LOCATION KICKER
-------------------------------------------------------------- */

.aq-footer-card__kicker {
	position: relative;

	z-index: 1;

	margin: 0 0 12px;

	color: #9fb1ff;

	font-family:
		var(--aq-font-body);

	font-size: .66rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .09em;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   LOCATION TITLE
-------------------------------------------------------------- */

.aq-footer-card h3 {
	position: relative;

	z-index: 1;

	max-width: 500px;

	margin: 0 0 18px;

	font-family:
		var(--aq-font-display);

	font-size:
		clamp(2.5rem, 4vw, 4.2rem);

	font-weight: 400;
	line-height: .9;
	letter-spacing: -.02em;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   ADDRESS / INFO
-------------------------------------------------------------- */

.aq-footer-card address,
.aq-footer-card li {
	color:
		rgba(255, 255, 255, .82);

	font-family:
		var(--aq-font-body);

	font-size:
		clamp(.9rem, 1vw, 1rem);

	font-style: normal;
	font-weight: 400;
	line-height: 1.42;
}


.aq-footer-card ul {
	display: grid;

	gap: 5px;

	margin:
		16px
		0
		24px;

	padding: 0;

	list-style: none;
}


.aq-footer-card a {
	transition:
		color .25s ease,
		opacity .25s ease;
}


.aq-footer-card a:hover {
	color: #baceff;
}


/* --------------------------------------------------------------
   LOCATION CTA
-------------------------------------------------------------- */

.aq-footer-card__cta {
	position: relative;

	display: inline-flex;
	align-items: center;

	gap: 10px;

	color: #fff;

	font-family:
		var(--aq-font-body);

	font-size: .7rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .08em;

	text-transform: uppercase;
}


.aq-footer-card__cta::after {
	content: "";

	position: absolute;

	left: 0;
	right: 0;
	bottom: -6px;

	height: 2px;

	background: currentColor;

	transform: scaleX(.28);
	transform-origin: left;

	transition:
		transform .32s cubic-bezier(.16, 1, .3, 1);
}


.aq-footer-card__cta:hover::after {
	transform: scaleX(1);
}


.aq-footer-card__cta span {
	transition:
		transform .32s cubic-bezier(.16, 1, .3, 1);
}


.aq-footer-card__cta:hover span {
	transform: translateX(4px);
}


/* --------------------------------------------------------------
   FOOTER BOTTOM
-------------------------------------------------------------- */

.aq-footer__bottom {
	display: flex;

	align-items: center;
	justify-content: space-between;

	gap: 24px;

	margin-top:
		clamp(26px, 3vw, 42px);

	padding-top: 20px;

	border-top:
		1px solid rgba(255, 255, 255, .16);

	color:
		rgba(255, 255, 255, .70);

	font-family:
		var(--aq-font-body);

	font-size: .68rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .04em;

	text-transform: uppercase;
}


/* --------------------------------------------------------------
   FOOTER MENU
-------------------------------------------------------------- */

.aq-footer-menu {
	display: flex;
	flex-wrap: wrap;

	align-items: center;

	gap:
		16px 24px;

	margin: 0;
	padding: 0;

	list-style: none;
}


.aq-footer-menu li {
	margin: 0;
	padding: 0;
}


.aq-footer__bottom a {
	color: inherit;

	transition:
		color .25s ease;
}


.aq-footer__bottom a:hover {
	color: #fff;
}


/* --------------------------------------------------------------
   LEGAL
-------------------------------------------------------------- */

.aq-footer__legal {
	display: flex;
	flex-wrap: wrap;

	align-items: center;

	gap:
		16px 24px;
}


/* --------------------------------------------------------------
   TABLET
-------------------------------------------------------------- */

@media (max-width: 1080px) {

	.aq-footer__brand {
		grid-template-columns: 1fr;
	}


	.aq-footer__grid {
		grid-template-columns: 1fr;
	}


	.aq-footer-card {
		min-height: auto;
	}


	.aq-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
	}

}


/* --------------------------------------------------------------
   MOBILE
-------------------------------------------------------------- */

@media (max-width: 760px) {

	.aq-footer {
		padding:
			58px
			18px
			28px;
	}


	.aq-footer__brand {
		gap: 22px;

		margin-bottom: 30px;
	}


	.aq-footer__logo {
		width: 90px;
	}


	.aq-footer h2 {
		font-size:
			clamp(3rem, 13vw, 4.8rem);
	}


	.aq-footer__grid {
		gap: 14px;
	}


	.aq-footer-card {
		min-height: auto;

		padding:
			24px
			20px
			26px
			26px;
	}


	.aq-footer-card h3 {
		font-size:
			clamp(2.5rem, 11vw, 3.8rem);
	}


	.aq-footer-card__num {
		font-size: 4.5rem;

		opacity: .68;
	}


	.aq-footer__bottom {
		margin-top: 28px;
	}


	.aq-footer-menu,
	.aq-footer__legal {
		align-items: flex-start;
		flex-direction: column;

		gap: 12px;
	}

}