/**
 * System pages: Privacy Policy, Terms of Service (legal template), Thank you, Page not found.
 * Built by build/cine/system.php. Loaded after cinematic.css.
 */

/* ================================================================== Shared */

.cx-site .cx-system-caption {
	margin: 0;
	text-align: center;
	font: 600 12px/16px var(--cx-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cx-mist);
}

/* ================================================================== Legal hero */

.cx-site .cx-legal-hero { padding-top: 200px; margin-bottom: 64px; }
.cx-site .cx-legal-hero .cx-word { font-size: 300px; line-height: 0.9; letter-spacing: -0.025em; }
.cx-site .cx-legal-hero__head { display: flex; flex-direction: column; align-items: flex-start; }
.cx-site .cx-legal-hero__title.cx-title--h1 {
	margin-top: 24px;
	max-width: 900px;
	font-size: 76px;
	line-height: 1.04;
	letter-spacing: -0.025em;
}
.cx-site .cx-legal-hero__date { margin: 20px 0 0; font: 500 15px/1.3 var(--cx-body); color: var(--cx-amber); }
.cx-site .cx-legal-hero__intro { margin: 20px 0 0; max-width: 760px; font: 400 20px/1.6 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-legal-hero__rule {
	margin: 80px 0 0;
	height: 1px;
	border: 0;
	background: var(--cx-line);
	opacity: 1;
}

/* ================================================================== Legal body: TOC + sections */

.cx-site .cx-legal-body { margin-bottom: 0; padding-bottom: 170px; } /* last section: the theme zeroes its margin */
.cx-site .cx-legal {
	display: grid;
	grid-template-columns: 300px 760px;
	gap: 60px;
	align-items: start;
}
.cx-site .cx-toc {
	position: sticky;
	top: 120px;
	padding: 28px 24px 24px;
	border-radius: 24px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-sizing: border-box;
}
.cx-site.admin-bar .cx-toc { top: 152px; }
.cx-site .cx-toc__head {
	margin: 0 0 20px 4px;
	font: 600 12px/16px var(--cx-body);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--cx-amber);
}
.cx-site .cx-toc__list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cx-site .cx-toc__list li { margin: 0; padding: 0; }
.cx-site .cx-toc .cx-toc__list a {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0;
	height: 40px;
	padding: 0 12px 0 16px;
	border-radius: 10px;
	text-decoration: none;
	transition: background var(--cx-fast) var(--cx-ease);
}
.cx-site .cx-toc__list a:hover { background: rgba(255, 255, 255, 0.05); }
.cx-site .cx-toc__num { flex: none; width: 32px; font: 600 13px/1 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-toc__label { font: 500 15px/1.2 var(--cx-body); color: var(--cx-cloud); }
.cx-site .cx-toc__list a.is-current { background: rgba(245, 158, 11, 0.12); }
.cx-site .cx-toc__list a.is-current::before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 3px;
	height: 20px;
	border-radius: 2px;
	background: var(--cx-amber);
}
.cx-site .cx-toc__list a.is-current .cx-toc__num { color: var(--cx-amber); }
.cx-site .cx-toc__list a.is-current .cx-toc__label { color: var(--cx-white); }

