:root {
	--color-contrast: #000;
	--color-background: #fff;
	--color-background-100: #fafafa;
	--color-background-200: #f1f1f1;
	--color-background-300: #ebebeb;
	--color-foreground: #141414;
	--color-secondary: grey;
	--color-mute: #979797;
	--color-border: hsla(0, 0%, 50%, .2);
	--color-success: #348f3f;
	--color-error: #f25151;
	--font-family-headings: var(--gh-font-heading, "Innovator Grotesk", sans-serif);
	--font-family-body: var(--gh-font-body, "Innovator Grotesk", sans-serif);
	--font-family-button: var(--gh-font-body, "Innovator Grotesk", sans-serif);
	--font-small: 0.875rem;
	--font-x-small: 0.75rem;
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-semibold: 600;
	--font-weight-bold: 700;
	--spacing-1: 0.25rem;
	--spacing-2: 0.5rem;
	--spacing-3: 0.75rem;
	--spacing-4: 1rem;
	--spacing-5: 1.375rem;
	--spacing-6: clamp(1.75rem, 1.6875rem + 0.3125vw, 2rem);
	--spacing-7: clamp(2rem, 1.8125rem + 0.9375vw, 2.75rem);
	--spacing-8: clamp(2.75rem, 2.5rem + 1.25vw, 3.75rem);
	--spacing-9: clamp(3.75rem, 3.4375rem + 1.5625vw, 5rem);
	--radius-1: 6px;
	--radius-2: 8px;
	--radius-3: clamp(14px, 13px + 0.3125vw, 18px);
	--padding-v: 1rem;
	--padding-h: clamp(20px, 17.5px + 0.7813vw, 30px);
	--header--min-height: 50px;
	--button--padding-v: 0.469rem;
	--button--padding-h: 1.25rem;
	--button--min-width: 7.5rem;
	--button--min-height: 2.25rem;
	--button--font-size: var(--font-small);
	--button--font-weight: var(--font-weight-medium);
	--button--line-height: 1;
	--button--border-radius: 2rem;
	--button--clip-path: inset(1px round var(--button--border-radius));
	--button--color: var(--color-accent-foreground);
	--button--background-color: var(--ghost-accent-color);
	--button--transition: clip-path 0.2s ease, background-color 0.1s ease, border-color 0.1s ease, color 0.1s ease, opacity 0.1s ease;
	--button-hover--color: var(--color-accent-foreground);
	--button-hover--background-color: var(--ghost-accent-color);
	--button-hover--opacity: 0.9;
	--button-hover--clip-path: inset(0 round var(--button--border-radius));
	--container-small--width: 400px;
	--container--width: 500px;
	--container-wide--width: 800px;
	--csstools-color-scheme--light: initial;
	color-scheme: light;
}

@media not all and (min-width:1200px) {
	:root {
		--container-wide--width: 680px
	}
}

@media not all and (min-width:992px) {
	:root {
		--container-wide--width: 580px
	}
}

@media not all and (min-width:768px) {
	:root {
		--container-wide--width: 500px
	}
}

