:root {
	interpolate-size: allow-keywords;
	box-sizing: border-box;

	--am-border-color: rgb(from var(--text) r g b / 0.25);
	--am-border-radius: 1rem;
	--am-border-width: 2px;
	
	--am-button-color: var(--accent-b2);
	--am-button-background: transparent;
	--am-button-border-width: 2px;
	--am-button-border-style: solid;
	--am-button-border-color: var(--accent-b2);
	--am-button-border-radius: .4rem;
	--am-button-font-size: .95rem;
	--am-button-lineheight: 1.2;
	--am-button-padding-vertical: .5rem;
	--am-button-padding-horizontal: 1.5rem;
	--am-button-hover-background: transparent;

	--am-caption-space: .5rem;

	--am-block-max-width: 50rem;
	--am-block-margin-top: clamp(1.5rem, 0.75rem + 2vw, 2rem);
	--am-container-padding: clamp(1rem, 0.3923rem + 2.5723vw, 2rem);
	--am-card-padding: clamp(1.5rem, 1.1961rem + 1.2862vw, 2rem);
	--am-layout-section-shadow: 0 .3rem 2.4rem rgba(0, 0, 0, .12), 0 1.1rem 1.6rem -1rem rgba(0, 0, 0, .12);
	--am-layout-section-color: inherit;
	--am-layout-section-border-color: inherit;
	--am-flex-gap: 2rem;
	--am-flex-min-block-width: 12rem;

	--am-gallery-background: rgba(0, 0, 0, .75);
	--am-gallery-controls-color: #ffffff;
	--am-gallery-grid-item-scale: 100%;
	--am-gallery-grid-item-background: transparent;
	--am-gallery-grid-item-radius: 0;

	--am-image-slideshow-controls-color: #ffffff;
	--am-image-slideshow-controls-background: rgba(0, 0, 0, .2);
	--am-image-slideshow-caption-color: #ffffff;
	--am-image-slideshow-caption-background: rgba(0, 0, 0, .4);
	--am-image-slideshow-caption-padding: .5rem .75rem;
	--am-image-slideshow-caption-font-size: .8rem;
	--am-image-slideshow-caption-font-weight: 500;
	--am-image-slideshow-caption-line-height: 1.4;

	--am-form-gap: 1rem;
	--am-field-gap: .5rem;
	--am-input-padding: .6rem 1rem;
	--am-input-color: inherit;
	--am-input-label-color: inherit;
	--am-input-background: rgba(128, 128, 128, .03);
	--am-input-border-radius: var(--am-border-radius);
	--am-input-border: var(--am-border-width) solid var(--am-border-color);
	--am-input-hover-color: var(--am-input-color);
	--am-input-hover-background: var(--am-input-background);
	--am-input-hover-border: var(--am-input-border);
	--am-input-focus-color: var(--am-input-color);
	--am-input-focus-background: var(--am-input-background);
	--am-input-focus-border: var(--am-border-width) solid;
	--am-input-invalid-border: var(--am-border-width) solid #ff4500aa;
	--am-error-font-weight: bold;
	--am-error-font-size: .85rem;
	--am-error-color: #ff4500dd;
	--am-table-cell-padding: .55em .7em;
	--am-table-border: 1px solid var(--am-border-color);
	--am-table-border-horizontal: 1px solid var(--am-border-color);
	--am-table-border-header-horizontal: 2px solid var(--am-border-color);
	--am-table-heading-font-weight: 750;
	--am-paragraph-large-font-size: clamp(1.1875rem, 0.9976rem + 0.8039vw, 1.5rem);
	--am-paragraph-large-line-height: 1.3;
	--am-quote-gap: var(--am-caption-space);
	--am-quote-font-size: clamp(1.0625rem, 0.7966rem + 1.1254cqi, 1.5rem);
	--am-quote-font-style: italic;
	--am-quote-line-height: 1.3;
	--am-quote-prefix: "\201c";
	--am-quote-suffix: "\201d";
	--am-callout-gap: .5rem;
	--am-callout-padding: .75rem 1rem;
	--am-callout-border: 2px solid;
	--am-callout-radius: var(--am-border-radius);
	--am-callout-color: inherit;
	--am-callout-background: inherit;
	--am-callout-title-font-size: 1em;
	--am-callout-title-font-weight: 750;
	--am-callout-title-line-height: inherit;
	--am-hr-border: var(--am-border-width) solid var(--am-border-color);
	--am-prism-border-radius: var(--am-border-radius);
	--am-collapsible-duration: .2s;
	--am-collapsible-content-space: .5rem;

	--swiper-navigation-size: 44px;
	--swiper-theme-color: #007aff;

	--bg: #0f1117;
	--bg-soft: #171a22;
	--card: #1d2230;
	--text: #c9bfb3;
	--text-h: #f4efe8;
	--accent-a1: #f06;
	--accent-a2: #950066;
	--accent-b1: #ffbc00;
	--accent-b2: #ff7b00;
	--accent-c1: #1A004C;

	--menu-current: hsl(from var(--accent-a1) h s calc(l + 20));
	--menu-bg: hsl(from var(--accent-a2) h s calc(l - 20) / .85);

	--transition-menu: 300ms;
	--transition-standard: 300ms;

	--font-size--2: clamp(0.7901rem, 0.7753rem + 0.0395vw, 0.8rem);
	--font-size--1: clamp(0.8889rem, 0.7222rem + 0.4444vw, 1rem);
	--font-size-0: clamp(0.9375rem, 0.7476rem + 0.8039vw, 1.25rem);
	--font-size-1: clamp(1.125rem, 0.4688rem + 1.75vw, 1.5625rem);
	--font-size-2: clamp(1.2656rem, 0.2344rem + 2.75vw, 1.9531rem);
	--font-size-3: clamp(1.4238rem, -0.1025rem + 4.0703vw, 2.4414rem);
	--font-size-4: clamp(1.6018rem, -0.5731rem + 5.7998vw, 3.0518rem);
}

