html {
	min-height: 100%;
	background-color: black;
}
body {
	margin: auto;
	position: relative;
	min-height: 100%;
	min-width: 350px;
	color: var(--intro-color);
	background-color: var(--intro-bg-color);
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
section {
	position: relative;
	text-align: center;
}
a {
	color: currentColor;
	text-decoration: underline;
	transition: font-size 0.2s, text-decoration-color 0.2s;
}
a:focus-visible {
	outline: var(--intro-focus-outline);
	outline-offset: var(--intro-focus-outline-offset);
}
a:hover,
a:hover:visited {
	text-decoration-color: var(--intro-color-link);
}
/*
 * Header
 */
.intro-header {
	display: flex;
	flex-direction: column-reverse;
	width: 100%;
	max-width: 80rem;
	margin: 0 auto;
	padding-bottom: 4rem;
	background-image: var(--intro-bg-img-sm);
	background-image: var(--intro-bg-img-sm-set);
	background-position: top center;
	background-position-y: -1rem;
	background-size: contain;
	background-repeat: no-repeat;
}
.intro-header__body {
	padding: 0;
	background: none;
}
.intro-header__title {
	margin: 0 0 0 1.5rem;
	text-align: left;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	color: #dceefb;
	padding: clamp(0rem, -5.4892rem + 23.4206vw, 9.5rem) 1rem 1rem;
	font-size: clamp(1.5rem, 0.7231rem + 3.3149vw, 3.375rem);
	font-style: italic;
	font-weight: 600;
	line-height: 110%;
	text-shadow: 0 0.125rem 0.1875rem rgba(0, 0, 0, 0.3);
}
.intro-header__title > span {
	background: linear-gradient(180deg, #ddff95 30%, #ffb84b 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: clamp(2.25rem, 1.3177rem + 3.9779vw, 6.5rem);
	font-style: normal;
	font-weight: 700;
	line-height: 110%;
	text-shadow: none;
}
.intro-header__image {
	display: flex;
	justify-content: flex-start;
	text-align: right;
	width: 100%;
}
.intro-header__monster {
	margin-right: 12rem;
	margin-top: 1rem;
	flex-shrink: 1;
}
@media (min-width: 64rem) {
	.intro-header {
		background-image: var(--intro-bg-img);
		background-image: var(--intro-bg-img-set);
	}
	.intro-header__title {
		padding: 1.2rem 2rem 2.6rem 2rem;
	}
	.intro-header__image {
		justify-content: flex-end;
	}
}
/*
 * Content
 */
.intro-content {
	height: auto;
	margin-top: 1.6rem;
}
.intro-content__body {
	box-sizing: border-box;
	max-width: 80rem;
}
.intro-content__body:before,
.intro-content__body:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	background: linear-gradient(130deg, rgba(13, 44, 91, 0) 0%, #ddff95 77.4%);
	margin: 0 -10.375rem;
	filter: blur(2.75rem);
	opacity: 0.8;
	inset: 11.75rem;
}
.intro-content__body:before {
	top: -1rem;
}
.intro-content__body:after {
	bottom: -1rem;
}
@media (max-width: 48rem) {
	.intro-content__body {
		margin-top: -9.8rem;
	}
	.intro-content__body:before,
	.intro-content__body:after {
		inset: unset;
	}
}
@media (min-width: 64rem) {
	.intro-content {
		margin-top: 0;
	}
	.intro-content__body {
		margin-top: -5.7rem;
	}
}
.intro-button {
	width: 100%;
	margin: 0 auto;
}
.intro-button__link {
	background: #7f1d1d;
	background-image: linear-gradient(to bottom, rgba(255,0,0,0.8), rgba(255,255,255,0));
	background-position: top left, center;
	background-size: contain;
	background-repeat: no-repeat;
	border-radius: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.5rem;
	line-height: 1.3;
	text-decoration: none;
	transition: transform 0.3s ease-in-out;
	position: relative;
	overflow: hidden;
	min-width: 28.875rem;
	min-height: 7.6875rem;
	outline: none;
}
.intro-button__link::before {
	content: '';
	position: absolute;
	top: -13.125rem;
	left: -10rem;
	height: 26.25rem;
	width: 26.25rem;
	background: linear-gradient(135deg, #ec7bae 50.41%, #9600b8 70.41%);
	transform: rotate(45deg);
	transition: transform 0.3s ease-in-out;
	z-index: 5;
}
.intro-button__text {
	display: flex;
	flex-direction: column;
	flex: 1;
	transition: all 0.5s ease-in-out;
	position: relative;
	z-index: 10;
	padding: 1rem 1.5rem;
	text-align: left;
	color: white;
	font-size: 1.65rem;
	font-style: normal;
	font-weight: 600;
	line-height: 130.023%;
	letter-spacing: 0.0075rem;
}
.intro-button__text strong {
	font-size: 2.625rem;
	font-weight: 600;
	line-height: 130.023%;
	letter-spacing: 0.013125rem;
}
.intro-button__link span {
	position: absolute;
	display: block;
	pointer-events: none;
}
.intro-button__link span:nth-child(1) {
	height: 8px;
	width: 100%;
	top: 0;
	left: 0;
	background: linear-gradient(to right, rgba(0, 0, 0, 0), #f6e58d);
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	transform: translateX(-100%);
	animation: span1 8s linear infinite;
	animation-delay: 1s;
}
@keyframes span1 {
	0% {
		transform: translateX(-100%);
	}
	100% {
		transform: translateX(100%);
	}
}
.intro-button__link span:nth-child(2) {
	width: 8px;
	height: 100%;
	top: 0;
	right: 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #f6e58d);
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	transform: translateY(100%);
	animation: span2 4s linear infinite;
	animation-delay: 5s;
}
@keyframes span2 {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(100%);
	}
}
.intro-button__link span:nth-child(3) {
	height: 8px;
	width: 100%;
	bottom: 0;
	right: 0;
	background: linear-gradient(to left, rgba(0, 0, 0, 0), #f6e58d);
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	transform: translateX(100%);
	animation: span3 8s linear infinite;
	animation-delay: 7s;
}
@keyframes span3 {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
.intro-button__link:hover span {
	animation-play-state: paused;
}
@media (max-width: 48rem) {
	.intro-header {
		padding-bottom: 9rem;;
	}
	.intro-button__link {
		height: 6.25rem;
		min-width: auto;
		border-radius: 0;
	}
	.intro-button__text {
		display: inline;
		padding-top: .5rem;
	}
}
@media (min-width: 48rem) {
	.intro-button {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		max-width: 29.375rem;
		margin-bottom: 0;
	}
	.intro-button__link:hover {
		transition: all .5s;
		transform: rotate(-3deg) scale(1.1);
	}
}
.intro-text {
	z-index: 1;
	width: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	align-items: center;
	text-align: left;
	font-size: 1.3125rem;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: 0;
	background: #fff;
	position: relative;
}
.region--content {
	padding: 2.5rem 1.063rem 0.75rem;
	overflow: hidden;
}
.region--content p {
	width: 100%;
	line-height: 150%;
	font-weight: 400;
	font-size: 1.45rem;
	margin: 0 0 1.5rem;
}
@media (min-width: 48rem) {
	.intro-text {
		font-size: 1.375rem;
		line-height: 2rem;
	}
	.intro-button + .region--content {
		padding-top: 7rem;
	}
}
@media (min-width: 64rem) {
	.intro-header {
		padding-bottom: 9rem;;
	}
	.intro-text,
	.region--content {
		border-radius: 0.75rem;
	}
	.intro-text {
		box-shadow: var(--intro-shadow);
		max-width: 60rem;
		margin: 0 auto 6rem;
	}
	.region--content {
		padding-left: 4.5rem;
		padding-right: 4.5rem;
	}
}
.region--content .block {
	position: relative;
}
.region--content .block__title {
	margin: 1em 0 .8em;
}
.region--content .block__title span {
	display: inline-block;
	padding: 10px 30px 14px;
	margin: 30px 0 0 20px;
	background: white;
	border: 5px solid;
	border-radius: 30px;
	box-shadow: 0 0 0 5px white, inset 0 0 0 5px white;
	border-color: orangered;
	transform: rotate(-3deg) translateY(-25%);
}
.region--content .block__title:before {
	content: "";
	height: 5px;
	position: absolute;
	top: 50px;
	left: -15%;
	width: 130%;
	z-index: -5;
	background: orangered;
	box-shadow: 0 0 0 5px white, 0 -10px 0 5px white;
	transform: rotate(2deg) translateY(-50%);
	transform-origin: top left;
}
.region--content .block__title:after {
	content: "";
	height: 70rem;
	position: absolute;
	top: 42px;
	left: -15%;
	width: 130%;
	z-index: -10;
	background: var(--intro-bg-block-1);
	transform: rotate(2deg);
}
.region--content .block:nth-of-type(5n+1) .block__title:after {
	background: var(--intro-bg-block-1);
}
.region--content .block:nth-of-type(5n+2) .block__title:after {
	background: var(--intro-bg-block-2);
}
.region--content .block:nth-of-type(5n+3) .block__title:after {
	background: var(--intro-bg-block-3);
}
.region--content .block:nth-of-type(5n+4) .block__title:after {
	background: var(--intro-bg-block-4);
}
.region--content .block:nth-of-type(5n+5) .block__title:after {
	background: var(--intro-bg-block-5);
}
/*
 * Footer
 */
.intro-footer {
	width: 100%;
	background-color: black;
	color: var(--intro-color-gray);
	padding-bottom: 2rem;
}
.intro-footer__body {
	display: flex;
	justify-content: center;
	flex-direction: column;
	margin: 0 auto;
	padding: 0 10.625rem 2rem;
	max-width: 80rem;
	font-size: 1.15rem;
	font-weight: 300;
	line-height: 100%;
}
.intro-footer__body a:visited {
	color: var(--intro-color-gray);
}
.intro-footer__logo,
.intro-footer__links {
	display: flex;
	justify-content: center;
	width: 100%;
}
.intro-footer__logo {
	max-height: 12.625rem;
}
.intro-footer__logo svg {
	width: 100%;
}
.intro-footer__links {
	gap: 1.875rem;
	flex-wrap: wrap;
	margin-top: 2rem;
}
@media (max-width: 48rem) {
	.intro-footer__logo {
		display: none;
	}
}
@media (max-width: 64rem) {
	.intro-footer__body {
		padding: 0 1rem 2rem;
	}
}
/* PoweredBy component */
.poweredby a:visited {
	color: var(--intro-color-gray);
}