:root {
	--font-display: "Cinzel", serif;
	--font-body: "Crimson Pro", serif;

	--space-xs: 8px;
	--space-sm: 16px;
	--space-md: 32px;
	--space-lg: 64px;

	--text-primary: rgba(240, 240, 240, 0.95);
	--text-secondary: rgba(235, 235, 235, 0.88);
	--text-muted: rgba(220, 220, 220, 0.6);

	--accent-gold: rgba(255, 180, 90, 0.85);
	--accent-gold-soft: rgba(255, 180, 90, 0.35);

	--void-bg: #050507;
}


*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 16px;
}

body {
	background-color: var(--void-bg);
	color: var(--text-secondary);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.7;
}

body.is-scrolled .sigil-nav {
	opacity: 1;
}

header {
	height: 65vh;
	max-height: 520px;
	min-height: 420px;
	overflow: hidden;
	position: relative;
}

h1 {
	font-family: var(--font-display);
	font-size: 1.75rem;
	letter-spacing: 0.12em;
	line-height: 1.25;
	margin: 0 0 var(--space-md);
	text-transform: uppercase;
}

h2 {
	font-family: var(--font-display);
	font-size: 1.25rem;
	letter-spacing: 0.1em;
	line-height: 1.35;
	margin: 0 0 var(--space-sm);
	text-transform: uppercase;
}

h3 {
	font-family: var(--font-display);
	font-size: 1.05rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin: 0;
	text-transform: uppercase;
}

p {
	color: var(--text-secondary);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0 0 var(--space-sm);
}

ul {
	margin: 0 0 var(--space-sm);
	padding-left: 1.2rem;
}

li {
	font-size: 0.95rem;
	line-height: 1.6;
}

a {
	color: var(--text-secondary);
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	text-decoration: none;
}
a:hover,
a:focus-visible {
	color: var(--text-primary);
}

.page {
	max-width: 412px;
	margin: 0 auto;
	opacity: 0;
	padding: 0 16px;
	transition: opacity 400ms ease-in;
}
.page.is-loaded {
	opacity: 1;
}

.threshold {
	margin-top: var(--space-lg);
	margin-bottom: var(--space-lg);
}

.threshold__image {
	border-radius: 4px;
	display: block;
	mask-image: linear-gradient(
		to bottom,
		transparent 0%,
		black 15%,
		black 85%,
		transparent 100%
	);
	width: 100%;
}

.title-mark {
	text-align: center;
	margin-bottom: var(--space-lg);
}
.title-mark h1 {
	color: var(--text-primary);
	font-family: var(--font-display);
	font-size: 1.75rem;
	letter-spacing: 0.12em;
	line-height: 1.25;
	text-transform: uppercase;
}

.divider {
	color: var(--accent-gold-soft);
	font-size: 1rem;
	margin: var(--space-md) 0;
	text-align: center;
}
.divider--spaced {
	margin: var(--space-lg) 0;
}

.section {
	margin-bottom: var(--space-lg);
}

.lead {
	color: var(--text-primary);
	font-size: 1.05rem;
	line-height: 1.65;
}

.small,
.card__status,
.card__meta {
	color: var(--text-muted);
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.card {
	color: inherit;
	display: block;
	/* margin-top: var(--space-md);
	margin-bottom: var(--space-lg); */
	position: relative;
}

.card__art {
	height: auto;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.card__media img {
	display: block;
	width: 100%;
}

.card__image {
	display: block;
	height: auto;
	transform: scale(1);
	transition: transform 0.5s ease;
	width: 100%;
}

.card:active .card__media img {
	transform: scale(0.98);
}

.card:hover .card__image {
	transform: scale(1.05);
}

.card__frame {
	height: auto;
	inset: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
}

.card__text {
	display: flex;
	flex-direction: column;;
	gap: var(--space-xs);
	margin-top: var(--space-sm);
}

.card__text p {
	color: var(--text-muted);
}

.card__status {
	color: var(--text-muted);
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.site-footer {
	margin-top: var(--space-lg);
	padding-bottom: var(--space-lg);
	text-align: center;
}

.site-footer p {
	color: var(--text-muted);
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.card--overlap .card__meta {
  position: relative;
  margin-top: -3.5rem; /* pulls text upward onto the card */
  padding: 1.25rem 1.25rem 1.5rem;

  background: linear-gradient(
    to bottom,
    rgba(8, 8, 10, 0.85),
    rgba(8, 8, 10, 0.95)
  );

  border-radius: 0 0 8px 8px;

  box-shadow:
    0 -8px 20px rgba(0, 0, 0, 0.6),
    inset 0 1px rgba(255, 255, 255, 0.03);
}
.card__title {
  margin: 0;
  font-size: 1.1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #e6d4a3;
}
.card__divider {
  width: 100%;
  height: 1px;
  margin: 0.6rem 0 0.8rem;

  background: linear-gradient(
    to right,
    transparent,
    rgba(230, 212, 163, 0.35),
    transparent
  );
}
.card__desc {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #b8b2a4;
}
.card__status {
  display: inline-block;
  margin-top: 0.75rem;

  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  color: #7da6ff;
  opacity: 0.85;
}