.layer {
				display: flex;
				height: 100%;
				justify-content: flex-end;
				left: 0;
				position: fixed;
				top: 0;
				transition: 0.3s;
				visibility: hidden;
				width: 100%;
				z-index: 1000;
			}
			.layer.--show {
				visibility: visible;
			}
			.layer.--show .layer__bg {
				opacity: 0.4;
			}
			.layer.--show .layer__main {
				transform: translate(0) translateZ(0);
			}
			.layer__bg {
				background: #373737;
				border: 0;
				border-radius: 0;
				cursor: pointer;
				left: 0;
				opacity: 0;
				padding: O;
				position: absolute;
				top: 0;
			}
			.layer__bg,
			.layer__main {
				height: 100%;
				transition: 0.3s;
				width: 100%;
			}
			.layer__main {
				background: #fff;
				display: flex;
				flex-direction: column;
				max-width: 43rem;
				position: relative;
				transform: translate(100%) translateZ(0);
				z-index: 1;
			}
			.layer__content {
				display: flex;
				flex: 1;
				flex-direction: column;
				min-height: 0;
				padding: 2rem;
			}
			@media (min-width: 768px) {
				.layer__content {
					padding: 2rem 3rem;
				}
			}
			@media (min-width: 1200px) {
				.layer__content {
					padding: 2rem 4rem;
				}
			}
			.layer__content hr {
				border: 0;
				border-top: 1px solid #d7d7d7;
				margin: 2rem 0;
			}
			.layer__content ul {
				display: grid;
				gap: 1rem;
				list-style: disc;
				margin-left: 1.5rem;
				padding-block: 2rem;
			}
			.layer__content p + p {
				margin-top: 2rem;
			}
			.layer__scroll {
				flex: 1;
				margin-right: -2rem;
				min-height: 0;
				overflow-y: auto;
				padding-right: 2rem;
			}
			.layer__prices {
				padding-bottom: 2rem;
			}
			.layer__prices hr {
				margin-top: 3.5rem;
			}
			.layer__prices__title {
				font-size: 1.4rem;
				font-weight: 500;
				text-transform: uppercase;
			}
			.layer__prices__list {
				display: grid;
				gap: 1.5rem;
				margin-top: 1rem;
			}
			.layer__prices__item {
				align-items: center;
				display: flex;
				font-size: 1.4rem;
				font-weight: 400;
				justify-content: space-between;
				grid-gap: 1rem;
			}
			.layer__prices__price {
				font-weight: 500;
			}
			.layer__cta {
				background: #fbf6f1;
				display: flex;
				justify-content: center;
				margin-top: auto;
				margin-inline: -2rem;
				margin-bottom: -2rem;
				padding: 2rem 4rem;
			}
			@media (min-width: 768px) {
				.layer__cta {
					margin-inline: -3rem;
				}
			}
			@media (min-width: 1200px) {
				.layer__cta {
					margin-inline: -4rem;
				}
			}
			.layer__cta .button {
				justify-content: center;
				width: 100%;
			}
			.layer__header {
				align-items: center;
				border-bottom: 1px solid #d7d7d7;
				display: flex;
				gap: 1.5rem;
				justify-content: space-between;
				margin-bottom: 2rem;
				padding-bottom: 2rem;
			}
			@media (min-width: 768px) {
				.layer__header {
					margin-bottom: 2.7rem;
				}
			}
			@media (min-width: 1200px) {
				.layer__header {
					margin-bottom: 3.5rem;
				}
			}
			.layer__title {
				font-family: var(--heading-font);
				font-size: 2rem;
				line-height: 1.2;
			}
			@media (min-width: 768px) {
				.layer__title {
					font-size: 2.8rem;
				}
			}
			.layer__close {
				background: transparent;
				border: 0;
				border-radius: 0;
				color: rgb(var(--primary-color));
				cursor: pointer;
				display: block;
				padding: 0;
			}
			.layer__close svg {
				display: block;
				height: auto;
				width: 2rem;
			}
			body.layer-open {
				height: 100vh;
				overflow: hidden;
			}
			.section-banner__container {
				display: grid;
				padding: clamp(3rem, 3.5vw, 7rem);
				position: relative;
			}
			@media (min-width: 768px) {
				.section-banner__container {
					padding: 0;
				}
			}
			.section-banner__background-media,
			.section-banner__content {
				grid-area: 1/1/2/2;
			}
			.section-banner__pattern {
				inset: 0;
				position: absolute;
			}
			@media (min-width: 768px) {
				.section-banner__pattern {
					grid-area: 1/1/2/2;
					position: static;
				}
			}
			.section-banner__background-media {
				align-self: center;
				height: 100%;
				justify-self: center;
				-o-object-fit: cover;
				object-fit: cover;
				width: 100%;
			}
			@media (max-width: 767px) {
				.section-banner__background-media {
					display: none;
				}
			}
			.section-banner__background-media-mobile {
				inset: 0;
				position: absolute;
			}
			@media (min-width: 768px) {
				.section-banner__background-media-mobile {
					display: none;
				}
			}
			.section-banner__content {
				align-self: flex-start;
				background-color: #fff;
				justify-self: center;
				max-width: 45rem;
				padding: clamp(3rem, 3.2vw, 5rem);
				text-align: left;
				z-index: 1;
			}
			@media (min-width: 768px) {
				.section-banner__content {
					align-self: center;
					justify-self: flex-start;
					margin: clamp(3rem, 3.5vw, 7rem);
				}
			}
			@media (min-width: 1560px) {
				.section-banner__content {
					max-width: 50rem;
				}
			}
			.section-banner__title {
				margin-bottom: 1.5rem;
			}
			@media (min-width: 768px) {
				.section-banner__title {
					margin-bottom: 3rem;
				}
			}
			.section-banner__cta,
			.section-banner__popin__link {
				margin-top: 1rem;
			}
			@media (min-width: 768px) {
				.section-banner__cta,
				.section-banner__popin__link {
					margin-top: 2rem;
				}
			}
			.section-banner.--full .section-banner__content {
				justify-self: auto;
				max-width: none;
				text-align: center;
			}
			@media (min-width: 768px) {
				.section-banner.--right .section-banner__content {
					justify-self: flex-end;
				}
			}
			@media (max-width: 767px) {
				.section-banner.--bottom .section-banner__content {
					align-self: flex-end;
				}
				.section-banner.--center .section-banner__content {
					align-self: center;
				}
			}