*, *::before, *::after {
	box-sizing: inherit;
	transition-behavior: allow-discrete;
}

html,
am-layout-section h6, h6 {
	font-family: "Source Serif 4", "Noto Emoji", serif;
	font-optical-sizing: auto;
	color: var(--text);
	font-size: var(--font-size-0);
}

html, body {
	min-height: 100dvh;
	margin: 0;
	padding: 0;
}

body {
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-template-columns: minmax(0, 1fr);
	position: relative;
	background: radial-gradient(circle at top, rgb(from var(--accent-a1) r g b / .25), transparent 35%), linear-gradient(180deg, #0c0f14 0%, var(--bg) 100%);
}

p {
	line-height: 1.5;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
	mask-image: url(/packages/charmnspell/gfx/frame-01.avif);
	mask-size: 100% 100%;
}

ul > li::marker {
	content: '⟡  ';
	color: color-mix(in srgb, var(--accent-b1) 50%, var(--text));
}

.pageBGCtr {
	z-index: 0;
	position: fixed;
}

.pageBGCtr,
.pageBGCtr .layer {
	top: 0;
	left: 0;
	width: 100%;
	height: 100dvh;
	overflow: hidden;
}
.pageBGCtr .layer {
	position: absolute;
	will-change: transform;
	animation: scroll-bg linear;
	animation-timeline: scroll(root);
	background-position: top center;
	background-repeat: repeat;
}
.pageBGCtr .layer.bokeh-bottom	{ --travel: calc(-100dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/bokeh-bottom.avif) }
.pageBGCtr .layer.bokeh-top	{ --travel: calc(-60dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/bokeh-top.avif) }
.pageBGCtr .layer.bokeh-stardust	{ --travel: calc(-45dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/bokeh-stardust.avif) }
.pageBGCtr .layer.stardust	{ --travel: calc(-20dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/stardust.avif); opacity: .15 }
.pageBGCtr .layer.stars-v1	{ --travel: calc(-70dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/stars-v1.avif); opacity: .25 }
.pageBGCtr .layer.stars-v2	{ --travel: calc(-90dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/stars-v2.avif); opacity: .5 }
.pageBGCtr .layer.stars-v3	{ --travel: calc(-30dvh * var(--travel-scale)); background-image: url(/packages/charmnspell/gfx/bg/stars-v3.png); opacity: .25 }
.pageBGCtr .layer.contentBG {
	--travel: 0dvh;
	--bg-mask-bg: hsl(from var(--accent-a2) h s calc(l - 25) / .5);
	background: linear-gradient(
		to right,
		transparent 0%,
		transparent calc(50% - var(--am-block-max-width) / 2 - var(--am-container-padding) * 2),
		var(--bg-mask-bg) calc(50% - var(--am-block-max-width) / 2),
		var(--bg-mask-bg) calc(50% + var(--am-block-max-width) / 2),
		transparent calc(50% + var(--am-block-max-width) / 2 + var(--am-container-padding) * 2),
		transparent 100%
	);
}

.pageBGCtr .layer { height: calc(100dvh - var(--travel)); }

@keyframes scroll-bg {
	from {	transform: translateY(0); }
	to {	transform: translateY(var(--travel)); }
}

am-layout-section h1, h1,
am-layout-section h2, h2,
am-layout-section h3, h3,
am-layout-section h4, h4,
am-layout-section h5, h5 {
	font-family: "Playfair Display", "Noto Emoji", serif;
	font-optical-sizing: auto;
	font-weight: 900;
	color: var(--text-h);
}

am-layout-section h1, h1 { font-size: var(--font-size-4); line-height:1.2 }
am-layout-section h2, h2 { font-size: var(--font-size-3) }
am-layout-section h3, h3 { font-size: var(--font-size-2) }
am-layout-section h4, h4 { font-size: var(--font-size-1) }
am-layout-section h5, h5 { font-size: var(--font-size-0) }
am-layout-section h6, h6 { font-size: var(--font-size-0); font-weight: 600; color: var(--text-h); }

am-layout-section h1, h1,
am-layout-section h2, h2 {
	/*color: rgb(from var(--text) r g b / 80%);*/
	color: transparent;
	background: linear-gradient(to bottom, var(--accent-a2) 0%, var(--accent-a1) 100%);
	background-clip: text;
}

button, a.button, a.am-button, .am-consent-banner__button {
	background-color: var(--am-button-background);
	border: var(--accent-b2) solid var(--am-button-border-width);
	border-radius: var(--am-button-border-radius);
	box-sizing: border-box;
	color: var(--am-button-color);
	cursor: pointer;
	display: inline-block;
	font-family: inherit;
	font-size: var(--am-button-font-size);
	font-weight: inherit;
	line-height: var(--am-button-lineheight);
	padding: var(--am-button-padding-vertical) var(--am-button-padding-horizontal);
	text-decoration: none;
	text-decoration: none;
	text-transform: none;
	transition-property: color, border-color, box-shadow, text-shadow, background;
	transition-timing-function: ease-in-out;
	transition-duration: var(--transition-standard);
}
button:active, button:focus, button:hover,
a.button:active, a.button:focus, a.button:hover,
a.am-button:active, a.am-button:focus, a.am-button:hover,
.am-button:active, .am-button:focus, .am-button:hover,
.am-consent-banner__button:active, .am-consent-banner__button:focus, .am-consent-banner__button:hover {
	color: var(--accent-b1);
	border-color: var(--accent-b1);
	text-decoration: none;
	opacity: 1;
}
button:active, button:hover,
a.button:active, a.button:hover,
a.am-button:active, a.am-button:hover,
.am-button:active, .am-button:hover,
.am-consent-banner__button:active, .am-consent-banner__button:hover {
	color: var(--accent-b1);
	border-color: var(--accent-b1);
	opacity: 1;
	box-shadow:
		0 0 1rem rgb(from var(--accent-b2) r g b / .5),
		0 0 1rem rgb(from var(--accent-b2) r g b / .5) inset;
	text-shadow: 0 0 .5rem rgb(from var(--accent-b2) r g b / .5);
}

button.primary, a.button.primary, a.am-button.primary, input[type="submit"],
am-buttons.primary-1st > a.am-button:first-of-type,
am-buttons.primary-2nd > a.am-button:nth-of-type(2) {
	border-color: transparent;
	background: linear-gradient(
		to bottom,
		var(--accent-b2) 0%,
		rgb(from var(--accent-b2) r g b / .7) 33.333%,
		var(--accent-b2) 66.666%,
		var(--accent-b1) 100%
	);
	color: var(--accent-c1);
	background-position: center calc(var(--am-button-border-width) * -1);
	background-size: 100% calc(300% + var(--am-button-border-width) * 2);
	transition-property: color, border-color, box-shadow, text-shadow, background;
	transition-timing-function: ease-in-out;
	transition-duration: var(--transition-standard);
}

button.primary:active, button.primary:focus, button.primary:hover,
a.button.primary:active, a.button.primary:focus, a.button.primary:hover,
a.am-button.primary:active, a.am-button.primary:focus, a.am-button.primary:hover,
.am-button.primary:active, .am-button.primary:focus, .am-button.primary:hover,
am-buttons.primary-1st > a.am-button:first-of-type:active,
am-buttons.primary-1st > a.am-button:first-of-type:focus,
am-buttons.primary-1st > a.am-button:first-of-type:hover,
am-buttons.primary-2nd > a.am-button:nth-of-type(2):active,
am-buttons.primary-2nd > a.am-button:nth-of-type(2):focus,
am-buttons.primary-2nd > a.am-button:nth-of-type(2):hover {
	border-color: transparent;
	color: var(--accent-c1);
	box-shadow:	none;
	background-position: center calc(100% + var(--am-button-border-width));
	background-size: 100% calc(300% + var(--am-button-border-width) * 2);
	outline: none;
}

button.primary:active, button.primary:hover,
a.button.primary:active, a.button.primary:hover,
a.am-button.primary:active, a.am-button.primary:hover,
.am-button.primary:active, .am-button.primary:hover,
am-buttons.primary-1st > a.am-button:first-of-type:active,
am-buttons.primary-1st > a.am-button:first-of-type:hover,
am-buttons.primary-2nd > a.am-button:nth-of-type(2):active,
am-buttons.primary-2nd > a.am-button:nth-of-type(2):hover {
	border-color: transparent;
	color: var(--accent-c1);
	box-shadow:	0 0 1rem rgb(from var(--accent-b2) r g b / .7);
	background-position: center calc(100% + var(--am-button-border-width));
	background-size: 100% calc(300% + var(--am-button-border-width) * 2);
	outline: none;
}

.am-block > hr {
	background-image:
		url(/packages/charmnspell/gfx/hr.svg),
		radial-gradient(circle, var(--accent-a2) 0%, var(--accent-a2) .2rem, transparent .3rem);
	background-repeat: no-repeat, repeat-x;
	background-position: center;
	background-size: auto, 1.5rem;
	border: none;
	height: 1.9rem;
	height: clamp(1.3rem, 0.9327rem + 1.6077vw, 1.9rem);
	mask-image: linear-gradient(to right, transparent 0%, #000 calc(50% - 2rem), #000 calc(50% + 2rem), transparent 100%);
	margin-top: 5rem;
	margin-bottom: 5rem;
	margin-top: clamp(2.5rem, 0.9807rem + 6.4309vw, 5rem);
	margin-bottom: clamp(2.5rem, 0.9807rem + 6.4309vw, 5rem);
}

#pageCtr {
	z-index: 1;
	padding: calc(2 * var(--am-container-padding)) var(--am-container-padding);
}

a {
	text-decoration-skip-ink: auto;
}

.tableCtr {
	overflow-x: auto;
	max-width: 100%;
}



/*██████▓▓▓▒▒▒░░░░░░░░░░▒▒▒▓▓▓████████████████████████████████████████████████████████████████████*/
/*███▓▓▓▒▒▒░░░  HEADER  ░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████████*/
/*██████▓▓▓▒▒▒░░░░░░░░░░▒▒▒▓▓▓████████████████████████████████████████████████████████████████████*/


header {
	border-bottom: rgba(var(--colorBase),.1) solid 1px;
	padding: .66rem var(--am-container-padding);
	padding-bottom: .66rem;
	position: sticky;
	z-index: 10;
	top: 0;
	transition: transform .35s ease-out;
	transform: translateY(0);
	background: linear-gradient(
		to right,
		rgb(from var(--accent-a2) r g b / 0) 0%,
		rgb(from var(--accent-a2) r g b / .5) 50%,
		rgb(from var(--accent-a2) r g b / 0) 100%
	);
	background-size: 100% 1px;
	background-position: bottom center;
	background-repeat: no-repeat;
	backdrop-filter: blur(.85rem);
}
header.away {
	transition: transform .35s ease-in;
	transform: translateY(-100%);
}

#navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#homeLogoLink {
	font-family: 'Playfair Display';
	text-decoration: none;
	font-size: 1.5rem;
	font-weight: 600;
	display: flex;
	align-items: center;
}