.cx-site .cx-legal__content { display: flex; flex-direction: column; min-width: 0; }
.cx-site .cx-legal__item { scroll-margin-top: 120px; }
.cx-site .cx-legal__item + .cx-legal__item { margin-top: 48px; padding-top: 48px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.cx-site .cx-legal__num { margin: 0; font: 600 13px/1.3 var(--cx-body); letter-spacing: 0.08em; color: var(--cx-amber); }
.cx-site .cx-legal__title.wp-block-heading { margin: 9px 0 0; font: 600 28px/1.2 var(--cx-head); letter-spacing: -0.025em; color: var(--cx-white); }
.cx-site .cx-legal__text { margin: 14px 0 0; font: 400 18px/1.65 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-legal__text + .cx-legal__text { margin-top: 16px; }
.cx-site .cx-legal__text a { color: var(--cx-amber); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cx-site .cx-legal__text a:hover { color: var(--cx-amber-hover); }
.cx-site .cx-legal__text code {
	padding: 1px 6px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.07);
	font-size: 0.85em;
	color: var(--cx-cloud);
}

/* Contact box (section 06) */
.cx-site .cx-legal__item.cx-legal__contact {
	padding: 40px;
	border: 1.5px solid rgba(245, 158, 11, 0.45);
	border-radius: 24px;
	background: var(--cx-glass);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-legal__contact .cx-legal__text { color: var(--cx-cloud); }
.cx-site .cx-legal__contact .cx-legal__text a { color: var(--cx-cloud); }
.cx-site .cx-legal__contact .cx-legal__text a:hover { color: var(--cx-amber); }
.cx-site .cx-legal__contact .cx-btns { margin-top: 28px; }

/* ================================================================== Thank you */

.cx-site .cx-thanks-hero { padding-top: 210px; margin-bottom: 137px; }
.cx-site .cx-thanks-emblem {
	position: relative;
	width: 160px;
	height: 160px;
	margin: 0 auto;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(245, 158, 11, 0.14);
	border: 2px solid var(--cx-amber);
	box-shadow: 0 0 50px rgba(245, 158, 11, 0.6);
	box-sizing: border-box;
}
.cx-site .cx-thanks-emblem__dot {
	width: 96px;
	height: 96px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--cx-amber);
	box-shadow: 0 0 30px rgba(245, 158, 11, 0.8);
	font: 600 46px/1 var(--cx-body);
	color: var(--cx-night);
}
.cx-site .cx-thanks-hero .cx-orbit { border-width: 2px; box-shadow: 0 0 18px rgba(245, 158, 11, 0.6), inset 0 0 14px rgba(245, 158, 11, 0.25); }
.cx-site .cx-thanks-hero__head { margin-top: 100px; max-width: 1040px; }
.cx-site .cx-thanks-hero__head .cx-title--h1 { font-size: 72px; line-height: 1.04; letter-spacing: -0.025em; }
.cx-site .cx-thanks-hero__head > .cx-title + .cx-lead { margin-top: 20px; max-width: 640px; }
.cx-site .cx-thanks-hero__head > .cx-btns { margin-top: 36px; }

.cx-site .cx-thanks-steps { margin-bottom: 160px; }
.cx-site .cx-thanks-steps .cx-step__title { margin-top: 9px; }
.cx-site .cx-thanks-steps .cx-step__text { margin-top: 10px; }

.cx-site .cx-thanks-fan { margin-bottom: 0; padding-bottom: 198px; }
.cx-site .cx-fan { position: relative; height: 363px; margin-top: 34px; }
.cx-site .cx-fan__poster { position: absolute; left: calc(50% + var(--x)); top: var(--y); opacity: var(--o); filter: blur(var(--bl)); }
.cx-site .cx-fan__poster--3 { z-index: 2; }
.cx-site .cx-fan__poster--2,
.cx-site .cx-fan__poster--4 { z-index: 1; }

/* ================================================================== Page not found */

.cx-site .cx-nf-hero { padding-top: 300px; margin-bottom: 167px; }
.cx-site .cx-nf-hero .cx-word { font-size: 440px; line-height: 0.9; letter-spacing: -0.025em; color: rgba(255, 255, 255, 0.06); }
.cx-site .cx-nf-hero__head .cx-title--h1 { font-size: 84px; line-height: 1.04; letter-spacing: -0.025em; }
.cx-site .cx-nf-hero__head > .cx-title + .cx-lead { margin-top: 20px; max-width: 620px; }
.cx-site .cx-nf-hero__head > .cx-btns { margin-top: 36px; }
.cx-site .cx-nf-sugg { margin-bottom: 0; padding-bottom: 160px; }
.cx-site .cx-nf-sugg .cx-grid { margin-top: 28px; }
.cx-site .cx-system-card { min-height: 235px; box-sizing: border-box; }
.cx-site .cx-system-card .cx-card__title a { color: inherit; text-decoration: none; }
.cx-site .cx-system-card .cx-card__title a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; } /* whole card clickable */
.cx-site .cx-system-card:focus-within { border-color: rgba(245, 158, 11, 0.9); }

/* ================================================================== Responsive */

@media (max-width: 1199px) {
	.cx-site .cx-legal { grid-template-columns: 260px minmax(0, 1fr); gap: 40px; }
	.cx-site .cx-thanks-hero__head .cx-title--h1 { font-size: 60px; }
	.cx-site .cx-fan { transform: scale(0.85); transform-origin: top center; height: 310px; }
	.cx-site .cx-nf-sugg .cx-grid--3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 899px) {
	/* Legal */
	.cx-site .cx-legal-hero { padding-top: 140px; margin-bottom: 48px; }
	.cx-site .cx-legal-hero .cx-word { font-size: 140px; top: 120px; }
	.cx-site .cx-legal-hero__title.cx-title--h1 { font-size: 48px; }
	.cx-site .cx-legal-hero__intro { font-size: 18px; }
	.cx-site .cx-legal-hero__rule { margin-top: 48px; }
	.cx-site .cx-legal-body { padding-bottom: 120px; }
	.cx-site .cx-legal { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.cx-site .cx-toc { position: static; padding: 22px 16px 16px; }
	.cx-site .cx-legal__item { scroll-margin-top: 100px; }
	.cx-site .cx-legal__item + .cx-legal__item { margin-top: 40px; padding-top: 40px; }
	.cx-site .cx-legal__title.wp-block-heading { font-size: 24px; }
	.cx-site .cx-legal__text { font-size: 17px; }
	.cx-site .cx-legal__item.cx-legal__contact { padding: 28px 24px; }

	/* Thank you */
	.cx-site .cx-thanks-hero { padding-top: 150px; margin-bottom: 100px; }
	.cx-site .cx-thanks-hero .cx-orbit { --x: -170px !important; }
	.cx-site .cx-thanks-hero .cx-orbit,
	.cx-site .cx-thanks-hero .cx-glow { top: calc(var(--y) - var(--b) - 60px); }
	.cx-site .cx-thanks-hero__head { margin-top: 90px; }
	.cx-site .cx-thanks-hero__head .cx-title--h1 { font-size: 46px; }
	.cx-site .cx-thanks-hero__head .cx-lead { font-size: 18px; }
	.cx-site .cx-thanks-steps { margin-bottom: 100px; }
	.cx-site .cx-thanks-fan { padding-bottom: 120px; }
	.cx-site .cx-fan {
		transform: none;
		height: auto;
		display: flex;
		align-items: flex-end;
		gap: 14px;
		margin: 28px -20px 0;
		padding: 10px 20px 24px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.cx-site .cx-fan::-webkit-scrollbar { display: none; }
	.cx-site .cx-fan__poster { position: relative; left: auto; top: auto; opacity: 1; filter: none; scroll-snap-align: center; --ps: 0.8 !important; }

	/* 404 */
	.cx-site .cx-nf-hero { padding-top: 170px; margin-bottom: 100px; }
	.cx-site .cx-nf-hero .cx-word { font-size: 200px; top: 160px; }
	.cx-site .cx-nf-hero__head .cx-title--h1 { font-size: 50px; }
	.cx-site .cx-nf-hero__head .cx-lead { font-size: 18px; }
	.cx-site .cx-nf-sugg { padding-bottom: 120px; }
	.cx-site .cx-nf-sugg .cx-grid--3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.cx-site .cx-system-card { min-height: 0; }
}
