:root
{
	--color-accent: var(--color-brand-red);
}

.œSection.-default
{
	margin-block-end: var(--gap-double-width);
}

.œSection.-default > .œSectionHeader
{
/*	font-size: clamp(1.5rem, 2cqi, 3.2rem);*/
	margin-block-end: var(--gap-two-thirds-width);
	margin-block-end: var(--gap-half-and-width);

	& .__eyebrow
	{
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;

		background-clip: text;
		background-image: var(--gradient-brand-green);
		font-weight: 400;
		text-fill-color: transparent;
	}

	& >.__heading
	{
		font-size: clamp(1.3rem, 2cqi, 2.4rem);
		line-height: 1.2em;
	}

}

@supports not (selector(&))
{
	.œSection.-default > .œSectionHeader > .__eyebrow
	{
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;

		background-clip: text;
		background-image: var(--gradient-brand-green);
		font-weight: 400;
		text-fill-color: transparent;
	}

	.œSection.-default > .œSectionHeader > .__heading
	{
		font-size: clamp(1.3rem, 2cqi, 2.4rem);
		line-height: 1.2em;
	}
}

@supports not (color: color-mix(in oklab, currentColor 80%, transparent))
{
	.œSection.-default > .œSectionHeader > .__eyebrow
	{
		-webkit-background-clip: unset;
		-webkit-text-fill-color: unset;
		background-clip: none;
		background-image: unset;
		color: var(--color-brand-green);
		text-fill-color: unset;
	}
}.œPage.-article
{
	isolation: isolate;
	row-gap: var(--gap-half-width);
}
.œPage.-article > .__cover
{
	grid-row: 1;
	height: clamp(40rem, 40dvh,64rem);
	min-height: 64lvh;
	overflow: hioden;
	position: relative;
	z-index: 0;
}
.œPage.-article > .__cover img
{
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.œPage.-article > .__header
{
	align-self: center;
	color: #FFFFFF;
	grid-row: 1;
	justify-self: center;
	mix-blend-mode: screen;
	padding-inline: var(--gap-double-width);
	
	z-index: 1;
}
.œPage.-article > .__cover:after
{
	background: linear-gradient(135deg, rgb(0, 47, 75) 0%, rgb(220, 66, 37) 100%);
	content: '';
	inset: 0;
	opacity: .6;
	position: absolute;
}
.œPage.-article > .__header .__heading
{
	font-size: clamp(1.6rem, 8cqi, 6.4rem);
	font-weight: 200;
	margin-block-end: var(--gap-width);
	padding-block: var(--gap-width);
	text-transform: uppercase;

}
.œPage.-article > .__header .__lede
{
	font-size: clamp(1.4rem, 4cqi, 2rem);
	font-weight: 400;
	line-height: 1.5em;
	text-wrap: balance;
}
/* œSection */
.œSection.-hero
{
	--œView-constrained-max-width: 64rem;
	grid-template-rows: 64lvh auto auto;
	isolation: isolate;

	
}
.œSection.-hero > figure
{
	align-self: stretch;
	grid-column: 1 / -1;
	grid-row: 1 / -1;
	min-height: 100lvh;
	position: relative;
	z-index: 0;
}

.œSection.-hero > figure > picture
{
	height: 100%;
	width: 100%;
}

.œSection.-hero > figure > picture img
{
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.œSection.-hero > figure > :is(pictre img,video)
{
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.œSection.-hero > figure:after
{
	background: linear-gradient(135deg, rgb(0, 47, 75) 0%, rgb(220, 66, 37) 100%);
	content: '';
	inset: 0;
	opacity: .6;
	position: absolute;
}
.œSection.-hero > .œSectionHeader
{
	align-self:end;
	grid-row: 2;
}
.œSection.-hero > .__main
{
	color: #FFFFFF;
	font-size: var(--font-size);
	font-weight: 600;
	grid-row: 3;
	line-height: 1.5em;
	max-width: 60ch;
	text-wrap: balance;
	padding-block-end: var(--gap-threefold-width);
	z-index:1;
}
.œSection.-hero .__heading
{
	color: #FFFFFF;
	font-size: var(--font-size-xxl);
	font-weight: 720;
	justify-self: start;
	line-height: 0.8em;
	margin-block-end: var(--gap-double-width);
	text-wrap: balance;
	z-index:1;
}
@media only screen and (max-width: 768.1px)
{
	.œSection.-hero > .œSectionHeader,
	.œSection.-hero > .__main
	{
		padding-inline: var(--gap-threefold-width);
	}
}.œBadge.-externalLink
{
	--œBadge-background-color: #F2F2F2;
	--œBadge-accent-color: var(--color-brand-ink);
	align-items: center;
	color: var(--œBadge-accent-color);
	column-gap: var(--gap-quarter-width);
	display: grid;
	fill: var(--œBadge-accent-color);
	font-weight: 400;
	grid-template-columns: auto 1fr;
	margin-block-start: var(--gap-width);
	padding: 1ch 2ch;
}
.œBadge.-externalLink.-cartouche
{
	background-color: var(--œBadge-background-color);
	border-radius: 100vw;
}@font-face {
	src: url('/media/fonts/roboto-flex/RobotoFlex[GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght].woff2') format('woff2-variations');
	font-family:'Roboto Flex';
	font-style: normal;
	font-display: swap;
}:root
{
	accent-color: var(--color-brand-red);
	font-family: roboto;
	font-family: 'Roboto Flex';
}
:root
{
	--color-brand-blue: rgb(15,157,232);
	--color-brand-blue-contrast: ;
	--color-brand-green: rgb(58,97,63);
	--color-brand-green: #4F604E;
	--color-brand-green-contrast: ;
/*	--color-brand-gold: #C99200;*/
	--color-brand-gold: #A16C0C;
	--color-brand-gold-contrast: #FFFFFF;
	--color-brand-ink: #002B59;
	--color-brand-ink-contrast: ;
	--color-brand-kraft: #C1A486;
	--color-brand-kraft-contrast: ;
	--color-brand-limegreen: rgb(87,213,59);
	--color-brand-limegreen-contrast: ;
	--color-brand-orange: rgb(250,164,1);
	--color-brand-orange-contrast: rgb(255,255,255);
	--color-brand-purple: rgb(198,104,143);
	--color-brand-purple-contrast: ;
	--color-brand-red: rgb(202, 37, 63);
	--color-brand-red-contrast: ;
	--color-brand-yellow: rgb(253, 184, 19);
	--color-brand-yellow-contrast: rgb(255, 255, 255);
	/* */
	--color-brand-limegreen: #E3E6D8;
}

:root
{
	--gradient-brand-green: linear-gradient(to right, #589763, #61ad5d, #72c251, #8ad73d, #a8eb12);
	--gradient-brand-purple: linear-gradient(to right, var(--color-brand-purple), #61ad5d, #72c251, #8ad73d, #a8eb12);
	--gradient-brand-white: linear-gradient(to right, #E0E0E0, white);
}

:root
{
	--site-navigation-color-background: white;
	--site-navigation-color-foreground: rgb(58,97,63);
	--site-navigation-height: 5.6rem;
}

body
{
	background-color: var(--color-primary-background);
}
/* */
*[data-accent="blue"]
{
	--color-accent: var(--color-brand-blue);
}
*[data-accent="gold"]
{
	--color-accent: var(--color-brand-gold);
}
*[data-accent="green"]
{
	--color-accent: var(--color-brand-green);
}
*[data-accent="ink"]
{
	--color-accent: var(--color-brand-ink);
}
*[data-accent="orange"]
{
	--color-accent: var(--color-brand-orange);
}
*[data-accent="purple"]
{
	--color-accent: var(--color-brand-purple);
}
*[data-accent="red"]
{
	--color-accent: var(--color-brand-red);
}

/* siteNotice */
.siteNotice
{
	border: .2rem solid var(--color-brand-orange);
	border-radius: var(--gap-width);
	margin-block: var(--gap-width);
	padding: var(--gap-width);
}
.siteNotice > .__heading
{
	font-size: var(--font-size);
	font-weight: 580;
	margin-block-end: var(--gap-half-width);
	text-transform: uppercase;
}
.siteNotice > .__text
{

}.hashtag
{
	display: inline-flex;
	text-transform: uppercase;

	& :where(em,span)
	{
		font-weight: bolder;
	}

}

@supports not (selector(&))
{
	.hashtag :where(em,span)
	{
		font-weight: bolder;
	}
}.authorNote
{
	--_authorNote-border-color: #D2D2D2;
	--_authorNote-border-radius: var(--gap-width);
	--_authorNote-color-background: var(--color-secondary-background);
	--_authorNote-padding-inline: var(--gap-double-width);
	

	background-color: var(--_authorNote-color-background);
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
	border-radius: var(--_authorNote-border-radius);
	container: authorNote / inline-size;
	display: grid;
	isolation: isolate;
	margin-block: var(--gap-double-width);
	padding-block-end: var(--gap-width);
	position: relative;

	& > footer
	{
		display: grid;
		justify-items: end;
		margin-block-start: var(--gap-double-width);
		padding-inline: var(--_authorNote-padding-inline);
		padding-inline: var(--gap-double-width);
	}

	& > footer .__signature
	{
		max-width:12.8rem;
	}

	& > header
	{
		border-bottom: .1rem solid var(--_authorNote-border-color);
		column-gap: var(--gap-width);
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		margin-block-end: var(--gap-double-width);
		padding-block: var(--gap-width);
		padding-inline: var(--gap-width);
	}

	& > header figure
	{
		align-items: center;
		aspect-ratio: 1;
		border: .32rem solid #D2D2D2;
		border-radius: 50%;
		display: grid;
		grid-row: 1;
		height: clamp(4rem, 24cqi,6.4rem);
		justify-items: center;
		padding: .4rem;
		shape-outside: circle();
	}

	& header figure > picture
	{
		align-self: center;
		aspect-ratio: 1;
		clip-path: circle();
		justify-self: center;
		width: 100%;
	}

	& header figure img
	{
		aspect-ratio: 1;
		height: auto;
		max-width: 100%;
		width: auto;
	}

	& .__heading
	{
		font-size: clamp(1.6rem, 2cqi, 2.4rem);
		font-weight: 580;
		grid-column: 1 / -1;
		grid-row: 2;
		line-height: 1.2em;
		margin-block-start: var(--gap-half-width);
		text-align: left;
	}

	& .__name
	{
		align-self: center;
		font-size: 2rem;
		font-weight: 560;
	}

	& .__name span
	{
		color: var(--color-brand-purple);
		display: block;
		font-size: 1.4rem;
		text-transform: uppercase;

		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		background-image: linear-gradient(135deg, var(--color-brand-purple) 0%, color-mix(in oklab,var(--color-brand-purple) 40%, white) 100%);
		color: var(--color-brand-purple);
		display: block;
		font-size: 1.4rem;
		text-transform: uppercase;
		text-fill-color: transparent;
	}


	& .__main
	{
		color: color-mix(in oklab, currentColor 72%, transparent);
		font-size: 1.8rem;
		padding-inline: var(--gap-double-width);

		& a
		{
			text-decoration: underline;
			text-decoration-style: dotted;
		}

		& em
		{
			font-weight: 550;
		}

		& p
		{
			text-indent: var(--gap-width);
		}

		& p:has( + p)
		{
			margin-block-end: var(--gap-width);
		}
	}

	& .œBadge
	{
		background-color: #E2E2E2;
		border-radius: 100vw;
		color: #323232;
		font-size: 1.6rem;
		font-weight: 560;
		padding-block: 0.5ch;
		padding-inline: 1ch;
		margin-block-end: .4rem;
	}

}
@supports not (container: inline-size)
{
	.authorNote > header figure
	{
		height: clamp(8rem, 20vw,8.8rem);
	}
}

@supports not (selector(&))
{

	.authorNote > footer
	{
		display: grid;
		justify-items: end;
		margin-block-start: var(--gap-double-width);
		padding-inline: var(--_authorNote-padding-inline);
	}

	.authorNote > footer .__signature
	{
		max-width:12.8rem;
		padding-inline: var(--gap-double-width);
	}

	.authorNote > header
	{
		border-bottom: .1rem solid var(--_authorNote-border-color);
		column-gap: var(--gap-width);
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		margin-block-end: var(--gap-double-width);
		padding-block: var(--gap-width);
		padding-inline: var(--gap-width);
	}

	.authorNote > header figure
	{
		align-items: center;
		aspect-ratio: 1;
		border: .32rem solid #D2D2D2;
		border-radius: 50%;
		display: grid;
		grid-row: 1;
		height: clamp(4rem, 24cqi,6.4rem);
		justify-items: center;
		padding: .4rem;
		shape-outside: circle();
	}

	.authorNote > header figure > picture
	{
		align-self: center;
		aspect-ratio: 1;
		clip-path: circle();
		justify-self: center;
		width: 100%;
	}

	.authorNote > header figure img
	{
		aspect-ratio: 1;
		height: auto;
		max-width: 100%;
		width: auto;
	}

	.authorNote .__heading
	{
		font-size: clamp(1.6rem, 2cqi, 2.4rem);
		font-weight: 580;
		grid-column: 1 / -1;
		grid-row: 2;
		line-height: 1.2em;
		margin-block-start: var(--gap-half-width);
		text-align: left;
	}

	.authorNote .__name
	{
		align-self: center;
		font-size: 2rem;
		font-weight: bold;
	}

	.authorNote .__name span
	{
		color: var(--color-brand-purple);
		display: block;
		font-size: 1.4rem;
		text-transform: uppercase;
	}

	.authorNote .__main
	{
		color: color-mix(in oklab, currentColor 72%, transparent);
		font-size: 1.8rem;
		padding-inline: var(--gap-double-width);
	}

	.authorNote .__main a
	{
		text-decoration: underline;
		text-decoration-style: dotted;
	}

	.authorNote .__main em
	{
		font-weight: 550;
	}

	.authorNote .__main p
	{
		text-indent: var(--gap-width);
	}

	.authorNote .__main p:has( + p)
	{
		margin-block-end: var(--gap-width);
	}

	.authorNote > .__header
	{
		align-items: center;
		border-bottom: .1rem solid var(--_authorNote-border-color);
		column-gap: var(--gap-width);
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto;
		margin-block-end: var(--gap-double-width);
		padding-block: var(--gap-half-width);
		padding-inline: var(--gap-width);
	}

	.authorNote > .__header .__heading
	{
		align-self: center;
	}


	.authorNote > .__header .__picture
	{
		align-items: center;

		aspect-ratio: 1;
		border: .32rem solid #D2D2D2;
		border-radius: 50%;
		display: grid;
		grid-row: 1 / -1;
		height: clamp(4rem, 24cqi,6.4rem);
		justify-items: center;
		padding: .4rem;
		shape-outside: circle();
	}

	.authorNote > .__header .__picture picture
	{
		align-self: center;
		aspect-ratio: 1;
		clip-path: circle();
		justify-self: center;
		width: 100%;
	}

	.authorNote > .__header .__picture picture img
	{
		aspect-ratio: 1;
		height: auto;
		max-width: 100%;
		width: auto;
	}

	.authorNote .œBadge
	{
		background-color: #E2E2E2;
		border-radius: 100vw;
		color: #323232;
		font-size: 1.6rem;
		font-weight: 560;
		padding-block: 0.5ch;
		padding-inline: 1ch;
		margin-block-end: .4rem;
	}

}

.helpfulCard 
{
	--_helpfulCard-color-accent: var(--color-accent);
	-webkit-user-select: none;
	background: linear-gradient(135deg, white 50%, #FAFAFA 100%);
	border-radius: var(--gap-width);
	container: helpfulCard / inline-size;
	cursor: default;
	display: grid;
	fill: var(--_helpfulCard-color-accent);
	grid-template-columns: 1fr;
	grid-template-rows: 4.8rem 1fr;
	height: 100%;
	max-width: 32rem;
	padding: var(--gap-double-width);
	row-gap: var(--gap-half-width);
	transition: scale;
	transition-duration: 0.32s;
	transition-timing-function: cubic-bezier(0, 0, 0.5, 1);
	user-select: none;
	width: 56vw;
}

.helpfulCard > div
{
	background: linear-gradient(135deg, var(--_helpfulCard-color-accent) 0%, color-mix(in oklab,var(--_helpfulCard-color-accent) 40%, white) 100%);
	background-clip: text;
	clip: text;
	font-size: clamp(1.6rem, 7.2cqi, 8rem);
	font-weight: 400;
	hyphens: none;
	line-height: 1.3em;
	user-select: none;
	text-wrap: balance;
}
.helpfulCard > div em
{
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: bolder;
	text-fill-color: transparent;
}

.helpfulCard > svg
{
	aspect-ratio: 1;
	fill: var(--_helpfulCard-color-accent);
	height: 4.8rem;
	width: 4.8rem;
}

@supports not (background-color: color-mix(in oklab, currentColor 80%, transparent))
{
	.helpfulCard > div
	{
		/*background: linear-gradient(135deg, var(--_helpfulCard-color-accent) 0%, color-mix(in oklab,var(--_helpfulCard-color-accent) 40%, white) 100%);*/
		background: inherit;
	}

	.helpfulCard > div em
	{
		-webkit-background-clip: initial;
		-webkit-text-fill-color: initial
		color: var(--_helpfulCard-color-accent);
		text-fill-color: revert;
	}
}#snCart
{
	display: none !important;
}
#sn
{

	backdrop-filter: blur(8px);

	background-color: color-mix(in oklab,var(--site-navigation-color-background) 88%, transparent);
	color: var(--site-navigation-color-foreground);
	fill: var(--site-navigation-color-foreground);
	height: var(--site-navigation-height);
	inset: 0 0 auto 0;
	isolation: isolate;
	position: sticky;
	z-index: 1000;
}

#snBar
{
	align-items: center;
	column-gap: var(--gap-width);
	display: grid;
	grid-template-areas: "leading main trailing" ;
	grid-template-columns: auto 1fr auto;
	height: var(--site-navigation-height);
	margin-inline: auto;
	max-width: var(--site-constrained-max-width);
	padding-inline-end: max(0,env(safe-area-inset-right));
	padding-inline-start: max(var(--gap-width),env(safe-area-inset-left));
	position: relative;
	top: 0;
	width: 100%;
	z-index: 1;

	> .__leading
	{
		display: grid;
		grid-area: leading;
	}

	> .__main
	{
		grid-area: main;
	}

	> .__trailing
	{
		align-items: center;
		display: flex;
		grid-area: trailing;
		justify-items: end;

		> *
		{
			align-items: center;
			display: grid;
			height: 4.8rem;
			justify-items: center;
			width: 4.8rem;
		}


	}

}

#snCart
{
	position: relative;
}
#snCart[data-badge]:not(:is([data-badge="0"]))::before
{
	aspect-ratio: 1;
	align-items: center;
	background-color: var(--site-navigation-color-foreground);
	border-radius: 100vw;
	color: var(--site-navigation-color-background);
	display: inline-grid;
	font-family: monospace;
	font-size: 12px;
	content: attr(data-badge);
	height: 2.4rem;
	justify-content: center;
	min-width: 2.4rem;
	opacity: .8;
	position: absolute;
	right:-2px;
	top:-2px;
	transform:scale(0.8);
}


#snHeading
{
	color: var(--color-accent);
	font-size: 2.4rem;
	font-weight: var(--font-weight-medium);
	grid-column: 2;
	grid-row: 1;
	height: 3.2rem;
	letter-spacing: .4rem;
	position: relative;
	top: 0.4rem;
}

#snNavToggle
{
	display: none;
}

#snSlogans {
	font-size: 1.2rem;
	font-weight:300;
	grid-column: 2;
	grid-row: 2;
	height: 1.6rem;
	line-height: 1.6rem;
	overflow: hidden;
	position: relative;
	top: -0.4rem;
	user-select: none;
}

#snSlogans__items {
	height: 3.2rem;
	transform-origin: top left;

	@media (prefers-reduced-motion: no-preference)
	{
		animation-direction: normal;
		animation-duration: 15s;
		animation-iteration-count: infinite;
		animation-name: snSlogans;
	}

}

.snSloganItem
{
	height: 1.6rem;
}




#snWeare
{
	display: grid;
	grid-template-columns: auto 1fr;
	height: 1.6rem;
	overflow: hidden;
}

#snWeare__leading
{
	height: 1.6rem;
}

#snWeare__trailing
{}

#snWeare__words
{
	display:block;
	margin:0;
	padding:0;
	transform-origin: top left;

	@media (prefers-reduced-motion: no-preference)
	{
		animation-direction: normal;
		animation-duration: 15s;
		animation-iteration-count: infinite;
		animation-name: snSlogansWeAreWords;
	}
}

#snWeare__words li
{
	display: block;
	font-weight: 400;
	height: 1.6rem;
	list-style-type: none;
	margin:0;
	padding:0;
}

#snWeekend
{
	font-size: 1.2rem;
	font-weight:500;
	grid-column: 2;
	grid-row: 2;
	height: 1.6rem;
	line-height: 1.6rem;
	overflow: hidden;
	position: relative;
	text-transform: uppercase;
	top: -0.4rem;
	user-select: none;
	visibility: hidden;
}

@keyframes snSlogans
{
	0%{
		transform:translateY(0px);
	}
	70%{
		transform:translateY(0px);	
	}
	75%{
		transform:translateY(-50%);
	}
	95%{
		transform:translateY(-50%);
	}
	100%{
		transform:translateY(0px);
	}
}
@keyframes snSlogansWeAreWords
{
	0%{
		transform:translateY(0px);
	}
	15%{
		transform:translateY(0px);
	}
	20%{
		transform:translateY(-25%);
	}
	35%{
		transform:translateY(-25%);
	}
	40%{
		transform:translateY(-50%);
	}
	55%{
		transform:translateY(-50%);
	}
	60%{
		transform:translateY(-75%);
	}
	75%{
		transform:translateY(-75%);
	}
	80%{
		transform:translateY(0px);
	}
	100%{
		transform:translateY(0px);
	}
}

@supports not (selector(&))
{

	#snBar > .__leading
	{
		grid-area: leading;
	}

	#snBar > .__main
	{
		grid-area: main;
	}

	#snBar > .__trailing
	{
		align-items: center;
		display: flex;
		grid-area: trailing;
		justify-items: end;
	}

	#snBar > .__trailing > *
	{
		align-items: center;
		display: grid;
		height: 4.8rem;
		justify-items: center;
		width: 4.8rem;
	}

}


#snToggle
{
	grid-area: button;
	height: var(--site-navigation-height);
	position: relative;
	transform-origin: center;
	width: var(--site-navigation-height);
	z-index:1;
}

#snToggle > span
{
	align-items: center;
	border-radius: var(--gap-quarter-width);
	grid-template-columns: 1fr;
	grid-template-row: 1;
	flex: none;
	height: .1rem;
	justify-content: center;
	position: relative;
	transition: all .4s ease;
	width:1.6rem;
}
#snToggle > span:after,
#snToggle > span:before
{
	align-self: center;
	background-color: var(--site-navigation-color-foreground);
	border-radius: var(--gap-quarter-width);
	content: '';
	display:block;
	grid-column: 1;
	grid-row: 1;
	height: .1rem;
	justify-self:center;
	margin-inline: auto;
	position: absolute;
	width: 1.6rem;
}

#snToggle > span:after
{
	top: -.4rem;
}

#snToggle > span:before
{
	bottom: -.4rem;
}
/* */
#snNavToggle:checked ~ #snBar {
	--site-navigation-color-foreground: white;
	fill: var(--site-navigation-color-foreground);

	& #snHeading {
		color: var(--site-navigation-color-foreground);
	}

	& #snWeare
	{
		visibility: hidden;
	}

	& #snWeekend {
		color: var(--site-navigation-color-foreground);
		visibility: visible;
	}

	& #snToggle > span {
		transform-origin: center;
		transform: rotate(135deg);
	}

	& #snToggle > span:after {
		transform-origin: center;
		transform: rotate(-180deg);
		top: .4rem;
		/*top: 0;
		transform: rotate(90deg);*/
	}

	& #snToggle > span:before {
		transform-origin: center;
		transform: rotate(-90deg)
	}
}
@supports not(background-color: colrmix(in oklab, currentColor 80%,transparent))
{
	#sn
	{
		background-color: var(--site-navigation-color-background);
	}
}
@supports not (selector(&))
{
	#snNavToggle:checked ~ #snBar > #snHeading 
	{
		color: var(--site-navigation-color-foreground);
	}

	#snNavToggle:checked ~ #snBar > #snWeare
	{
		visibility: hidden;
	}

	#snNavToggle:checked ~ #snBar > #snWeekend {
		color: var(--site-navigation-color-foreground);
		visibility: visible;
	}

	#snNavToggle:checked ~ #snBar >  #snToggle > span {
		transform-origin: center;
		transform: rotate(135deg);
	}

	#snNavToggle:checked ~ #snBar >  #snToggle > span:after {
		transform-origin: center;
		transform: rotate(-180deg);
		top: .4rem;
	}

	#snNavToggle:checked ~ #snBar >  #snToggle > span:before {
		transform-origin: center;
		transform: rotate(-90deg)
	}
}
#snNavToggle:checked ~ #snBar #snCart,
#snNavToggle:checked ~ #snBar #snAccount {
	opacity: 0;
}