#homeLogoLink span {
	background: linear-gradient(180deg, var(--accent-a2), var(--accent-a1));
	background-clip: text;
	color: transparent;
	filter: drop-shadow(0 0 .2rem rgb(from var(--accent-a1) r g b / .5));
}

/*███▓▓▓▒▒▒░░░  MAIN NAV MENU  ░░░▒▒▒▓▓▓██████████████████████████████████████████████████████████*/

input[type="checkbox"].nav-toggle {
	appearance:none;
	mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 9' preserveAspectRatio='xMidYMid meet'><path fill='red' d='M1 0 0 1.5 5 9l5-7.5L9 0z'/></svg>");
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: var(--text-h);
	display: inline-block;
	width: .625rem;
	height: .5625rem;
	margin-right: 1rem;
	cursor: pointer;
	transform: rotateY(0deg);
	transition:
		transform var(--transition-menu) ease-in-out,
		background-color var(--transition-menu) ease-in-out;
}

nav .menu-list {
	display: flex;
	list-style-type: none;
	margin: 0;
	align-items: center;
	position: relative;
	background: transparent;
	padding: 0;
	border: none;
}

.menu-list > li {
	margin-left: 2rem;
	position: relative;
	display: flex;
	align-items: center;
}

nav > .menu-list > li > a {
	display: inline-block;
	padding: .5rem;
}