:root[data-color-scheme=dark] {
	--ghost-accent-color: var(--color-dark-accent);
	--color-accent-foreground: var(--color-dark-accent-foreground, #fff);
	--color-contrast: #fff;
	--color-background: #0d0e11;
	--color-background-100: #17191c;
	--color-background-200: #232429;
	--color-background-300: #2f3037;
	--color-foreground: #abadba;
	--color-secondary: #9193a1;
	--color-mute: #787b87;
	--color-border: hsla(226, 8%, 50%, 0.4);
	--csstools-color-scheme--light: ;
	color-scheme: dark;
}

@media (prefers-color-scheme:dark) {
	:root[data-color-scheme=system] {
		--ghost-accent-color: var(--color-dark-accent);
		--color-accent-foreground: var(--color-dark-accent-foreground, #fff);
		--color-contrast: #fff;
		--color-background: #0d0e11;
		--color-background-100: #17191c;
		--color-background-200: #232429;
		--color-background-300: #2f3037;
		--color-foreground: #abadba;
		--color-secondary: #9193a1;
		--color-mute: #787b87;
		--color-border: hsla(226, 8%, 50%, 0.4);
		--csstools-color-scheme--light: ;
		color-scheme: dark;
	}
}

*,
:after,
:before {
	box-sizing: border-box
}

@media (prefers-reduced-motion:no-preference) {
	:root {
		scroll-behavior: smooth
	}
}

:where(svg:not([stroke]):not([fill]):has(>:not([stroke]):not([fill]))) {
	fill: currentcolor
}

body {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	font-synthesis-weight: none
}

img {
	display: block;
	height: auto;
	max-width: 100%
}

p {
	margin-bottom: var(--spacing-5);
	margin-top: 0
}

p:last-child {
	margin-bottom: 0
}

button,
input,
select,
textarea {
	font: inherit
}

hr {
	border: 0;
	border-top: 1px solid var(--color-border);
	color: var(--color-border);
	margin: var(--spacing-5) 0;
	opacity: 1
}

abbr[title] {
	cursor: help;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none
}

address {
	font-style: normal;
	line-height: inherit
}

ol,
ul {
	padding-left: 2rem
}

dt {
	font-weight: var(--font-weight-regular);
}

dd {
	margin-left: 0
}

b,
strong {
	font-weight: var(--font-weight-semibold);
}

small,
sub,
sup {
	font-size: var(--font-small)
}

sub,
sup {
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

code,
kbd,
pre,
samp {
	font-family: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
	font-size: 1em
}

pre {
	display: block;
	overflow: auto
}

pre code {
	color: inherit;
	font-size: inherit;
	word-break: normal
}

code {
	word-wrap: break-word
}

a>code {
	color: inherit
}

kbd {
	background-color: var(--color-contrast);
	border-radius: .25rem;
	color: var(--color-background);
	font-size: .875em;
	padding: .1875rem .375rem
}

kbd kbd {
	font-size: 1em;
	font-weight: var(--font-weight-regular);
	padding: 0
}

img,
svg {
	vertical-align: middle
}

table {
	caption-side: bottom
}

caption {
	color: var(--color-secondary);
	padding-bottom: .5rem;
	padding-top: .5rem;
	text-align: left
}

th {
	font-weight: var(--font-weight-medium);
	text-align: inherit;
	text-align: -webkit-match-parent
}

tbody,
td,
tfoot,
th,
thead,
tr {
	border: 0 solid;
	border-color: inherit
}

label {
	display: inline-block
}

button {
	border-radius: 0
}

button:focus:not(:focus-visible) {
	outline: 0
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	margin: 0
}

button,
select {
	text-transform: none
}

[role=button] {
	cursor: pointer
}

select {
	word-wrap: normal
}

select:disabled {
	opacity: 1
}

[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
	display: none !important
}

[type=button],
[type=file]::file-selector-button,
[type=reset],
[type=submit],
button {
	-webkit-appearance: button;
	color: inherit
}

[type=button]:not(:disabled),
[type=file]::file-selector-button:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled),
button:not(:disabled) {
	cursor: pointer
}

::-moz-focus-inner {
	border-style: none;
	padding: 0
}

textarea {
	resize: vertical
}

fieldset {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0
}

legend {
	float: left;
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: inherit;
	margin-bottom: .5rem;
	padding: 0;
	width: 100%
}

legend+* {
	clear: left
}

::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-year-field {
	padding: 0
}

::-webkit-inner-spin-button {
	height: auto
}

[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-color-swatch-wrapper {
	padding: 0
}

::file-selector-button {
	-webkit-appearance: button;
	font: inherit
}

output {
	display: inline-block
}

iframe {
	border: 0;
	display: block;
}

summary {
	cursor: pointer;
	display: list-item
}

progress {
	vertical-align: baseline
}

[hidden] {
	display: none !important
}

html {
	height: 100%
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: var(--color-background);
	color: var(--color-foreground);
	display: flex;
	flex-direction: column;
	font-family: var(--font-family-body);
	font-size: 16px;
	font-style: normal;
	font-weight: var(--font-weight-regular);
	line-height: 1.5;
	margin: 0;
	min-height: 100%;
	padding: 0;
	word-break: break-word
}

body[style*=overflow] {
	padding-right: var(--scrollbar-width, 0)
}

#ghost-portal-root>iframe {
	display: none
}

.screen-reader-text {
	word-wrap: normal !important;
	border: 0;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px !important;
	z-index: 99999
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none !important;
	display: inline-flex;
	height: auto !important;
	left: var(--spacing-2);
	-webkit-text-decoration: none;
	text-decoration: none;
	top: var(--spacing-2);
	width: auto !important;
	z-index: 100000
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-contrast);
	margin: 0
}

h1 {
	font-family: var(--font-family-headings);
	font-size: 1.625rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.1
}

h2 {
	font-size: 1.5rem;
	font-variation-settings: "wght" var(--font-weight-medium)
}

h2,
h3 {
	font-family: var(--font-family-headings);
	font-weight: var(--font-weight-medium);
	line-height: 1.2
}

h3 {
	font-size: 1.375rem;
	font-variation-settings: "wght" var(--font-weight-medium)
}

h4 {
	font-size: 1.25rem;
	font-variation-settings: "wght" var(--font-weight-medium)
}

h4,
h5 {
	font-family: var(--font-family-headings);
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

h5 {
	font-size: 1.125rem;
	font-variation-settings: "wght" var(--font-weight-medium)
}

h6 {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

a {
	color: var(--color-contrast);
}
a:hover {
	color: var(--ghost-accent-color);
}
.post-content .kg-cta-sponsor-label a,
a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-decoration-color: currentcolor;
	text-decoration-thickness: .075em;
	text-underline-offset: .15em;
	transition: color .1s ease
}

a:hover {
	color: var(--ghost-accent-color)
}

@keyframes onflow-link-effect-start {
	0% {
		background-position: 100% bottom
	}

	to {
		background-position: 50% bottom
	}
}

@keyframes onflow-link-effect-end {
	0% {
		background-position: 50% bottom
	}

	to {
		background-position: 0 bottom
	}
}
.post-header-author,
.post-tag,
.post-tags a,
:where(.navigation-bar > ul > li) > .nav-link,
:where(.navigation-popup) .nav-link:not(.nav-section-link),
:where(.navigation-tags) .nav-link,
a.button-link {
	-webkit-text-fill-color: transparent;
	animation: onflow-link-effect-end .8s cubic-bezier(.2, 1, .2, 1);
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(90deg, var(--link--color, var(--color-contrast)) 0, var(--link--color, var(--color-contrast)) 25%, currentcolor 37.5%, currentcolor 62.5%, var(--link--color, var(--color-contrast)) 75%, var(--link--color, var(--color-contrast)) 100%);
	background-position: 100%;
	background-repeat: no-repeat;
	background-size: 400% 100%;
	color: var(--link--color, var(--color-contrast));
	transition: color .01s ease;
	transition-delay: .8s
}
.post-header-author > .label,
.post-tag > .label,
.post-tags a > .label,
:where(.navigation-bar > ul > li) > .nav-link > .label,
:where(.navigation-popup) .nav-link:not(.nav-section-link) > .label,
:where(.navigation-tags) .nav-link > .label,
a.button-link > .label {
	animation: onflow-link-effect-end 0.6s cubic-bezier(0.2, 1, 0.2, 1);
	background-image: linear-gradient(
		90deg,
		transparent,
		transparent 25%,
		currentcolor 37.5%,
		currentcolor 62.5%,
		transparent 75%,
		transparent
	);
	background-position: 100% bottom;
	background-repeat: no-repeat;
	background-size: 400% 1.5px;
	color: transparent;
	padding-bottom: .5px;
	transition: color .01s ease;
	transition-delay: .6s
}
.navigation-tags .nav-link:hover,
.post-header-author:hover,
.post-tag:hover,
.post-tags a:hover,
:where(.navigation-bar > ul > li):hover > .nav-link,
:where(.navigation-bar > ul > li) > .nav-link-current,
:where(.navigation-bar > ul > li) > .nav-link-current:hover,
:where(.navigation-popup) .nav-link-current,
:where(.navigation-popup) .nav-link-current:hover,
:where(.navigation-popup) .nav-link:hover,
a.button-link:hover {
	animation: onflow-link-effect-start .8s cubic-bezier(.2, 1, .2, 1);
	background-position: 50%;
	color: var(--link-hover--color, var(--color-contrast));
	transition-delay: 0s
}
.navigation-tags .nav-link:hover > .label,
.post-header-author:hover > .label,
.post-tag:hover > .label,
.post-tags a:hover > .label,
:where(.navigation-bar > ul > li):hover > .nav-link > .label,
:where(.navigation-bar > ul > li) > .nav-link-current:hover > .label,
:where(.navigation-bar > ul > li) > .nav-link-current > .label,
:where(.navigation-popup) .nav-link-current:hover > .label,
:where(.navigation-popup) .nav-link-current > .label,
:where(.navigation-popup) .nav-link:hover > .label,
a.button-link:hover > .label {
	animation: onflow-link-effect-start 0.8s cubic-bezier(0.2, 1, 0.2, 1);
	background-position: 50% bottom;
	background-size: 400% 1.5px;
	color: var(--link--underline--color, var(--color-contrast));
	transition-delay: 0s
}

figcaption {
	color: var(--color-secondary);
	font-size: var(--font-small);
	margin-top: var(--spacing-2);
	text-align: center
}

blockquote {
	color: var(--color-contrast);
	font-weight: var(--font-weight-medium);
	padding: var(--spacing-2) 0 var(--spacing-2) var(--spacing-5);
	position: relative;
	z-index: 1
}

blockquote:before {
	background-color: var(--ghost-accent-color);
	border-radius: 2px;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	width: 3px
}

.post-content :where(ul, ol) {
	padding-left: 0
}

.post-content :where(ul, ol) li+li,
.post-content :where(ul, ol) ol,
.post-content :where(ul, ol) ul {
	margin-top: .5em
}

.post-content :where(ul) {
	list-style: none
}

.post-content :where(ul)>li {
	padding-left: var(--spacing-5);
	position: relative
}

.post-content :where(ul)>li:before {
	background-color: currentcolor;
	border-radius: 50%;
	content: "";
	height: .188rem;
	left: .65rem;
	position: absolute;
	top: .688rem;
	width: .188rem
}

.post-content :where(ul) ul>li:before {
	background-color: transparent;
	border: 1px solid
}

.post-content :where(ul) ul ul>li:before {
	background-color: currentcolor;
	border-radius: 0
}

.post-content :where(ol) {
	padding-left: var(--spacing-5)
}
.post-content :where(ol) > li::marker {
	font-size: 0.938em;
	font-weight: var(--font-weight-medium);
}

.post-content :where(ol) ol {
	list-style: lower-alpha
}

.post-content :where(ol) ol ol {
	list-style: lower-roman
}

li>img,
p>img {
	border-radius: var(--radius-3)
}

:not(pre)>code,
mark {
	border-radius: .188rem;
	padding: .125em .25em
}

:not(pre)>code {
	font-size: .875em
}

:not(pre)>code,
pre {
	background-color: var(--color-background-200);
	color: var(--color-contrast)
}

pre {
	border-radius: var(--radius-2);
	clip-path: inset(0 round var(--radius-2));
	max-height: 500px;
	padding: var(--spacing-3) calc(var(--spacing-3) + var(--spacing-1))
}

pre,
table {
	font-size: var(--font-small)
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
	word-break: normal
}

table thead {
	border-bottom: 1px solid var(--color-border);
	color: var(--color-contrast);
	font-weight: var(--font-weight-medium);
}

table tr+tr {
	border-top: 1px solid var(--color-border)
}

table td,
table th {
	padding: var(--spacing-2)
}

table td+td,
table th+th {
	border-left: 1px solid var(--color-border)
}

table tfoot {
	border-top: 1px solid var(--color-border)
}

.responsive-table {
	overflow-x: auto
}

form {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: .625rem;
	padding-bottom: var(--spacing-3);
	padding-top: var(--spacing-3)
}

form>p {
	margin-bottom: 0
}
form .icon-check,
form .icon-loader {
	display: none;
}
form.loading {
	pointer-events: none;
}
form.loading .icon-arrow-right {
	display: none;
}
form.loading .icon-loader {
	display: block;
}
form.success .icon-arrow-right {
	display: none;
}
form.success .icon-check {
	display: block;
}
form.success .button {
	pointer-events: none;
}
label {
	display: block;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
}

form .kg-signup-card-input,
form :where(input, select, textarea) {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--color-background-100);
	border: 1px solid var(--color-border);
	border-radius: 2rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	color: var(--color-contrast);
	display: block;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	height: auto;
	min-height: 2.375rem;
	padding: .469rem 1rem;
	width: 100%
}

form .kg-signup-card-input::-moz-placeholder,
form :where(input, select, textarea)::-moz-placeholder {
	color: var(--color-mute);
	opacity: 1
}

form .kg-signup-card-input::placeholder,
form :where(input, select, textarea)::placeholder {
	color: var(--color-mute);
	opacity: 1
}

select {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
	background-position: calc(100% - 1rem) 50%;
	background-repeat: no-repeat;
	background-size: .625rem;
	cursor: pointer
}

textarea {
	border-radius: 1.125rem;
	height: 7rem
}

[type=checkbox] {
	border-radius: .25rem
}

[type=checkbox]:before {
	height: var(--font-x-small);
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3333 4L5.99996 11.3333L2.66663 8" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3333 4L5.99996 11.3333L2.66663 8" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: var(--font-x-small)
}

[type=radio] {
	border-radius: 50%
}

[type=radio]:before {
	border-radius: 50%;
	height: .375rem;
	width: .375rem
}

[type=checkbox],
[type=radio] {
	display: inline-block;
	height: 1.125rem;
	margin-right: var(--spacing-2);
	min-height: auto;
	outline-offset: 0;
	padding: 0;
	position: relative;
	transition: background-color .15s ease, border-color .15s ease;
	vertical-align: -.325em;
	width: 1.125rem
}

[type=checkbox]:before,
[type=radio]:before {
	background-color: var(--color-background);
	content: "";
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity .15s ease
}

[type=checkbox]:checked,
[type=radio]:checked {
	background-color: var(--color-contrast);
	border-color: var(--color-contrast);
	outline-offset: 3px
}

[type=checkbox]:checked:before,
[type=radio]:checked:before {
	opacity: 1
}

@media not all and (min-width:600px) {
	form button {
		width: 100%
	}
}

@media not all and (min-width:600px) {

	form .kg-signup-card-input,
	form :where(input, select, textarea) {
		font-size: 1.025rem
	}
}
.form-alert {
	font-size: var(--font-small);
}
.form-alert,
.form-alert > span {
	display: none;
}
.form-alert .success {
	color: var(--color-success);
}
.form-alert .error {
	color: var(--color-error);
}
form.error:has(.error) :where(.form-alert, .error),
form.loading:has(.loading) :where(.form-alert, .loading),
form.success:has(.success) :where(.form-alert, .success) {
	display: block;
}
form.error .form-alert:has(.error:empty) {
	display: none;
}
@media (prefers-reduced-motion) {

	::view-transition-group(*),
	::view-transition-new(*),
	::view-transition-old(*) {
		animation: none !important
	}
}

@view-transition {
	navigation: auto
}

::view-transition-new(*),
::view-transition-old(*) {
	backface-visibility: hidden;
	mix-blend-mode: normal
}

@property --onflow--view-transition--progress {
	syntax: "<number>";
	initial-value: 0;
	inherits: false
}

@keyframes onflow-view-transition {
	0% {
		--onflow--view-transition--progress: 0;
		opacity: 1;
		transform: none
	}

	to {
		--onflow--view-transition--progress: 1;
		opacity: 1;
		transform: none
	}
}

::view-transition-old(root) {
	animation: onflow-view-transition .6s cubic-bezier(.35, 0, .4, 1);
	animation-delay: 0s;
	animation-fill-mode: both
}

::view-transition-new(root) {
	animation: onflow-view-transition .6s cubic-bezier(.35, 0, .4, 1);
	animation-fill-mode: both;
	-webkit-mask-image: linear-gradient(270deg, #000 calc(-70% + 170%*var(--onflow--view-transition--progress)), transparent calc(170%*var(--onflow--view-transition--progress)));
	mask-image: linear-gradient(270deg, #000 calc(-70% + 170%*var(--onflow--view-transition--progress)), transparent calc(170%*var(--onflow--view-transition--progress)))
}

.button-share {
	display: flex
}
.button-share .nav-link {
	position: relative
}

.button-share:hover .tooltip:not(.show) {
	opacity: 0;
	visibility: hidden
}

.button,
button[type=submit] {
	align-items: center;
	background-color: var(--button--background-color);
	border: 0;
	border-radius: var(--button--border-radius);
	clip-path: var(--button--clip-path);
	color: var(--button--color);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--font-family-button);
	font-size: var(--button--font-size);
	font-weight: var(--button--font-weight);
	gap: var(--spacing-2);
	justify-content: center;
	line-height: var(--button--line-height);
	min-height: var(--button--min-height);
	min-width: var(--button--min-width);
	opacity: 1;
	outline-offset: 2px;
	padding: var(--button--padding-v) var(--button--padding-h);
	text-align: center;
	-webkit-text-decoration: none;
	text-decoration: none;
	transition:
		clip-path 0.2s ease,
		opacity 0.1s ease,
		background-color 0.1s ease,
		color 0.1s ease;
}
.button svg:where(:not(.icon-loader):not(.icon-check)),
button[type="submit"] svg:where(:not(.icon-loader):not(.icon-check)) {
	display: block;
	flex: 0 0 auto
}

.button span:empty,
button[type=submit] span:empty {
	display: none
}
.button [disabled],
.button:disabled,
button[type=submit] [disabled],
button[type=submit]:disabled {
	cursor: not-allowed
}

.button:focus-visible,
.button:hover,
.button[aria-expanded=true],
.navigation:has(.dropdown :focus-visible)>.button,
.navigation:has(.dropdown :focus-visible)>button[type=submit],
.navigation:hover>.button,
.navigation:hover>button[type=submit],
button[type=submit]:focus-visible,
button[type=submit]:hover,
button[type=submit][aria-expanded=true] {
	background-color: var(--button-hover--background-color);
	clip-path: var(--button-hover--clip-path);
	color: var(--button-hover--color);
	opacity: var(--button-hover--opacity)
}
.button:focus-visible,
button[type="submit"]:focus-visible {
	clip-path: none;
}
.button {
	position: relative
}

.button>.loader {
	display: none;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%)
}

.button>.loader svg {
	height: 1.25em;
	width: 1.25em
}

.button>.complete {
	display: none
}

.button.complete,
.button.loading {
	--button--color: var(--color-foreground);
	--button--background-color: var(--color-background-300);
	--button-hover--color: var(--color-foreground);
	--button-hover--background-color: var(--color-background-300);
	clip-path: inset(1px round var(--button--border-radius));
	cursor: default;
	opacity: 1
}

.button.complete>.icon,
.button.loading>.icon {
	display: none
}

.button.loading>.loader {
	display: flex
}

.button.loading>.label {
	visibility: hidden
}

.button.complete>.label {
	display: none
}

.button.complete>.complete {
	display: block
}

.button-icon {
	--button--min-width: auto;
	--button--min-height: auto;
	--button--padding-v: 7.5px;
	--button--padding-h: 7.5px;
	--button--color: var(--color-contrast);
	--button--background-color: transparent;
	--button--clip-path: none;
	--button-hover--color: var(--color-contrast);
	--button-hover--background-color: var(--color-background-300);
	--button-hover--clip-path: none;
	--button-hover--opacity: 1;
	display: block;
	margin-bottom: calc(var(--button--padding-v)*-1);
	margin-top: calc(var(--button--padding-v)*-1)
}

.button-minimal {
	--button--min-width: auto;
	--button--min-height: auto;
	--button--padding-v: 0;
	--button--padding-h: 0;
	--button--font-size: var(--font-x-small);
	--button--color: var(--color-mute);
	--button--background-color: transparent;
	--button--border-radius: 0;
	--button--clip-path: none;
	--button-hover--color: var(--color-contrast);
	--button-hover--background-color: transparent;
	--button-hover--clip-path: none;
	--button-hover--opacity: 1;
	align-items: center;
	display: flex;
	gap: var(--spacing-1)
}

.button-minimal>span {
	padding-top: .1em
}

.button-contrast {
	--button--color: var(--color-background);
	--button--background-color: var(--color-contrast)
}

.button-contrast[disabled] {
	background-color: var(--color-background-300);
	clip-path: none;
	color: var(--color-contrast);
	opacity: 1;
}
.button-contrast[disabled]:hover {
	clip-path: none;
	opacity: 1
}

.button-link {
	--button--min-width: auto;
	--button--min-height: auto;
	--button--padding-v: 0;
	--button--padding-h: 0;
	--button--clip-path: none;
	--button--line-height: initial;
	--button--color: var(--color-mute);
	--button--background-color: transparent;
	--button-hover--color: var(--color-contrast);
	--button-hover--background-color: transparent;
	--button-hover--clip-path: none;
	--button-hover--opacity: 1;
	--link--color: var(--color-mute)
}

.button-link>svg {
	color: var(--button--color);
	transition: color .15s
}

.button-link:hover>svg {
	color: var(--button-hover--color)
}

.card {
	position: relative;
	z-index: 1
}

.card-link {
	border-radius: var(--radius-2) var(--radius-2) var(--radius-3) var(--radius-3);
	bottom: 0;
	left: 0;
	outline-offset: 6px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1
}

.card-link:hover~.card-content,
.card:hover .card-content {
	background-color: var(--color-background-300);
	transform: scale(1.01)
}

.card:hover .card-header {
	position: relative
}

.card:hover .card-header:not(:last-child)>.card-link {
	bottom: calc(var(--spacing-3)*-1)
}

.card-header {
	align-items: flex-start;
	display: flex;
	gap: var(--spacing-2)
}

.card-header:not(:last-child) {
	margin-bottom: var(--spacing-3)
}

.card-title {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.card-image+.card-title {
	padding-top: .175em
}

.card-title>svg {
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem
}

.card-content {
	background-color: var(--color-background-200);
	border-radius: var(--radius-2) var(--radius-3) var(--radius-3);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3);
	padding: var(--spacing-4) 1.25rem;
	position: relative;
	transform: scale(1);
	transform-origin: 0 0;
	transition: transform .2s ease, background-color .15s ease
}

.card-content p {
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	display: -webkit-box;
	margin-bottom: 0;
	overflow: hidden
}

.card-footer {
	align-items: center;
	color: var(--color-mute);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	gap: 2px var(--spacing-2)
}

.card-footer svg {
	display: block
}

.card-icon .tooltip {
	--tooltip--offset: 8px
}

.card-count,
.card-date {
	color: var(--color-mute);
	display: block;
	flex: 0 0 auto;
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
}

.card-image {
	--placeholder--content: "";
	--placeholder--padding: 0;
	display: block;
	overflow: hidden
}

.card-image img {
	background-color: var(--color-background-100);
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.card-header>.card-image {
	border-radius: var(--radius-1);
	flex: 0 0 auto;
	height: 1.625rem;
	order: -1;
	width: 1.625rem
}

.card-post .tooltip {
	--tooltip--translate-x: -9px;
	--tooltip-triangle--translate-x: 100%
}

.card-post .tooltip,
.card-post .tooltip:before {
	left: 0
}

.card-project .card-image {
	border-radius: var(--radius-3);
	width: 100%
}

.card-project .card-image img {
	height: auto
}

.card-project .card-content {
	border-top-left-radius: var(--radius-3);
	margin-top: var(--spacing-3)
}

.card-project .card-title {
	flex-basis: 0;
	flex-grow: 1
}

.card-project .tooltip {
	--tooltip--translate-x: 0;
	--tooltip-triangle--translate-x: -100%
}

.card-project .tooltip,
.card-project .tooltip:before {
	left: auto;
	right: 0
}

.card-author .card-title,
.card-tag .card-title {
	flex-basis: 0;
	flex-grow: 1
}

.card-recommendation .card-title {
	align-items: center;
	display: flex;
	gap: var(--spacing-1)
}

.form-subscribe {
	padding: 0;
}
.form-subscribe input {
	background-color: var(--color-background);
	border-radius: 1.25rem;
	min-height: 2.5rem;
	padding-right: 5rem
}
.form-subscribe .button {
	bottom: 3px;
	min-height: auto;
	min-width: auto;
	position: absolute;
	right: 3px;
	top: 3px;
	width: auto
}
.form-subscribe-wrapper {
	position: relative;
	width: 100%;
}
.button.hover > .label,
.kg-button-card a.hover > .label,
.kg-cta-button.hover > .label {
	animation: onflow-button-label 0.5s ease;
}

@keyframes onflow-button-label {
	0% {
		clip-path: inset(0);
		transform: translateY(0)
	}

	40% {
		clip-path: inset(100% 0 0 0);
		transform: translateY(-100%)
	}

	41% {
		clip-path: inset(0 0 100% 0);
		transform: translateY(100%)
	}

	to {
		clip-path: inset(0);
		transform: translateY(0)
	}
}

.icon-loader path {
	animation: onflow-icon-loader .5s linear infinite;
	transform-origin: 50% 50%
}

@keyframes onflow-icon-loader {
	0% {
		transform: rotate(0)
	}

	to {
		transform: rotate(1turn)
	}
}

.icon-arrow-down {
	transform: rotate(90deg)
}

.icon-arrow-up {
	transform: rotate(-90deg)
}

.icon-arrow-up-right {
	transform: rotate(-45deg)
}

.icon-arrow-left {
	transform: rotate(-180deg)
}

.hover .icon-arrow path:first-child {
	animation: onflow-arrow .6s linear
}

.hover .icon-arrow path:last-child {
	animation: onflow-arrow-stick .6s linear
}

@keyframes onflow-arrow {
	0% {
		transform: translateX(0)
	}

	20% {
		clip-path: inset(0);
		transform: translateX(2px)
	}

	40%,
	80% {
		clip-path: inset(50% 0 50% 100%);
		transform: translateX(2px)
	}

	81% {
		transform: translateX(0)
	}

	to {
		clip-path: inset(0);
	}
}

@keyframes onflow-arrow-stick {
	0% {
		clip-path: inset(-1px 0);
		transform: translateX(0)
	}

	20% {
		clip-path: inset(-1px 0 -1px 100%);
		transform: translateX(2px)
	}

	21%,
	60% {
		clip-path: inset(-1px 100% -1px 0);
		transform: translateX(0)
	}

	80%,
	to {
		clip-path: inset(-1px 0);
	}
}

.logo {
	color: var(--color-contrast);
	display: inline-block;
	flex: 0 0 auto;
	font-size: var(--font-small);
	font-weight: var(--font-weight-bold);
	line-height: 1.214;
	-webkit-text-decoration: none;
	text-decoration: none
}

.logo img {
	height: auto;
	max-height: var(--logo--max-height, 1.25rem);
	width: auto
}

[data-color-scheme=dark] .logo-light {
	opacity: 0;
	pointer-events: none;
	position: absolute
}

@media (prefers-color-scheme:dark) {
	[data-color-scheme=system] .logo-light {
		opacity: 0;
		pointer-events: none;
		position: absolute
	}
}

[data-color-scheme=light] .logo-dark {
	opacity: 0;
	pointer-events: none;
	position: absolute
}

@media (prefers-color-scheme:light) {
	[data-color-scheme=system] .logo-dark {
		opacity: 0;
		pointer-events: none;
		position: absolute
	}
}
.dropdown {
	--dropdown--translate-x: 0;
	background-clip: padding-box;
	background-color: var(--color-background-100);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-2);
	box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
	left: -1px;
	margin-top: var(--padding-v);
	max-width: 220px;
	min-width: 160px;
	top: 100%;
	transform: translate(var(--dropdown--translate-x), -2px);
	transition:
		visibility 0.15s ease,
		opacity 0.15s ease,
		transform 0.2s ease;
	width: -moz-max-content;
	width: max-content;
}

.dropdown:before {
	content: "";
	height: var(--padding-v);
	left: 0;
	position: absolute;
	right: 0;
	top: calc(var(--padding-v)*-1 - 1px)
}
.dropdown-center {
	--dropdown--translate-x: -50%;
	left: 50%;
}
.dropdown-left {
	left: auto;
	right: -1px;
}
.dropdown.show {
	transform: translate(var(--dropdown--translate-x));
}
.nav-item .dropdown:hover,
.nav-link:hover ~ .dropdown {
	transform: translateY(0);
}
:where(.navigation) {
	--navigation--gap-v: var(--spacing-2);
	--navigation--gap-h: 1.25rem;
	position: relative;
}
:where(.navigation) ul {
	display: flex;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	gap: var(--navigation--gap-v) var(--navigation--gap-h);
	line-height: normal;
	list-style: none;
	margin: 0;
	padding: 0;
}
:where(.navigation) .nav-link,
:where(.navigation) .social-link {
	background-color: transparent;
	border: 0;
	display: flex;
	gap: 0.625rem;
	position: relative;
	-webkit-text-decoration: none;
	text-decoration: none;
	width: 100%;
}
:where(.navigation) button.nav-link {
	cursor: pointer;
}
:where(.navigation) .nav-link:not(:focus-visible):before,
:where(.navigation) .social-link:not(:focus-visible):before {
	bottom: calc(var(--navigation--gap-v) * -0.5);
	content: "";
	left: calc(var(--navigation--gap-h) * -0.5);
	position: absolute;
	right: calc(var(--navigation--gap-h) * -0.5);
	top: calc(var(--navigation--gap-v) * -0.5);
}
:where(.navigation-bar, .navigation-tags) ul {
	flex-wrap: wrap;
}
:where(.navigation .dropdown, .navigation .collapse) > ul {
	flex-direction: column;
}
:where(.navigation .dropdown) {
	--navigation--gap-v: 2px;
	--navigation--gap-h: 2px;
}
:where(.navigation .dropdown) > ul {
	margin: 0;
	max-height: calc(95vh - var(--header--min-height));
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 3px;
	scrollbar-width: thin
}
:where(.navigation .dropdown) .nav-link:where(:not(.nav-section-link)) {
	align-items: center;
	border-radius: var(--radius-1);
	color: var(--color-contrast);
	display: flex;
	gap: var(--spacing-2);
	padding: var(--spacing-2) var(--spacing-3);
	transition:
		color 0.15s ease,
		background-color 0.1s ease;
}
:where(.navigation .dropdown) .nav-link:where(:not(.nav-section-link)) > .label {
	transition: transform 0.2s ease;
}
:where(.navigation .dropdown) .nav-link:where(:not(.nav-section-link)) > svg {
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem
}
:where(.navigation .dropdown) .nav-link:where(:not(.nav-section-link)):hover:not([aria-expanded="true"]) > .label {
	transform: translateX(2px);
}
:where(.navigation .dropdown) .nav-item:has(.collapse .nav-link-current) > [aria-expanded="false"],
:where(.navigation .dropdown) .nav-link-current,
:where(.navigation .dropdown) .nav-link:where(:not(.nav-section-link)):hover,
:where(.navigation .dropdown) [aria-expanded="true"] {
	background-color: var(--color-background-300);
	color: var(--color-contrast);
}
:where(.navigation .dropdown) .nav-link-current:hover > .label {
	transform: translateX(0);
}
:where(.navigation-secondary, .navigation-popup) .collapse-toggle:after {
	height: 12px;
	margin-left: auto;
	width: 12px;
}
:where(.navigation-secondary, .navigation-popup) .collapse .nav-item:first-child {
	margin-top: var(--navigation--gap-v);
}
:where(.navigation-bar) .nav-item {
	display: block;
}
:where(.navigation-bar) > ul > .nav-separator {
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}
:where(.navigation-bar) > ul > .nav-separator:before {
	color: var(--color-border);
	content: "/";
}
:where(.navigation-bar) > ul > .nav-section {
	display: none;
}
:where(.navigation-bar) .dropdown {
	left: calc(var(--spacing-3) * -1 - 4px);
}
:where(.navigation-bar) .dropdown-toggle {
	margin-right: -12px;
}
:where(.navigation-popup) {
	--navigation--gap-v: var(--spacing-4);
	padding: var(--padding-v) var(--padding-h);
}
:where(.navigation-popup) + .navigation-popup {
	position: relative;
}
:where(.navigation-popup) + .navigation-popup:before {
	border-top: 1px solid var(--color-border);
	content: "";
	left: var(--padding-h);
	position: absolute;
	right: var(--padding-h);
	top: 0;
}
:where(.navigation-popup) > ul {
	flex-direction: column;
	width: 100%;
}
:where(.navigation-popup) .nav-separator {
	border-top: 1px solid var(--color-border);
}
:where(.navigation-popup) .nav-section {
	display: block;
	margin-top: var(--spacing-3);
}
:where(.navigation-popup) .nav-section-link {
	background-color: transparent;
	color: var(--color-secondary);
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-semibold);
	padding-bottom: 0;
	padding-top: 0;
	transition: color 0.15s ease;
}
:where(.navigation-popup) .nav-section-link:hover {
	background-color: transparent;
	color: var(--color-contrast);
}
:where(.navigation-popup) .nav-section-link:hover > .label {
	transform: none;
}
:where(.navigation-popup) .collapse-toggle {
	--collapse--icon--size: 12px;
	align-items: center;
	padding: 0;
}
:where(.navigation-popup) .collapse-toggle:after {
	margin-left: auto;
}
:where(.navigation-popup) .collapse > ul {
	padding-left: var(--spacing-4);
	position: relative;
}
:where(.navigation-popup) .collapse > ul:before {
	border-left: 1px solid var(--color-border);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	top: var(--navigation--gap-v);
}
:where(.navigation-secondary) .nav-separator {
	border-top: 1px solid var(--color-border);
	margin: 1px -3px
}
:where(.navigation-secondary) .nav-section {
	margin: var(--spacing-3) var(--spacing-3) var(--spacing-2);
}
:where(.navigation-secondary) .nav-section-link {
	color: var(--color-secondary);
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-semibold);
	transition: color 0.15s ease;
}
:where(.navigation-secondary) .nav-section-link > .label {
	transition: none;
}
:where(.navigation-secondary) .nav-section-link:hover {
	color: var(--color-secondary);
}
:where(.navigation-secondary) .nav-section-link[href]:hover {
	color: var(--color-contrast);
}
:where(.navigation-secondary) .collapse li {
	padding-left: 12px;
	position: relative;
}
:where(.navigation-secondary) .collapse li:before {
	border-top: 1.5px solid var(--color-mute);
	content: "";
	left: 6px;
	position: absolute;
	top: 1.15em;
	width: 5px;
}
:where(.navigation-secondary) .collapse .nav-link {
	padding-left: var(--spacing-2);
	padding-right: var(--spacing-2);
}
:where(.navigation-tags) > ul > .nav-separator {
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}
:where(.navigation-tags) > ul > .nav-separator:before {
	color: var(--color-border);
	content: "/";
}
.pricing-wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-7);
	position: relative;
}
.pricing-toggle {
	align-self: center;
	border: 1px solid var(--color-border);
	border-radius: 2rem;
	gap: 2px;
	padding: 3px;
}
.pricing-toggle-monthly,
.pricing-toggle-yearly {
	--button--padding-v: 0.643em;
	--button--padding-h: 1.214em;
	--button--min-width: auto;
	--button--min-height: auto;
	--button--clip-path: none;
	--button--color: var(--color-contrast);
	--button--background-color: transparent;
	--button-hover--color: var(--color-contrast);
	--button-hover--background-color: var(--color-background-200);
}
.pricing-toggle-input-monthly:checked ~ .pricing-toggle > .pricing-toggle-monthly,
.pricing-toggle-input-yearly:checked ~ .pricing-toggle > .pricing-toggle-yearly {
	--button--background-color: var(--color-background-300);
	--button-hover--background-color: var(--color-background-300);
}
.pricing-container {
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-7) 1.875rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: auto;
}
.pricing {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3);
	max-width: 100%;
	position: relative;
	width: 320px;
}
.pricing:only-child {
	width: var(--container--width);
}
.pricing-name {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
}
.pricing-price {
	color: var(--color-secondary);
	flex: 0 0 auto;
	margin-right: auto;
	order: -1;
}
.pricing-price > span:first-child {
	color: var(--color-contrast);
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
}
.pricing-trial {
	align-self: flex-start;
	background-color: var(--color-contrast);
	border-radius: 2rem;
	color: var(--color-background);
	flex: 0 0 auto;
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
	padding: 2px 8px;
}
.pricing-benefits,
.pricing-info {
	background-color: var(--color-background-200);
	border-radius: var(--radius-3);
	color: var(--color-contrast);
	font-size: var(--font-small);
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1));
	width: 100%;
}
.pricing-info {
	flex-basis: 0;
	flex-grow: 1;
	flex-wrap: wrap;
	position: relative;
}
.pricing-benefits,
.pricing-info {
	display: flex;
	gap: var(--spacing-3);
}
.pricing-benefits {
	flex-direction: column;
	height: 100%;
	list-style: none;
	margin: 0;
}
.pricing-benefits > li {
	padding-left: 1.5rem;
	position: relative;
}
.pricing-benefits > li:after {
	background-color: var(--color-accent-foreground);
	content: "";
	height: 0.643em;
	left: 0.25em;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="9" height="9" viewBox="0 0 9 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 2.59998L3.375 6.72497L1.5 4.84998" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg width="9" height="9" viewBox="0 0 9 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.5 2.59998L3.375 6.72497L1.5 4.84998" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	position: absolute;
	top: 0.4em;
	width: 0.643em;
}
.pricing-benefits > li:before {
	background-color: var(--ghost-accent-color);
	border-radius: 50%;
	content: "";
	height: 1.143em;
	left: 0;
	position: absolute;
	top: 0.15em;
	width: 1.143em;
}
.pricing-discount {
	bottom: calc(var(--spacing-2) * -1);
	color: var(--color-secondary);
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
	left: 0;
	position: absolute;
	transform: translateY(100%);
}
.pricing-signin {
	background-color: var(--color-background-200);
	border-radius: var(--radius-2) var(--radius-3) var(--radius-3);
	max-width: 100%;
	padding: var(--spacing-4) 1.25rem;
	width: var(--container--width);
}
@media not all and (min-width: 768px) {
	.pricing-container {
		flex-direction: column;
		width: var(--container--width);
	}
	.pricing {
		width: 100%;
	}
}
.social-links {
	padding-left: 0;
}
:where(.social-links) {
	--social--gap-v: var(--spacing-2);
	--social--gap-h: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	gap: var(--social--gap-v) var(--social--gap-h);
	list-style: none;
	margin: 0;
}
:where(.social-links):not(:has(li)) {
	display: none;
}
:where(.social-links) .social-link {
	align-items: center;
	display: flex;
	gap: 8px;
	position: relative;
	-webkit-text-decoration: none;
	text-decoration: none;
}
:where(.social-links) .social-link:after {
	background-color: var(--color-background-300);
	border-radius: 50%;
	content: "";
	height: 2em;
	left: -.5em;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: scale(.9) translateY(-50%);
	transition: opacity .15s ease, transform .15s ease;
	width: 2em
}
:where(.social-links) .social-link > svg {
	display: block;
	flex: 0 0 auto;
	height: 1em;
	position: relative;
	width: 1em;
	z-index: 1
}
:where(.social-links) .social-link > span {
	transform: translateX(0);
	transition: transform .2s ease
}
:where(.social-links) .social-link,
:where(.social-links) .social-link:focus-visible,
:where(.social-links) .social-link:hover {
	color: var(--color-contrast);
}
:where(.social-links) .social-link:hover:after {
	opacity: 1;
	transform: scale(1) translateY(-50%)
}
:where(.social-links) .social-link:hover > span {
	transform: translateX(1px);
}
:where(.social-links) .social-link:focus-visible:after {
	display: none;
}
:where(.section-hero .social-links) {
	justify-content: center;
}
:where(.footer .social-links) {
	--social--gap-h: var(--font-small);
	flex: 0 0 auto;
}
:where(.footer .social-links) .social-link > span {
	word-wrap: normal !important;
	border: 0;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px !important;
}
.toc {
	background-color: var(--color-background-200);
	border-radius: 0.625rem;
	clip-path: inset(0.75rem 0 0.75rem calc(100% - 1.125rem) round 0.625rem);
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	max-height: 50vh;
	overflow-y: auto;
	padding: var(--spacing-4) 0;
	position: fixed;
	right: var(--padding-h);
	scrollbar-width: none;
	top: 50%;
	transform: translateY(-50%);
	transition: clip-path 0.5s cubic-bezier(0.2, 1, 0.2, 1);
	z-index: 3;
}
.toc ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.toc ul ul {
	padding-left: .5rem
}

