/* ============================================================================================= */
/* CSS RESET */

*,::before,::after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none}button{cursor:pointer}a{text-decoration:none;color:inherit}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}



/* ============================================================================================= */
/* UTILITY STYLES */

body.light-theme :where(:focus-visible) {
	outline: 2px solid var(--abic-black);
	border-radius: 4px;
  	outline-offset: 2px;
}

	body.dark-theme :where(:focus-visible) {
		outline: 2px solid var(--abic-white);
		border-radius: 4px;
  		outline-offset: 2px;
	}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translate(-50%, 2rem);
	transform-origin: center;
	display: inline-block;
	padding: 1rem 3rem;
	line-height: 1;
	font-size: 3rem;
	color: white;
	transition: transform 250ms ease-in;
	z-index: 999;
}

.skip-link:not(:focus) {
	transform: translate(-50%, -7rem);
}

.light-theme .skip-link {
	background-color: var(--abic-black);
	color: var(--abic-white);
}

.dark-theme .skip-link {
	background-color: var(--abic-white);
	color: var(--abic-black);
}

.mobile-only {
	display: block !important;

	@media(min-width: 768px) {
		display: none !important;
	}
}

.desktop-only {
	display: none !important;

	@media(min-width: 768px) {
		display: block !important;
	}
}

video.vimeo-background-video {
	height: auto;
	width: 100%;
}



/* ============================================================================================= */
/* GLOBAL STYLES */

@font-face {
	font-family: 'Neue Haas Unica Pro';
	src:
		url(../fonts/NeueHaasUnicaPro-Light.0f3e2d5d.woff2) format("woff2"),
		url(../fonts/NeueHaasUnicaPro-Light.fa041292.woff) format("woff");
		font-weight: 300;
}

:root {
	--abic-black: #000;
	--abic-green: #CCFF00;
	--abic-grey: #F5F5F5;
	--abic-white: #fff;
	--font-primary-acib: 'Neue Haas Unica Pro';
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-padding-top: 10rem;
}

body {
	background-color: var(--abic-black);
	font-family: var(--font-primary-acib);
	color: var(--abic-white);
	padding-top: 11rem;

	&.abic-green {
		background-color: var(--abic-black);
		color: var(--abic-green);
	}

	&.abic-grey {
		background-color: var(--abic-grey);
		color: var(--abic-black);
	}

	&.abic-white {
		background-color: var(--abic-white);
		color: var(--abic-black);
	}
}

nav {
	font-size: clamp(1.1rem, 0.264vw + 1.001rem, 1.4rem);
	line-height: 1.6rem;
}

h1, .h1,
h2, .h2 {
	font-size: clamp(2.4rem, 1.583vw + 1.806rem, 4.2rem);
	line-height: clamp(3.2rem, 1.583vw + 2.606rem, 5rem);
	font-weight: 300;
	text-wrap: balance;
}

p, .p, ul {
	font-size: clamp(1.4rem, 0.352vw + 1.268rem, 1.8rem);
	line-height: clamp(1.7rem, 0.616vw + 1.469rem, 2.4rem);
}

picture {
	&.mobile-tall {
		img {
			@media(max-width: 599px) {
				aspect-ratio: 375 / 431;
				object-fit: cover;
			}
		}
	}

	@media(prefers-reduced-motion: no-preference) {
		& img {
			animation: fade-in 1s ease-in-out;
			animation-timeline: view();
			animation-range: entry 0;
			animation-fill-mode: forwards;
		}
	}
}

address {
	font-size: clamp(1.4rem, 0.352vw + 1.268rem, 1.8rem);
	line-height: clamp(1.7rem, 0.616vw + 1.469rem, 2.4rem);
	font-style: normal;
	text-decoration: none;

	& a {
		text-decoration: none;
	}
}

figcaption {
	font-size: clamp(1.1rem, 0.264vw + 1.001rem, 1.4rem);
	line-height: clamp(1.6rem, 0.176vw + 1.534rem, 1.8rem);
	margin-block: 1rem;
	margin-inline: 1rem;
	text-align: left;

	&.text-center {
		text-align: center;
	}
}