#snNavToggle:checked ~ #snMenu{
	opacity: 1;
	transform: none;
}


body[data-loaded="true"]
{

	@media (prefers-reduced-motion: no-preference)
	{
		& #snMenu
		{
			transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
						opacity 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
		}
	}
}#snMenu
{
	--_snMenu-color-background: var(--color-brand-green);
	--_snMenu-color-foreground: white;

	align-content: start;
	background-color: var(--_snMenu-color-background);
	color: var(--_snMenu-color-foreground);
	font-size: var(--font-size);
	height: 100dvh;
	inset: 0 0 auto 0;
	opacity: 0;
	padding-block-start: var(--site-navigation-height);
	position: fixed;
	transform: translate(0, -100%);
	width: 100vw;
	z-index: 0;

	& hr {
		background-color: var(--_snMenu-color-foreground);
		grid-column: bleed;
		height: .1rem;
	}

	& .__label
	{
		color: rgba(255,255,255,.4);
		display: block;
		font-size: 1rem;
		font-weight: 600;
		justify-self: start;
		text-transform: uppercase;
	}
}

@supports not (selector(&))
{
	#snMenu > hr
	{
		background-color: var(--_snMenu-color-foreground);
		grid-column: bleed;
		height: .1rem;
	}

	#snMenu .__label
	{
		color: rgba(255,255,255,.4);
		display: block;
		font-size: 1rem;
		font-weight: 600;
		justify-self: start;
		text-transform: uppercase;
	}
}