.toc a {
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	color: var(--color-foreground);
	display: -webkit-box;
	overflow: hidden;
	padding: 0 var(--spacing-7) 0 var(--spacing-5);
	position: relative;
	text-decoration-color: transparent;
	transition: padding .5s cubic-bezier(.2, 1, .2, 1), color .1s, text-decoration-color .1s
}

.toc a:after {
	background-color: var(--color-border);
	border-radius: .25rem;
	content: "";
	height: .375rem;
	margin-top: -.25rem;
	position: absolute;
	right: .375rem;
	top: 50%;
	transition: background-color .15s, transform .5s cubic-bezier(.2, 1, .2, 1);
	width: .375rem
}

.toc a.active,
.toc a:hover {
	color: var(--color-contrast);
	text-decoration-color: currentcolor
}

.toc a.active:after {
	background-color: currentcolor
}

.toc:has(a:focus-visible),
.toc:hover {
	clip-path: inset(0 round var(--radius-3));
	transition-delay: .3s, 0s, 0s
}

.toc:has(a:focus-visible) a,
.toc:hover a {
	padding-bottom: var(--spacing-1);
	padding-top: var(--spacing-1);
	transition-delay: .3s, 0s, 0s
}

.toc:has(a:focus-visible) a:after,
.toc:hover a:after {
	transform: translateX(-.625rem);
	transition-delay: 0s, .3s
}