ul {
	&.table-of-contents {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;

		& a {
			text-decoration: none;

			& span {
				position: relative;

				&::after {
					content: "";
					position: absolute;
					left: 0;
					right: 0;
					bottom: 1px;
					height: 0.5px;
					width: 100%;
					background-color: var(--abic-green);
				}
			}
		}
	}
}

.container {
	& figcaption {
		@media(max-width: 767px) {
			margin-inline-start: 2rem;
		}
	}
}

body.abic-black {
	a.prefooter-link {
		border-color: var(--abic-white);

		&::after {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='39' fill='none'%3E%3Cpath fill='%23fff' d='M.667.333 20 19.667.667 39V.333Z'/%3E%3C/svg%3E");
		}
	}
}

body.abic-green {
	a.prefooter-link {
		border-color: var(--abic-green);

		&::after {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='39' fill='none'%3E%3Cpath fill='%23CCFF00' d='M.667.333 20 19.667.667 39V.333Z'/%3E%3C/svg%3E");
		}
	}
}



/* ============================================================================================= */
/* HEADER STYLES */

#site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background-color: var(--abic-white);
	z-index: 9999;

	> .container {
		gap: clamp(2rem, 5.893vw + -0.21rem, 8.7rem);
		padding-block: 2rem 0.7rem;
		padding-inline: 2rem;

		display: grid;
		gap: clamp(2rem, 5.277vw + -0.979rem, 7rem);

		grid-template-columns: 13rem repeat(10, minmax(0, 1fr)) 13rem;

		@media(min-width: 1024px) {
			grid-template-columns: 20rem repeat(10, minmax(0, 1fr)) 20rem;
			padding-block-end: clamp(0.3rem, 0.615vw + -0.33rem, 0.6rem);
		}

		@media(max-width: 479px) {
			padding-block-end: 0.7rem;
		}
	}
}

	body.abic-black #site-header {
		background-color: var(--abic-black);
	}

	body.abic-green #site-header {
		background-color: var(--abic-black);
		color: var(--abic-green);
	}

	body.abic-grey #site-header {
		background-color: var(--abic-grey);
	}

	body.abic-white #site-header {
		background-color: var(--abic-white);
	}

#header-logo {
	height: auto;
	width: 100%;

	grid-column: 1 / 2;

	@media(min-width: 1024px) {
		position: relative;
		top: -0.5rem;
	}

	@media(min-width: 375px) {
		min-width: 13.2rem;
	}
}

#header-nav {
	position: relative;
	top: clamp(0.4rem, 0.176vw + 0.334rem, 0.6rem);
	top: 4px;

	line-height: 1;

	grid-column: 2 / 12;

	@media(min-width: 1024px) {
		top: 6px;
	}

	& ul {
		margin-block-start: 0;
		margin-block-end: 0;
		padding-inline-start: 0;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
		gap: clamp(1rem, 1.231vw + 0.538rem, 2.4rem);

		font-size: clamp(1rem, 0.352vw + 0.868rem, 1.4rem);
	}

	& a {
		border-bottom: 1px solid transparent;
		padding-bottom: 4px;
		color: var(--abic-black);
		white-space: nowrap;

		&.active {
			border-color: var(--abic-black);
		}
	}
}

	body {
		&.abic-black #header-nav {
			& a {
				color: var(--abic-white);

				&.active {
					border-color: var(--abic-white);
				}
			}
		}

		&.abic-green #header-nav {
			& a {
				color: var(--abic-green);

				&.active {
					border-color: var(--abic-green);
				}
			}
		}
	}



/* ============================================================================================= */
/* MAIN STYLES */

.margin-top-1x {
	margin-block-start: 6rem;
}

.margin-top-2x {
	margin-block-start: clamp(6rem, 5.277vw + 4.021rem, 12rem);
}

.margin-top-4x {
	margin-block-start: clamp(8rem, 14.072vw + 2.723rem, 24rem);
}

