/* ==========================================================================
   Partners
   ========================================================================== */
.partners-hero .page-hero__title,
.investors-hero .page-hero__title {
	max-width: 20ch;
	font-size: clamp(2.5rem, 1.5rem + 3.8vw, 5.5rem);
}

.partners-art__orbit {
	transform-origin: 300px 300px;
	animation: eru-spin 160s linear infinite;
}

/* Ecosystem diagram */
.peco {
	border-top: 1px solid var(--c-line);
	background: radial-gradient(60% 50% at 50% 100%, rgb(186 138 32 / 0.1), transparent 70%);
}

.peco__diagram {
	display: grid;
	justify-items: center;
	max-width: 72rem;
	margin-inline: auto;
}

.peco__pillars,
.peco__channels,
.peco__verbs,
.peco__outputs {
	margin: 0;
	padding: 0;
	list-style: none;
}

.peco__pillars {
	display: grid;
	gap: var(--s-4);
	width: 100%;
}

@media (min-width: 48em) {
	.peco__pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.peco__pillar {
	position: relative;
	padding: var(--s-5);
	border: 1px solid var(--c-line-strong);
	background: var(--c-bg);
	text-align: center;
}

.peco__pillar-title {
	margin-bottom: var(--s-3);
	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;
}

.peco__verbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--s-1) var(--s-3);
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: var(--fs-lead);
}

.peco__link {
	width: 1px;
	height: clamp(2rem, 1rem + 3vw, 3.5rem);
	background: linear-gradient(var(--c-line-strong), var(--c-gold));
}

.peco__node {
	padding: var(--s-3) var(--s-6);
	border: 1px solid var(--c-gold);
	border-radius: var(--r-pill);
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: var(--fs-h4);
	font-weight: 600;
	text-align: center;
	text-transform: uppercase;
	box-shadow: 0 0 40px rgb(186 138 32 / 0.18);
}

.peco__node--ip {
	padding: var(--s-4) var(--s-7);
	background: var(--c-gold);
	color: var(--c-obsidian);
	font-size: var(--fs-h3);
}

.peco__channels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--s-4);
	width: min(100%, 36rem);
}

.peco__channel {
	display: grid;
	gap: var(--s-1);
	padding: var(--s-4);
	border: 1px solid var(--c-line);
	text-align: center;
}

.peco__channel strong {
	color: var(--c-gold);
	font-size: var(--fs-label);
	letter-spacing: var(--ls-label);
	text-transform: uppercase;
}

.peco__channel span {
	color: var(--c-text-strong);
	font-size: var(--fs-small);
}

.peco__outputs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--s-2);
	margin-top: var(--s-5);
}

.peco__outputs li {
	padding: var(--s-1) var(--s-3);
	border: 1px solid var(--c-line-strong);
	border-radius: var(--r-pill);
	color: var(--c-text);
	font-size: var(--fs-small);
}

/* Tiers */
.ptiers {
	border-top: 1px solid var(--c-line);
}

.ptiers__grid {
	display: grid;
	gap: var(--s-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 40em) {
	.ptiers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ptier--founding { grid-column: 1 / -1; }
}

@media (min-width: 64em) {
	.ptiers__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ptier--founding { grid-column: span 2; }
}

.ptier {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--s-3);
	min-height: 17rem;
	padding: var(--s-6) var(--s-5);
	border: 1px solid var(--c-line);
	background: var(--c-bg);
	transition: border-color var(--dur-2) var(--ease-out), background-color var(--dur-2) var(--ease-out);
}

.ptier:hover,
.ptier:focus-within {
	border-color: var(--c-gold);
	background: var(--c-earth);
}

.ptier--founding {
	background: radial-gradient(80% 120% at 100% 0%, rgb(186 138 32 / 0.18), transparent 60%), var(--c-bg);
}

.ptier__num {
	position: absolute;
	top: var(--s-5);
	right: var(--s-5);
	color: var(--c-text-muted);
	font-size: var(--fs-label);
	font-weight: 700;
}

.ptier__glyph {
	width: 3rem;
	height: 3rem;
	margin-bottom: var(--s-4);
	color: var(--c-gold);
}

.ptier--founding .ptier__glyph {
	width: 3.75rem;
	height: 3.75rem;
}

.ptier__name {
	font-size: var(--fs-h4);
	text-transform: uppercase;
}

.ptier--founding .ptier__name {
	font-size: var(--fs-h3);
}

.ptier__line {
	flex: 1;
	color: var(--c-text-muted);
	font-size: var(--fs-small);
}

.ptier--founding .ptier__line {
	color: var(--c-text);
	font-size: var(--fs-lead);
}

.ptier__cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--s-2);
	min-height: 2.75rem;
	color: var(--c-gold-soft);
	font-size: var(--fs-button);
	font-weight: 700;
	letter-spacing: var(--ls-label);
	text-decoration: none;
	text-transform: uppercase;
}

.ptier__cta .icon {
	width: 1rem;
	height: 1rem;
	transition: transform var(--dur-2) var(--ease-out);
}

.ptier__cta:hover .icon,
.ptier__cta:focus-visible .icon {
	transform: translateX(0.25rem);
}

/* Statement */
.pstatement {
	padding-block: var(--section-y);
	border-top: 1px solid var(--c-line);
	background: radial-gradient(70% 90% at 50% 50%, rgb(150 108 22 / 0.16), transparent 70%);
	text-align: center;
}

.pstatement__lines {
	display: grid;
	gap: 0.1em;
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: clamp(2.25rem, 0.75rem + 5.5vw, 8rem);
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	text-wrap: balance;
}

.pstatement__lines [data-lit] {
	display: block;
}

/* ==========================================================================
   Investors
   ========================================================================== */
.iext {
	border-top: 1px solid var(--c-line);
}

.iext__grid {
	margin: 0;
	padding: 0;
	column-gap: var(--s-7);
	list-style: none;
}

@media (min-width: 40em) {
	.iext__grid { columns: 2; }
}

@media (min-width: 64em) {
	.iext__grid { columns: 3; }
}

.iext__item {
	display: flex;
	align-items: baseline;
	gap: var(--s-4);
	padding-block: var(--s-4);
	border-top: 1px solid var(--c-line);
	break-inside: avoid;
}

.iext__num {
	color: var(--c-gold);
	font-size: var(--fs-label);
	font-weight: 700;
}

.iext__name {
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: var(--fs-h4);
	line-height: 1.2;
}

.iseason {
	border-top: 1px solid var(--c-line);
	background: var(--c-charcoal);
}

.iseason__title {
	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;
}

.iseason__facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
	gap: var(--s-6) var(--s-5);
	margin: 0;
}

.iseason__fact {
	display: flex;
	flex-direction: column-reverse;
	justify-content: flex-end;
	gap: var(--s-2);
	padding-top: var(--s-4);
	border-top: 1px solid var(--c-line-strong);
}

.iseason__fact dd {
	margin: 0;
	color: var(--c-text-strong);
	font-family: var(--ff-display);
	font-size: var(--fs-h1);
	font-weight: 600;
	line-height: 1;
}

.iseason__fact--word dd {
	color: var(--c-gold-soft);
	font-size: var(--fs-h3);
	line-height: 1.6;
}

.iseason__fact dt {
	color: var(--c-text-muted);
	font-size: var(--fs-small);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
	.partners-art__orbit {
		animation: none;
	}
}
