/********************************************************/
/*
/*      Site frame CSS
/*
/********************************************************/
html {
	overflow-x: clip;
	overflow-y: scroll;
	scroll-behavior: smooth;
	margin-block-start: 0 !important;
	
	body {
		width: 100%;
		max-width: var(--wp--custom--viewport-width);
		
		&:not(.wp-admin) #wpadminbar {
			position: relative !important;
		}
	}
	
	/* Required since Chrome's scrollbar-aware change (145+) */
	#vw-measurer {
		position: fixed;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: unset !important;
		padding: unset !important;
	}
}

.otgs-development-site-front-end {
	display: none;
}

.wp-site-blocks {
	min-width: 100%;
	min-height: 100dvh;
	margin-inline: auto;
	display: flex; 
	flex-direction: column;
	overflow-x: clip;
	
	& > *,
	& > :is(header, footer) :where(.is-layout-flow) > *,
	& > :is(header, footer) :where(.is-layout-flow) > * + .site-nav {
		margin-block-start: 0;
	}
	
	& > :is(header, footer) > :is(.site-header, .site-foot).has-background,
	& > :is(header, footer) > :is(.site-header, .site-foot) > .has-background {
		position: relative;
		
		&::before {
			content: '';
			position: absolute;
			top: 0;
			left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
			width: var(--wp--custom--viewport-width);
			height: 100%;
			background-color: inherit;
			z-index: -1;
		}
	}
	
	/************************************************************/
	/* Header
	/************************************************************/
	& > header {
		--header-pad-top: var(--wp--preset--spacing--2);
		--header-pad-bottom: var(--wp--preset--spacing--2);
		--stickied-header-pad-top: var(--wp--preset--spacing--1);
		--stickied-header-pad-bottom: var(--wp--preset--spacing--0-75);
		
		display: flex;
		justify-content: center;
		align-items: start;
		position: sticky;
		top: 0;
		width: 100%;
		max-height: var(--wp--custom--stickied-header-height);
		margin-block-start: 0;
		z-index: 5;
		
		/******************************/
		/* Site header
		/******************************/
		& > .site-header {
			container-type: inline-size;
			container-name: header;
			
			display: grid;
			grid-template-columns: repeat(2, max-content);
			grid-template-rows: 1fr auto;
			grid-template-areas:
				'logo utility-nav'
				'logo main-nav';
			row-gap: var(--wp--preset--spacing--2);
			justify-content: space-between;
			align-items: center;
			width: 100%;
			max-width: var(--wp--style--global--wide-size);
			height: var(--wp--custom--header-height);
			background-color: var(--wp--custom--color--default--bg);
			padding-block: var(--header-pad-top) var(--header-pad-bottom);
			border-block-end: 2px solid transparent;
			transition: height var(--wp--custom--speed--medium), padding-block var(--wp--custom--speed--medium), border-color var(--wp--custom--speed--medium);
			
			/* Logo */
			.wp-block-site-logo {
				grid-area: logo;
				
				* {
					width: 160px;
					height: auto;
					aspect-ratio: 53/30;
					transition: width var(--wp--custom--speed--medium);
					
					&:is(svg) {
						fill: var(--wp--custom--color--default--text);
						transition: width var(--wp--custom--speed--medium), fill var(--wp--custom--speed--fast);
						
						.wp-block-site-logo:is(:hover, :focus, :active) & {
							fill: var(--wp--custom--color--default--accent);
						}
					}
				}
			}
			
			/* Menus */
			.site-nav {
				align-self: end;
				justify-content: end;
				
				/* Utility menu */
				&.utility {
					grid-area: utility-nav;
					gap: var(--wp--preset--spacing--2-5);
					
					& > .menu-item {
						font-size: var(--wp--preset--font-size--small);
						
						&.wpml-ls-item {
							align-self: center;
						}
						
						&.btn > a {
							padding: var(--wp--preset--spacing--0-75) var(--wp--preset--spacing--2-5) calc(var(--wp--preset--spacing--0-75) - 3px);
						}
					}
				} 
				
				/* Main menu */
				&.main {
					grid-area: main-nav;
					
					& > .menu-item:has(span.system-o) {
						span.system-o {
							&::before {
								translate: 0 calc(-50% - 3px);
							}
						}
					}
					
					& > :is(.wpml-ls-item, .burger-popup-open) {
						display: none;
						
						&.wpml-ls-item {
							order: 98;
						}
						
						&.burger-popup-open {
							order: 99;
							margin-block-end: var(--wp--preset--spacing--0-50);
						}
					}
				}
			}
			
			/* Stickied header changes */
			.stickied > & {
				height: var(--wp--custom--stickied-header-height);
				padding-block: var(--stickied-header-pad-top) var(--stickied-header-pad-bottom);
				border-color: var(--wp--custom--color--default--text);
				
				/* Logo */
				.wp-block-site-logo {
					* {
						width: 140px;
					}
				}
			}
			
			/* Responsive ****************************************************/
			/* Container queries */
			@container header (width <= 1400px) {
				/* Menus */
				.site-nav {
					/* Utility menu */
					&.utility {
						gap: var(--wp--preset--spacing--2);
					}
					
					/* Main menu */
					&.main {
						gap: var(--wp--preset--spacing--1-5);
					}
				}
			}
			
			@container header (width <= 1200px) {
				/* Menus */
				.site-nav {
					/* Utility menu */
					&.utility {
						gap: var(--wp--preset--spacing--1-5);
						
						& > .menu-item {
							&.btn > a {
								padding: var(--wp--preset--spacing--0-75) var(--wp--preset--spacing--1-5) calc(var(--wp--preset--spacing--0-75) - 3px);
							}
						}
					}
					
					/* Main menu */
					&.main {
						& > .menu-item:not(.keep-on-mobile, .wpml-ls-item) {
							display: none;
						}
						
						/* &:has(.menu-item-has-children) > .menu-item {
							margin-block-end: unset;
						} */
						
						& > .burger-popup-open {
							display: block;
							/* margin-block-end: unset !important; */
						}
					}
				}
			}
			
			@container header (width <= 601px) {
				/* Logo */
				.wp-block-site-logo {
					* {
						width: 140px;
					}
				}
				
				/* Menus */
				.site-nav {
					/* Utility menu */
					&.utility {
						display: none;
					}
					
					/* Main menu */
					&.main {
						& > .wpml-ls-item {
							display: block;
						}
					}
				}
			}
			
			@container header (width <= 520px) {
				/* Menus */
				.site-nav {
					/* Main menu */
					&.main {
						& > .menu-item.keep-on-mobile {
							display: none;
						}
					}
				}
			}
			
			/* Media queries */
			@media (width <= 660px) {
				&.site-header {
					grid-template-columns: repeat(2, max-content);
					grid-template-rows: max-content;
					grid-template-areas:
						'logo main-nav';
					
					header:has(> &) {
						--header-pad-top: var(--wp--preset--spacing--1);
						--header-pad-bottom: var(--wp--preset--spacing--1);
						--stickied-header-pad-top: var(--wp--preset--spacing--0-75);
						--stickied-header-pad-bottom: var(--wp--preset--spacing--0-50);
					}
				}
				
				/* Stickied header changes */
				.stickied > & {
					/* Logo */
					.wp-block-site-logo {
						* {
							width: 120px;
						}
					}
				}
			}
		}
		
		/******************************/
		/* Burger popup
		/******************************/
		& > #burger-popup {
			display: grid;
			grid-template-columns: minmax(0, 1fr) 24px;
			grid-template-rows: calc(var(--wp--custom--header-height) - var(--header-pad-top) - var(--header-pad-bottom)) 3fr 2fr max-content;
			grid-template-areas:
				'logo 		close-btn'
				'burger-nav burger-nav'
				'utility-nav utility-nav'
				'social-nav social-nav';
			gap: var(--wp--preset--spacing--2);
			justify-content: space-evenly;
			width: var(--wp--custom--viewport-width);
			height: 100dvh;
			background-color: var(--wp--custom--color--default--accent);
			padding-block: calc(var(--wp--custom--adminbar-height) + var(--header-pad-top)) var(--header-pad-top);
			padding-inline: var(--wp--custom--wide-pad);
			border: unset;
			box-sizing: border-box;
			transition: padding-block var(--wp--custom--speed--medium), grid-template-rows var(--wp--custom--speed--medium), opacity var(--wp--custom--speed--medium);
			
			body:not(.loaded) &,
			&:not(:popover-open) {
				opacity: 0;
			}
			
			body:not(.loaded) &,
			&:not(:popover-open),
			&:not(:popover-open) * {
				pointer-events: none;
			}
			
			&::after {
				content: '';
				position: absolute;
				inset: 0;
				width: 100%;
				height: 100%;
				background-image: var(--wp--custom--effects--noise);
				background-size: auto;
				background-repeat: repeat;
				z-index: -1;
			}
			
			& > * {
				position: relative;
				z-index: 2;
			}
			
			/* Logo */
			.wp-block-site-logo {
				grid-area: logo;
				align-self: center;
				width: max-content;
				height: max-content;
				translate: 0 2px;
				
				* {
					width: 160px;
					height: auto;
					aspect-ratio: 53/30;
					
					&:is(svg) {
						fill: var(--wp--custom--color--default--bg);
						transition: width var(--wp--custom--speed--medium), fill var(--wp--custom--speed--fast);
						
						.wp-block-site-logo:is(:hover, :focus, :active) & {
							fill: var(--wp--preset--color--white);
						}
					}
				}
			}
			
			/* Close button */
			& > .burger-popup-close {
				grid-area: close-btn;
				justify-self: end;
				align-self: end;
				margin-block-end: var(--wp--preset--spacing--0-50);
				
				& > svg {
					fill: var(--wp--custom--color--default--bg);
				}
				
				&:is(:hover, :focus, :active) {
					& > svg {
						fill: var(--wp--preset--color--white);
					}
				}
			}
			
			/* Menus */
			& > .site-nav {
				/* Burger menu */
				&.burger {
					grid-area: burger-nav;
					align-self: end;
					display: block;
					width: max-content;
					max-width: 100%;
					column-count: 2;
					overflow: visible;
					
					& > .menu-item {
						font-size: var(--wp--preset--font-size--medium-large);
						
						& > a {
							color: var(--wp--custom--color--default--bg);
							
							&:has(> span.system-o) {
								--color: var(--wp--custom--color--default--bg);
							}
							
							:is(:hover, :focus, :active, [class*="current-menu-"]) > & {
								color: var(--wp--preset--color--white);
								
								&:has(> span.system-o) {
									--color: var(--wp--preset--color--white);
								}
							}
						}
						
						& + .menu-item {
							margin-block-start: var(--wp--preset--spacing--1);
						}
					}
				}
				
				/* Utility menu */
				&.utility {
					grid-area: utility-nav;
					align-self: start;
					
					& > .menu-item.btn > a {
						color: var(--wp--custom--color--default--text);
						background-color: var(--wp--custom--color--default--bg);
						
						&:is(:hover, :focus, :active) {
							color: var(--wp--custom--color--default--bg);
							background-color: var(--wp--custom--color--default--focus);
						}
					}
					
					& > .wpml-ls-item {
						display: none;
					}
				}
				
				/* Social menu */
				&.social {
					grid-area: social-nav;
					
					& > .menu-item > a {
						border-color: var(--wp--custom--color--default--bg);
						
						&:is(:hover, :focus, :active) {
							background-color: var(--wp--preset--color--white);
							border-color: var(--wp--preset--color--white);
							
							&::after {
								color: var(--wp--custom--color--default--accent);
							}
						}
						
						&::after {
							color: var(--wp--custom--color--default--bg);
						}
					}
				}
			}
			
			/* Stickied header changes */
			.stickied > & {
				grid-template-rows: calc(var(--wp--custom--stickied-header-height) - var(--stickied-header-pad-top) - var(--stickied-header-pad-bottom)) minmax(0, 1fr) max-content;
				padding-block: var(--stickied-header-pad-top) var(--header-pad-top);
			
				/* Logo */
				.wp-block-site-logo {
					* {
						width: 140px;
					}
				}
			}
			
			/* Responsive ****************************************************/
			@media (width <= 1305px) {
				/* Close button */
				& > .burger-popup-close {
					margin-block-end: unset;
				}
			}
			
			@media (width <= 660px) {
				/* Logo */
				.wp-block-site-logo {
					translate: unset;
					
					* {
						width: 140px;
					}
				}
				
				/* Stickied header changes */
				.stickied > & {
					/* Logo */
					.wp-block-site-logo {
						* {
							width: 120px;
						}
					}
				}
			}
			
			@media (width <= 520px) {
				/* Menus */
				& > .site-nav {
					/* Burger menu */
					&.burger {
						display: flex;
						flex-direction: column;
						align-items: start;
						gap: var(--wp--preset--spacing--0-75);
						column-count: unset;
						
						& > .menu-item {
							font-size: var(--wp--preset--font-size--medium);
							
							& + .menu-item {
								margin-block-start: unset;
							}
						}
					}
					
					/* Utility menu */
					&.utility {
						flex-wrap: wrap;
						gap: var(--wp--preset--spacing--1);
					}
				}
			}
			
			/* Height queries */
			@media (height <= 600px) {
				grid-template-rows: calc(var(--wp--custom--header-height) - var(--header-pad-top) - var(--header-pad-bottom)) minmax(0, 1fr) repeat(2, max-content);
				row-gap: var(--wp--preset--spacing--0-50);
			}
			
			@media (height <= 420px) {
				/* Menus */
				& > .site-nav {
					/* Burger menu */
					&.burger {
						& > .menu-item {
							font-size: var(--wp--preset--font-size--medium);
							
							& + .menu-item {
								margin-block-start: var(--wp--preset--spacing--0-50);
							}
						}
					}
					
					/* Social menu */
					&.social {
						display: none;
					}
				}
			}
		}
	}
	
	/************************************************************/
	/* Footer
	/************************************************************/
	& > footer {
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		margin-block-start: var(--wp--preset--spacing--12);
		margin-inline: auto;
		z-index: 3;
		
		& > .wp-block-group {
			margin-block: 0;
		}
		
		/******************************/
		/* Site footer
		/******************************/
		& > .site-footer {
			display: grid;
			grid-template-columns: repeat(3, max-content);
			grid-template-rows: repeat(3, auto) 1fr;
			grid-template-areas:
				'logo 	  certifications newsletter'
				'logo	  footer-nav	 newsletter'
				'coords-1 footer-nav	 social-nav'
				'coords-2 footer-nav	 social-nav';
			justify-content: space-between;
			column-gap: var(--wp--preset--spacing--7);
			padding-block: var(--wp--preset--spacing--4-5);
			border-block: 2px solid var(--wp--custom--color--default--text);
			
			/* Logo */
			.wp-block-site-logo {
				grid-area: logo;
				align-self: end;
				margin-inline-end: var(--wp--preset--spacing--3-5);
				
				* {
					width: 350px;
					height: auto;
					aspect-ratio: 53/30;
					
					&:is(svg) {
						fill: var(--wp--custom--color--default--text);
						transition: width var(--wp--custom--speed--medium), fill var(--wp--custom--speed--fast);
						
						.wp-block-site-logo:is(:hover, :focus, :active) & {
							fill: var(--wp--custom--color--default--accent);
						}
					}
				}
			}
			
			/* Certifications */
			.certifications {
				grid-area: certifications;
				display: grid;
				grid-template-rows: repeat(2, max-content);
				grid-template-columns: repeat(2, max-content) 1fr;
				row-gap: var(--wp--preset--spacing--1);
				width: max-content;
				margin-inline-start: auto;
				margin-block-end: var(--wp--preset--spacing--3);
				
				* {
					margin-block: unset;
				}
				
				& > h3 {
					grid-row: 1;
					grid-column: 1 / -1;
					margin-block-end: var(--wp--preset--spacing--0-25);
				}
				
				& > p {
					grid-row: 2;
					grid-column: span 1;
					line-height: 1;
					font-weight: 500;
					
					&:not(:last-of-type) {
						padding-inline-end: var(--wp--preset--spacing--1);
						border-inline-end: 2px solid currentcolor;
						margin-inline-end: var(--wp--preset--spacing--1);
					}
				}
			}
			
			/* Newsletter */
			.newsletter {
				grid-area: newsletter;
				
				* {
					margin-block: unset;
				}
				
				& > .wp-block-button {
					margin-block-start: var(--wp--preset--spacing--1-5);
					
					& > .wp-block-button__link:is(:hover, :focus, :active) {
						background-color: var(--wp--custom--color--default--text);
					}
				}
			}
			
			/* Coordinates */
			.coordinates {
				width: 100%;
				border-block-start: 2px solid var(--wp--custom--color--default--accent);
				
				&.coords-1 {
					grid-area: coords-1;
					padding-block: var(--wp--preset--spacing--1-5);
					margin-block-start: var(--wp--preset--spacing--2);
				}
				
				&.coords-2 {
					grid-area: coords-2;
					padding-block-start: var(--wp--preset--spacing--0-75);
					
					& > div {
						& > p {
							font-family: var(--wp--preset--font-family--feature-display-condensed);
							font-size: var(--wp--preset--font-size--medium-large);
							color: var(--wp--custom--color--default--accent);
							
							& > a {
								&:is(:hover, :focus, :active) {
									color: var(--wp--custom--color--default--text);
								}
							}
						}
						
						& + div {
							margin-block-start: unset;
						}
					}
				}
			}
			
			/* Menus */
			.site-nav {
				/* Footer menu */
				&.footer {
					grid-area: footer-nav;
					align-self: start;
					flex-direction: column;
					align-items: start;
					gap: var(--wp--preset--spacing--1);
					
					& > .menu-item {
						text-transform: uppercase;
						
						&.wpml-ls-item {
							span[lang] {
								font-size: inherit;
								color: inherit;
								
								&::before {
									display: none;
								}
							}
						}
						
						span.system-o {
							&::before {
								translate: 0 calc(-50% - 3px);
							}
						}
					}
				} 
				
				/* Social menu */
				&.social {
					grid-area: social-nav;
					align-self: end;
					grid-template-columns: repeat(4, max-content);
				}
			}
			
			/* Responsive ****************************************************/
			@media (width <= 1440px) {
				column-gap: var(--wp--preset--spacing--2);
			}
			
			@media (width <= 1300px) {
				/* Logo */
				.wp-block-site-logo {
					margin-inline-end: var(--wp--preset--spacing--3);
					
					* {
						width: 250px;
					}
				}
			}
			
			@media (width <= 1150px) {
				grid-template-columns: repeat(2, max-content);
				grid-template-rows: repeat(5, auto) 1fr;
				grid-template-areas:
					'logo 	  newsletter'
					'logo 	  certifications'
					'coords-1 certifications'
					'coords-1 footer-nav'
					'coords-2 footer-nav'
					'social-nav footer-nav';
				justify-content: start;
				column-gap: var(--wp--preset--spacing--5);
				
				/* Logo */
				.wp-block-site-logo {
					align-self: start;
					
					* {
						width: 300px;
					}
				}
				
				/* Certifications */
				.certifications {
					margin-inline-start: unset;
					margin-block-end: var(--wp--preset--spacing--2);
					
					& > h3 {
						margin-block-end: unset;
					}
				}
				
				/* Newsletter */
				& .newsletter {
					margin-block-end: var(--wp--preset--spacing--2);
					
					& > .wp-block-button {
						margin-block-start: var(--wp--preset--spacing--0-50);
					}
				}
				
				/* Menus */
				.site-nav {
					/* Social menu */
					&.social {
						align-self: end;
					}
				}
			}
			
			@media (width <= 950px) {
				column-gap: var(--wp--preset--spacing--3);
				
				/* Logo */
				.wp-block-site-logo {
					margin-inline-end: unset;
				}
			}
			
			@media (width <= 875px) {
				justify-content: space-between;
				column-gap: var(--wp--preset--spacing--2);
				
				/* Logo */
				.wp-block-site-logo {
					* {
						width: 250px;
					}
				}
			}
			
			@media (width <= 800px) {
				grid-template-areas:
					'logo 	  		newsletter'
					'logo 	  		social-nav'
					'coords-1		social-nav'
					'coords-1 		footer-nav'
					'coords-2 		footer-nav'
					'certifications footer-nav'
					'certifications footer-nav';
				
				/* Logo */
				.wp-block-site-logo {
					* {
						width: 200px;
					}
				}
				
				/* Certifications */
				.certifications {
					display: flex;
					flex-direction: column;
					row-gap: var(--wp--preset--spacing--0-75);
					max-width: 100%;
					margin-block-end: unset;
					
					& > h3 {
						max-width: 12.5rem;
					}
					
					& > p {
						&:not(:last-of-type) {
							padding-inline-end: unset;
							border-inline-end: unset;
							margin-inline-end: unset;
						}
					}
				}
				
				/* Coordinates */
				.coordinates {
					&.coords-2 {
						margin-block-end: var(--wp--preset--spacing--2);
					}
				}
				
				/* Menus */
				.site-nav {
					/* Social menu */
					&.social {
						align-self: start;
						margin-block-end: var(--wp--preset--spacing--2);
					}
				}
			}
			
			@media (width <= 675px) {
				grid-template-columns: max-content minmax(0, 1fr);
				
				/* Logo */
				.wp-block-site-logo {
					* {
						width: min(100%, 200px);
					}
				}
				
				/* Newsletter */
				& .newsletter {
					& > h3 {
						text-align: center;
					}
				}
				
				/* Menus */
				.site-nav {
					/* Footer menu */
					&.footer {
						& > .menu-item {
							&:has(.system-o) {
								max-width: min(12.5rem, 100%);
							}
						}
					}
				}
			}
			
			@media (width <= 550px) {
				grid-template-columns: 100%;
				grid-template-rows: unset;
				grid-auto-rows: max-content;
				grid-template-areas:
					'logo'
					'coords-1'
					'coords-2'
					'certifications'
					'newsletter'
					'social-nav'
					'footer-nav';
				justify-content: center;
				row-gap: var(--wp--preset--spacing--2-5);
				
				& > * {
					margin-block-end: unset !important;
				}
				
				/* Logo */
				.wp-block-site-logo {
					justify-self: center;
					
					* {
						width: min(100%, 320px);
					}
				}
				
				/* Newsletter */
				& .newsletter {
					& > .wp-block-button {
						justify-self: center;
					}
				}
				
				/* Certifications */
				.certifications {
					display: flex;
					flex-direction: row;
					flex-wrap: wrap;
					justify-content: center;
					column-gap: var(--wp--preset--spacing--1-5);
					
					& > h3 {
						max-width: 100%;
						text-align: center;
					}
				}
				
				/* Coordinates */
				.coordinates {
					justify-self: center;
					width: calc(100% * (2/3));
					max-width: 100%;
					text-align: center;
					
					&.coords-1 {
						margin-block-start: unset;
					}
					
					&.coords-2 {
						padding-block-start: var(--wp--preset--spacing--1-5);
						padding-block-end: var(--wp--preset--spacing--1-5);
						margin-block-start: calc(var(--wp--preset--spacing--3) * -1);
						border-block-end: 2px solid var(--wp--custom--color--default--accent);
					}
				}
				
				/* Menus */
				.site-nav {
					text-align: center;
					
					/* Footer menu */
					&.footer {
						align-items: center;
					}
					
					/* Social menu */
					&.social {
						justify-content: center;
					}
				}
			}
			
			@media (width <= 400px) {
				/* Coordinates */
				.coordinates {
					width: 100%;
				}
			}
		}
		
		/******************************/
		/* Site credits
		/******************************/
		& > .site-credits {
			display: flex;
			align-items: center;
			padding-block: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--2);
			
			& > :is(p, .cake) {
				margin-block: unset;
			}
			
			& > p {
				line-height: 1;
				font-weight: 500;
				
				a {
					text-decoration: none;
					
					&:is(:hover, :focus, :active) {
						color: var(--wp--custom--color--default--accent);
					}
				}
			}
			
			& > .copyright {
				padding-inline-end: var(--wp--preset--spacing--0-50);
				border-inline-end: 2px solid currentcolor;
				margin-inline-end: var(--wp--preset--spacing--0-50);
			}
			
			& > .cake {
				position: relative;
				margin-inline-start: auto;
				
				svg {
					fill: var(--wp--custom--color--default--text);
					transition: fill var(--wp--custom--speed--fast);
				}
				
				a:is(:hover, :focus, :active) > svg {
					fill: var(--wp--custom--color--default--accent);
				}
				
				&, * {
					display: flex;
					align-items: center;
					height: 18px;
				}
			}
			
			/* Responsive ****************************************************/
			@media (width <= 750px) {
				flex-direction: column;
				align-items: center;
				row-gap: var(--wp--preset--spacing--0-75);
				text-align: center;
				
				& > .copyright {
					padding-inline-end: unset;
					border-inline-end: unset;
					margin-inline-end: unset;
				}
				
				& > .cake {
					margin-inline-start: unset;
				}
			}
		}
	}
	
	/************************************************************/
	/* Menus
	/************************************************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: var(--wp--preset--spacing--3);
		
		/******************************/
		/* Menu items
		/******************************/
		& > .menu-item {
			position: relative;
			width: max-content;
			max-width: 100%;
			font-family: var(--wp--preset--font-family--matter);
			font-size: var(--wp--preset--font-size--medium);
			line-height: 1.2;
			font-weight: 700;
			color: var(--wp--custom--color--default--text);
			list-style: none;
			
			:has(.menu-item-has-children) > & {
				margin-block-end: var(--wp--preset--spacing--0-50);
				
				&.menu-item-has-children {
					padding-block-end: var(--wp--preset--spacing--0-50);
					margin-block-end: unset;
					
					& > a::after {
						content: '';
						font-family: var(--wp--preset--font-family--fontawesome);
						font-size: .7em;
						margin-inline-start: var(--wp--preset--spacing--0-25);
					}
				}
			}
			
			& > a {
				font-family: inherit;
				font-size: inherit;
				line-height: inherit;
				color: inherit;
				text-decoration: none;
				transition: color var(--wp--custom--speed--fast);
				
				:is(:hover, :focus, :active, [class*="current-menu-"]) > & {
					color: var(--wp--custom--color--default--accent);
					
					&:has(> span.system-o) {
						--color: var(--wp--custom--color--default--accent);
					}
				}
				
				:is(:hover, :focus, :active, [class*="current-menu-"]).btn > &:is(:hover, :focus, :active) {
					background-color: var(--wp--custom--color--default--text) !important;
				}
			}
			
			/* Language switcher items */
			&.wpml-ls-item {
				span[lang] {
					font-size: 0;
					color: transparent;
					
					&::before {
						content: attr(lang);
						display: inline-block;
						font-size: var(--wp--preset--font-size--small);
						font-weight: 600;
						text-transform: uppercase;
						color: var(--wp--custom--color--default--text);
						transition: color var(--wp--custom--speed--fast);
					}
					
					&:is(:hover, :focus, :active)::before {
						color: var(--wp--custom--color--default--accent);
					}
				}
				
				.site-nav.main > & {
					span[lang] {
						&::before {
							font-weight: 700;
						}
					}
				}
			}
		}
		
		/******************************/
		/* Sub-menus
		/******************************/
		.sub-menu {
			display: flex;
			flex-direction: column;
			gap: var(--wp--preset--spacing--0-75);
			position: absolute;
			top: 100%;
			left: calc(var(--wp--preset--spacing--1-5) * -1);
			width: max-content;
			min-width: calc(var(--wp--custom--max-size) / 8);
			max-width: calc(var(--wp--custom--max-size) / 4);
			padding: var(--wp--preset--spacing--1-5);
			padding-block-end: var(--wp--preset--spacing--2);
			background-color: var(--wp--custom--color--default--bg);
			list-style: unset;
			margin: 0;
			opacity: 0;
			pointer-events: none;
			translate: 0 -1px;
			transition: opacity var(--wp--custom--speed--medium);
			
			&::after {
				content: '';
				position: absolute;
				left: var(--wp--preset--spacing--0-50);
				bottom: var(--wp--preset--spacing--0-50);
				width: calc(100% - (var(--wp--preset--spacing--0-50) * 2));
				height: auto;
				min-height: 50%;
				max-height: 75%;
				aspect-ratio: 410/109;
				background-image: url(../images/gradient-rect-tall-green.png);
				background-size: cover;
				background-repeat: no-repeat;
				opacity: .4;
				scale: 1 -1;
				z-index: -1;
			}
			
			.menu-item-has-children:is(:hover, :focus) > & {
				opacity: 1;
				pointer-events: all;
			}
			
			& > .menu-item {
				font-family: var(--wp--preset--font-family--feature-display-condensed);
				font-size: var(--wp--preset--font-size--medium);
				line-height: 1.2;
				font-weight: 500;
				
				& > a {
					text-decoration: none;
					user-select: none;
					
					&:is(:hover, :focus, :active),
					[class*="current-menu-"] > & {
						color: var(--wp--custom--color--default--accent);
						
						&:has(> span.system-o) {
							--color: var(--wp--custom--color--default--accent);
						}
					}
				}
			}
			
			/* Responsive ****************************************************/
			@media (width <= 1000px) {
				min-width: calc(var(--wp--custom--max-size) / 3);
			}
		}
		
		/******************************/
		/* Social menu
		/******************************/
		&.social {
			display: grid;
			grid-template-rows: max-content;
			grid-auto-columns: max-content;
			gap: var(--wp--preset--spacing--0-50);
			
			&:has(> :not(.menu-item)) {
				grid-template-rows: repeat(2, max-content);
				
				& > :not(.menu-item) {
					grid-column: 1 / -1;
				}
				
				& > .menu-item {
					grid-row: 2;
				}
			}
			
			& > * {
				margin-block: 0;
			}
			
			& > .menu-item {
				grid-row: 1;
				
				& > a {
					position: relative;
					display: flex;
					justify-content: center;
					align-items: center;
					width: 42px;
					height: auto;
					aspect-ratio: 1;
					font-size: 0;
					color: transparent;
					background-color: transparent;
					border: 2px solid var(--wp--custom--color--default--accent);
					border-radius: 50%;
					transition: background-color var(--wp--custom--speed--fast), border-color var(--wp--custom--speed--fast);
					
					&::after {
						display: block;
						position: absolute;
						top: 50%;
						left: 50%;
						font-family: var(--wp--preset--font-family--fontawesome);
						font-size: 1.25rem;
						font-weight: 400;
						line-height: normal;
						color: var(--wp--custom--color--default--accent);
						translate: -50% -50%;
						transition: color var(--wp--custom--speed--fast);
					}
					
					&:is(:hover, :focus, :active) {
						background-color: var(--wp--custom--color--default--accent);
						border-color: var(--wp--custom--color--default--accent);
						
						&::after {
							color: var(--wp--custom--color--default--bg);
						}
					}
					
					.fb > &::after { content: ''; 	font-size: 1.125rem; }
					.ig > &::after { content: ''; }
					.in > &::after { content: ''; }
					.yt > &::after { content: ''; }
					.tk > &::after { content: ''; }
				}
			}
		}
	}
	
	/************************************************************/
	/* Misc.
	/************************************************************/
	/******************************/
	/* 'Find an expert' widget
	/******************************/
	#find-an-expert-widget {
		display: flex;
		justify-content: end;
		align-items: end;
		position: sticky;
		bottom: calc(100svh / 3);
		right: 0;
		width: 0;
		height: 0;
		margin-inline: auto 0;
		
		& > a {
			display: flex;
			gap: var(--wp--preset--spacing--0-75);
			width: max-content;
			max-width: unset;
			height: max-content;
			padding: 20px;
			padding-block-end: 16px;
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
			user-select: none;
			writing-mode: sideways-lr;
			
			&::before {
				order: -1;
				display: block;
				content: '';
				width: 42px;
				height: 42px;
				background-image: url(../images/gradient-circle-thick-beige.png), url(../images/droplet-dbo.svg);
				background-position: center, 60% 60%;
				background-size: contain, 52.5%;
				background-repeat: no-repeat, no-repeat;
				margin-block: -12px;
				margin-inline-start: calc(var(--wp--preset--spacing--0-50) * -1);
				z-index: -1;
			}
		}
		
		& > a:is(:hover, :focus, :active) {
			cursor: pointer;
			background-color: var(--wp--custom--color--default--text);
		}
		
		/* Responsive ****************************************************/
		@media (width <= 1440px) {
			& > a {
				padding: 16px;
				padding-block-end: 12px;
				
				&::before {
					display: none;
				}
			}
		}
		
		@media (width <= 1200px) {
			& > a {
				padding-inline: 16px;
				padding-block-start: 12px;
				padding-block-end: 8px;
			}
		}
		
		@media (width <= 1000px) {
			& > a {
				padding-block-start: 8px;
				padding-block-end: 6px;
			}
		}
		
		@media (width <= 800px) {
			display: none;
		}
	}
}