section {
	margin-block: clamp(4rem, 1.759vw + 3.34rem, 6rem);

	&:first-child {
		margin-block-start: 0;
	}

	&.prefooter-callout {
		margin-block: clamp(10rem, 1.759vw + 9.34rem, 12rem);
	}

	&.margin-top-2x {
		margin-block-start: clamp(6rem, 5.277vw + 4.021rem, 12rem) !important;
	}

	&.margin-top-4x {
		margin-block-start: clamp(8rem, 14.072vw + 2.723rem, 24rem) !important;
	}

	& header {
		& h1 {
			margin-block-end: 2rem;
		}

		& h2 {
			margin-block-end: 2rem;
		}

		& p {
			font-size: clamp(1.6rem, 1.055vw + 1.204rem, 2.8rem);
			line-height: clamp(2rem, 1.231vw + 1.538rem, 3.4rem);
			text-wrap: balance;
		}
	}

	& .section-title {
		@media(min-width: 1024px) {
			grid-column: 2 / 9 !important;
		}
	}
}

.container {
	max-width: 1512px;
	margin: auto;

	&.--medium {
		padding-inline: clamp(2rem, 9.675vw + -1.628rem, 13rem);

		padding-inline: 2rem;
		display: grid;
		column-gap: clamp(1rem, 5.277vw + -0.979rem, 7rem);
		grid-template-columns: repeat(12, 1fr);

		& > * {
			grid-column: span 12;
		}

		@media(min-width: 600px) {
			& > * {
				grid-column: 2 / 12;
			}
		}
	}

	&.--small {
		padding-inline: 2rem;

		display: grid;
		column-gap: clamp(1rem, 5.277vw + -0.979rem, 7rem);
		grid-template-columns: repeat(12, minmax(0, 1fr));

		& > * {
			grid-column: 1 / 13;
		}

		@media(min-width: 1024px) {
			grid-template-columns: 20rem repeat(10, minmax(0, 1fr)) 20rem;

			& > * {
				grid-column: 2 / 12;

				& .container {
					grid-column: 2 / 10;
				}
			}
		}
	}

	&.--x-small {
		padding-inline: clamp(2rem, 32.542vw + -10.203rem, 39rem);
	}

	&:is(header) {
		@media(min-width: 1024px) {
			& > * {
				grid-column: 2 / 10 !important;
			}
		}
	}

	@media(max-width: 767px) {
		&.--medium, &.--small, &.--x-small {
			padding-inline: 2rem;
		}
	}
}

.image-grid {
	display: grid;
	gap: 2rem;

	&.--two {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}

	&.--four {
		grid-template-columns: repeat(4, 1fr);
	}

	&.--two-stacked {
		@media(min-width: 768px) {
			grid-template-columns: 1fr 1fr;
			align-items: start;
		}
	}
}

a.prefooter-link {
	position: relative;
	display: inline-flex;
	font-size: clamp(2.4rem, 1.583vw + 1.806rem, 4.2rem);
	line-height: clamp(3.2rem, 1.583vw + 2.606rem, 5rem);
	align-items: center;
	gap: 1rem;
	border-bottom: 2px solid var(--abic-black);
	padding-bottom: 4px;

	&::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: -30px;
		display: inline-block;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='27' fill='none'%3E%3Cpath fill='%23000' d='m0 .333 13.333 13.334L0 27V.333Z'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-size: contain;
		height: clamp(2.6rem, 1.055vw + 2.204rem, 3.8rem);
		width: clamp(1.3rem, 0.528vw + 1.102rem, 1.9rem);
		text-decoration: none;
		transition: margin-right 0.05s ease-in-out;
	}


	/* &:hover {
		&::after {
			margin-right: -6px;
		}
	} */
}

.abic-video {
	aspect-ratio: 9 / 16;
	object-fit: cover;

	@media(min-width: 768px) {
		aspect-ratio: 2.42 / 1;
	}
}