.menu-list a {
	color: var(--text-h);
	font-weight: 600;
}
.menu-list li.current > a {
	color: var(--menu-current);
}

.menu-list a:hover,
.menu-list a:focus,
.menu-list a:active,
.menu-list li.current > a:hover,
.menu-list li.current > a:focus,
.menu-list li.current > a:active {
	color: var(--accent-b1);
	text-shadow: 0 0 .3rem var(--accent-b1);
}

.menu-list a.button {
	color: #fff;
	padding: .5rem 1rem;
	text-transform: none;
	letter-spacing: inherit;
	border-radius: calc( var(--border-radius) / 1.33 );
	font-size: 1rem;
}
.menu-list a.alt-button {
	padding: .6rem 1rem;
	text-transform: none;
	letter-spacing: inherit;
	border-radius: calc( var(--border-radius) / 1.33 );
}

/* Level 2+ */
.menu-list > li > ul.menu-list {
	display: flex;
	position: absolute;
	top: 100%;
	box-shadow: 0 .2rem .5rem rgba(0,0,0,.1);
	border: var(--am-border-width) rgb(from var(--accent-a2) r g b / .5) solid;
	border-radius: 0 var(--am-border-radius) var(--am-border-radius) var(--am-border-radius);
	background: var(--menu-bg);
	padding: 0;
	z-index: 1;
	flex-direction: column;
	align-items: stretch;
	align-content: stretch;
	overflow: hidden;
	opacity: 0;
	height: 0;
	transition-property: opacity, height, padding;
	transition-timing-function: ease-in;
	transition-duration: var(--transition-standard);
}