#snEssentials
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	font-size: 1.4rem;
	fill: white;
	margin-block-end: var(--gap-width);
	padding-block-start: var(--gap-half-width);

}

.snEssential
{
	column-gap: var(--gap-half-width);
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	padding-block: var(--gap-half-width);

	& > em
	{
		grid-column: 2;
		grid-row: 2;
	}

	& > span
	{
		align-self: end;
		grid-column: 2;
		grid-row: 1;
	}

	& > svg
	{
		align-self: center;
		grid-column: 1;
		grid-row: 1 / -1;
		justify-self: center;
		height: 2.4rem;
		width: 2.4rem;
	}

}

@supports not (selector(&))
{
	.snEssential > em
	{
		grid-column: 2;
		grid-row: 2;
	}

	.snEssential > span
	{
		align-self: end;
		color: rgba(255,255,255,.4);
		display: block;
		font-size: 1rem;
		font-weight: 600;
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		text-transform: uppercase;
	}

	.snEssential > svg
	{
		align-self: center;
		grid-column: 1;
		grid-row: 1 / -1;
		justify-self: center;
		height: 2.4rem;
		width: 2.4rem;
	}

}

#snBusinessHours
{
	border-top: .1rem solid rgba(255,255,255,.16);
	grid-column: 1 / -1;
}