.icon {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;

	&::before {
		content: "";
		display: block;
		width: 100%;
		max-width: clamp(2rem, 0.44vw + 1.835rem, 2.5rem);
		height: clamp(2rem, 0.44vw + 1.835rem, 2.5rem);
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		flex-grow: 0;
		flex-shrink: 1;
	}

	&.--compass {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='19' fill='none'%3E%3Cpath fill='%23CF0' d='m1.031 18.875-.26-2.292L3.74 8.406a4.114 4.114 0 0 0 1.822.99L2.698 17.26 1.03 18.875Zm10.938 0-1.667-1.615-2.865-7.864a4.113 4.113 0 0 0 1.823-.99l2.97 8.177-.261 2.292ZM6.499 8.458a3.014 3.014 0 0 1-2.213-.911 3.014 3.014 0 0 1-.911-2.214c0-.677.195-1.28.586-1.81.39-.53.89-.898 1.497-1.106V.125h2.084v2.292a3.057 3.057 0 0 1 1.497 1.106c.39.53.586 1.133.586 1.81 0 .868-.304 1.606-.912 2.214a3.014 3.014 0 0 1-2.213.911Zm0-2.083c.296 0 .543-.1.743-.3.2-.2.3-.447.3-.742s-.1-.542-.3-.742c-.2-.2-.447-.3-.742-.3s-.543.1-.742.3c-.2.2-.3.447-.3.742s.1.543.3.743c.2.2.447.299.742.299Z'/%3E%3C/svg%3E");
		}
	}

	&.--brackets {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='13' fill='none'%3E%3Cpath fill='%23CF0' d='M7 13 .75 6.75 7 .5l1.484 1.484-4.791 4.792 4.765 4.766L7 13Zm8.333 0-1.484-1.484 4.792-4.792-4.766-4.766L15.333.5l6.25 6.25-6.25 6.25Z'/%3E%3C/svg%3E");
		}
	}

	&.--warehouse {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='19' fill='none'%3E%3Cpath fill='%23CF0' d='M2.833 16.792h2.084V8.458h12.5v8.334H19.5V5.698l-8.333-3.333-8.334 3.333v11.094ZM.75 18.875V4.292L11.167.125l10.416 4.167v14.583h-6.25v-8.333H7v8.333H.75Zm7.292 0v-2.083h2.083v2.083H8.042Zm2.083-3.125v-2.083h2.083v2.083h-2.083Zm2.083 3.125v-2.083h2.084v2.083h-2.084Z'/%3E%3C/svg%3E");
		}
	}

	&.--mountain {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='13' fill='none'%3E%3Cpath fill='%23CF0' d='m.708 12.5 6.25-8.333 4.688 6.25h7.813L14.25 3.49l-2.604 3.437-1.302-1.719L14.25 0l9.375 12.5H.708Zm4.167-2.083h4.167L6.959 7.63l-2.084 2.787Z'/%3E%3C/svg%3E");
		}
	}

	&.--robotic-arm {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cpath fill='%23CF0' d='M1.808 19.375V16.25h3.229L2.38 7.552a3.118 3.118 0 0 1-1.158-1.146 3.072 3.072 0 0 1-.456-1.614c0-.868.304-1.606.911-2.214a3.014 3.014 0 0 1 2.214-.911c.677 0 1.28.195 1.81.586.53.39.898.89 1.107 1.497h3.333V2.708c0-.295.1-.542.3-.742.199-.2.446-.3.741-.3.157 0 .309.035.456.105.148.07.274.174.378.312l1.77-1.666c.157-.156.344-.256.56-.3a.967.967 0 0 1 .639.091l4.062 1.875a.845.845 0 0 1 .43.456c.078.2.074.395-.013.586a.743.743 0 0 1-.456.404.806.806 0 0 1-.586-.04l-3.75-1.718-2.448 2.292V5.52l2.448 2.24 3.75-1.72a.793.793 0 0 1 .6-.025c.207.07.355.2.442.39a.665.665 0 0 1 .026.6.914.914 0 0 1-.443.442l-4.062 1.927a.967.967 0 0 1-.638.091 1.073 1.073 0 0 1-.56-.3L12.016 7.5c-.104.104-.23.2-.378.287a.888.888 0 0 1-.456.13c-.295 0-.542-.1-.742-.3-.2-.2-.3-.447-.3-.742V5.833H6.809c-.053.14-.109.27-.17.391-.06.122-.143.252-.247.39l5.208 9.636h3.75v3.125H1.808ZM3.89 5.833c.295 0 .542-.1.742-.299.2-.2.3-.447.3-.742s-.1-.543-.3-.742c-.2-.2-.447-.3-.742-.3s-.543.1-.742.3c-.2.2-.3.447-.3.742s.1.542.3.742c.2.2.447.3.742.3ZM7.172 16.25h2.031L4.724 7.917H4.62l2.552 8.333Z'/%3E%3C/svg%3E");
		}
	}

	&.--factory {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' fill='none'%3E%3Cpath fill='%23CF0' d='M.75 17.083v-12.5h3.125V.417h6.25v4.166h2.083V.417h6.25v4.166h3.125v12.5H.75ZM2.833 15H19.5V6.667H2.833V15ZM5.958 4.583h2.084V2.5H5.958v2.083Zm8.334 0h2.083V2.5h-2.083v2.083Z'/%3E%3C/svg%3E");
		}
	}

	&.--houses {
		&::before {
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='17' fill='none'%3E%3Cpath fill='%23CF0' d='M.75 16.833V6.417L7 .167l6.25 6.25v10.416H.75Zm2.083-2.083h3.125v-3.125h2.084v3.125h3.125V7.276L7 3.11 2.833 7.276v7.474Zm3.125-5.208V7.458h2.084v2.084H5.958Zm9.375 7.291V5.557L9.943.167h2.942l4.532 4.53v12.136h-2.084Zm4.167 0V3.84L15.828.167h2.943l2.812 2.812v13.854H19.5Z'/%3E%3C/svg%3E");
		}
	}
}