/* Open menu on hover when on desktop */
@media screen and (min-width: 960px){
	.menu-list > li:hover > ul.menu-list {
		display: flex;
		overflow: visible;
		opacity: 1;
		height: auto;
		padding: .5rem 0;
		transition-property: opacity, height, padding;
		transition-timing-function: ease-out;
		transition-duration: var(--transition-standard);
	}
	
	.menu-list > li:hover > input[type="checkbox"].nav-toggle {
		transform: rotateY(360deg);
		background-color: var(--menu-current);
		transition:
			transform var(--transition-menu) ease-in-out,
			background-color var(--transition-menu) ease-in-out;
	}
}

.menu-list .menu-list li {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.menu-list .menu-list a {
	padding: .5rem 1rem;
	display: block;
}

/* Level 3+ */
.menu-list .menu-list > li > ul.menu-list {
	left: 100%;
	top: -.5rem;
}

/*███▓▓▓▒▒▒░░░	  MENU BUTTON	  ░░░▒▒▒▓▓▓██████████████████████████████████████████████████████████*/

#mainMenuBtn {
	position: relative;
	z-index: 10;
	display: none;
	border-radius: 100%;
	font-size: 1.34em;
	width: 1.87rem;
	height: 1.87rem;
	transition: all var(--transition-menu) linear;
}

.mb-bar {
	position: absolute;
	left: 0;
	right: 0;
	height: 1px;
	display: block;
	background-color: var(--text);
	transition: all var(--transition-menu) ease-out;
}

.menu-open .mb-bar {
	transition: all var(--transition-menu) ease-in;
}
#bar-top { top: calc( 50% - 8px ) }
#bar-mid1 {	top: 50% }
#bar-mid2 {	top: 50% }
#bar-bottom { top: calc( 50% + 8px ) }

.menu-open #bar-top {
	transform: translate(0, -5px) scale(.5);
	opacity: 0;
}
.menu-open #bar-bottom {
	transform: translate(0, 5px) scale(.5);
	opacity: 0;
}
.menu-open #bar-mid1 {	transform: rotate(45deg) }
.menu-open #bar-mid2 {	transform: rotate(-45deg) }



/*██████▓▓▓▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████*/
/*███▓▓▓▒▒▒░░░  BODY ELEMENTS  ░░░▒▒▒▓▓▓██████████████████████████████████████████████████████████*/
/*██████▓▓▓▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████*/

am-layout-section.am-card {
	padding: var(--am-card-padding);
	box-shadow: 0 0 3rem 0 rgb(from var(--accent-a2) r g b / .4) inset;
	border-radius: var(--am-border-radius);
	border-color: rgb(from var(--accent-a2) r g b / .7);
	border-width: var(--am-border-width);
	border-style: solid;
	backdrop-filter: blur(1rem);
}