.toc.container {
	width: 300px
}

.toc-button,
.toc-title {
	display: none
}

.toc-unlock-link a {
	align-items: center;
	display: flex;
	gap: .4em
}

.toc-unlock-link svg {
	height: 1em;
	min-width: 1em;
	width: 1em
}

.toc>.toc-unlock-link {
	display: none
}

@media not all and (min-width:600px) {
	.toc {
		align-items: center;
		border-radius: var(--radius-3);
		clip-path: none;
		display: flex;
		flex-wrap: wrap;
		gap: 0 var(--spacing-1);
		margin-top: var(--spacing-7);
		max-height: none;
		opacity: 1;
		overflow: hidden;
		padding: .5rem .625rem;
		position: relative;
		right: auto;
		top: auto;
		transform: none;
		transition: height .3s ease;
		visibility: visible
	}

	.toc,
	.toc:has(a:focus-visible),
	.toc:hover {
		transition-delay: 0s
	}

	.toc>ul {
		flex: 0 0 100%;
		padding: var(--spacing-2) var(--spacing-2) var(--spacing-1)
	}

	.toc a {
		padding-left: 0;
		padding-right: 0
	}

	.toc a:after {
		display: none
	}

	.toc:has(a:focus-visible),
	.toc:hover {
		clip-path: none;
	}

	.toc.container {
		width: var(--container--width)
	}

	.toc-button {
		--button-hover--background-color: var(--color-border);
		display: flex;
		flex: 0 0 auto;
		margin: 0;
		position: static
	}

	.toc-button:before {
		bottom: 0;
		content: "";
		left: 0;
		max-height: 2.875rem;
		position: absolute;
		right: 0;
		top: 0
	}

	.toc-button[aria-expanded=false]~ul {
		display: none
	}

	.toc-title {
		color: var(--color-contrast);
		display: block;
		flex: 1 0 0%;
		font-weight: var(--font-weight-semibold);
	}
}
.toc-hidden,
[data-color-scheme="dark"] .toggle-color-scheme > .button > .icon-sun {
	display: none;
}

@media (prefers-color-scheme:dark) {
	[data-color-scheme=system] .toggle-color-scheme>.button>.icon-sun {
		display: none
	}
}

[data-color-scheme=light] .toggle-color-scheme>.button>.icon-moon {
	display: none
}

@media (prefers-color-scheme:light) {
	[data-color-scheme=system] .toggle-color-scheme>.button>.icon-moon {
		display: none
	}
}

.toggle-color-scheme-button {
	cursor: pointer
}

[data-color-scheme=dark] [value=dark],
[data-color-scheme=light] [value=light],
[data-color-scheme=system] [value=system] {
	background-color: var(--color-background-300)
}

[data-color-scheme=dark] [value=dark]:hover>.label,
[data-color-scheme=light] [value=light]:hover>.label,
[data-color-scheme=system] [value=system]:hover>.label {
	transform: translateX(0)
}

:has(>.tooltip) {
	position: relative;
	z-index: 1
}

:hover>.tooltip {
	opacity: 1;
	transform: translateX(var(--tooltip--translate-x)) translateY(0);
	transition-delay: .2s;
	visibility: visible
}

.tooltip {
	--tooltip--offset: 6px;
	--tooltip--translate-x: -50%;
	--tooltip--background-color: var(--color-background);
	--tooltip-triangle--size: 5px;
	--tooltip-triangle--translate-x: -50%;
	background-color: var(--tooltip--background-color);
	border-radius: var(--radius-1);
	box-shadow: 0 2px 7px -3px rgba(0, 0, 0, .4);
	color: var(--color-contrast);
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
	line-height: 1.5;
	margin-top: var(--tooltip--offset);
	opacity: 0;
	padding: var(--spacing-1) var(--spacing-3);
	pointer-events: none;
	text-transform: capitalize;
	top: 100%;
	transform: translate(var(--tooltip--translate-x), 1px);
	transition: transform .2s ease, opacity .2s ease, visibility .2s ease;
	visibility: hidden;
	white-space: nowrap;
	z-index: 3
}

.tooltip,
.tooltip:before {
	left: 50%;
	position: absolute
}

.tooltip:before {
	border-bottom: var(--tooltip-triangle--size) solid var(--tooltip--background-color);
	border-left: var(--tooltip-triangle--size) solid transparent;
	border-right: var(--tooltip-triangle--size) solid transparent;
	content: "";
	height: 0;
	top: calc(var(--tooltip-triangle--size)*-1);
	transform: translate(var(--tooltip-triangle--translate-x), 1px);
	width: 0
}

.tooltip.show {
	opacity: 1;
	transform: translate(var(--tooltip--translate-x));
	transition-delay: 0s;
	visibility: visible
}

.tooltip-top {
	bottom: 100%;
	margin-bottom: var(--tooltip--offset);
	margin-top: 0;
	top: auto;
	transform: translate(var(--tooltip--translate-x), -1px)
}

.tooltip-top:before {
	border-bottom: 0;
	border-top: var(--tooltip-triangle--size) solid var(--tooltip--background-color);
	bottom: calc(var(--tooltip-triangle--size)*-1);
	top: auto;
	transform: translate(var(--tooltip-triangle--translate-x), -1px)
}

[data-color-scheme=dark] .tooltip {
	--tooltip--background-color: var(--color-mute)
}

@media (prefers-color-scheme:dark) {
	[data-color-scheme=system] .tooltip {
		--tooltip--background-color: var(--color-mute)
	}
}