/* ============================================================================================= */
/* HOME STYLES */

.home-two-column-content-title {
	margin-block-end: 4rem;
}

.home-two-column-content {
	display: flex;
	flex-direction: column;
	column-gap: clamp(6rem, 5.277vw + 4.021rem, 12rem);
	row-gap: 2.4rem;

	@media(min-width: 768px) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		row-gap: 4rem;
	}
}

.home-logo-grid {
	margin-block-start: clamp(6rem, 5.277vw + 4.021rem, 12rem);

	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 4rem;
	row-gap: 6rem;

	@media(min-width: 768px) {
		grid-template-columns: repeat(3, 1fr);
		max-width: 80%;
	}

	@media(min-width: 768px) and (max-width: 1023px) {

	}

	figure {
		& svg {
			max-height: 10rem;
		}
	}

	figcaption {
		margin-block-start: 1rem;
		margin-inline: 0;
	}
}

.building-tomorrow-together-content {
	@media(min-width: 1024px) {
		grid-column: 2 / 10 !important;
	}
}


/* ============================================================================================= */
/* OUR PROCESS STYLES */

.our-process-header {
	margin-block-end: clamp(6rem, 5.277vw + 4.021rem, 12rem);

	& .our-process-header--title {
		margin-block-end: clamp(2rem, 3.518vw + 0.681rem, 6rem);

		@media(min-width: 1024px) {
			grid-column: 2 / 11;
		}
	}
}

.section-title-container {
	& header {
		margin-block-end: clamp(2rem, 3.518vw + 0.681rem, 6rem);
	}
}



/* ============================================================================================= */
/* NEWS STYLES */