a {
	color: var(--accent-b2);
	text-decoration: none;
	transition-property: color, text-shadow;
	transition-timing-function: ease-in-out;
	transition-duration: var(--transition-standard);
}
a:focus {
	color: var(--accent-b1);
	outline: none;
	text-decoration: dotted 1px var(--accent-b1);
}
a:hover, a:active {
	color: var(--accent-b1);
	text-shadow: 0 0 .3rem var(--accent-b1);
}

am-quote {
	border-left: .66rem rgb(from var(--accent-b2) r g b / .5) dotted;
	padding-left: clamp(1rem, 0.875rem + 1cqi, 1.5rem);
	container-type: inline-size;
}

am-quote.am-block figcaption {
	padding-top: .66em;
}
am-quote figcaption {
	font-weight: bold;
	font-style: italic;
	font-size: .85em;
	letter-spacing: .05ch;
}

am-quote figcaption::before {
	content: '⋅⋆☆★';
}


/*███▓▓▓▒▒▒░░░  BLOG  ░░░▒▒▒▓▓▓███████████████████████████████████████████████████████████████████*/

.date {
	font-size: .8rem;
	opacity: .8;
}
.date icon-clock {
	display: inline-block;
	transform: rotate(-60deg);
}

.blog-entry-title {
	margin-top: -.1rem;
}

.blog-entry a.read-more {
	padding: .3rem .6rem;
	display: inline-flex;
	border-radius: 1rem;
	align-items: center;
}
.blog-entry a.read-more span {
	font-size: .75rem;
}

.pagination {
	text-align: center;
	margin-top: 2rem;
}

.pagination > * {
	display: inline-block;
	padding: .25rem .5rem;
	background-color: rgb(from var(--accent-b1) r g b / .1);
	border-radius: 1rem;
}

.pagination > span {
	background-color: rgb(from var(--text) r g b / .05);
}
.pagination .first,
.pagination .last {
	letter-spacing: -.9ch;
	padding-right: .9rem;
}

svg.go path {
	fill: var(--accent-b2);
	transition: fill var(--transition-standard) ease-in-out;
}
a:hover svg.go path, a:active svg.go path {
	fill: var(--accent-b1);
}


/*███▓▓▓▒▒▒░░░  ROLLERS  ░░░▒▒▒▓▓▓████████████████████████████████████████████████████████████████*/

.roller-item .rollable {
	overflow: hidden;
	height: 0;
	transition: height ease-in-out .3s;
}
.roller-item.open .rollable {
	height: auto;
	transition: height ease-in-out .3s;
}

.roller-switch::after {
	content: '';
	display: block;
	width: .75rem;
	height: .75rem;
	border-width: 0 2px 2px 0;
	border-style: solid;
	border-color: var(--colorText);
	transform: rotate(45deg);
	opacity: .8;
	flex: 0 0 .75rem;
	cursor: pointer;
	transition: transform ease-in-out .3s;
}

.roller-item.open .roller-switch::after {
	transform: rotate(225deg);
}


/*███▓▓▓▒▒▒░░░  CONTACT FORM  ░░░▒▒▒▓▓▓███████████████████████████████████████████████████████████*/

textarea {
	resize: vertical;
}

input.yum, .yum:active, .yum:focus {
	border: none !important;
	width: 0;
	height: 0;
	padding: 0;
	margin: 0;
	box-shadow: none !important;
}

input:required:not([type="submit"], [type="checkbox"], [type="checkbox"]),
select:required,
textarea:required {
	background-image: radial-gradient(circle, var(--accent-b1) 0%, var(--accent-b1) .25rem, transparent .25rem);
	background-size: .5rem .5rem;
	background-repeat: no-repeat;
	background-position: calc(100% - .6rem) calc(0% + .6rem);
}


input:disabled:not([type="submit"]),select:disabled,textarea:disabled {
	pointer-events: none;
	background-image: repeating-linear-gradient(-45deg,
		rgb( from var(--text) r g b / .1 ) 0,
		rgb( from var(--text) r g b / .1 ) 1rem,
		rgb( from var(--text) r g b / .2 ) 1rem,
		rgb( from var(--text) r g b / .2 ) 1.5rem,
		rgb( from var(--text) r g b / .1 ) 1.5rem
	);
	background-size: auto auto;
	background-repeat: repeat;
	background-position: 0 0;
}
input[type="submit"]:disabled,
input[type="submit"]:disabled:focus,
input[type="submit"]:disabled:hover,
input[type="submit"]:disabled:active {
	background-color: rgba(var(--colorBase),.2);
}


/*███▓▓▓▒▒▒░░░  POPOVER FORM  ░░░▒▒▒▓▓▓███████████████████████████████████████████████████████████*/

