
	.title.svelte-bqmkjs {
		transform-origin: center;
	}
	.wrap.svelte-bqmkjs {
		width: 100%;
		background: #241a22;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: var(--gap-unrelated-sections);

		display: flex;
		flex-direction: row;
		overflow: visible;
		position: relative;

		padding: 6rem 3rem;

		@media screen and (max-width: 800px) {
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: var(--gap-related-sections);
		}

		margin: var(--gap-unrelated-sections) 0;
	}

	.title.svelte-bqmkjs {
		color: #dd6cff;
	}

	.portal.svelte-bqmkjs {
		/* width: 100%; */
		width: 200px;
		height: 250px;
		max-width: 90%;
		max-height: 90%;

		position: relative;
		z-index: 1;

		border-radius: 3px;
		border-top-left-radius: 50%;
		border-top-right-radius: 50%;
		overflow: hidden;

		animation: svelte-bqmkjs-glowOuter 3s ease-in-out infinite alternate;

		transition: height, transform;
		transition-duration: 2s;
		transition-timing-function: cubic-bezier(0.54, -0.01, 0.08, 0.99);
		transition-delay: 0s;
	}

	/* (empty) .portal.closed {
		/* height: 0px;

		transform: translateY(250px);

		transition: none; *\/
	}*/

	.info.svelte-bqmkjs {
		display: flex;
		flex-direction: column;
		justify-content: start;
		align-items: start;

		@media screen and (max-width: 800px) {
			flex-direction: center;
			align-items: center;
			justify-content: center;
			text-align: center;
		}
	}

	.portal.svelte-bqmkjs:after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: inherit;

		animation: svelte-bqmkjs-glowInner 1s ease-in-out infinite alternate;
	}

	@keyframes svelte-bqmkjs-glowInner {
		from {
			box-shadow:
				inset 0 0 10px 5px white,
				inset 0 0 20px 10px #dd6cff;
		}

		to {
			box-shadow:
				inset 0 0 20px 10px white,
				inset 0 0 30px 15px #dd6cff;
		}
	}

	@keyframes svelte-bqmkjs-glowOuter {
		from {
			box-shadow:
				0 0 30px 15px #dd6cff,
				0 0 0px 10px white;
		}

		to {
			box-shadow:
				0 0 50px 25px #dd6cff,
				0 0 10px 5px white;
		}
	}

	.portal.svelte-bqmkjs img:where(.svelte-bqmkjs) {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: -1;
	}

	.stroke.svelte-bqmkjs {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		transform: translateY(-50%);
	}

	.stroke.svelte-bqmkjs:last-child {
		top: 100%;
		transform: translateY(-50%);
	}

	span.svelte-bqmkjs {
		display: inline-block;
	}

	.button.svelte-bqmkjs {
		all: unset;
		padding: 1rem;
		background: var(--bg-color);
		color: #dd6cff;
		width: fit-content;
		border-radius: 10px;
		box-shadow: 0 0 25px 0px transparent;
		cursor: pointer;
	}

	.button.svelte-bqmkjs:hover {
		background: #dd6cff;
		color: var(--bg-color);
		box-shadow: 0 0 25px 0px #dd6cff;
	}

	.media.svelte-bqmkjs {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* (unused) .content .column {
		display: flex;
		flex-direction: column;

		@media screen and (max-width: 800px) {
			align-items: center;
			text-align: center;
		}
	}*/

	.column.svelte-1lofbdm {
		position: relative;
		grid-column: 1 / -1;
		align-items: center;
		text-align: center;
		padding: 5rem 0;
		gap: var(--gap-spacious-grid);
	}

	a.svelte-1lofbdm:hover {
		text-decoration: underline;
		color: currentColor;
	}

	svg.svelte-1lofbdm > :where(.svelte-1lofbdm) {
		transform-origin: center;
	}

	.biggest.svelte-1lofbdm {
		@media screen and (max-width: 800px) {
			max-width: 90%;
			margin: 0 auto;
		}
	}

	.decoration.svelte-1lofbdm {
		pointer-events: none;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transform: translate(-50%, -50%) rotate(-3deg);

		display: flex;
		align-items: center;
		justify-content: center;
		max-width: 1300px;
		/* background: red; */
		left: 50%;
		top: 50%;
	}

	.emphasis-box.svelte-1lofbdm {
		width: 200%;
		transform: translateX(-25%) rotate(-3deg);
		position: relative;
		background: #282522;
		color: #ffdf9f;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: var(--gap-dense-grid);
		padding: 2rem 0;
		text-align: center;
	}