.post-content .kg-audio-card {
	background-color: transparent;
	border-radius: 0;
	box-shadow: none;
	color: var(--color-contrast);
	padding: 0;
	position: relative
}

.post-content .kg-audio-thumbnail {
	border-radius: var(--radius-1);
	height: 1.625rem;
	left: 0;
	margin: 0;
	min-width: auto;
	position: absolute;
	top: 0;
	width: 1.625rem
}

.post-content .kg-audio-thumbnail.placeholder:before {
	background-color: var(--color-accent-foreground);
	content: "";
	height: 1rem;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 12V3.33333L14 2V10.6667" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 14C5.10457 14 6 13.1046 6 12C6 10.8954 5.10457 10 4 10C2.89543 10 2 10.8954 2 12C2 13.1046 2.89543 14 4 14Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 12.6667C13.1046 12.6667 14 11.7713 14 10.6667C14 9.56212 13.1046 8.66669 12 8.66669C10.8954 8.66669 10 9.56212 10 10.6667C10 11.7713 10.8954 12.6667 12 12.6667Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 12V3.33333L14 2V10.6667" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 14C5.10457 14 6 13.1046 6 12C6 10.8954 5.10457 10 4 10C2.89543 10 2 10.8954 2 12C2 13.1046 2.89543 14 4 14Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M12 12.6667C13.1046 12.6667 14 11.7713 14 10.6667C14 9.56212 13.1046 8.66669 12 8.66669C10.8954 8.66669 10 9.56212 10 10.6667C10 11.7713 10.8954 12.6667 12 12.6667Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: 1rem
}

.post-content .kg-audio-thumbnail.placeholder svg {
	display: none
}

.post-content .kg-audio-player-container {
	display: block
}

.post-content .kg-audio-seek-slider {
	display: block;
	flex-basis: 0
}

.post-content .kg-audio-title {
	align-items: center;
	color: var(--color-contrast);
	display: flex;
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	margin-bottom: var(--spacing-3);
	margin-top: 0;
	min-height: 1.625rem;
	padding: 0 0 0 calc(var(--spacing-2) + 1.625rem)
}

.post-content .kg-audio-player {
	background-color: var(--color-background-200);
	border-radius: var(--radius-2) var(--radius-3) var(--radius-3);
	flex-grow: 0;
	flex-wrap: wrap;
	gap: 6px;
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1))
}
.post-content .kg-audio-current-time {
	min-width: 32px;
	padding-right: 0;
}
.post-content .kg-audio-playback-rate {
	border-radius: 3px;
	justify-content: center;
	min-width: 34px;
	padding: 0.15rem 0.25rem;
}

.post-content .kg-audio-playback-rate:hover {
	box-shadow: 0 0 0 1px var(--color-border)
}

.post-content .kg-audio-unmute-icon {
	margin-right: -6px
}

@media not all and (min-width:768px) {
	.post-content .kg-audio-volume-slider {
		display: none
	}
}

@media not all and (min-width:600px) {
	.post-content .kg-audio-seek-slider {
		display: none
	}
}

blockquote.kg-blockquote-alt {
	font-family: var(--font-family-headings);
	font-size: 1.375rem;
	font-style: normal;
	font-weight: var(--font-weight-medium);
	font-weight: var(--font-weight-light);
	line-height: 1.2;
	padding: var(--spacing-4)
}

blockquote.kg-blockquote-alt:before {
	display: none
}

.post-content .kg-bookmark-card {
	position: relative
}

.post-content .kg-bookmark-card a.kg-bookmark-container {
	background-color: var(--color-background-200);
	border: 0;
	border-radius: var(--radius-3);
	transition: background-color .15s ease
}

.post-content .kg-bookmark-card a.kg-bookmark-container:hover {
	background-color: var(--color-background-300);
	border: 0;
	border-radius: var(--radius-3)
}

.post-content .kg-bookmark-container {
	gap: var(--spacing-4);
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1))
}

.post-content .kg-bookmark-thumbnail {
	background-color: var(--color-background-300);
	margin-bottom: calc(var(--spacing-4)*-1);
	margin-right: calc(var(--spacing-4)*-1 - var(--spacing-1));
	margin-top: calc(var(--spacing-4)*-1)
}

.post-content .kg-bookmark-content {
	padding: 0
}

.post-content .kg-bookmark-title {
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	color: var(--color-contrast);
	display: -webkit-box;
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	overflow: hidden
}

.post-content .kg-bookmark-description {
	-webkit-line-clamp: 3;
	color: var(--color-foreground);
	font-size: var(--font-small);
	line-height: inherit;
	margin-top: var(--spacing-3);
	max-height: none;
	opacity: 1
}

.post-content .kg-bookmark-metadata {
	color: var(--color-contrast);
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	margin-top: var(--spacing-3)
}

.post-content .kg-bookmark-icon {
	margin-right: var(--spacing-2)
}

.post-content .kg-bookmark-metadata>span:nth-of-type(2):before {
	content: "-"
}

.post-content .kg-bookmark-metadata>:not(img) {
	opacity: 1
}

.kg-btn,
.kg-cta-button,
.kg-header-card-button,
.kg-product-card-button,
.kg-signup-card-button {
	border-radius: var(--button--border-radius) !important;
	clip-path: inset(1px round var(--button--border-radius));
	display: inline-flex;
	font-family: var(--font-family-button) !important;
	font-size: var(--button--font-size) !important;
	font-weight: var(--button--font-weight) !important;
	height: auto !important;
	justify-content: center;
	line-height: var(--button--line-height) !important;
	min-height: var(--button--min-height) !important;
	min-width: var(--button--min-width);
	opacity: 1;
	outline-offset: 2px;
	padding: var(--button--padding-v) var(--button--padding-h) !important;
	text-align: center;
	transition: var(--button--transition) !important
}

.kg-btn:hover,
.kg-cta-button:hover,
.kg-header-card-button:hover,
.kg-product-card-button:hover,
.kg-signup-card-button:hover {
	clip-path: inset(0 round var(--button--border-radius));
	opacity: var(--button-hover--opacity);
}

.kg-btn:focus-visible,
.kg-cta-button:focus-visible,
.kg-header-card-button:focus-visible,
.kg-product-card-button:focus-visible,
.kg-signup-card-button:focus-visible {
	clip-path: none;
}

.kg-btn,
.kg-product-card-button {
	background-color: var(--button--background-color) !important;
	color: var(--button--color) !important
}

.kg-btn:hover,
.kg-product-card-button:hover {
	background-color: var(--button-hover--background-color) !important;
	color: var(--button-hover--color) !important
}

.post-content .kg-callout-card {
	border-radius: var(--radius-2) var(--radius-3) var(--radius-3);
	color: var(--color-contrast);
	gap: var(--spacing-3);
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1));
	position: relative
}

.post-content .kg-callout-card div.kg-callout-emoji {
	align-items: center;
	align-self: flex-start;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	padding-right: 0
}

.post-content .kg-callout-text {
	font-weight: var(--font-weight-medium);
}

.post-content .kg-callout-card-accent {
	color: var(--color-accent-foreground)
}

.kg-code-card pre {
	margin-bottom: 0
}

.kg-code-card>.shiki {
	border: 1px solid var(--color-border)
}
.post-content .kg-cta-card {
	border-radius: var(--radius-3);
}
.post-content .kg-cta-sponsor-label-wrapper {
	margin: 0 calc(var(--spacing-4) + var(--spacing-1));
	padding: var(--spacing-4) 0;
}
.post-content .kg-cta-sponsor-label {
	font-family: inherit;
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-semibold);
}
.post-content .kg-cta-image-container img {
	border-radius: var(--radius-2);
}
.post-content .kg-cta-content {
	gap: calc(var(--spacing-4) + var(--spacing-1));
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1)) calc(var(--spacing-4) + var(--spacing-1));
}
.post-content .kg-cta-has-img .kg-cta-content {
	padding-top: calc(var(--spacing-4) + var(--spacing-1));
}
.post-content .kg-cta-content-inner {
	gap: calc(var(--spacing-4) + var(--spacing-1));
}
.post-content .kg-cta-text p {
	line-height: inherit;
}
.post-content .kg-cta-has-img .kg-cta-button {
	margin-bottom: var(--spacing-2);
}
.post-content .kg-cta-button {
	align-self: flex-start;
	width: auto;
}
.post-content .kg-cta-button:hover {
	opacity: var(--button-hover--opacity);
}
.post-content .kg-cta-bg-white {
	background-color: var(--color-background);
	border: 1px solid var(--color-border);
	box-shadow: none;
}
.post-content .kg-cta-bg-white .kg-cta-sponsor-label-wrapper {
	border-color: var(--color-border);
}
.post-content .kg-cta-bg-white .kg-cta-sponsor-label {
	color: var(--color-contrast);
}
.post-content .kg-cta-bg-white .kg-cta-sponsor-label a:hover {
	color: var(--ghost-accent-color);
	opacity: 1;
}
.post-content .kg-cta-bg-white .kg-cta-sponsor-label span:not(a span) {
	color: var(--color-secondary);
}
.post-content .kg-cta-bg-grey {
	background-color: var(--color-background-200);
}
.post-content .kg-cta-bg-grey .kg-cta-sponsor-label {
	color: var(--color-contrast);
}
.post-content .kg-cta-button[style="background-color: #000000; color: #FFFFFF;"] {
	background-color: var(--color-contrast) !important;
	color: var(--color-background) !important;
}
.post-content .kg-cta-button[style="background-color: #F0F0F0; color: #000000;"] {
	background-color: var(--color-background-300) !important;
	color: var(--color-contrast) !important;
}
.post-content .kg-cta-button.kg-style-accent {
	color: var(--color-accent-foreground) !important;
}
.post-content
	.kg-embed-card
	> :where(iframe[src*="player.vimeo.com"], iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"]) {
	background-color: var(--color-background-200);
}
.post-content .kg-embed-card > iframe[src*="kickstarter.com"][src*="video.html"],
.post-content .kg-embed-card > iframe[src*="player.vimeo.com"],
.post-content .kg-embed-card > iframe[src*="youtube-nocookie.com"],
.post-content .kg-embed-card > iframe[src*="youtube.com"] {
	aspect-ratio: 16/9;
	height: auto;
	width: 100%
}

.kg-embed-card>.twitter-tweet {
	margin: 0
}

.post-content .kg-file-card {
	position: relative
}

.post-content .kg-file-card a.kg-file-card-container {
	background-color: var(--color-background-200);
	border: 0;
	border-radius: var(--radius-3);
	color: var(--color-foreground);
	min-height: auto;
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1));
	transition: background-color .15s ease
}

.post-content .kg-file-card a.kg-file-card-container:hover {
	background-color: var(--color-background-300);
	border: 0
}

.post-content .kg-file-card-container {
	gap: var(--spacing-4)
}

.post-content .kg-file-card-contents {
	gap: var(--spacing-2);
	justify-content: space-evenly;
	margin: 0
}

.post-content .kg-file-card-title {
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	color: var(--color-contrast);
	display: -webkit-box;
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	overflow: hidden
}

.post-content .kg-file-card-caption {
	font-size: var(--font-small);
	line-height: inherit;
	margin-top: 0;
	opacity: 1
}

.post-content .kg-file-card-caption:empty {
	display: none
}

.post-content .kg-file-card-title+.kg-file-card-caption {
	margin-top: 2px
}

.post-content .kg-file-card-metadata {
	align-items: flex-end;
	color: var(--color-mute);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
	gap: 0 var(--spacing-2);
	line-height: inherit;
	margin-top: 0
}

.post-content .kg-file-card-filename {
	font-weight: inherit
}

.post-content .kg-file-card-filesize {
	font-size: 1em;
	margin-left: auto;
	opacity: 1
}

.post-content .kg-file-card-filesize:before {
	display: none
}

.post-content .kg-file-card-icon {
	background-color: var(--color-background);
	border-radius: var(--radius-1)
}

.post-content .kg-file-card-icon:before {
	display: none
}

.post-content .kg-file-card-icon svg {
	color: var(--color-secondary);
	height: 1.5rem;
	width: 1.5rem
}

.footnote-item>p {
	margin-bottom: var(--spacing-1)
}

.post-content .kg-gallery-card {
	--gap: 6px
}

.post-content .kg-gallery-image img {
	background-color: var(--color-background-200);
	-o-object-fit: cover;
	object-fit: cover;
}

.post-content .kg-gallery-card:not(.kg-card-hascaption)+.kg-gallery-card,
.post-content .kg-gallery-card:not(.kg-card-hascaption)+.kg-image-card,
.post-content .kg-image-card:not(.kg-card-hascaption)+.kg-gallery-card,
.post-content .kg-image-card:not(.kg-card-hascaption)+.kg-image-card {
	margin-top: calc(var(--spacing-6)*-1 + var(--gap))
}

.kg-gallery-image img,
.kg-image-card img {
	background-color: var(--color-background-200);
	width: 100%
}