form.popover {
	will-change: scale, opacity;
	color: inherit;
	opacity: 0;
	scale: .9;
	transition:
		scale var(--transition-menu) ease-in-out,
		opacity var(--transition-menu) ease-in-out,
		display var(--transition-menu) allow-discrete,
		overlay var(--transition-menu) allow-discrete;
	max-width: calc( var(--am-block-max-width) - var(--am-container-padding) * 2);
	padding: var(--am-card-padding);
	padding-top: 0;
	border-radius: var(--am-border-radius);
	border: var(--am-border-width) rgb(from var(--accent-a2) r g b / .7) solid;
	box-shadow:
		0 0 3rem 0 rgb(from var(--accent-a2) r g b / .4) inset,
		0 0 3rem 0 rgb(from var(--accent-a1) r g b / .5);
	background-color: hsl(from var(--accent-a2) h s calc(l - 20) / .2);
	backdrop-filter: blur(1rem);
}

form.popover:popover-open {
	opacity: 1;
	scale: 1;
}

@starting-style {
	form.popover:popover-open {
		opacity: 0;
		scale: .9;
	}
}

form.popover::backdrop {
	background-color: hsl(from var(--accent-a2) h s calc(l - 30) / 0);
	transition:
		background-color var(--transition-menu) ease-in-out,
		display var(--transition-menu) allow-discrete,
		overlay 0var(--transition-menu) allow-discrete;
}
form.popover:popover-open::backdrop {
	background-color: hsl(from var(--accent-a2) h s calc(l - 30) / .5);
}

@starting-style {
	form.popover:popover-open::backdrop {
		background-color: hsl(from var(--accent-a2) h s calc(l - 30) / 0);
    }
}


/*███▓▓▓▒▒▒░░░  CONSENT BANNER  ░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████*/

.am-consent-banner {
	color: inherit;
	background-color: hsl(from var(--accent-a2) h s calc(l - 20) / .85);
	font-family: inherit;
	margin: 0;
	gap: var(--am-field-gap);
	--default-pad: calc( var(--am-card-padding) / 2 );
	right: var(--default-pad);
	bottom: var(--default-pad);
	padding: var(--default-pad);
	width: 20rem;
	max-width: calc(100% - var(--default-pad));
	border-color: rgb(from var(--accent-a2) r g b / .7);
	border-width: var(--am-border-width);
	border-style: solid;
}

@media screen and (max-width: 25rem){
	.am-consent-banner {
		width: auto;
		left: var(--default-pad);
	}
}

.am-consent-banner__button {
	font-size: .66rem;
}

.am-consent-banner--small > svg:hover {
	opacity: 1;
	color: var(--accent-b1);
}
.am-consent-banner--small:not(.am-consent-banner--open){
	transition: opacity ease-in-out var(--transition-menu);
	opacity: .2;
}
.am-consent-banner--small:not(.am-consent-banner--open):hover,
.am-consent-banner--small:not(.am-consent-banner--open):focus,
.am-consent-banner--small:not(.am-consent-banner--open):active {
	opacity: 1;
}



/*██████▓▓▓▒▒▒░░░░░░░░░░▒▒▒▓▓▓████████████████████████████████████████████████████████████████████*/
/*███▓▓▓▒▒▒░░░  FOOTER  ░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████████*/
/*██████▓▓▓▒▒▒░░░░░░░░░░▒▒▒▓▓▓████████████████████████████████████████████████████████████████████*/

footer {
	border-top: rgba(var(--colorBase),.1) solid 1px;
	padding: .66rem var(--am-container-padding);
	z-index: 1;
	background: linear-gradient(
		to right,
		rgb(from var(--accent-a2) r g b / 0) 0%,
		rgb(from var(--accent-a2) r g b / .5) 50%,
		rgb(from var(--accent-a2) r g b / 0) 100%
	);
	background-size: 100% 1px;
	background-position: top center;
	background-repeat: no-repeat;
	backdrop-filter: blur(.85rem);
}

.copyright {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	opacity: .5;
	font-size: .75rem;
	font-style: italic;
	width: calc(100% - 2rem)
}
.copyright .links a {
	color: var(--text);
}
.link-separator {
	margin-left: 1ch;
	margin-right: 1ch;
}

.debugInfo {
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	z-index: 15;
	background: #000a;
	color: #fff;
	padding: .25rem .5rem;
	font-size: 11px;
	border-radius: 5px;
	font-family: 'Roboto Condensed', sans-serif;
	box-shadow: 0 0 .5rem var(--accent-a2);
}



