/* ==========================================================================
   The World + Oracle
   ========================================================================== */
.wsources__num,
.oquestions__num,
.oquestions__count {
	font-variant-numeric: lining-nums;
}

/* World hero art -------------------------------------------------------- */
.world-art__spin {
	transform-origin: 300px 300px;
	animation: eru-spin 160s linear infinite;
}

.world-art__rays path {
	opacity: 0.35;
	animation: world-ray 6s var(--ease-in-out) infinite;
	animation-delay: calc(var(--i) * 0.5s);
}

@keyframes world-ray {
	0%, 100% { opacity: 0.25; }
	15% { opacity: 1; }
}

/* The idea -------------------------------------------------------------- */
.widea {
	background: radial-gradient(70% 80% at 10% 50%, rgb(150 108 22 / 0.14), transparent 70%);
}

.widea__intro {
	margin-bottom: var(--s-6);
	color: var(--c-gold);
	font-family: var(--ff-body);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.widea__lines {
	display: grid;
	gap: var(--s-3);
	max-width: 22ch;
	font-family: var(--ff-display);
	font-size: clamp(2.25rem, 1rem + 4.4vw, 5.5rem);
	font-weight: 600;
	line-height: 1.05;
}

.widea__line {
	color: var(--c-text-strong);
	transition: color 0.9s var(--ease-out);
}

.js .widea__line {
	color: rgb(232 220 196 / 0.46);
}

.js .widea__line.is-lit {
	color: var(--c-text-strong);
}

.js .widea__line.is-lit:last-child {
	color: var(--c-gold);
}

/* Sources --------------------------------------------------------------- */
.wsources {
	border-top: 1px solid var(--c-line);
}

.wsources__grid {
	display: grid;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--c-line);
	border-left: 1px solid var(--c-line);
	list-style: none;
}

@media (min-width: 30em) {
	.wsources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 48em) {
	.wsources__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 64em) {
	.wsources__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.wsources__item {
	position: relative;
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--s-4);
	min-height: 11rem;
	padding: var(--s-5);
	border-right: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
	overflow: hidden;
	transition: background-color var(--dur-2) var(--ease-out);
}

.wsources__item::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 2px;
	background: var(--c-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-3, 0.6s) var(--ease-out);
}

@media (max-width: 29.99em) {
	.wsources__item {
		grid-template-columns: 2rem minmax(0, 1fr);
		grid-template-rows: none;
		align-items: baseline;
		min-height: 0;
		padding: var(--s-4);
	}

	.wsources__mark {
		display: none;
	}
}

.wsources__item:hover {
	background: rgb(186 138 32 / 0.06);
}

.wsources__item:hover::before {
	transform: none;
}