#snMenuCategories
{

	& .__label
	{
		margin-block-end: var(--gap-half-width);
	}

}

@supports not (selector(&))
{
	#snMenuCategories > .__label
	{
		
		margin-block-end: var(--gap-half-width);
	}
}


.snMenuCategory
{
	align-items: center;
	column-gap: var(--gap-quarter-width);
	display: grid;
	grid-template-columns: auto 1fr;
	fill: white;
}

.snMenuCategory
{
	background-color: white;
	border-radius: 100vw;
	color: var(--color-brand-green);
	fill: var(--color-brand-green);
	padding: 1ch 2ch;
}

/* */
#snSearch
{
	align-items: stretch;
	background-color: rgba(255,255,255,.4);
	border-radius: 100vw;
	display: grid;
	grid-template-columns: 1fr auto;
	height: 4.8rem;
	margin-block-end: var(--gap-width);
	margin-inline: 0rem;
	overflow: hidden;

	& input
	{
		color: gray;
		font-size: 1.6rem;
		padding-inline: 2ch;
	}

	& button
	{
		align-content: center;
		aspect-ratio: 1;	
		border: .4rem solid transparent;
		border-radius: 100vw;
		display: grid;
		clip-path: circle();
		isolation: isolate;
		justify-content: center;
		opacity: .8;
		position: relative;
		
		& svg
		{
			aspect-ratio: 1;
			position: relative;
			height: 2rem;
			width: 2rem;
			z-index: 1;
		}
		
	}

	& button::before
	{
		background-color: var(--color-brand-red);
		content: "";
		clip-path: circle();
		inset: .2rem;
		position: absolute;
		z-index: 0;
		
	}

	& button:hover
	{

	}

	&:has(input:not(:placeholder-shown))
	{
		background-color: #FFFFFF;
	}
}