.article-listing {
	border-top: 1px solid var(--abic-black);
	padding-block-start: clamp(0.25rem, 0.66vw + 0.003rem, 1rem);
	margin-block-end: 8rem;
	color: black;

	&:last-child {
		border-bottom: 1px solid var(--abic-black);
		padding-block-end: clamp(4rem, 1.759vw + 3.34rem, 6rem);
		margin-block-end: 0;
	}

	&.--contact {
		margin-block-end: clamp(4rem, 1.759vw + 3.34rem, 6rem);

		&:last-child {
			margin-block-end: 12rem;
		}

		& .article-listing--content {
			display: grid;
			grid-template-columns: 1fr 1fr;

			column-gap: clamp(1.5rem, 3.958vw + 0.016rem, 6rem);
		}
	}

	& .article-listing--title {
		margin-block-end: clamp(2rem, 1.759vw + 1.34rem, 4rem);

		font-size: clamp(2.4rem, 0.352vw + 2.268rem, 2.8rem);
		line-height: clamp(3.2rem, 0.176vw + 3.134rem, 3.4rem);

		max-width: none;

		&.--desktop {
			display: none;
		}

		@media(min-width: 768px) {
			&.--desktop {
				display: block;
			}

			&.--mobile {
				display: none;
			}
		}
	}

	& .article-listing--content {
		display: flex;
		flex-direction: column;
		column-gap: 2rem;

		@media(min-width: 768px) {
			flex-direction: row-reverse;

			& > * {
				flex-grow: 1;
				flex-shrink: 1;
				flex-basis: 0;
			}
		}

		@media(min-width: 1024px) {
			column-gap: clamp(4rem, 1.759vw + 3.34rem, 6rem);
		}

		& p {
			&:has(a) {
				margin-top: 3rem;
			}
		}
	}

	& a {
		&.link {
			position: relative;
			text-decoration: none;

			&::after {
				content: "";
				position: absolute;
				left: 0;
				right: 0;
				bottom: 3px;

				height: 0.5px;
				width: 100%;
				background-color: var(--abic-black);
			}
		}
	}

	& address {
		& a {
			text-decoration: none;
		}
	}

	& .article-listing--date {
		font-size: clamp(1.1rem, 0.264vw + 1.001rem, 1.4rem);
		line-height: clamp(1.6rem, 0.176vw + 1.534rem, 1.8rem);
		margin-block-end: 2rem;
	}

	& .article-listing--blurb {
		margin-block-start: 2rem;

		@media(min-width: 768px) {
			margin-block-start: 0;
		}
	}
}



/* ============================================================================================= */
/* CONTACT STYLES */

.contact-card {
	margin-block-end: clamp(12rem, 3.518vw + 10.681rem, 16rem);

	& .contact-card--image {
		margin-block-end: 4rem;
	}

	& .contact-card--content {
		& .contact-card--title {
			font-size: clamp(2.4rem, 0.352vw + 2.268rem, 2.8rem);
			line-height: clamp(3.2rem, 0.176vw + 3.134rem, 3.4rem);
			margin-block-end: 3rem;
		}
	}
}



/* ============================================================================================= */
/* FOOTER STYLES */

#site-footer {
	padding-block-end: 2rem;

	& .site-footer-grid {
		&.--top {
			margin-bottom: 3rem;

			@media(min-width: 768px) {
				display: grid;
				grid-template-columns: 1fr 1fr;
				align-items: end;
			}
		}

		&.--legal {
			margin-top: 4rem;

			@media(min-width: 768px) {
				margin-top: 0;
				display: grid;
				grid-template-columns: 1fr 1fr;
			}
		}

		&.--links {
			display: grid;
			grid-template-columns: 1fr 1fr;
		}
	}

	& .right {
		display: flex;
		flex-direction: column;
	}

	& p {
		margin-bottom: 2rem;

		&:last-child {
			margin-bottom: 0;
		}
	}
}

#footer-logo {
	display: inline-block;
	max-width: clamp(13.2rem, 2.902vw + 12.112rem, 16.5rem);
	height: auto;
	width: 100%;
	min-width: 13.2rem;
}

#footer-nav {
	& ul {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}
}

#footer-nav-legal {
	& ul {
		display: flex;
		gap: 2rem;
	}
}



@keyframes fade-in {
	from {
		scale: 0.8;
		opacity: 0
	}

	to {
		scale: 1;
		opacity: 1;
	}
}