.wsources__num {
	color: var(--c-gold);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.wsources__mark {
	width: 0.75rem;
	height: 0.75rem;
	border: 1px solid var(--c-gold);
	transform: rotate(45deg);
	opacity: 0.6;
}

.wsources__name {
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: clamp(1.375rem, 1rem + 1vw, 1.875rem);
	font-weight: 600;
	line-height: 1.15;
}

/* The intention --------------------------------------------------------- */
.wintent__grid {
	display: grid;
	border-block: 1px solid var(--c-line);
}

@media (min-width: 64em) {
	.wintent__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.wintent__half {
	position: relative;
	display: grid;
	align-content: end;
	gap: var(--s-4);
	min-height: clamp(18rem, 40vw, 34rem);
	padding: clamp(2rem, 1rem + 4vw, 5rem) var(--gutter);
	overflow: hidden;
}

.wintent__half::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.wintent__half--past {
	background: var(--c-charcoal);
}

.wintent__half--past::before {
	background:
		repeating-linear-gradient(45deg, rgb(186 138 32 / 0.06) 0 1px, transparent 1px 22px),
		repeating-linear-gradient(-45deg, rgb(186 138 32 / 0.06) 0 1px, transparent 1px 22px);
	mask-image: linear-gradient(90deg, #000, transparent);
}

.wintent__half--now {
	background: radial-gradient(80% 90% at 80% 20%, rgb(186 138 32 / 0.22), transparent 70%), var(--c-bg);
}

.wintent__half--now::before {
	background: linear-gradient(90deg, transparent, rgb(186 138 32 / 0.5), transparent) top / 100% 1px no-repeat;
}

@media (min-width: 64em) {
	.wintent__half--now {
		border-left: 1px solid var(--c-line);
	}
}

.wintent__label {
	position: relative;
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.wintent__half--now .wintent__label {
	color: var(--c-gold);
}

.wintent__text {
	position: relative;
	max-width: 20ch;
	font-family: var(--ff-display);
	font-size: var(--fs-h2);
	font-weight: 600;
	line-height: 1.1;
}

.wintent__half--past .wintent__text {
	color: var(--c-text-muted);
}

.wintent__half--now .wintent__text {
	color: var(--c-text-strong);
}

/* ==========================================================================
   Oracle
   ========================================================================== */
.oracle-hero__badge {
	margin-top: var(--s-6);
}

.oracle-hero__badge .badge {
	min-height: 2.75rem;
	padding-inline: 1.1em;
	text-decoration: none;
	transition: color var(--dur-1) var(--ease-out);
}

.oracle-hero__badge .badge:hover {
	color: var(--c-gold);
}

/* Questions */
.oquestions__grid {
	display: grid;
	gap: var(--s-7);
}

@media (min-width: 64em) {
	.oquestions__grid {
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		gap: var(--s-9);
	}

	.oquestions__aside {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h) + var(--announce-h, 0px) + var(--s-6));
		align-self: start;
	}
}

.oquestions__eye {
	display: none;
	align-items: center;
	gap: var(--s-4);
	margin-top: var(--s-7);
	color: var(--c-gold);
}

.oquestions__eye .glyph {
	width: 4.5rem;
	height: 4.5rem;
	filter: drop-shadow(0 0 18px rgb(186 138 32 / 0.45));
	animation: eru-breathe 6s var(--ease-in-out) infinite;
}

.oquestions__count {
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.oquestions__count span {
	color: var(--c-gold);
}

.is-enhanced .oquestions__eye {
	display: flex;
}

.oquestions__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.oquestions__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--s-4);
	align-items: baseline;
	padding-block: var(--s-6);
	border-bottom: 1px solid var(--c-line);
}

.oquestions__item:first-child {
	border-top: 1px solid var(--c-line);
}

@media (min-width: 64em) {
	.is-enhanced .oquestions__item {
		min-height: 42vh;
		align-content: center;
	}
}

.oquestions__num {
	color: var(--c-gold);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
}

.oquestions__text {
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: clamp(2rem, 1rem + 3.6vw, 4.75rem);
	font-weight: 600;
	line-height: 1.05;
	transition: color 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}

.is-enhanced .oquestions__item:not(.is-active) .oquestions__text {
	color: rgb(232 220 196 / 0.46);
	transform: translateX(-0.5rem);
}

/* Shift */
.oshift {
	border-top: 1px solid var(--c-line);
	background: radial-gradient(60% 80% at 50% 100%, rgb(186 138 32 / 0.12), transparent 70%);
	text-align: center;
}

.oshift__states {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--s-3) var(--s-5);
	margin-bottom: var(--s-6);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.oshift__state {
	padding: 0.6em 1.1em;
	border: 1px solid var(--c-line-strong);
	border-radius: var(--r-pill);
}

.oshift__state--from {
	color: var(--c-text-muted);
	text-decoration: line-through;
	text-decoration-color: rgb(186 138 32 / 0.6);
}

.oshift__state--to {
	border-color: var(--c-gold);
	color: var(--c-gold);
}

.oshift__arrow {
	display: inline-flex;
	color: var(--c-gold);
}

.oshift__arrow svg {
	width: 1.25rem;
	height: 1.25rem;
}

.js .oshift__states:not(.is-visible) .oshift__state--to {
	opacity: 0;
	transform: translateX(-1rem);
}

.oshift__state--to {
	transition: opacity 0.8s var(--ease-out) 0.5s, transform 0.8s var(--ease-out) 0.5s;
}

.oshift__title {
	max-width: 24ch;
	margin-inline: auto;
	padding-top: 0.1em;
	font-size: var(--fs-h2);
	line-height: 1.12;
}

/* Market */
.omarket {
	border-top: 1px solid var(--c-line);
}

.omarket__panel {
	display: grid;
	gap: var(--s-6);
	padding: clamp(1.5rem, 1rem + 3vw, 4rem);
	border: 1px solid var(--c-line-strong);
	background:
		radial-gradient(70% 100% at 100% 0%, rgb(74 90 168 / 0.18), transparent 65%),
		var(--c-charcoal);
}

@media (min-width: 64em) {
	.omarket__panel {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: end;
		gap: var(--s-9);
	}
}

.omarket__head .section-head {
	margin-bottom: var(--s-4);
}

.omarket__text {
	color: var(--c-text);
	font-size: var(--fs-body);
	line-height: 1.7;
}

.omarket__lines {
	display: grid;
	margin: var(--s-6) 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 48em) {
	.omarket__lines {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.omarket__line {
	display: grid;
	align-content: start;
	gap: var(--s-3);
	padding: var(--s-6) var(--s-5);
	border-bottom: 1px solid var(--c-line);
}

@media (min-width: 48em) {
	.omarket__line {
		border-bottom: 0;
	}

	.omarket__line + .omarket__line {
		border-left: 1px solid var(--c-line);
	}
}

.omarket__line:nth-child(2) { --reveal-delay: 0.12s; }
.omarket__line:nth-child(3) { --reveal-delay: 0.24s; }

.omarket__glyph {
	width: 2.75rem;
	height: 2.75rem;
	color: var(--c-gold);
}

.omarket__role {
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.omarket__sentence {
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: var(--fs-h3);
	font-weight: 600;
	line-height: 1.15;
}

.omarket__line--outcome .omarket__sentence {
	color: var(--c-gold);
}

/* Integrity */
.ointegrity {
	border-top: 1px solid var(--c-line);
}

.ointegrity .section-head__title {
	max-width: 20ch;
}