@supports not (selector(&))
{
	#snSearch > input
	{
		color: gray;
		font-size: 1.6rem;
		padding-inline: 2ch;
		max-height: 4.8rem;
	}

	#snSearch > button
	{
		align-content: center;
		aspect-ratio: 1;	
		border: .4rem solid transparent;
		border-radius: 100vw;
		display: grid;
		clip-path: circle();
		isolation: isolate;
		justify-content: center;
		max-height: 4.8rem;
		opacity: .8;
		position: relative;
	}

	#snSearch > button::before
	{
		background-color: var(--color-brand-red);
		content: "";
		clip-path: circle();
		inset: .2rem;
		position: absolute;
		z-index: 0;
		
	}

/*	#snSearch:has(input:not(:placeholder-shown))*/
	#snSearch:has(input:focus)
	{
		background-color: #FFFFFF;
	}

	#snSearch > button > svg
	{
			aspect-ratio: 1;
			position: relative;
			height: 2rem;
			width: 2rem;
			z-index: 1;
	}
}#sf
{
	--sf-constrained-max-width: var(--site-constrained-max-width);
	--sf-constrained-padding-inline: 1.6rem;
	--sf-color-primary-background: ;
	--sf-color-primary-border: #D1D1D2;
	--sf-color-primary-foreground: ;
	--sf-color-secondary-background: ;
	--sf-color-secondary-border: var(--border-color);
	--sf-color-secondary-foreground: color-mix(in oklab, currentcolor 60%, white);;

	display: grid;
	gap: 0;
	grid-template-columns: 
			[bleed-start] 
				1fr 
			[constrained-start] 
				minmax(0, var(--sf-constrained-max-width))
			[constrained-end] 
				1fr 
			[bleed-end];
	isolation: isolate;
	margin-block-start: var(--gap-fourfold-width);
	padding-block-end: max(var(--gap-double-width),env(safe-area-inset-bottom));

}