/*██████▓▓▓▒▒▒░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████████████*/
/*███▓▓▓▒▒▒░░░  TOOLS  ░░░▒▒▒▓▓▓██████████████████████████████████████████████████████████████████*/
/*██████▓▓▓▒▒▒░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████████████*/

.table-row-border-bottom > am-flex {
	border-bottom: 1px solid rgba(var(--colorBase), .1);
}

.display-none {	display: none }

.no-margin { margin:0 }

.columns-2 { column-count: 2 }

.accent { color: color-mix(in srgb, var(--accent-b1) 50%, var(--text)) }



/*██████▓▓▓▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████*/
/*███▓▓▓▒▒▒░░░  MEDIA QUERIES  ░░░▒▒▒▓▓▓██████████████████████████████████████████████████████████*/
/*██████▓▓▓▒▒▒░░░░░░░░░░░░░░░░░▒▒▒▓▓▓█████████████████████████████████████████████████████████████*/


/* small */
@media screen and (max-width: 959px){
		
	#navbar {
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}

	#mainMenuBtn {
		display: block;
	}

	nav {
		position: fixed;
		width: 100%;
		top: 100%;
		height: 0;
		left: 0;
		background: var(--menu-bg);
		opacity: 0;
		overflow: hidden;
		transition:
			height 0s step-end var(--transition-menu),
			opacity var(--transition-menu) ease-in;
	}
	
	.menu-open nav {
		height: calc(100dvh - 100%);
		opacity: 1;
		overflow: hidden auto;
		transition:
			height 0s step-start 0s,
			opacity var(--transition-menu) ease-in;
			
	}

	nav .menu-list {
		flex: 0 0 100%;
		flex-wrap: wrap;
		flex-direction: column;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(-5rem);
		transition: transform var(--transition-menu) ease-in;
		padding: 0;
	}
	
	.menu-open nav .menu-list {
		transform: translateY(0);
		transition: transform var(--transition-menu) ease-out;
	}

	.menu-list li {
		width: 100%;
		padding: .5rem 0;
		margin: 0;
		text-align: center;
		border-top: rgba(var(--colorBase),.1) solid 1px;
		background: var(--colorBG);
		justify-content: center;
		flex-wrap: wrap;
	}
	.menu-list .menu-list li {
		justify-content: center;
	}
	
	.menu-list > li > ul.menu-list,
	.menu-list .menu-list > li > ul.menu-list {
		position: relative;
		top: unset;
		left: unset;
	}
	
	input[type="checkbox"].nav-toggle:checked {
		transform: rotateY(360deg);
		background-color: var(--menu-current);
		transition:
			transform var(--transition-menu) ease-in-out,
			background-color var(--transition-menu) ease-in-out;
	}

	input[type="checkbox"].nav-toggle:checked + ul.menu-list {
		display: flex;
		overflow: visible;
		opacity: 1;
		height: auto;
		padding: .5rem 0;
		transition-property: opacity, height, padding;
		transition-timing-function: ease-out;
		transition-duration: var(--transition-standard);
	}

	.menu-list > li:last-child {
		border-radius: 0 0 var(--border-radius) var(--border-radius);
	}

	nav > .menu-list > li > a,
	.menu-list .menu-list a {
		display: inline-block;
	}

	am-flex > am-1-3,
	am-flex > am-1-4 {
		flex-basis: 50%;
	}
	am-flex > am-2-3,
	am-flex > am-3-4 {
		flex-basis: 100%;
	}
}

/* tiny */
@media screen and (max-width: 659px){

	am-flex > am-1-2,
	am-flex > am-1-3,
	am-flex > am-1-4,
	am-flex > am-2-3,
	am-flex > am-3-4 {
		flex-basis: 100%;
	}
	
	/*███▓▓▓▒▒▒░░░  Reduce performance hit */
	.pageBGCtr .layer.stardust,
	.pageBGCtr .layer.stars-v1,
	.pageBGCtr .layer.stars-v2,
	.pageBGCtr .layer.stars-v3,
	.pageBGCtr .layer.contentBG {
		display: none;
	}
	header {
		backdrop-filter: none;
		background-color: var(--menu-bg);
		background-image: linear-gradient(
			to right,
			rgb(from var(--accent-a2) r g b / .25) 0%,
			rgb(from var(--accent-a2) r g b / .85) 50%,
			rgb(from var(--accent-a2) r g b / .25) 100%
		);
	}
	
	am-layout-section h1, h1,
	am-layout-section h2, h2 {
		color: color-mix(in srgb, var(--accent-a1) 50%, var(--accent-a2) 50%);
		background: transparent;
		background-clip: none;
	}
	am-layout-section.am-card {
		backdrop-filter: none;
	}
}