/********************************************************/
/*
/*      Layout CSS
/*
/********************************************************/

	html {
		overflow-x: clip;
		scroll-behavior: smooth;
		margin-block-start: 0 !important;
	}

	body {
		--header-height: calc(7.5rem + (var(--wp--preset--spacing--30) * 2));
		--scrollbar-width: 15px;
		
		width: 100%;
		max-width: 100vw;
		color: var(--text-color, var(--wp--preset--color--text)) !important;
		background-color: var(--bg-color, var(--wp--preset--color--background)) !important;
	}
	
	body.is-mobile {
		--scrollbar-width: 0px;
	}
	
	/* TEMP */
	/* body:not(.wp-admin) #wpadminbar {
		display: none !important;
	} */
	/* TEMP */
	
	@media screen and (max-width: 720px) {
		body { --header-height: calc(6.5rem + (var(--wp--preset--spacing--30) * 2)); }
	}
	
	@media screen and (max-width: 500px) {
		body { --header-height: calc(5.75rem + (var(--wp--preset--spacing--20) * 2)); }
	}
	
	@media screen and (max-width: 400px) {
		body { --header-height: calc(5.25rem + (var(--wp--preset--spacing--20) * 2)); --wp--custom--outer-pad: .75rem; }
	}
	
	@media screen and (max-width: 325px) {
		body { --header-height: calc(5rem + (var(--wp--preset--spacing--20) * 2)); }
	}

	/******************************/
	/* Content grid
	/******************************/
	.wp-site-blocks {
		min-height: 100dvh;
		margin-inline: auto;
		display: flex; 
		flex-direction: column;
		overflow-x: clip;
	}
	
	.wp-site-blocks > header {
		--scroll-y: 0;
		
		position: sticky;
		top: 0;
		display: flex;
		align-items: end;
		width: 100%;
		margin-block-start: 0;
		z-index: 5;
		pointer-events: none;
		transition: translate .45s;
	}
	
	.wp-site-blocks > header.sticky {
		translate: 0 -100%;
	}
	
	.wp-site-blocks > header.sticky.visible {
		translate: 0 0;
	}
	
	.wp-site-blocks > header.sticky.visible.no-transition {
		transition: none;
	}
	
	.wp-site-blocks main {
		flex-grow: 2;
	}
	
	.wp-site-blocks > footer {
		z-index: 3;
	}
	
	/******************************/
	/* Header & menus
	/******************************/
	.site-head, .site-nav {
		width: 100%;
		box-sizing: border-box;
	}
	
	.site-head {
		height: var(--header-height);
		padding-inline: calc(var(--wp--custom--outer-pad) * 2);
		padding-block: var(--wp--preset--spacing--30);
		margin-block-start: 0;
		margin-inline: auto;
		pointer-events: none;
		z-index: 3;
	}
	
	.site-head__inner {
		
		position: relative;
		display: grid;
		grid-template-columns: max-content max-content;
		grid-template-rows: max-content max-content;
		justify-content: space-between;
		align-items: center;
		gap: var(--wp--preset--spacing--20);
		height: max-content;
		background: linear-gradient(0deg, rgba(100,100,100,0.5) 0%, rgba(100,100,100,0) 100%); 
		-webkit-backdrop-filter: blur(.5rem);
		backdrop-filter: blur(.5rem);
		padding-block: .75rem;
		padding-inline: calc(var(--wp--custom--outer-pad) * 4) calc(var(--wp--custom--outer-pad) * 4);
		border: 1px solid var(--wp--preset--color--white);
		border-radius: .5rem;
		pointer-events: all;
		z-index: 1;
	}
	
	.site-head .site-nav {
		grid-column: 2;
		display: flex;
		justify-content: end;
		gap: 1.5rem;
	}
	
	.site-head .site-nav.utility {
		grid-row: 1;
		align-self: end;
		align-items: end;
	}
	
	.site-head .site-nav.main {
		grid-row: 2;
		align-self: start;
		align-items: start;
	}
	
	.site-head .site-nav > .menu-item {
		position: relative;
		width: max-content;
		height: max-content;
		list-style: none;
	}
	
	.site-head .site-nav > .menu-item a {
		display: flex;
		align-items: center;
		width: max-content;
		color: var(--wp--preset--color--text);
		font-family: var(--wp--preset--font-family--gt-america-extended);
		font-size: var(--wp--preset--font-size--small);
		font-weight: 500;
		line-height: 1;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--wp--preset--color--white);
		transition: none !important;
	}
	
	.site-head .site-nav.utility > .menu-item:not(:last-child) a {
		font-size: .675rem;
		font-weight: 400;
	}
	
	.site-head .site-nav > .menu-item:is(:hover, .current-menu-item) a {
		font-family: var(--wp--preset--font-family--gt-alpina-fine);
		font-size: var(--wp--preset--font-size--medium);
		font-style: italic;
		letter-spacing: .8px;
		text-transform: initial;
		line-height: .8;
	}
	
	.site-head .site-nav > .menu-item:not(.current-menu-item):hover a {
		transform-origin: bottom left;
		scale: 1.125 1;
	}
	
	.site-head .site-nav.utility > .menu-item:last-child:is(:hover, .current-menu-item) a {
		scale: 1.05 .875;
	}
	
	.site-head .site-nav.utility > .menu-item:not(:last-child):is(:hover, .current-menu-item) a {
		font-size: .8rem;
		line-height: .75;
	}
	
	.site-head .logo {
		grid-row: 1 / span 2;
		grid-column: 1;
		position: relative;
		width: auto;
		height: 5.75rem;
		aspect-ratio: 829/200;
	}
	
	@media screen and (max-width: 1280px) {
		.site-head .logo {
			height: 4.75rem;
		}
	}
	
	.site-head .logo img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	
	 .site-head__inner > .burger {
		grid-row: 1 / span 2;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: .5rem;
		width: 6.5rem;
		font-size: calc(var(--wp--preset--font-size--x-large) * .9) !important;
		font-weight: 700 !important;
		color: var(--wp--preset--color--white);
		cursor: pointer;
		transition: color .3s;
	}

	 .site-head__inner > .burger:hover span:not(.open, .close) {
		font-family: var(--wp--preset--font-family--gt-alpina-fine) !important;
		font-size: calc(var(--wp--preset--font-size--2-x-large) * 0.9) !important;
		font-weight: 400 !important;
		font-style: italic !important;
		letter-spacing: .5px !important;
		text-transform: initial !important;
	}
	
	#burger-menu-toggle:checked ~ header  .site-head__inner > .burger .open,
	#burger-menu-toggle:not(:checked) ~ header  .site-head__inner > .burger .close {
		display: none;
	}
	
	@media screen and (min-width: 1201px) {
		.site-head__inner > .burger { display: none; }
	}
	
	@media screen and (max-width: 1400px) {
		.site-head__inner { padding-inline: calc(var(--wp--custom--outer-pad) * 2); }
	}
	
	@media screen and (max-width: 1200px) {
		.site-head .site-nav { display: none; }
	}
	
	@media screen and (max-width: 750px) {
		.site-head__inner { padding-inline: var(--wp--custom--outer-pad); }
		.site-head .logo { height: 4.75rem; }
	}
	
	@media screen and (max-width: 600px) {
		.site-head__inner > .burger { width: max-content; font-size: calc(var(--wp--preset--font-size--x-large) * .75) !important; }
		.site-head__inner > .burger:hover span:not(.open, .close) { font-size: calc(var(--wp--preset--font-size--2-x-large) * .75) !important; }
	}
	
	@media screen and (max-width: 550px) {
		.site-head { padding-inline: var(--wp--custom--outer-pad); padding-block: var(--wp--preset--spacing--20); }
		.site-head .logo { height: 4rem; }
	}
	
	@media screen and (max-width: 450px) {
		.site-head .logo { height: 3.5rem; }
		.site-head__inner > .burger { width: max-content; font-size: calc(var(--wp--preset--font-size--x-large) * .66) !important; }
		.site-head__inner > .burger:hover span:not(.open, .close) { font-size: calc(var(--wp--preset--font-size--2-x-large) * .66) !important; }
		.site-head__inner > .burger span:is(.open, .close) { display: none; }
	}
	
	@media screen and (max-width: 375px) {
		.site-head .logo { height: 2.75rem; }
	}
	
	@media screen and (max-width: 325px) {
		.site-head__inner > .burger { width: max-content; font-size: calc(var(--wp--preset--font-size--x-large) * .5) !important; }
		.site-head__inner > .burger:hover span:not(.open, .close) { font-size: calc(var(--wp--preset--font-size--2-x-large) * .5) !important; }
	}
	
	/* Burger menu */
	.site-head .burger-menu {
		display: flex;
		align-items: center;
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100%;
		background-color: transparent;
		padding-block-start: var(--header-height);
		padding-inline: var(--wp--custom--outer-pad);
		box-sizing: border-box;
		overflow: hidden;
		pointer-events: none;
		transition: background-color .6s .15s, backdrop-filter .75s .15s;
		-webkit-backdrop-filter: blur(.5rem) opacity(0);
		backdrop-filter: blur(.5rem) opacity(0);
	}
	
	#burger-menu-toggle:checked ~ header .site-head .burger-menu {
		background-color: var(--wp--preset--color--accent);
		-webkit-backdrop-filter: blur(.5rem) opacity(1);
		backdrop-filter: blur(.5rem) opacity(1);
		pointer-events: all;
		transition: background-color .6s, backdrop-filter .15s;
	}
	
	.site-head .burger-menu > * {
		opacity: 0;
		transition: opacity .45s;
	}
	
	#burger-menu-toggle:checked ~ header .site-head .burger-menu > * {
		opacity: 1;
		transition: opacity .3s .15s;
	}
	
	.site-head .burger-nav {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
		width: 20%;
		margin-inline-start: calc(var(--wp--custom--outer-pad) + var(--wp--custom--inner-pad));
	}
	
	.site-head .burger-nav > .menu-item {
		position: relative;
		width: max-content;
		list-style: none;
	}
	
	.site-head .burger-nav > .menu-item a {
		display: flex;
		align-items: center;
		width: max-content;
		height: 2.5rem;
		font-family: var(--wp--preset--font-family--gt-america-extended);
		font-size: var(--wp--preset--font-size--large);
		font-style: normal;
		line-height: 1.2;
		font-weight: 400;
		text-transform: uppercase;
		text-decoration: none;
		color: var(--wp--preset--color--background);
		transition: none !important;
	}
	
	.site-head .burger-nav > .menu-item:is(:hover, .current-menu-item) a {
		font-family: var(--wp--preset--font-family--gt-alpina-fine);
		font-size: var(--wp--preset--font-size--x-large);
		font-style: italic;
		letter-spacing: .5px;
		text-transform: initial;
		color: var(--wp--preset--color--white);
		scale: 1.125 1;
		transform-origin: left;
	}
	
	.site-head .burger-info {
		width: 25%;
		margin-inline-start: auto;
		margin-inline-end: var(--wp--preset--spacing--30);
	}
	
	.site-head .burger-aside {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto max-content;
		gap: .5rem;
		width: 35%;
		height: calc(100% + var(--header-height));
		padding-block: var(--wp--custom--outer-pad);
		margin-block-start: calc(var(--header-height) * -1);
		box-sizing: border-box;
		transition: opacity .3s;
	}
	
	#burger-menu-toggle:checked ~ header .site-head .burger-menu > .burger-aside {
		transition: opacity .3s .2s;
	}
	
	/* This prevents burger-aside children from briefly appearing and disappearing when resizing window below 1500px */
	.site-head .burger-menu > .burger-aside > * { opacity: 0; transition: opacity .3s; }
	#burger-menu-toggle:checked ~ header .site-head .burger-menu > .burger-aside > * { opacity: 1; transition: opacity .3s .2s;  }
	
	.site-head .burger-aside .aside-image,
	.site-head .burger-aside .aside-image::before,
	.site-head .burger-aside .aside-image img {
		overflow: clip;
		border-radius: .625rem;
	}
	
	.site-head .burger-aside .aside-image {
		position: relative;
		height: 100%;
	}
	
	.site-head .burger-aside .aside-image::before,
	.site-head .burger-aside .aside-image img {
		position: absolute;
		left: 0;
		width: 100%;
	}
	
	.site-head .burger-aside .aside-image::before {
		content: '';
		bottom: -5%;
		height: 55%;
		background: linear-gradient(0deg, rgba(0,1,43,1) 20%, rgba(0,1,43,0.4) 100%);
		z-index: 1;
	}
	
	.site-head .burger-aside .aside-image img {
		height: 50%;
		object-fit: cover;
	}
	
	.site-head .burger-aside .aside-image img.reflection {
		bottom: -2px;
		scale: 1 -1;
	}
	
	.site-head .burger-aside .aside-logo {
		display: flex;
		justify-content: center;
	}
	
	.site-head .burger-aside .aside-logo img {
		width: auto;
		height: 4rem;
		aspect-ratio: 273/34;
	}
	
	@media screen and (max-width: 1850px) {
		.site-head .burger-nav { margin-inline-start: calc(var(--wp--custom--outer-pad) * 2); }
		.site-head .burger-info { margin-inline: auto; }
	}
	
	@media screen and (max-width: 1500px) {
		.site-head .burger-menu { display: grid; grid-template-columns: auto auto 35%; 
								  grid-template-rows: calc(var(--header-height) - (var(--wp--custom--outer-pad) * 2)) auto max-content; 
								  padding-block: var(--wp--custom--outer-pad); }
		.site-head :is(.burger-nav, .burger-info, .aside-image, .aside-logo) { width: unset; }
		.site-head .burger-nav { grid-column: 1; grid-row: 2; }
		.site-head .burger-info { grid-column: 2; grid-row: 2; }
		.site-head .burger-aside { display: contents; transition: none !important; }
		.site-head .burger-aside .aside-image { grid-column: 3; grid-row: 1 / span 3; }
		.site-head .burger-aside .aside-logo { grid-column: 1 / span 2; grid-row: 3; justify-content: start; margin-inline-start: var(--wp--custom--outer-pad); }
	}
	
	@media screen and (max-width: 1400px) {
		.site-head .burger-menu { display: grid; grid-template-columns: auto auto 50%; }
		.site-head .burger-nav { grid-column: 1 / span 2; }
		.site-head .burger-info { display: none; }
	}
	
	@media screen and (max-width: 1200px) {
		.site-head .burger-menu { column-gap: var(--wp--preset--spacing--30); }
		.site-head .burger-aside .aside-logo img { height: 3rem; }
	}
	
	@media screen and (max-width: 900px) {
		.site-head .burger-menu { grid-template-columns: 1fr; }
		.site-head .burger-nav { grid-column: 1; }
		.site-head .burger-aside .aside-image { display: none; }
		.site-head .burger-aside .aside-logo { grid-column: 1; grid-row: 3; }
	}
	
	@media screen and (max-width: 500px) {
		.site-head .burger-nav,
		.site-head .burger-aside .aside-logo { margin-inline-start: 0; }
		.site-head .burger-aside .aside-logo img { max-width: 100%; }
	}
	
	/* Social menu */
	.social-nav {
		display: flex;
		gap: 1.5rem;
	}
	
	.social-nav .menu-item {
		list-style: none;
	}
	
	.social-nav .menu-item a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 2.25rem;
		height: 2.25rem;
		font-size: 0;
		color: transparent;
		background-color: transparent;
	}
	
	.social-nav .menu-item a::before,
	.social-nav .menu-item a::after {
		content: '';
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}
	
	.social-nav .menu-item a::after {
		opacity: 0;
		filter: brightness(0) saturate(100%) invert(65%) sepia(4%) saturate(317%) hue-rotate(202deg) brightness(85%) contrast(82%);
		transition: opacity .3s;
	}
	
	.social-nav .menu-item a:hover::after {
		opacity: 1;
	}
	
	.social-nav .menu-item.fb a::before,
	.social-nav .menu-item.fb a::after {
		background: url(../images/fb-icon.svg) no-repeat center center;
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		position: relative;
		display: grid;
		grid-template-columns: repeat(3, max-content) 1fr;
		align-items: start;
		column-gap: var(--wp--preset--spacing--60);
		max-width: var(--wp--style--global--wide-size);
		padding-block-start: var(--wp--preset--spacing--80);
		padding-inline: var(--wp--preset--spacing--60);
		margin-inline: auto;
	}
	
	.site-foot :is(.contact-info, .opening-hours, .footer-nav) {
		grid-row: 1;
		padding-inline-start: var(--wp--preset--spacing--20);
		margin-block-start: var(--wp--preset--spacing--40);
		border-inline-start: 2px solid var(--wp--preset--color--text);
	}
	
	.site-foot :is(.contact-info, .opening-hours, .footer-nav) a {
		display: block;
		text-decoration: none;
	}
	
	/* Logo */
	.site-foot .footer-logo {
		grid-row: 1 / span 2;
		grid-column: 1;
		display: grid;
		grid-template-rows: 1fr 1fr;
		gap: var(--wp--preset--spacing--20);
		position: relative;
	}
	
	.site-foot .footer-logo::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 100%;
		height: calc(50% + 1px);
		background: linear-gradient(0deg, rgba(203,200,194,1) 20%, rgba(203,200,194,0.4) 100%); 
		z-index: 1;
	}
	
	.site-foot .footer-logo img {
		width: 37.5rem;
		height: auto;
		aspect-ratio: 160/43;
	}
	
	.site-foot .footer-logo img.reflection {
		scale: 1 -1;
	}
	
	/* Contact info */
	.site-foot .contact-info {
		grid-column: 2;
	}
	
	.site-foot .contact-info .address {
		line-height: 1.75em !important;
		margin-block-start: -.5em;
	}
	
	.site-foot .contact-info .phone {
		margin-block-start: var(--wp--preset--spacing--30);
	}
	
	/* Opening hours */
	.site-foot .opening-hours {
		grid-column: 3;
	}
	
	.site-foot .opening-hours h5 {
		margin: 0;
	}
	
	.site-foot .opening-hours .opening-hour {
		line-height: 1.75em !important;
	}
	
	.site-foot .opening-hours .opening-hour:first-child {
		margin-block-start: -.5em;
	}
	
	.site-foot .opening-hours .rbq {
		margin-block-start: var(--wp--preset--spacing--30);
	}

	/* Footer nav */
	.site-foot .footer-nav {
		grid-column: 4;
	}
	
	.site-foot .footer-nav .menu-item {
		list-style: none;
	}
	
	.site-foot .footer-nav .menu-item:not(:first-child) {
		margin-block-start: .5rem;
	}
	
	.site-foot .footer-nav .menu-item a {
		height: 1.35rem;
		transition: none !important;
	}
	
	.site-foot .footer-nav .menu-item:is(:hover, .current-menu-item) a {
		font-family: var(--wp--preset--font-family--gt-alpina-fine);
		font-size: calc(var(--wp--preset--font-size--large) * 0.875);
		line-height: 1;
		font-style: italic;
		letter-spacing: 1px;
		text-transform: initial;
		color: var(--wp--preset--color--white);
	}
	
	/* Social nav */
	.site-foot .social-nav {
		grid-row: 2;
		grid-column: 4;
		margin-block: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	}
	
	/* Credits */
	.site-foot .credits {
		grid-row: 3;
		grid-column: 1 / span 4;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		padding-block: 1.5rem;
		z-index: 1;
	}
	
	.site-foot .credits::before,
	.site-foot .credits::after {
		content: '';
		position: absolute;
		top: 0;
		width: max(calc((100vw - var(--wp--style--global--wide-size)) / 2), var(--wp--preset--spacing--60));
		height: 100%;
		background-color: var(--wp--preset--color--white);
	}
	
	.site-foot .credits::before {
		right: 100%;
	}
	
	.site-foot .credits::after {
		left: 100%;
	}
	
	.site-foot .credits h5 {
		margin: 0;
	}
	
	.site-foot .credits .privacy {
		color: var(--wp--preset--color--background);
		text-decoration: none;
		padding-inline-start: 2.25rem;
		margin-inline-start: 2.25rem;
		border-inline-start: 2px solid var(--wp--preset--color--background);
	}
	
	.site-foot .credits .privacy:hover {
		color: var(--wp--preset--color--text);
	}
	
	.site-foot .credits .cake {
		margin-inline-start: auto;
	}
	
	.site-foot .credits .cake img {
		width: auto;
		height: 1.5rem;
		aspect-ratio: 6205/1614;
		filter: brightness(0) saturate(100%) invert(84%) sepia(8%) saturate(154%) hue-rotate(2deg) brightness(96%) contrast(89%);
	}
	
	@media screen and (max-width: 1800px) {
		.site-foot { padding-block-start: var(--wp--preset--spacing--60); }
		.site-foot .footer-logo img { width: 30rem; }
		.site-foot .social-nav { margin-block: var(--wp--preset--spacing--20); }
	}
	
	@media screen and (max-width: 1640px) {
		.site-foot { column-gap: var(--wp--preset--spacing--50); row-gap: var(--wp--preset--spacing--20); padding-inline: calc(var(--wp--custom--outer-pad) * 2); }
		.site-foot .footer-logo img { width: 25rem; }
	}
	
	@media screen and (max-width: 1500px) {
		.site-foot { column-gap: var(--wp--preset--spacing--40); }
	}
	
	@media screen and (max-width: 1400px) {
		.site-foot { grid-template-columns: repeat(3, max-content) 1fr; column-gap: var(--wp--preset--spacing--60); row-gap: 0; 
					 padding-block-start: var(--wp--preset--spacing--40); }
		.site-foot :is(.footer-logo, .credits) { grid-column: 1 / span 4; }
		.site-foot .footer-logo { grid-row: 1; }
		.site-foot :is(.contact-info, .opening-hours, .footer-nav) { grid-row: 2; margin-block-start: var(--wp--preset--spacing--20);
																	 margin-block-end: var(--wp--preset--spacing--30); }
		.site-foot .contact-info { grid-column: 1; }
		.site-foot .opening-hours { grid-column: 2; }
		.site-foot .footer-nav { grid-column: 3; }
		.site-foot .social-nav {  grid-column: 4; grid-row: 2; margin-block: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); }
		.site-foot .credits { grid-row: 4; }
	}
	
	@media screen and (max-width: 1200px) {
		.site-foot { grid-template-columns: repeat(2, max-content) 1fr; }
		.site-foot :is(.contact-info, .opening-hours) { grid-row: 2 / span 2; }
		.site-foot .social-nav { grid-column: 3; grid-row: 3; }
	}
	
	@media screen and (max-width: 1100px) {
		.site-foot { column-gap: var(--wp--preset--spacing--30); }
		.site-foot .credits { grid-column: 1 / span 3; gap: var(--wp--preset--spacing--20); }
		.site-foot .credits .privacy { padding-inline-start: 0; margin-inline-start: auto; border-inline-start: none; }
	}
	
	@media screen and (max-width: 1000px) {
		.site-foot { grid-template-columns: max-content 1fr; column-gap: var(--wp--preset--spacing--40); }
		.site-foot .footer-logo { grid-column: 1; grid-row: 1 / span 2; }
		.site-foot :is(.contact-info, .opening-hours) { grid-column: 2; border-inline-start: unset; text-align: right; }
		.site-foot .contact-info { grid-row: 1; }
		.site-foot .contact-info .phone,
		.site-foot .opening-hours .rbq { line-height: 1.75em !important; margin-block-start: 0; }
		.site-foot .opening-hours { grid-row: 2; }
		.site-foot .footer-nav { grid-column: 1; grid-row: 3; }
		.site-foot .social-nav { grid-column: 1; grid-row: 2; justify-content: start; align-self: end; }
		.site-foot .credits { grid-column: 1 / span 2; }
		.site-foot .credits .privacy { margin-inline-start: 0; }
	}
	
	@media screen and (max-width: 900px) {
		.site-foot { column-gap: var(--wp--preset--spacing--20); }
	}
	
	@media screen and (max-width: 775px) {
		.site-foot .footer-logo { grid-column: 1; grid-row: 1; }
		.site-foot :is(.contact-info, .opening-hours, .footer-nav) { grid-column: 1 / span 2; margin-block-start: var(--wp--preset--spacing--40); }
		.site-foot :is(.contact-info, .opening-hours) { border-inline-start: 2px solid var(--wp--preset--color--text); text-align: left; }
		.site-foot .contact-info { grid-row: 2; }
		.site-foot .opening-hours { grid-row: 3; }
		.site-foot .contact-info .phone,
		.site-foot .opening-hours .rbq { line-height: 1.2 !important; margin-block-start: var(--wp--preset--spacing--30); }
		.site-foot .footer-nav { grid-row: 4; }
		.site-foot .social-nav { grid-column: 1; grid-row: 5; margin-block: 0 var(--wp--preset--spacing--30); }
		.site-foot .credits { grid-row: 6; }
	}
	
	@media screen and (max-width: 550px) {
		.site-foot .footer-logo { grid-column: 1 / span 2; }
		.site-foot .contact-info { grid-column: 1; }
		/* .site-foot .social-nav { grid-column: 2; grid-row: 2; margin-block: var(--wp--preset--spacing--40) 0; } */
		.site-foot .credits { flex-direction: column; flex-wrap: nowrap; align-items: center; text-align: center; }
		.site-foot .credits .cake { margin-inline-start: unset; }
	}
	
	@media screen and (max-width: 500px) {
		.site-foot { grid-template-columns: 1fr max-content; column-gap: var(--wp--preset--spacing--20); padding-inline: var(--wp--custom--outer-pad); }
		.site-foot .footer-logo img { max-width: 100%; }
	}
	
	@media screen and (max-width: 320px) {
		.site-foot { display: flex; flex-direction: column; }
		.site-foot .social-nav { margin-block: 0 var(--wp--preset--spacing--30); }
	}
	
	/******************************/
	/* Sticky button
	/******************************/
	.sticky-button {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
		align-items: center;
		column-gap: var(--wp--preset--spacing--30);
		position: sticky;
		left: var(--wp--custom--outer-pad);
		bottom: var(--wp--custom--outer-pad);
		width: max-content;
		background: var(--wp--preset--color--white);
		padding: 1.25rem 1.5rem 1rem;
		border: 2px solid var(--wp--preset--color--accent-2);
		border-radius: 1rem;
		z-index: 2;
	}
	
	.sticky-button > * {
		color: var(--wp--preset--color--text);
		margin: 0;
	}
	
	.sticky-button > h5 {
		grid-column: 1;
		grid-row: 1;
	}
	
	.sticky-button > p {
		grid-column: 1;
		grid-row: 2;
	}
	
	.sticky-button > .wp-block-button__link {
		grid-template-columns: 1fr;
		grid-column: 2;
		grid-row: 1 / span 2;
	}
	
	@media screen and (max-width: 600px) {
		.sticky-button { column-gap: var(--wp--preset--spacing--20); padding: .75rem 1rem; }
	}
	
	@media screen and (max-width: 300px) {
		.sticky-button { display: none; }
	}
	
	/******************************/
	/* Patterns
	/******************************/
	/* Home & page banners */
	:is(.banner-home, .banner-page) {
		position: relative;
		margin-block-start: calc(var(--header-height) * -1);
	}
	
	:is(.banner-home, .banner-page) .wp-block-cover {
		width: 100%;
		max-width: unset;
		padding: 0;
	}
	
	:is(.banner-home, .banner-page) :is(.wp-block-cover__background, .wp-block-cover__inner-container) {
		width: 100% !important;
		box-sizing: border-box;
	}
	
	:is(.banner-home, .banner-page) .wp-block-cover__background {
		display: none !important;
	}
	
	:is(.banner-home, .banner-page) .wp-block-cover__inner-container p {
		font-size: var(--wp--preset--font-size--x-large);
		line-height: 1.2;
	}
	
	:is(.banner-home, .banner-page) .wp-block-cover__inner-container strong {
		font-family: var(--wp--preset--font-family--gt-alpina-fine);
		font-style: italic;
		letter-spacing: .5px;
		font-weight: 400 !important;
		color: var(--wp--preset--color--white);
	}
	
	/* Home banner */
	.banner-home .wp-block-cover__image-background {
		height: 80%;
	}
	
	.banner-home .wp-block-cover__inner-container {
		position: relative;
		margin-block-start: 40% !important;
		padding-block-end: var(--wp--preset--spacing--50) !important;
		padding-inline: 40% calc(var(--wp--custom--inner-pad) + (var(--wp--custom--outer-pad) * 2));
	}
	
	.banner-home .wp-block-cover__inner-container::before {
		content: '';
		position: absolute;
		top: -50vh;
		left: 0;
		width: 100%;
		height: calc(100% + 50vh);
		background: linear-gradient(0deg, rgba(203,200,194,1) calc(95% - 50vh), rgba(203,200,194,0) 100%); 
	}
	
	.banner-home .wp-block-cover__inner-container > * {
		position: relative;
		z-index: 1;
	}
	
	.banner-home .wp-block-cover__inner-container p {
		color: var(--wp--preset--color--text);
	}
	
	/* Page banner */
	.banner-page .thumbnail {
		position: relative;
		width: calc(100% - (var(--wp--custom--outer-pad) * 2));
		max-width: var(--wp--style--global--wide-size);
		height: 110vh;
		margin-block-start: var(--wp--custom--outer-pad);
		margin-inline: auto;
	}
	
	.banner-page .thumbnail,
	.banner-page .thumbnail img,
	.banner-page .thumbnail::before,
	.banner-page .thumbnail::after {
		border-radius: .625rem;
		overflow: clip;
	}
	
	.banner-page .thumbnail::before,
	.banner-page .thumbnail::after,
	.banner-page .thumbnail img {
		position: absolute;
		left: 0;
		width: 100%;
	}
	
	.banner-page .thumbnail::before,
	.banner-page .thumbnail::after {
		content: '';
		z-index: 1;
	}
	
	.banner-page .thumbnail::before {
		bottom: -5%;
		height: 45%;
		background: linear-gradient(0deg, rgba(203,200,194,1) 40%, rgba(203,200,194,0.66) 100%); 
	}
	
	.wp-site-blocks:has(style.bg-color-text) .banner-page .thumbnail::before {
		background: linear-gradient(0deg, rgba(139,139,144,1) 40%, rgba(139,139,144,0.66) 100%); 
	}
	
	.wp-site-blocks:has(style.bg-color-accent) .banner-page .thumbnail::before {
		background: linear-gradient(0deg, rgba(0,1,43,1) 40%, rgba(0,1,43,0.66) 100%);
	}
	
	.wp-site-blocks:has(style.bg-color-accent-2) .banner-page .thumbnail::before {
		background: linear-gradient(0deg, rgba(206,207,211,1) 40%, rgba(206,207,211,0.66) 100%); 
	}
	
	.wp-site-blocks:has(style.bg-color-white) .banner-page .thumbnail::before {
		background: linear-gradient(0deg, rgba(255,255,255,1) 40%, rgba(255,255,255,0.66) 100%); 
	}
	
	.wp-site-blocks:has(style.bg-color-off-black) .banner-page .thumbnail::before {
		background: linear-gradient(0deg, rgba(0,1,42,1) 40%, rgba(0,1,42,0.66) 100%); 
	}
	
	.banner-page .thumbnail::after {
		top: 0;
		height: 60%;
		background-color: var(--wp--preset--color--accent);
		mix-blend-mode: multiply;
		opacity: .2;
	}
	
	.banner-page .thumbnail img {
		height: 60%;
		object-fit: cover;
	}
	
	.banner-page .thumbnail img.reflection {
		bottom: -20%;
		scale: 1 -1;
	}
	
	.banner-page .project-card {
		display: grid;
		grid-template-columns: auto auto;
		grid-template-rows: auto auto;
		column-gap: var(--wp--preset--spacing--30);
		row-gap: .66rem;
		position: absolute;
		right: var(--wp--custom--outer-pad);
		bottom: calc(40% + var(--wp--custom--outer-pad));
		max-width: 30vw;
		padding: 1.25rem 1.5rem 1rem;
		/* border: 2px solid var(--wp--preset--color--white); */
		border-radius: 1rem;
		box-sizing: border-box;
		-webkit-backdrop-filter: blur(.5rem);
		backdrop-filter: blur(.5rem);
		z-index: 2;
	}
	
	.banner-page .project-card > * {
		margin: 0;
	}
	
	.banner-page .project-card > :is(h5, .h5) {
		grid-column: 1;
		text-decoration: none;
	}
	
	.banner-page .project-card > h5:first-of-type {
		padding-block-end: .33rem;
		padding-inline-end: var(--wp--preset--spacing--50);
		border-block-end: 2px solid var(--wp--preset--color--white);
	}
	
	.banner-page .project-card > a {
		cursor: pointer;
	}
	
	.banner-page .project-card > a:not(.wp-block-button__link) {
		transition: color .3s;
	}
	
	.banner-page .project-card > a:not(.wp-block-button__link):hover {
		color: var(--wp--preset--color--background) !important;
	}
	
	.banner-page .project-card > .wp-block-button__link {
		align-self: end;
		grid-template-columns: 1fr;
		grid-column: 2;
		grid-row: 1 / span 2;
	}
	
	.banner-page .wp-block-cover {
		margin-block-start: calc(110vh * -1);
		z-index: 1;
	}
	
	.banner-page:not(:has(> figure)) .wp-block-cover {
		margin-block-start: calc(110vh * -.7);
	}
	
	.banner-page .wp-block-cover__inner-container {
		display: flex;
		max-width: var(--wp--style--global--wide-size);
		padding-inline: calc((var(--wp--custom--outer-pad) * 2) + var(--wp--custom--inner-pad));
		margin-block-start: calc(110vh * .7) !important;
		margin-block-end: var(--wp--preset--spacing--70) !important;
		margin-inline: auto !important;
	}
	
	.banner-page .wp-block-cover__inner-container .wp-block-post-title {
		display: grid;
		grid-template-rows: max-content max-content;
		row-gap: .5rem;
		width: 40%;
		font-family: var(--wp--preset--font-family--gt-america-extended);
		font-size: var(--wp--preset--font-size--large);
		font-weight: 400;
		padding-inline-end: var(--wp--preset--spacing--30);
		margin-block-start: var(--wp--preset--spacing--20);
		box-sizing: border-box;
	}
	
	.banner-page .wp-block-cover__inner-container .wp-block-post-title::after {
		content: '';
		grid-row: 2;
		width: auto;
		height: 1.25rem;
		aspect-ratio: 96/25;
		background: url(../images/cercles.svg) no-repeat center center;
	}
	
	.banner-page .wp-block-cover__inner-container .wp-block-mfb-meta-field-block,
	.banner-page .wp-block-cover__inner-container p {
		margin-block-start: 0;
	}
	
	.banner-page .wp-block-cover__inner-container .wp-block-mfb-meta-field-block {
		width: 60%;
	}
	
	.banner-page .wp-block-cover__inner-container p {
		color: var(--text-color);
	}
	
	.wp-site-blocks:has(style.bg-color-background) .banner-page .wp-block-cover__inner-container p,
	.wp-site-blocks:has(style.bg-color-accent-2) .banner-page .wp-block-cover__inner-container p,
	.wp-site-blocks:has(style.bg-color-white) .banner-page .wp-block-cover__inner-container p {
		color: var(--wp--preset--color--text);
	}
	
	@media screen and (max-width: 1600px) {
		.banner-home .wp-block-cover__inner-container { padding-inline: 30% calc(var(--wp--custom--inner-pad) + (var(--wp--custom--outer-pad) * 2)); }
		.banner-page .wp-block-cover__inner-container .wp-block-post-title { width: 30%; }
		.banner-page .wp-block-cover__inner-container .wp-block-mfb-meta-field-block { width: 70%; }
	}
	
	@media screen and (max-width: 1400px) {
		.banner-home .wp-block-cover__inner-container { padding-inline: 30% calc(var(--wp--custom--outer-pad) * 4); }
		.banner-page .wp-block-cover__inner-container { padding-inline: calc(var(--wp--custom--outer-pad) * 4); }
		.banner-page .project-card { max-width: 40vw; }
	}
	
	@media screen and (max-width: 1000px) {
		.banner-home .wp-block-cover__image-background { height: 65%; }
		.banner-home .wp-block-cover__inner-container { margin-block-start: 55% !important; }
		.banner-page .wp-block-cover { min-height: 95vh !important; margin-block-start: calc(95vh * -1); }
		.banner-page .thumbnail { height: 95vh; }
		.banner-page .wp-block-cover__inner-container { flex-direction: column; gap: var(--wp--preset--spacing--30); margin-block-start: calc(95vh * .7) !important; }
		.banner-page .wp-block-cover__inner-container :is(.wp-block-post-title, .wp-block-mfb-meta-field-block) { width: 100%; }
	}
	
	@media screen and (max-width: 850px) {
		.banner-page .wp-block-cover { min-height: 85vh !important; margin-block-start: calc(85vh * -1); }
		.banner-page .thumbnail { height: 85vh; }
		.banner-home .wp-block-cover__inner-container { padding-inline: calc(var(--wp--custom--outer-pad) * 4); }
		.banner-page .wp-block-cover__inner-container { margin-block-start: calc(85vh * .7) !important; }
		.banner-page .project-card { max-width: 50vw; }
	}
	
	@media screen and (max-width: 750px) {
		:is(.banner-home, .banner-page) .wp-block-cover__inner-container { padding-inline: calc(var(--wp--custom--outer-pad) * 3); }
	}
	
	@media screen and (max-width: 700px) {
		.banner-home .wp-block-cover__image-background { height: 55%; }
		.banner-home .wp-block-cover__inner-container { margin-block-start: calc(100% * (2/3)) !important; }
		.banner-page .wp-block-cover__inner-container .wp-block-post-title { padding-inline-end: 0; }
		.banner-page .project-card { max-width: 66vw; }
		.banner-page .project-card > h5:first-of-type { padding-inline-end: var(--wp--preset--spacing--40); }
	}
	
	@media screen and (max-width: 600px) {
		.banner-page .wp-block-cover { min-height: 75vh !important; margin-block-start: calc(75vh * -1); }
		.banner-page .thumbnail { height: 75vh; }
		.banner-page .wp-block-cover__inner-container { margin-block-start: calc(75vh * .7) !important; }
		.banner-page .project-card { column-gap: var(--wp--preset--spacing--20); padding: .75rem 1rem; }
	}
	
	@media screen and (max-width: 500px) {
		:is(.banner-home, .banner-page) .wp-block-cover__inner-container { padding-inline: calc(var(--wp--custom--outer-pad) * 2); }
		.banner-home .wp-block-cover__image-background { height: 60vh; }
		.banner-home .wp-block-cover__inner-container { margin-block-start: calc(100vh * (2/3)) !important; }
		.banner-page .wp-block-cover { min-height: 66vh !important; margin-block-start: calc(66vh * -1); }
		.banner-page .thumbnail { width: calc(100% - var(--wp--custom--outer-pad)); height: 66vh; margin-block-start: calc(var(--wp--custom--outer-pad) / 2); }
		.banner-page .wp-block-cover__inner-container { margin-block-start: calc(66vh * .7) !important; }
		.banner-page .project-card { max-width: 75vw; }
		.banner-page .project-card > h5:first-of-type { padding-inline-end: unset; }
	}
	
	@media screen and (max-width: 400px) {
		.banner-home .wp-block-cover__inner-container { padding-inline: var(--wp--custom--outer-pad); }
	}