#sf > :not(.__bleed) {
	grid-column: constrained;
	padding-inline: var(--sf-constrained-padding-inline);
}

#sf > .__bleed {
	grid-column: bleed;
}
/* sfDirectories */
#sfDirectories
{

	justify-items: start;
	margin-block-end: var(--gap-double-width);
}
@media only screen and (min-width: 735.1px){
	#sfDirectories
	{
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}
}

.sfDirectory input[type="checkbox"]
{
	display: none;
}
.sfDirectory label
{
	cursor: pointer;
	display: block;
	font-weight: 500;
	line-height: 1.3333em;
	margin: 0;
	outline: none;
	padding-block: var(--gap-two-thirds-width);
	text-transform: uppercase;
}
.sfDirectory a
{
	color: color-mix(in oklab, currentcolor 60%, white);
	display: block;
	font-size: 1.2rem;
	line-height: 1.6rem;
	padding-block: var(--gap-third-width);
}
.sfDirectory a:hover {
	color: var(--color-accent);
}
@media only screen and (max-width: 735px)
{
	.sfDirectory label
	{
		isolation: isolate;
		position: relative;
	}

	.sfDirectory label::before
	{
		background-color: var(--color-brand-green);
		border-radius: var(--gap-quarter-width);
		content: '';
		display: block;
		height: .1rem;
		position: absolute;
		right: 0;
		top: 50%;
		width: 0.66em;
		zoom: 150%;
	}

	.sfDirectory label::after
	{
		background-color: var(--color-brand-green);
		border-radius: var(--gap-quarter-width);
		content: '';
		display: block;
		height: .1rem;
		position: absolute;
		right: 0;
		top: 50%;
		transform: rotate(90deg);
		transition: all 0.4s ease;
		width: 0.66em;
		zoom: 150%;
	}

	.sfDirectory ul
	{
		-webkit-transform: translateY(-100px);

		left: 0;
		margin: 0;
		opacity: 0;
		overflow: hidden;
		padding-block-end: var(--gap-two-thirds-width);
		padding-inline-start: var(--gap-half-and-width);
		position: absolute;
		top: 100%;
		transform: translateY(-100px);
		width: 100%;
		z-index: -1;
	}

	.sfDirectory .__section
	{
		border-bottom: .1rem solid var(--sf-color-primary-border);
		overflow: hidden;
		position: relative;
		z-index: 1;
	}

	.sfDirectory input:checked + .__section
	{
		background: transparent;
	}

	.sfDirectory input:checked + .__section label
	{
		color: var(--color-brand-green);
		font-weight: bolder
	}

	.sfDirectory input:checked + .__section label::before
	{
		transform: rotate(-90deg);
		opacity: 0;
	}

	.sfDirectory input:checked + .__section label::after
	{
		transform: rotate(0);
	}

	.sfDirectory input:checked + .__section ul
	{
		opacity: 1;
		position: static;
		transform: none;
		transition: all 300ms ease;
		visibility: visible;
		z-index: 1;
	}
}
/* sfLEgal */
#sfLegal
{
	color: var(--sf-color-secondary-foreground);
	font-size: 1rem;
	line-height: 1.4em;
}
#sfLegalTrademark
{
	border-top: .1rem solid var(--sf-color-primary-border);
	padding-block-start: var(--gap-quarter-width);
}
/* sfLegalLinks */
#sfLegalLinks {
	column-gap:  var(--gap-width);
	display: flex;
	font-size: 1.2rem;
	padding-block: var(--gap-half-width) var(--gap-width);

}