.post-content .kg-product-card-container {
	background-color: transparent;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-3);
	box-shadow: none;
	color: var(--color-foreground);
	gap: var(--spacing-3) var(--spacing-4);
	max-width: 100%;
	padding: var(--spacing-5)
}

.post-content .kg-product-card-image {
	background-color: var(--color-background-300);
	border-radius: var(--radius-2);
	margin-bottom: var(--spacing-2);
	width: 100%
}

.post-content .kg-product-card h4.kg-product-card-title {
	font-family: var(--font-family-headings);
	font-family: inherit;
	font-size: 1.125rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.post-content .kg-product-card-rating {
	color: var(--color-contrast);
	padding-left: 0
}

.post-content .kg-product-card-rating svg {
	height: var(--font-small);
	width: var(--font-small)
}

.post-content .kg-product-card-rating-star {
	width: 18px
}

.post-content .kg-product-card-description:empty {
	display: none
}

.post-content .kg-product-card .kg-product-card-description p:first-of-type {
	margin-top: 0
}

.post-content .kg-product-card .kg-product-card-description ol,
.post-content .kg-product-card .kg-product-card-description p,
.post-content .kg-product-card .kg-product-card-description ul {
	color: var(--color-foreground);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	opacity: 1
}

.post-content .kg-product-card a.kg-product-card-button {
	margin-top: var(--spacing-2)
}

.kg-header-card.kg-width-full+.kg-header-card.kg-width-full,
.kg-header-card.kg-width-full+.kg-signup-card.kg-width-full,
.kg-signup-card.kg-width-full+.kg-header-card.kg-width-full,
.kg-signup-card.kg-width-full+.kg-signup-card.kg-width-full {
	margin-top: calc(var(--spacing-5)*-1 - var(--spacing-1))
}

.post-content .kg-header-card,
.post-content .kg-signup-card {
	overflow: hidden
}

.post-content .kg-header-card .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-header-card .kg-signup-card-content h2.kg-signup-card-heading,
.post-content .kg-signup-card .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-signup-card .kg-signup-card-content h2.kg-signup-card-heading {
	font-family: var(--font-family-headings);
	font-size: 1.625rem;
	font-weight: var(--font-weight-medium);
	letter-spacing: normal;
	line-height: 1.1
}

.post-content .kg-header-card .kg-header-card-content h2.kg-header-card-heading strong,
.post-content .kg-header-card .kg-signup-card-content h2.kg-signup-card-heading strong,
.post-content .kg-signup-card .kg-header-card-content h2.kg-header-card-heading strong,
.post-content .kg-signup-card .kg-signup-card-content h2.kg-signup-card-heading strong {
	font-weight: var(--font-weight-medium);
}

.post-content .kg-header-card .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-header-card .kg-signup-card-content .kg-signup-card-text>p,
.post-content .kg-signup-card .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-signup-card .kg-signup-card-content .kg-signup-card-text>p {
	font-size: 1rem;
	font-weight: inherit;
	line-height: inherit;
	margin: 0;
	max-width: 100%
}

.post-content .kg-header-card .kg-header-card-button:focus-visible,
.post-content .kg-header-card .kg-signup-card-button:focus-visible,
.post-content .kg-signup-card .kg-header-card-button:focus-visible,
.post-content .kg-signup-card .kg-signup-card-button:focus-visible {
	outline: 1px dotted #212121;
	outline: 5px auto -webkit-focus-ring-color
}

.post-content .kg-header-card .kg-header-card-button .kg-style-accent:hover,
.post-content .kg-header-card .kg-signup-card-button .kg-style-accent:hover,
.post-content .kg-signup-card .kg-header-card-button .kg-style-accent:hover,
.post-content .kg-signup-card .kg-signup-card-button .kg-style-accent:hover {
	background-color: var(--button-hover--background-color) !important;
	color: var(--button-hover--color) !important
}

.post-content .kg-header-card .kg-header-card-content .kg-header-card-text>.kg-header-card-button,
.post-content .kg-signup-card .kg-header-card-content .kg-header-card-text>.kg-header-card-button {
	letter-spacing: normal;
	margin-top: var(--spacing-1)
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form {
	margin-top: 0;
	padding: var(--spacing-1) 0
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form>.kg-signup-card-fields,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form>.kg-signup-card-fields {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	flex-direction: column;
	gap: var(--spacing-2);
	padding: 0
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form .kg-signup-card-input,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form .kg-signup-card-input {
	margin: 0
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form .kg-signup-card-input:focus-visible,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form .kg-signup-card-input:focus-visible {
	outline: 1px dotted #212121;
	outline: 5px auto -webkit-focus-ring-color
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form.error .kg-signup-card-fields,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form.error .kg-signup-card-fields {
	border: 0;
	box-shadow: none
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-form.error .kg-signup-card-fields .kg-signup-card-input,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-form.error .kg-signup-card-fields .kg-signup-card-input {
	border-color: var(--color-error)
}

.post-content .kg-header-card .kg-align-center .kg-signup-card-form,
.post-content .kg-signup-card .kg-align-center .kg-signup-card-form {
	align-items: center
}

.post-content .kg-header-card .kg-signup-card-text>.kg-signup-card-disclaimer,
.post-content .kg-signup-card .kg-signup-card-text>.kg-signup-card-disclaimer {
	color: var(--color-secondary)
}

.post-content .kg-header-card .kg-header-card-content .kg-header-card-text,
.post-content .kg-header-card .kg-signup-card-content .kg-signup-card-text,
.post-content .kg-signup-card .kg-header-card-content .kg-header-card-text,
.post-content .kg-signup-card .kg-signup-card-content .kg-signup-card-text {
	gap: var(--spacing-3);
	margin: 0 auto;
	max-width: 100%;
	min-height: 40vh;
	padding: var(--spacing-7) var(--padding-h);
	width: var(--container--width)
}

.post-content .kg-header-card.kg-width-wide .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-header-card.kg-width-wide .kg-signup-card-content h2.kg-signup-card-heading,
.post-content .kg-signup-card.kg-width-wide .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-signup-card.kg-width-wide .kg-signup-card-content h2.kg-signup-card-heading {
	font-size: clamp(1.625rem, 1.4063rem + 1.0938vw, 2.5rem)
}

.post-content .kg-header-card.kg-width-wide .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-header-card.kg-width-wide .kg-signup-card-content .kg-signup-card-text>p,
.post-content .kg-signup-card.kg-width-wide .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-signup-card.kg-width-wide .kg-signup-card-content .kg-signup-card-text>p {
	font-size: clamp(1rem, .9688rem + .1563vw, 1.125rem)
}

.post-content .kg-header-card.kg-width-wide .kg-header-card-content .kg-header-card-text,
.post-content .kg-header-card.kg-width-wide .kg-signup-card-content .kg-signup-card-text,
.post-content .kg-signup-card.kg-width-wide .kg-header-card-content .kg-header-card-text,
.post-content .kg-signup-card.kg-width-wide .kg-signup-card-content .kg-signup-card-text {
	gap: clamp(.75rem, .625rem + .625vw, 1.25rem);
	min-height: 60vh;
	padding-bottom: var(--spacing-9);
	padding-top: var(--spacing-9)
}

.post-content .kg-header-card.kg-width-wide .kg-header-card-button,
.post-content .kg-header-card.kg-width-wide .kg-signup-card-button,
.post-content .kg-signup-card.kg-width-wide .kg-header-card-button,
.post-content .kg-signup-card.kg-width-wide .kg-signup-card-button {
	--button--padding-h: clamp(1.25rem, 1.1563rem + 0.4688vw, 1.625rem);
	--button--min-height: clamp(2.25rem, 2.125rem + 0.625vw, 2.75rem);
	--button--font-size: clamp(0.875rem, 0.8438rem + 0.1563vw, 1rem)
}

.post-content .kg-header-card.kg-width-wide .kg-signup-card-input,
.post-content .kg-signup-card.kg-width-wide .kg-signup-card-input {
	font-size: clamp(.875rem, .8438rem + .1563vw, 1rem);
	min-height: clamp(2.25rem, 2.125rem + .625vw, 2.75rem)
}

.post-content .kg-header-card.kg-width-full,
.post-content .kg-signup-card.kg-width-full {
	border-radius: 0
}

.post-content .kg-header-card.kg-width-full .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-header-card.kg-width-full .kg-signup-card-content h2.kg-signup-card-heading,
.post-content .kg-signup-card.kg-width-full .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-signup-card.kg-width-full .kg-signup-card-content h2.kg-signup-card-heading {
	font-size: clamp(1.625rem, 1.0938rem + 2.6563vw, 3.75rem)
}

.post-content .kg-header-card.kg-width-full .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-header-card.kg-width-full .kg-signup-card-content .kg-signup-card-text>p,
.post-content .kg-signup-card.kg-width-full .kg-header-card-content .kg-header-card-text>p,
.post-content .kg-signup-card.kg-width-full .kg-signup-card-content .kg-signup-card-text>p {
	font-size: clamp(1rem, .9688rem + .1563vw, 1.125rem)
}

.post-content .kg-header-card.kg-width-full .kg-header-card-content .kg-header-card-text,
.post-content .kg-header-card.kg-width-full .kg-signup-card-content .kg-signup-card-text,
.post-content .kg-signup-card.kg-width-full .kg-header-card-content .kg-header-card-text,
.post-content .kg-signup-card.kg-width-full .kg-signup-card-content .kg-signup-card-text {
	gap: clamp(.75rem, .625rem + .625vw, 1.25rem);
	min-height: 80vh;
	padding-bottom: var(--spacing-9);
	padding-top: var(--spacing-9)
}

.post-content .kg-header-card.kg-width-full .kg-header-card-button,
.post-content .kg-header-card.kg-width-full .kg-signup-card-button,
.post-content .kg-signup-card.kg-width-full .kg-header-card-button,
.post-content .kg-signup-card.kg-width-full .kg-signup-card-button {
	--button--padding-h: clamp(1.25rem, 1.1563rem + 0.4688vw, 1.625rem);
	--button--font-size: clamp(0.875rem, 0.8438rem + 0.1563vw, 1rem);
	--button--min-height: clamp(2.25rem, 2.125rem + 0.625vw, 2.75rem)
}

.post-content .kg-header-card.kg-width-full .kg-signup-card-input,
.post-content .kg-signup-card.kg-width-full .kg-signup-card-input {
	font-size: clamp(.875rem, .8438rem + .1563vw, 1rem);
	min-height: clamp(2.25rem, 2.125rem + .625vw, 2.75rem)
}

.post-content .kg-header-card.kg-layout-split .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-header-card.kg-layout-split .kg-signup-card-content h2.kg-signup-card-heading,
.post-content .kg-signup-card.kg-layout-split .kg-header-card-content h2.kg-header-card-heading,
.post-content .kg-signup-card.kg-layout-split .kg-signup-card-content h2.kg-signup-card-heading {
	font-size: clamp(1.625rem, 1.4063rem + 1.0938vw, 2.5rem)
}

.post-content .kg-header-card.kg-content-wide .kg-header-card-content .kg-header-card-text,
.post-content .kg-header-card.kg-content-wide .kg-signup-card-content .kg-signup-card-text,
.post-content .kg-signup-card.kg-content-wide .kg-header-card-content .kg-header-card-text,
.post-content .kg-signup-card.kg-content-wide .kg-signup-card-content .kg-signup-card-text {
	width: var(--container-wide--width)
}

.post-content .kg-header-card.kg-style-accent,
.post-content .kg-header-card.kg-style-accent .kg-header-card-heading,
.post-content .kg-header-card.kg-style-accent .kg-header-card-subheading,
.post-content .kg-signup-card.kg-style-accent,
.post-content .kg-signup-card.kg-style-accent .kg-header-card-heading,
.post-content .kg-signup-card.kg-style-accent .kg-header-card-subheading {
	color: var(--color-accent-foreground) !important
}

.post-content .kg-header-card[style="background-color: #F0F0F0;"],
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"],
.post-content .kg-signup-card[style="background-color: #F0F0F0;"],
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] {
	background-color: var(--color-background-100) !important
}

.post-content .kg-header-card[style="background-color: #F0F0F0;"],
.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-header-card-heading,
.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-signup-card-heading,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"],
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-header-card-heading,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-heading,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"],
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-header-card-heading,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-signup-card-heading,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"],
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-header-card-heading,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-heading {
	color: var(--color-contrast) !important
}

.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-header-card-subheading,
.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-signup-card-disclaimer,
.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-signup-card-subheading,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-header-card-subheading,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-disclaimer,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-subheading,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-header-card-subheading,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-signup-card-disclaimer,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-signup-card-subheading,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-header-card-subheading,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-disclaimer,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-subheading {
	color: var(--color-foreground) !important
}

.post-content .kg-header-card[style="background-color: #F0F0F0;"] .kg-signup-card-input,
.post-content .kg-header-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-input,
.post-content .kg-signup-card[style="background-color: #F0F0F0;"] .kg-signup-card-input,
.post-content .kg-signup-card[style="background-color: rgb(240, 240, 240);"] .kg-signup-card-input {
	background-color: var(--color-background)
}

.post-content .kg-header-card:not(.kg-layout-split)>picture:before,
.post-content .kg-signup-card:not(.kg-layout-split)>picture:before {
	background-color: rgba(0, 0, 0, .5);
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1
}

.post-content .kg-header-card:not(.kg-layout-split)>picture+div,
.post-content .kg-signup-card:not(.kg-layout-split)>picture+div {
	position: relative;
	z-index: 1
}

.post-content .kg-header-card:not(.kg-layout-split)>picture+div .kg-signup-card-subheading,
.post-content .kg-signup-card:not(.kg-layout-split)>picture+div .kg-signup-card-subheading {
	opacity: .9
}

.post-content .kg-header-card:not(.kg-layout-split)>picture+div .kg-signup-card-disclaimer,
.post-content .kg-signup-card:not(.kg-layout-split)>picture+div .kg-signup-card-disclaimer {
	opacity: .8
}

@media not all and (min-width:600px) {

	.post-content .kg-layout-split .kg-header-card-content,
	.post-content .kg-layout-split .kg-signup-card-content {
		grid-template-columns: minmax(0, 1fr)
	}
}

.post-content .kg-toggle-card {
	background-color: var(--color-background-200);
	border: 0;
	border-radius: var(--radius-2);
	box-shadow: none;
	padding: var(--spacing-4) calc(var(--spacing-4) + var(--spacing-1));
	transition: background-color .15s ease
}

.post-content .kg-toggle-card:has(.kg-toggle-heading:hover) {
	background-color: var(--color-background-300)
}

.post-content .kg-toggle-heading {
	position: relative
}

.post-content .kg-toggle-heading:before {
	bottom: calc(var(--spacing-3)*-1);
	content: "";
	left: calc(var(--spacing-4)*-1);
	position: absolute;
	right: calc(var(--spacing-4)*-1);
	top: calc(var(--spacing-3)*-1)
}

.post-content .kg-toggle-content {
	transition: opacity .2s ease, top .2s ease
}

.post-content .kg-toggle-card+.kg-toggle-card {
	margin-top: calc(var(--spacing-4)*-1)
}

.post-content .kg-toggle-card h4.kg-toggle-heading-text {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.post-content .kg-toggle-card-icon {
	height: 1.125em;
	width: 1.125em
}

.post-content .kg-toggle-card-icon svg {
	color: var(--color-secondary);
	height: .625em;
	width: .625em
}

.post-content .kg-toggle-card-icon path {
	stroke-width: 3.5
}

.post-content .kg-toggle-card .kg-toggle-content ol,
.post-content .kg-toggle-card .kg-toggle-content p,
.post-content .kg-toggle-card .kg-toggle-content ul {
	font-size: inherit;
	line-height: inherit;
	margin-top: var(--spacing-3)
}

.post-content .kg-toggle-card[data-kg-toggle-state=close] .kg-toggle-content,
.post-content .kg-video-hide-animated>button {
	visibility: hidden
}

.post-content .kg-video-large-play-icon {
	height: 3.75rem;
	width: 3.75rem
}

.post-content .kg-video-large-play-icon svg {
	width: 1em
}

.kg-video-card video {
	background-color: var(--color-background-200)
}
.content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-9);
	margin-bottom: auto;
	padding-left: var(--padding-h);
	padding-right: var(--padding-h);
	padding-top: var(--spacing-9)
}

.container {
	width: var(--container--width)
}

.container,
.container-wide {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%
}

.container-wide {
	width: var(--container-wide--width)
}

.header {
	align-items: center;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	display: flex;
	gap: var(--spacing-4);
	justify-content: space-between;
	left: 0;
	min-height: var(--header--min-height);
	padding: var(--padding-v) var(--padding-h);
	position: sticky;
	top: 0;
	z-index: 10000
}

.header:before {
	background-color: var(--color-background);
	content: "";
	height: 100%;
	left: 0;
	opacity: .8;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1
}

.header-logo {
	align-items: center;
	display: flex;
	gap: 0 5px;
	max-width: 100%;
	width: 9rem
}

.header-logo>.button {
	display: none;
	margin-left: -7.5px
}

.header-navigation {
	align-items: center;
	display: flex;
	gap: .625rem
}

.header-navigation .navigation>ul {
	justify-content: center
}

.header-buttons {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	max-width: 100%;
	width: 9rem
}

.header-buttons>a,
.header-buttons>button,
.header-buttons>div {
	flex: 0 0 auto
}
.header-buttons > .button-link {
	--link--color: var(--color-contrast);
	line-height: normal;
	margin-left: 0.5rem;
}

@media not all and (min-width:768px) {
	.header-logo>.button {
		display: block
	}

	.header .header-navigation {
		display: none
	}
}

.footer {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--spacing-3) var(--spacing-5);
	margin: var(--spacing-9) auto 0;
	max-width: 100%;
	padding-bottom: var(--padding-v);
	padding-left: var(--padding-h);
	padding-right: var(--padding-h);
	width: calc(var(--container--width) + var(--padding-h)*2)
}
.footer-copyright {
	flex-basis: 0;
	flex-grow: 1;
	font-size: var(--font-small)
}

.popup {
	display: flex;
	opacity: 1;
	overflow: hidden;
	transition: visibility .5s
}

.content .popup-close {
	display: none
}

.popup .popup-close {
	display: block
}

.popup-overlay {
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background-color: transparent;
	border: 0;
	cursor: pointer;
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: opacity .15s ease-in-out, visibility .15s ease-in-out;
	visibility: hidden;
	width: 100%;
	z-index: -1
}

.popup-overlay:before {
	background-color: var(--color-background-300);
	content: "";
	height: 100%;
	left: 0;
	opacity: .8;
	position: absolute;
	top: 0;
	transition: background-color .2s ease;
	width: 100%
}

.popup-show .popup-overlay {
	opacity: 1;
	visibility: visible
}

.popup-header {
	align-items: center;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	display: flex;
	gap: 5px;
	left: 0;
	min-height: var(--header--min-height);
	padding: var(--padding-v) var(--padding-h);
	position: sticky;
	top: 0;
	width: 100%;
	z-index: 1
}

.popup-header:before {
	background-color: var(--color-background);
	content: "";
	height: 100%;
	left: 0;
	opacity: .8;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1
}

.popup-title {
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
}

.popup-navigation .popup-header .popup-close {
	margin-left: -7.5px
}

.popup-navigation .popup-content {
	background-color: var(--color-background);
	clip-path: inset(0 100% 0 0 round 0 var(--radius-3) var(--radius-3) 0);
	display: flex;
	flex-direction: column;
	max-width: 100%;
	overflow-y: auto;
	transition: clip-path 0.5s cubic-bezier(0.2, 1, 0.2, 1);
	width: 280px;
}
.popup-navigation.popup-show .popup-content {
	clip-path: inset(0 round 0 var(--radius-3) var(--radius-3) 0);
	transform: translateX(0)
}

.popup-comments .popup-close {
	margin-left: auto;
	margin-right: -7.5px
}

.popup-comments .post-comments {
	background-color: var(--color-background);
	clip-path: inset(0 0 0 100% round var(--radius-3) 0 0 var(--radius-3));
	display: flex;
	flex-direction: column;
	margin-left: auto;
	margin-top: 0;
	max-width: 100%;
	overflow-y: auto;
	padding: 0 var(--padding-h);
	transition: clip-path 0.5s cubic-bezier(0.2, 1, 0.2, 1);
	width: 400px;
}

.popup-comments .popup-header {
	margin-left: calc(var(--padding-h)*-1);
	margin-right: calc(var(--padding-h)*-1);
	width: calc(100% + var(--padding-h)*2)
}

.popup-comments #ghost-comments-root {
	margin-bottom: auto;
	margin-top: var(--spacing-4)
}
.popup-comments .post-comments > div > div > iframe {
	position: absolute !important;
}
.popup-comments.popup-show .post-comments {
	clip-path: inset(0 round var(--radius-3) 0 0 var(--radius-3));
	transform: translateX(0)
}

.scroll-progress {
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	border-radius: 50%;
	bottom: var(--padding-h);
	color: var(--color-contrast);
	opacity: 0;
	position: fixed;
	right: var(--padding-h);
	transition: opacity .2s ease, visibility .2s ease;
	visibility: hidden;
	z-index: 3
}

.scroll-progress circle {
	stroke-dasharray: 300%;
	stroke-dashoffset: calc(300% + var(--scroll-progress)*3);
	stroke-linecap: round;
	stroke-width: 1.5px;
	r: calc(.9375rem - .75px);
	transform: rotate(-90deg) translateX(-100%)
}

.scroll-progress>svg {
	display: block;
	height: 1.875rem;
	opacity: 1;
	pointer-events: none;
	position: relative;
	transform: scaleX(-1);
	transition: opacity .2s ease;
	width: 1.875rem;
	z-index: 1
}

.scroll-progress-button {
	align-items: center;
	background-color: transparent;
	border: 1.5px solid var(--color-border);
	border-radius: 50%;
	bottom: 0;
	cursor: pointer;
	display: flex;
	justify-content: center;
	left: 0;
	outline-offset: 3px;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: color .1s ease, background-color .1s ease, border-color .1s ease, transform .2s ease;
	z-index: 1
}

.scroll-progress-button:focus,
.scroll-progress-button:hover {
	background-color: var(--color-contrast);
	border-color: var(--color-contrast);
	color: var(--color-background)
}

.scroll-progress-button:focus+svg,
.scroll-progress-button:hover+svg {
	opacity: 0
}

.scroll-progress-show {
	opacity: 1;
	visibility: visible
}

@media not all and (min-width:600px) {
	.scroll-progress-wrapper {
		align-self: center;
		bottom: var(--padding-h);
		display: flex;
		justify-content: flex-end;
		margin-bottom: calc(var(--spacing-9)*-1 + var(--padding-h));
		margin-top: var(--padding-h);
		max-width: calc(100% - var(--padding-h)*2);
		pointer-events: none;
		position: sticky;
		right: var(--padding-h);
		width: var(--container--width);
		z-index: 3
	}

	.scroll-progress {
		pointer-events: visible;
		position: static
	}
}

.author-template .page-author-cover {
	aspect-ratio: 21/9;
	border-radius: var(--radius-3);
	overflow: hidden;
	width: var(--container--width)
}

.author-template .page-author-cover img {
	background-color: var(--color-background-200);
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.author-template .page-author-cover+.section-hero-image {
	margin-top: calc(var(--spacing-3)*-1 - 1.875rem);
	outline: 4px solid var(--color-background)
}

.template-split main.content {
	flex-direction: row;
	gap: 0;
	padding: 0
}

.template-split .feature-image {
	background-color: var(--color-background-200);
	border-radius: 0 var(--radius-3) var(--radius-3) 0;
	flex: 0 0 50%;
	height: 100vh;
	left: 0;
	overflow: hidden;
	position: sticky;
	top: 0;
	width: 50%
}

.template-split .feature-image img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.template-split .footer-copyright {
	flex: 0 0 auto
}

.template-split .split-container {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-9);
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	min-height: 100vh;
	padding-bottom: var(--padding-v);
	padding-top: var(--padding-v);
	width: 320px
}

.template-split .split-content {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-4)
}

.template-split .split-content>h1 {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.template-split .split-content>p {
	margin-bottom: 0
}

.template-split .split-content>.post-content,
.template-split .split-content>form {
	width: 100%
}

.template-split .post-upgrade-cta {
	padding: var(--spacing-6)
}

@media not all and (min-width:768px) {
	.template-split main.content {
		flex-direction: column;
		gap: var(--spacing-5);
		margin: 0;
		padding-left: var(--padding-h);
		padding-right: var(--padding-h)
	}

	.template-split .feature-image {
		aspect-ratio: 16/9;
		border-radius: var(--radius-3);
		flex: 0 0 100%;
		height: auto;
		margin-top: var(--padding-v);
		position: static;
		width: 100%
	}

	.template-split .feature-image+.split-container {
		min-height: auto;
		padding-top: 0
	}
}

@media not all and (min-width:440px) {
	.template-split .post-upgrade-cta {
		padding: var(--spacing-6) var(--padding-h)
	}
}

.section,
.section-list,
.section-list-by-year {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-6)
}

.section-list,
.section-list-by-year {
	position: relative
}

.section-list {
	list-style: none;
	margin: 0;
	padding-left: 0
}

.section-button {
	align-self: flex-start
}

.section-list-badge {
	bottom: 0;
	color: var(--color-mute);
	font-size: var(--font-x-small);
	font-weight: var(--font-weight-medium);
	padding-bottom: var(--section--badge--offset-bottom);
	padding-top: var(--section--badge--offset-top);
	position: absolute;
	right: calc(var(--spacing-3)*-1);
	top: 0;
	transform: translateX(100%);
	z-index: 1
}

.section-list-badge>span {
	background-color: var(--color-background-200);
	border-radius: 1rem;
	padding: .5rem .125rem;
	position: sticky;
	text-orientation: mixed;
	top: calc(var(--header--min-height) + var(--spacing-4));
	word-break: normal;
	writing-mode: vertical-rl;
}

.section-title {
	align-items: center;
	color: var(--color-foreground);
	display: flex;
	font-size: var(--font-small);
	gap: .625rem
}

.section-title:after,
.section-title:before {
	border-bottom: 1px solid var(--color-border);
	content: "";
	flex-basis: 0;
	flex-grow: 1
}

@media not all and (min-width:600px) {
	.section-list-badge {
		align-items: flex-start;
		display: flex;
		justify-content: center;
		padding-bottom: 0;
		padding-top: 0;
		pointer-events: none;
		position: static;
		transform: translateX(0);
		z-index: 3
	}

	.section-list-badge>span {
		padding: .125rem .5rem;
		text-orientation: mixed;
		writing-mode: initial
	}
}

.section-subscription {
	background-color: var(--color-background-200);
	border-radius: var(--radius-3);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3);
	padding: calc(var(--padding-h) - var(--spacing-1)) var(--padding-h) var(--padding-h)
}

.section-subscription h2 {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.section-subscription p {
	margin-bottom: var(--spacing-1)
}

.section-subscription .form-subscribe>input {
	background-clip: padding-box;
	background-color: var(--color-background)
}

[data-color-scheme=dark] .section-subscription .form-subscribe>input {
	background-color: var(--color-background-200)
}

@media (prefers-color-scheme:dark) {
	[data-color-scheme=system] .section-subscription .form-subscribe>input {
		background-color: var(--color-background-200)
	}
}

.section-hero {
	text-align: center
}

.section-hero h1 {
	font-family: var(--font-family-headings);
	font-size: 1rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.section-hero h1[style] {
	-webkit-text-fill-color: transparent;
	background: linear-gradient(90deg, var(--tag--color) 0, var(--color-contrast) 100%);
	-webkit-background-clip: text;
	background-clip: text
}

.section-hero p {
	margin-bottom: 0
}
.section-hero-content {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3);
	margin-left: auto;
	margin-right: auto;
	max-width: var(--container-small--width);
	width: 100%
}

.section-hero-location {
	align-items: center;
	color: var(--color-secondary);
	display: flex;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	gap: var(--spacing-1)
}

.section-hero-location:before {
	background-color: currentColor;
	content: "";
	display: block;
	flex: 0 0 auto;
	height: 1rem;
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3327 6.66668C13.3327 10.6667 7.99935 14.6667 7.99935 14.6667C7.99935 14.6667 2.66602 10.6667 2.66602 6.66668C2.66602 5.25219 3.22792 3.89563 4.22811 2.89544C5.22831 1.89525 6.58486 1.33334 7.99935 1.33334C9.41384 1.33334 10.7704 1.89525 11.7706 2.89544C12.7708 3.89563 13.3327 5.25219 13.3327 6.66668Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 8.66666C9.10457 8.66666 10 7.77123 10 6.66666C10 5.56209 9.10457 4.66666 8 4.66666C6.89543 4.66666 6 5.56209 6 6.66666C6 7.77123 6.89543 8.66666 8 8.66666Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3327 6.66668C13.3327 10.6667 7.99935 14.6667 7.99935 14.6667C7.99935 14.6667 2.66602 10.6667 2.66602 6.66668C2.66602 5.25219 3.22792 3.89563 4.22811 2.89544C5.22831 1.89525 6.58486 1.33334 7.99935 1.33334C9.41384 1.33334 10.7704 1.89525 11.7706 2.89544C12.7708 3.89563 13.3327 5.25219 13.3327 6.66668Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M8 8.66666C9.10457 8.66666 10 7.77123 10 6.66666C10 5.56209 9.10457 4.66666 8 4.66666C6.89543 4.66666 6 5.56209 6 6.66666C6 7.77123 6.89543 8.66666 8 8.66666Z" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	width: 1rem
}

.section-hero-cover {
	aspect-ratio: 21/9;
	border-radius: var(--radius-3);
	margin: 0;
	overflow: hidden;
	width: var(--container--width)
}

.section-hero-cover img {
	background-color: var(--color-background-200);
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.section-hero-cover+.section-hero-image {
	margin-top: calc(var(--spacing-3)*-1 - 1.875rem)
}

.section-hero-cover+.section-hero-image>picture {
	outline: 4px solid var(--color-background)
}

.section-hero-image {
	display: block;
	margin: 0
}

.section-hero-image>picture {
	border-radius: 50%;
	display: block;
	height: 3.75rem;
	margin: 0 auto var(--spacing-1);
	width: 3.75rem
}

.section-hero-image img {
	background-color: var(--color-background-200);
	border-radius: 50%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.section-tags+.section-posts {
	margin-top: calc(var(--spacing-7)*-1)
}

.section-tags .nav-link[style] {
	--link-hover--color: var(--tag--color);
	display: block
}

.section-tags .nav-link[style]>.label {
	--link--underline--color: var(--tag--color)
}

.post-template .content {
	padding-top: var(--spacing-7)
}

.post-template .post-content {
	margin-top: var(--spacing-9)
}

.post-header-container {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3);
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	text-align: center;
	width: var(--container-small--width)
}

.post-title {
	font-family: var(--font-family-headings);
	font-size: 1.25rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.post-tag {
	color: var(--ghost-accent-color);
	line-height: normal;
	-webkit-text-decoration: none;
	text-decoration: none
}

.post-header-info,
.post-tag {
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
}

.post-header-info {
	align-items: center;
	border-top: 1px solid var(--color-border);
	display: flex;
	flex-wrap: wrap;
	gap: .125rem .625rem;
	margin: var(--spacing-4) auto 0;
	max-width: 100%;
	padding-top: var(--spacing-4);
	width: var(--container--width)
}

.post-buttons {
	display: flex;
	gap: var(--spacing-3);
	margin-left: auto
}

.post-header-author-images {
	align-items: center;
	align-self: flex-start;
	display: flex;
	min-height: 2.5rem
}

.post-header-author-images-3 .post-header-author-image+.post-header-author-image {
	margin-left: -15px
}

.post-header-author-images-4 .post-header-author-image+.post-header-author-image {
	margin-left: -20px
}

.post-header-author-image {
	background-color: var(--color-background-200);
	border-radius: 50%;
	height: 2.25rem;
	opacity: 1;
	outline: 2px solid var(--color-background);
	overflow: hidden;
	position: relative;
	transform: translateX(0);
	transition: transform .2s ease, opacity .1s ease;
	width: 2.25rem;
	z-index: 0
}

.post-header-author-image+.post-header-author-image {
	margin-left: -5px
}

.post-header-author-image:first-child {
	z-index: 3
}

.post-header-author-image:nth-child(2) {
	z-index: 2
}

.post-header-author-image:nth-child(3) {
	z-index: 1
}

.post-header-author-image img {
	border-radius: 50%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.post-header-author-image:hover {
	opacity: 1;
	transform: translateX(1px)
}

.post-header-author-image:only-child:hover {
	opacity: .9;
	transform: translateX(0)
}

.post-header-authors-meta {
	flex-basis: 0;
	flex-grow: 1
}

.post-header-authors {
	align-items: center;
	color: var(--color-secondary);
	display: flex;
	flex-wrap: wrap;
	gap: 0 .375rem
}

.post-header-author {
	line-height: 1.2;
	-webkit-text-decoration: none;
	text-decoration: none
}

.post-header-author:hover {
	color: var(--color-contrast)
}

.post-header-meta {
	color: var(--color-secondary);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-x-small);
	gap: 0 .375rem;
	margin-top: .167em
}
.post-media {
	margin: var(--spacing-7) auto 0;
	max-width: var(--container-wide--width);
	padding: var(--spacing-1) 0;
	position: relative;
	width: 100%;
}
.post-media:not(:has(> :first-child)) {
	display: none;
}
.post-media > .post-featured-image {
	margin: 0;
	width: 100%
}
.post-media > .post-featured-image > picture {
	background-color: var(--color-border);
	display: block;
	overflow: hidden;
}
.post-media > .post-featured-image img {
	aspect-ratio: var(--featured-image--aspect-ratio);
	height: auto;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
}
.post-media > .post-featured-video {
	margin: 0;
	position: relative;
	width: 100%;
}
.post-media > .post-featured-video video {
	-o-object-fit: cover;
	object-fit: cover
}
.post-media > .post-featured-video iframe:not([src*="player.vimeo.com"]),
.post-media > .post-featured-video video {
	background-color: transparent;
}
.post-media > .post-featured-video .kg-video-container,
.post-media > .post-featured-video iframe,
.post-media > .post-featured-video video,
.post-media > iframe.post-featured-video {
	aspect-ratio: var(--featured-image--aspect-ratio);
	height: auto;
	width: 100%
}
.post-media:has(> .post-featured-video) > .post-featured-image figcaption {
	display: none;
}
.post-media:has(> .post-featured-video) > .post-featured-image {
	left: 0;
	position: absolute;
	top: var(--spacing-1);
}
.post-media:has(> .post-featured-video) .lightbox-trigger {
	display: none;
}
.post-footer {
	display: flex;
	gap: var(--spacing-5);
	margin-bottom: 0;
	margin-top: var(--spacing-5)
}

.post-footer .button-share .dropdown {
	bottom: 100%;
	margin-bottom: var(--padding-v);
	margin-top: 0;
	top: auto
}

.post-footer .button-share .dropdown:before {
	bottom: calc(var(--padding-v)*-1 - 1px);
	top: auto
}

.post-tags {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-small);
	font-weight: var(--font-weight-medium);
	gap: 2px var(--spacing-4);
	list-style: none;
	margin: 0;
	padding: 0
}

.post-tags a {
	-webkit-text-decoration: none;
	text-decoration: none
}

.post-tags a:hover {
	color: var(--color-contrast)
}

.post-content>* {
	margin-left: auto;
	margin-right: auto;
	margin-top: var(--spacing-5);
	max-width: var(--container--width)
}

.post-content>:first-child {
	margin-top: 0
}

.post-content>:last-child {
	margin-bottom: 0
}

.post-content>:where(h1, h2, h3, h4, h5, h6) {
	margin-top: var(--spacing-7);
	scroll-margin-top: calc(var(--header--min-height) + var(--spacing-4))
}

.post-content>:where(h1+h2),
.post-content>:where(h2+h3),
.post-content>:where(h3+h4),
.post-content>:where(h4+h5),
.post-content>:where(h5+h6) {
	margin-top: var(--spacing-5)
}

.post-content>:where(.kg-card, form) {
	margin-bottom: calc(var(--spacing-5) + var(--spacing-1));
	margin-top: calc(var(--spacing-5) + var(--spacing-1))
}

.post-content>:where(hr) {
	margin-bottom: var(--spacing-7);
	margin-top: var(--spacing-7)
}

.post-content>.kg-width-wide {
	max-width: var(--container-wide--width)
}

.post-content>.kg-width-full {
	margin-left: calc(var(--padding-h)*-1);
	margin-right: calc(var(--padding-h)*-1);
	max-width: calc(100% + var(--padding-h)*2)
}

.post-content-teaser {
	position: relative
}

.post-content-teaser:before {
	background-image: linear-gradient(180deg, transparent 0, var(--color-background) 100%);
	bottom: 0;
	content: "";
	height: 150px;
	left: 0;
	max-height: 100%;
	pointer-events: none;
	position: absolute;
	width: 100%
}

.post-upgrade-cta {
	align-items: center;
	border: 2px solid var(--ghost-accent-color);
	border-radius: var(--radius-3);
	display: flex;
	flex-direction: column;
	margin-top: var(--spacing-5);
	padding: var(--spacing-7) var(--spacing-8);
	scroll-margin-top: calc(var(--header--min-height) + var(--spacing-4));
	text-align: center
}

.post-upgrade-cta a {
	cursor: pointer
}

.post-upgrade-cta h2 {
	font-family: var(--font-family-headings);
	font-size: 1.25rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3;
	margin-bottom: var(--spacing-3)
}

.post-upgrade-cta h2+p {
	margin-bottom: var(--spacing-6)
}

.post-upgrade-cta .button+p {
	font-size: var(--font-small);
	margin-top: .625rem
}

.post-content:empty+.post-upgrade-cta {
	margin-top: var(--spacing-7)
}

.post-comments-button>span:empty,
.post-comments-button>span:has(script) {
	display: none
}

@media not all and (min-width:440px) {
	.post-footer {
		flex-wrap: wrap
	}

	.post-upgrade-cta {
		padding: var(--spacing-6) var(--padding-h)
	}
}

.page-error h1,
.page-error h2 {
	font-family: var(--font-family-headings);
	font-size: 1.125rem;
	font-weight: var(--font-weight-medium);
	line-height: 1.3
}

.page-error .content {
	align-items: flex-start;
	gap: var(--spacing-3);
	margin: auto;
	max-width: 100%;
	padding: var(--spacing-9) var(--padding-h);
	width: calc(var(--container--width) + var(--padding-h)*2)
}

.page-error .card-content {
	font-size: 1rem
}