@charset "UTF-8";
.footer {
		background: var(--black);
		color: var(--white);
		padding: 80px 0;
		position: relative;
}
.footer a {
		color: var(--white);
}
.footer .container {
		display: flex;
		flex-direction: column;
		gap: 80px;
}
.footer .container > * {
		flex: 0 0 auto;
		width: 100%;
}
.footer .cta {
		font-weight: 300;
		font-size: 18px;
		color: var(--grey);
		container-type: inline-size;
		container-name: footer-cta;
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
}
.footer .cta > * {
		flex: 0 0 auto;
		width: 100%;
}
.footer .cta .h2 {
		font-size: 36px;
		margin: 0 0 10px 0;
}
@media only screen and (min-width: 1024px) {
		.footer .cta .h2 {
				font-size: 4rem;
		}
}
.footer .cta .link {
		font-weight: normal;
		font-size: 24px;
		margin-top: 40px;
		margin-bottom: -10px;
}
.footer .cta .link a {
		color: var(--white);
		border-style: solid;
		border-width: 0 0 1px 0;
}
@container footer-cta (min-width: 700px) {
		.footer .cta .h2 {
				margin: 0;
				width: calc(50% - 40px);
				max-width: 9em;
		}
		.footer .cta .text {
				width: 50%;
		}
		.footer .cta .link {
				margin-top: 34px;
		}
}
.footer .menu {
		line-height: 1.2;
		font-size: 20px;
		container-type: inline-size;
		container-name: footer-menu;
}
.footer .menu > ul {
		gap: 15px;
}
.footer .menu .col2, .footer .menu .col3 {
		margin-top: 25px;
}
.footer .menu ul ul {
		font-size: 18px;
}
.footer .menu ul, .footer .menu li {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
}
.footer .menu ul ul {
		font-weight: 300;
		gap: 10px;
}
.footer .menu ul > li {
		gap: 20px;
}
@container footer-menu (min-width: 500px) {
		.footer .menu > ul {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 20px;
		}
		.footer .menu .col2 {
				margin: 0;
		}
		.footer .menu .col2 {
				grid-column-start: 2;
				grid-row-start: 1;
				grid-row-end: 6;
		}
}
@container footer-menu (min-width: 700px) {
		.footer .menu > ul {
				grid-template-columns: repeat(3, 1fr);
				max-width: 860px;
		}
		.footer .menu .col2, .footer .menu .col3 {
				margin: 0;
		}
		.footer .menu .col2 {
				grid-column-start: 2;
				grid-row-start: 1;
				grid-row-end: 6;
		}
		.footer .menu .col3 {
				grid-column-start: 3;
				grid-row-start: 1;
				grid-row-end: 6;
		}
}
.footer .bottom {
		display: flex;
		align-items: center;
		gap: 40px 20px;
		letter-spacing: 0.04em;
		color: var(--darkgrey);
		font-size: 12px;
}
.footer .bottom .left {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 20px;
}
@media only screen and (max-width: 767px) {
		.footer .bottom {
				flex-wrap: wrap;
		}
		.footer .bottom .left {
				flex: 0 0 auto;
				width: 100%;
				justify-content: space-between;
		}
}
@media only screen and (min-width: 768px) {
		.footer .bottom .left {
				flex: 1 1 auto;
		}
		.footer .bottom .left > * {
				margin-right: auto;
		}
}
.footer .studio {
		flex: 0 0 auto;
		position: relative;
		color: var(--white);
		font-size: 15px;
		line-height: 1.4;
		padding: 9.5px 0 9.5px 40px;
}
.footer .studio img {
		position: absolute;
		top: 50%;
		left: 0;
		width: 30px;
		height: 30px;
		border-radius: 50%;
		object-fit: cover;
		object-position: center;
		transform: translate3d(0, -50%, 0);
}
.footer .studio a {
		display: inline-block;
		margin-top: -0.25em;
		vertical-align: top;
		border-bottom: 1px solid currentColor;
}
.footer .studio a > *:not(img) {
		position: relative;
		top: 0.25em;
}
.footer .bottom ul, .footer .bottom li {
		list-style: none;
		margin: 0;
		padding: 0;
}
.footer .bottom ul {
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 20px;
		letter-spacing: 0.02em;
}
@media only screen and (min-width: 1280px) {
		.footer .container {
				gap: 120px;
		}
		.footer .cta {
				font-size: 24px;
		}
		.footer .cta .link {
				font-size: 30px;
		}
		.footer .menu {
				font-size: 24px;
		}
		.footer .menu ul ul {
				font-size: 20px;
		}
		.footer .bottom {
				font-size: 15px;
		}
		.footer .bottom, .footer .bottom ul {
				gap: 20px 40px;
		}
}
/*animations*/
.footer .cta > *, .footer .menu > ul > li, .footer .bottom {
		backface-visibility: hidden;
		transition-property: transform, opacity;
		transition-duration: 1.5s;
		transition-timing-function: var(--move-timing);
		transform: translate3d(0, 0, 0);
}
.footer:not(.visible) .cta > *, .footer:not(.visible) .menu > ul > li, .footer:not(.visible) .bottom {
		opacity: 0 !important;
		pointer-events: none !important;
		transform: translate3d(0, var(--distance), 0);
}
.footer .cta .text {
		transition-delay: 0.1s;
}
.footer .cta .link {
		transition-delay: 0.2s;
}
.footer .menu > ul > li {
		transition-delay: 0.45s;
}
.footer .menu > ul > li.col2 {
		transition-delay: 0.55s;
}
.footer .menu > ul > li.col3 {
		transition-delay: 0.65s;
}
.footer .bottom {
		transition-delay: 0.9s;
}