#sfLegalLinks li
{
	color: rgb(64,64,64);
	display: inline-block;
}

#sfLegalLinks a:hover
{
	color: var(--color-brand-green);
	text-decoration: underline;
}
/* sfExternal */
#sfExternal
{
	display: grid;
	grid-template-columns: 1fr auto;
	margin-block-end: var(--gap-double-width);
}

#sfExternal .__links
{
	display: flex;
}

#sfExternal .__links a
{
	display: block;
	padding: var(--gap-half-width);
}

#sfExternal .__links svg
{
	fill: color-mix(in oklab, currentcolor 60%, white);
	transition-duration: .5s;
	transition-timing-function: linear;
	transition-property: fill
}

#sfExternal .__links a:hover svg
{
	fill: var(--color-brand-green);
}

/* sfPnns */
#sfPnns
{
	color: var(--sf-color-secondary-foreground);
	font-size: 1.2rem;
	line-height: 1.4em;
	margin-block-end: var(--gap-quarter-width);
}#sbtest
{
	backdrop-filter: blur(8px);
	background-color: color-mix(in oklab,var(--color-primary-background) 88%, transparent);
	background-color: black;
	color: white;
	box-shadow: 0px -1px 2px rgba(0,0,0,.1);
	column-gap: var(--gap-width);
	container: sb / inline-size;
	display: grid;
	grid-template-columns: 1fr auto;
	inset: auto 0 0 0;
	padding: var(--gap-width);
	position: fixed;
	z-index: 999;
}

#sb
{
	background-color: black;
	box-shadow: 0px -1px 2px rgba(0,0,0,.1);
	color: white;
	container: sb / inline-size;
	min-height: 6.5rem;
	inset: auto 0 0 0;
	position: fixed;
	z-index: 999;
}

#sbStatus
{
	display: grid;
	grid-template-columns: 1fr auto;
	padding: var(--gap-width);
}

#sb .__cta
{
	justify-self: end;
}

#sb .__cta .__label
{
	animation: pulsate 10s infinite ease-in-out;
}
#sb .__cta .__svg
{
	animation: ring 10s infinite ease-in-out;
}

body:has(#sb)
{
	padding-block-end: var(--gap-fourfold-width);
}

#sbRestaurant
{
	font-size: clamp(1.2rem, 4cqi, 1.8rem);
}

#sbRestaurant span
{
	text-transform: uppercase;
}

#sbRestaurant .__address
{
	color: color-mix(in oklab, currentcolor 64%, transparent);
	font-size: smaller;
}

@keyframes pulsate {
	91% {
		opacity: 1;
		transform: scale(1);
	}
	92% {
		opacity: 1;
		transform: scale(1.0);
	}
	94% {
		opacity: .5;
		transform: scale(1.2);
	}
	96% {
		opacity: 1;
		transform: scale(1.0);
	}
	98% {
		opacity: .5;
		transform: scale(1.2);
	}
	100% {
		opacity: 1;
		transform: scale(1.0);
	}
	0% {
		opacity: 1;
		transform: scale(1.0);
	}
}

@keyframes ring {
	91% {
		transform: rotate(0deg);
	}
	92% {
		transform: rotate(45deg);
	}
	94% {
		transform: rotate(-45deg);
	}
	96% {
		transform: rotate(45deg);
	}
	98% {
		transform: rotate(-45deg);
	}
	100% {
		transform: rotate(0deg);
	}
	0% {
		transform: rotate(0deg);
	}
}