/* ─────────────────────────────────────────────────────────────────────────────
 * Exhibition template — shared by every exhibition block.
 *
 * Ported from the React ExhibitionTemplate: its injected stylesheet plus the
 * inline styles of each act and content block, turned into classes.
 * Gold on these pages is #D4AF37, as in the template.
 * ───────────────────────────────────────────────────────────────────────────── */

.is-layout-flow > .et-kente,
.is-layout-flow > .et-opening,
.is-layout-flow > .et-frame,
.is-layout-flow > .et-chapnav,
.is-layout-flow > .et-chap,
.is-layout-flow > .et-reflection,
.is-layout-flow > .et-continue { margin-block-start: 0; }

.et-kente {
	height: 6px; width: 100%;
	background: repeating-linear-gradient(90deg,
		#D4AF37 0px, #D4AF37 14px, #1A4D3A 14px, #1A4D3A 28px,
		#8B1A1A 28px, #8B1A1A 42px, #0D1018 42px, #0D1018 56px,
		#C17F3A 56px, #C17F3A 70px, #1A4D3A 70px, #1A4D3A 84px);
	opacity: 0.60; flex-shrink: 0;
}

.et-w { max-width: 72rem; margin: 0 auto; padding: 0 clamp(20px,5vw,64px); box-sizing: border-box; }

.et-eyebrow {
	font-family: Inter, system-ui, sans-serif; font-size: 0.65rem; font-weight: 700;
	letter-spacing: 0.38em; text-transform: uppercase; color: #D4AF37; margin: 0 0 12px;
}
.et-mini-label {
	font-family: Inter, system-ui, sans-serif; font-size: 0.58rem; font-weight: 700;
	letter-spacing: 0.28em; text-transform: uppercase; margin: 0 0 10px;
}

/* ── Act I: opening ── */
.et-opening {
	position: relative; height: 100vh; min-height: 520px;
	display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden;
	background: #0B1120;
}
.et-opening-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.38); }
.et-opening-fade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(11,17,32,0.82) 0%, transparent 45%); }
.et-back {
	position: absolute; top: 24px; left: clamp(20px,5vw,64px); z-index: 10;
	display: flex; align-items: center; gap: 8px;
	border: 1px solid rgba(212,175,55,0.35); border-radius: 3px; color: #D4AF37;
	font-family: Inter, system-ui, sans-serif; font-size: 0.65rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase; padding: 9px 18px; text-decoration: none;
	line-height: normal;
}
.et-opening-inner { position: relative; z-index: 2; padding: clamp(40px,6vh,80px) clamp(20px,5vw,64px); max-width: 60rem; }
.et-opening-inner .et-eyebrow { text-shadow: 0 1px 12px rgba(0,0,0,0.90); }
.et-opening-title {
	font-family: 'Cormorant Garamond', Georgia, serif; font-style: italic;
	font-size: clamp(2.2rem,6vw,4.8rem); font-weight: 700; color: #F8FAFC;
	margin: 0 0 20px; line-height: 1.08;
	text-shadow: 0 2px 24px rgba(0,0,0,0.90), 0 1px 6px rgba(0,0,0,0.95);
}
.et-opening-desc {
	font-family: Inter, system-ui, sans-serif; font-size: clamp(0.88rem,1.5vw,1.05rem);
	color: #fff; line-height: 1.78; max-width: 52ch; margin: 0 0 32px;
	text-shadow: 0 1px 10px rgba(0,0,0,0.85);
}
.et-opening-tags { display: flex; gap: 12px; flex-wrap: wrap; }
.et-opening-tags span {
	font-family: Inter, system-ui, sans-serif; font-size: 0.62rem; font-weight: 700;
	letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,175,55,0.50);
	border: 1px solid rgba(212,175,55,0.22); border-radius: 2px; padding: 6px 14px;
}

/* ── Act II: curatorial frame ── */
.et-frame {
	background: rgba(14,22,42,0.80);
	border-top: 1px solid rgba(212,175,55,0.10); border-bottom: 1px solid rgba(212,175,55,0.10);
	padding: clamp(48px,7vh,80px) 0;
}
.et-frame-title {
	font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.4rem,2.5vw,2rem);
	font-weight: 700; color: #F8FAFC; margin: 0 0 32px; line-height: 1.2;
}
.et-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
@media (max-width: 768px) { .et-dual { grid-template-columns: 1fr; } }
.et-frame .et-dual { gap: 0; border: 1px solid rgba(212,175,55,0.12); border-radius: 10px; overflow: hidden; }
.et-frame-col { padding: clamp(24px,4vh,40px); }
.et-frame-col:first-child { border-right: 1px solid rgba(212,175,55,0.10); }
.et-frame-col:last-child { background: rgba(212,175,55,0.03); }
.et-frame-col .et-mini-label { font-size: 0.60rem; letter-spacing: 0.30em; margin-bottom: 14px; }
.et-frame-col p.et-voice { font-family: Inter, system-ui, sans-serif; font-size: 0.86rem; color: #fff; line-height: 1.80; margin: 0; }
.et-frame-note {
	font-family: Inter, system-ui, sans-serif; font-size: 0.80rem; font-style: italic;
	color: rgba(248,250,252,0.32); margin: 20px 0 0; text-align: center; letter-spacing: 0.05em;
}
.et-archive-tone { color: rgba(185,162,110,0.85); }
.et-oral-tone { color: rgba(212,175,55,0.65); }

/* ── Chapter nav ── */
.et-chapnav {
	position: sticky; top: calc(64px + var(--wp-admin--admin-bar--height, 0px)); z-index: 40;
	background: rgba(11,17,32,0.97);
	border-bottom: 1px solid rgba(212,175,55,0.12);
	backdrop-filter: blur(14px);
}
.et-chapnav::after {
	content: ''; position: absolute; top: 0; right: 0; bottom: 0; width: 72px;
	background: linear-gradient(to right, transparent, rgba(11,17,32,0.97));
	pointer-events: none; z-index: 1;
}
@media (min-width: 900px) { .et-chapnav::after { display: none; } }
.et-chapnav-inner {
	max-width: 90rem; margin: 0 auto; padding: 0 clamp(20px,4vw,48px);
	display: flex; overflow-x: auto; scrollbar-width: none;
}
.et-chapnav-inner::-webkit-scrollbar { display: none; }
.et-chapnav-pill {
	display: inline-flex; align-items: center;
	font-family: Inter, system-ui, sans-serif; font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase; color: rgba(248,250,252,0.42);
	background: none; border: none; border-bottom: 2px solid transparent;
	padding: 15px 16px 13px; cursor: pointer; white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.et-chapnav-pill:hover { color: #D4AF37; }
.et-chapnav-pill.et-active { color: #D4AF37; border-bottom-color: #D4AF37; }

/* ── Chapters ── */
.et-chap { padding: clamp(56px,8vh,96px) 0; border-bottom: 1px solid rgba(212,175,55,0.08); scroll-margin-top: 110px; }
.et-chap--dark { background: rgba(14,22,42,0.50); }
.et-chapter-head { margin-bottom: 36px; }
.et-chapter-num {
	font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; font-weight: 700;
	letter-spacing: 0.42em; text-transform: uppercase; color: rgba(212,175,55,0.50); margin: 0 0 6px;
}
.et-chapter-title {
	font-family: Inter, system-ui, sans-serif; font-size: clamp(1.6rem,3vw,2.4rem);
	font-weight: 700; color: #F8FAFC; margin: 0; line-height: 1.15;
}
.et-rule { width: 48px; height: 2px; background: linear-gradient(to right,#D4AF37,transparent); margin: 0 0 20px; }

/* Plain paragraphs placed in a chapter read as the template's narrative text.
   (The section class is et-chap: the older name et-chapter carries a 72ch
   line cap in the theme stylesheet, which the React pages never applied.) */
.et-chapter-body > p:not([class*="et-"]) {
	font-family: Inter, system-ui, sans-serif; font-size: 0.86rem;
	color: rgba(248,250,252,0.55); line-height: 1.80; margin: 0 0 14px;
}
.et-chapter-body > p:not([class*="et-"]):last-child,
.et-chapter-body > p:not([class*="et-"]):has(+ :not(p)) { margin-bottom: 32px; }

/* ── Image era ── */
.et-era { position: relative; border-radius: 12px; overflow: hidden; height: clamp(220px,32vw,380px); margin-bottom: 32px; }
.et-era img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.55); display: block; }
.et-era-shade { position: absolute; inset: 0; background: linear-gradient(to right, rgba(11,17,32,0.55) 0%, transparent 60%); }
.et-era-cap { position: absolute; bottom: 20px; left: 24px; }
.et-era-ref {
	font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; font-weight: 700;
	letter-spacing: 0.30em; text-transform: uppercase; color: #0B1120; background: #D4AF37;
	border-radius: 2px; padding: 5px 12px; display: inline-block; margin: 0 0 8px;
}
.et-era-vessel { font-family: Inter, system-ui, sans-serif; font-size: 1.1rem; color: #F8FAFC; margin: 0; }
.et-era-methods { position: absolute; top: 20px; right: 20px; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.et-era-methods span {
	font-family: Inter, system-ui, sans-serif; font-size: 0.58rem; font-weight: 700;
	letter-spacing: 0.18em; text-transform: uppercase; color: #F8FAFC;
	background: rgba(11,17,32,0.70); border-radius: 2px; padding: 4px 10px; display: inline-block;
}

/* ── Dual voice ── */
.et-dual--voice { margin-bottom: 24px; }
.et-dual-archive, .et-dual-oral { padding: clamp(20px,3vh,32px); }
.et-dual-archive { background: rgba(185,162,110,0.06); border: 1px solid rgba(185,162,110,0.16); border-radius: 8px 0 0 8px; }
.et-dual-oral { background: rgba(212,175,55,0.04); border: 1px solid rgba(212,175,55,0.12); border-radius: 0 8px 8px 0; }
.et-dual-archive .et-mini-label { margin-bottom: 12px; }
.et-dual-oral .et-mini-label { margin-bottom: 12px; color: rgba(212,175,55,0.60); }
.et-dual p.et-text { font-family: Inter, system-ui, sans-serif; font-size: 0.85rem; color: #fff; line-height: 1.80; margin: 0; }
.et-dual p.et-text + p.et-text { margin-top: 12px; }

/* ── Callouts ── */
.et-callout { border-radius: 8px; padding: clamp(18px,3vh,28px); margin-bottom: 24px; }
.et-callout p.et-callout-text { font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; line-height: 1.75; margin: 0; color: rgba(248,250,252,0.55); }
.et-callout--what-is-lost, .et-callout--info-red { background: rgba(244,67,54,0.05); border: 1px solid rgba(244,67,54,0.18); }
.et-callout--what-is-lost .et-mini-label { color: rgba(244,67,54,0.70); }
.et-callout--what-is-lost p.et-callout-text { color: #fff; line-height: 1.78; }
.et-callout--info-red .et-mini-label { color: rgba(244,67,54,0.65); }
.et-callout--info-gold { background: rgba(212,175,55,0.04); border: 1px solid rgba(212,175,55,0.14); }
.et-callout--info-gold .et-mini-label { color: rgba(212,175,55,0.55); }
.et-callout--info-blue { background: rgba(185,162,110,0.06); border: 1px solid rgba(185,162,110,0.20); }
.et-callout--info-blue .et-mini-label { color: rgba(185,162,110,0.85); }
.et-archive-note {
	font-family: Inter, system-ui, sans-serif; font-size: 0.72rem; color: rgba(248,250,252,0.28);
	line-height: 1.65; font-style: italic; background: rgba(212,175,55,0.04);
	padding: 10px 16px; border-radius: 4px; margin: 0 0 24px;
}

/* ── Section heading ── */
.et-sub { margin-bottom: 28px; }
.et-sub h3 { font-family: 'Lora', Georgia, serif; font-size: clamp(1.1rem,2vw,1.4rem); font-weight: 400; color: #F8FAFC; margin: 0 0 6px; line-height: 1.5; }
.et-sub p { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.55); line-height: 1.70; max-width: 58ch; margin: 0; }

/* ── Video slot ── */
.et-video {
	border-radius: 10px; border: 1px dashed rgba(212,175,55,0.25); background: rgba(212,175,55,0.04);
	padding: 28px 32px; display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px;
}
.et-video-icon { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid rgba(212,175,55,0.35); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.et-video-meta { font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,175,55,0.45); margin: 0 0 4px; }
.et-video-title { font-family: Inter, system-ui, sans-serif; font-size: 1rem; color: rgba(248,250,252,0.70); margin: 0 0 6px; }
.et-video-desc { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.38); margin: 0; line-height: 1.65; }
.et-video-frame { position: relative; aspect-ratio: 16/9; border-radius: 10px; overflow: hidden; margin-bottom: 24px; border: 1px solid rgba(212,175,55,0.18); }
.et-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ── Status dot ── */
.et-status { display: inline-flex; align-items: center; gap: 6px; font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase; }
.et-status i { width: 6px; height: 6px; border-radius: 50%; display: inline-block; background: currentColor; box-shadow: 0 0 6px currentColor; }
.et-status--active { color: #4CAF50; }
.et-status--at-risk { color: #FF9800; }
.et-status--endangered { color: #f44336; }

/* ── Music ── */
.et-music { margin-bottom: 32px; }
.et-music-heading { font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; font-weight: 700; letter-spacing: 0.32em; text-transform: uppercase; color: rgba(212,175,55,0.45); margin: 0 0 10px; }
.et-music-intro { font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; color: rgba(248,250,252,0.55); line-height: 1.72; max-width: 62ch; margin: 0 0 20px; }
.et-songs { display: flex; flex-direction: column; gap: 14px; }
.et-song { border: 1px solid rgba(212,175,55,0.12); border-radius: 10px; background: rgba(14,22,42,0.60); transition: border-color 0.25s, background 0.25s; overflow: hidden; }
.et-song.is-open { border-color: rgba(212,175,55,0.30); background: rgba(212,175,55,0.04); }
.et-song-toggle { width: 100%; padding: 20px 22px; background: none; border: none; cursor: pointer; text-align: left; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.et-song-type { font-family: Inter, system-ui, sans-serif; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,175,55,0.45); margin: 0 0 4px; }
.et-song-title { font-family: Inter, system-ui, sans-serif; font-size: 1.05rem; color: #F8FAFC; margin: 0 0 2px; }
.et-song-fante { font-family: Inter, system-ui, sans-serif; font-size: 0.72rem; color: #D4AF37; margin: 0; letter-spacing: 0.06em; }
.et-song-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex-shrink: 0; }
.et-song-state { font-family: Inter, system-ui, sans-serif; font-size: 0.62rem; color: rgba(248,250,252,0.35); transition: color 0.2s; }
.et-song.is-open .et-song-state { color: #D4AF37; }
.et-song-state .when-open, .et-song.is-open .et-song-state .when-closed { display: none; }
.et-song.is-open .et-song-state .when-open { display: inline; }
.et-song-body { padding: 0 22px 22px; }
.et-song-context { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.50); line-height: 1.72; margin: 0 0 20px; }
.et-song-body .et-dual { gap: 16px; margin-bottom: 20px; }
.et-lyric { background: rgba(11,17,32,0.60); border: 1px solid rgba(212,175,55,0.12); border-radius: 6px; padding: 16px 18px; }
.et-lyric-label { font-family: Inter, system-ui, sans-serif; font-size: 0.56rem; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: rgba(212,175,55,0.45); margin: 0 0 10px; }
.et-lyric--en .et-lyric-label { color: rgba(248,250,252,0.28); }
.et-lyric pre { font-family: Inter, system-ui, sans-serif; font-style: normal; font-weight: 400; margin: 0; white-space: pre-wrap; background: none; padding: 0; border: 0; }
.et-lyric--fante pre { font-size: 0.96rem; color: #D4AF37; line-height: 2.0; letter-spacing: 0.03em; }
.et-lyric--en pre { font-size: 0.92rem; color: #fff; line-height: 1.85; }
.et-song-voice { margin: 0 0 12px; background: rgba(212,175,55,0.04); border: 1px solid rgba(212,175,55,0.18); border-radius: 8px; padding: 14px 18px; }
.et-song-voice p { font-family: Inter, system-ui, sans-serif; font-size: 0.95rem; color: rgba(248,250,252,0.62); line-height: 1.72; margin: 0 0 6px; }
.et-song-voice cite, .et-quote cite { font-family: Inter, system-ui, sans-serif; font-size: 0.62rem; color: rgba(212,175,55,0.45); font-style: normal; letter-spacing: 0.08em; }
.et-song-recorded { font-family: Inter, system-ui, sans-serif; font-size: 0.68rem; color: rgba(248,250,252,0.25); margin: 0; font-style: italic; }

/* ── Species catalogue ── */
.et-species { margin-bottom: 40px; }
.et-intro { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.55); line-height: 1.70; max-width: 58ch; margin: 0 0 16px; }
.et-era-tabs { display: flex; border-bottom: 1px solid rgba(212,175,55,0.14); margin-bottom: 24px; overflow-x: auto; scrollbar-width: none; }
.et-era-tabs::-webkit-scrollbar { display: none; }
.et-era-tab {
	font-family: Inter, system-ui, sans-serif; font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.20em; text-transform: uppercase; background: none; border: none;
	border-bottom: 2px solid transparent; padding: 12px 20px 10px; color: rgba(248,250,252,0.42);
	cursor: pointer; white-space: nowrap; transition: color 0.2s, border-color 0.2s;
}
.et-era-tab:hover { color: #D4AF37; }
.et-era-tab.et-active { color: #D4AF37; border-bottom-color: #D4AF37; }
.et-species-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.et-species-card {
	border-radius: 8px; border: 1px solid rgba(212,175,55,0.12); overflow: hidden;
	background: rgba(14,22,42,0.70); cursor: pointer;
	transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.et-species-card:hover { border-color: rgba(212,175,55,0.45); transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,0.45); }
.et-species-img { height: 120px; overflow: hidden; position: relative; }
.et-species-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; display: block; }
.et-species-img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(14,22,42,0.70) 0%, transparent 60%); }
.et-species-tap { position: absolute; bottom: 8px; right: 10px; z-index: 1; font-family: Inter, system-ui, sans-serif; font-size: 0.52rem; color: rgba(212,175,55,0.70); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }
.et-species-body { padding: 14px 16px; }
.et-species-name { font-family: Inter, system-ui, sans-serif; font-size: 1rem; color: #F8FAFC; margin: 0 0 2px; }
.et-species-fante { font-family: Inter, system-ui, sans-serif; font-size: 0.62rem; color: #D4AF37; margin: 0 0 6px; letter-spacing: 0.08em; }
.et-species-season { font-family: Inter, system-ui, sans-serif; font-size: 0.70rem; color: rgba(248,250,252,0.55); margin: 0 0 6px; letter-spacing: 0.06em; }
.et-species-note { font-family: Inter, system-ui, sans-serif; font-size: 0.76rem; color: rgba(248,250,252,0.42); line-height: 1.58; margin: 0; }
.et-species-kind { display: inline-block; margin-top: 10px; font-family: Inter, system-ui, sans-serif; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase; border-radius: 2px; padding: 3px 8px; background: rgba(100,168,148,0.12); color: rgba(100,168,148,0.75); }
.et-species-kind--deep { background: rgba(140,162,210,0.12); color: rgba(140,162,210,0.75); }

.et-lightbox-overlay {
	position: fixed; inset: 0; z-index: 100000; background: rgba(11,17,32,0.97);
	display: flex; align-items: center; justify-content: center; padding: clamp(16px,4vw,48px);
}
.et-lightbox-panel {
	position: relative; background: rgba(14,24,45,0.98); border: 1px solid rgba(212,175,55,0.28);
	border-radius: 14px; max-width: 680px; width: 100%; max-height: 90vh; overflow-y: auto;
	scrollbar-width: thin; scrollbar-color: rgba(212,175,55,0.3) transparent;
}
.et-lb-media { height: clamp(200px,35vw,320px); overflow: hidden; border-radius: 13px 13px 0 0; position: relative; background: rgba(11,17,32,0.98); }
.et-lb-media img { width: 100%; height: 100%; object-fit: contain; }
.et-lb-arrow {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
	background: rgba(11,17,32,0.75); border: 1px solid rgba(212,175,55,0.35); border-radius: 50%;
	width: 40px; height: 40px; color: #D4AF37; cursor: pointer; display: flex; align-items: center;
	justify-content: center; font-size: 1.2rem; backdrop-filter: blur(6px); padding: 0;
}
.et-lb-arrow--prev { left: 14px; }
.et-lb-arrow--next { right: 14px; }
.et-lb-body { padding: clamp(24px,4vh,40px); }
.et-lb-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 20px; }
.et-lb-name { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 700; color: #F8FAFC; margin: 0 0 4px; line-height: 1.2; }
.et-lb-fante { font-family: Inter, system-ui, sans-serif; font-size: 0.80rem; color: #D4AF37; margin: 0; letter-spacing: 0.10em; }
.et-lb-tools { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.et-lb-count { font-family: Inter, system-ui, sans-serif; font-size: 0.60rem; color: rgba(212,175,55,0.45); letter-spacing: 0.12em; }
.et-lb-close { background: none; border: 1px solid rgba(212,175,55,0.30); border-radius: 50%; width: 34px; height: 34px; color: #D4AF37; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.et-lb-kind { font-family: Inter, system-ui, sans-serif; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.20em; text-transform: uppercase; border-radius: 2px; padding: 4px 10px; display: inline-block; margin-bottom: 20px; background: rgba(100,168,148,0.14); color: rgba(100,168,148,0.80); }
.et-lb-kind--deep { background: rgba(140,162,210,0.14); color: rgba(140,162,210,0.80); }
.et-lb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin-bottom: 20px; }
.et-lb-label { font-family: Inter, system-ui, sans-serif; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(212,175,55,0.45); margin: 0 0 4px; }
.et-lb-value { font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; color: rgba(248,250,252,0.55); margin: 0; }
.et-lb-notes { border-top: 1px solid rgba(212,175,55,0.10); padding-top: 18px; margin-bottom: 16px; }
.et-lb-notes .et-lb-label { margin-bottom: 8px; }
.et-lb-notes .et-lb-value { font-size: 0.86rem; line-height: 1.72; }
.et-lb-culture { background: rgba(212,175,55,0.04); border: 1px solid rgba(212,175,55,0.14); border-radius: 6px; padding: 14px 18px; }
.et-lb-culture .et-lb-label { color: rgba(212,175,55,0.50); margin-bottom: 8px; }
.et-lb-culture .et-lb-value { font-size: 0.92rem; color: rgba(248,250,252,0.62); line-height: 1.70; }

/* ── Market chain ── */
.et-chain-wrap { margin-bottom: 40px; }
.et-chain-wrap .et-intro { margin-bottom: 20px; }
.et-chain { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.et-step { border-radius: 8px; border: 1px solid rgba(212,175,55,0.12); background: rgba(14,22,42,0.70); padding: 20px 22px; }
.et-step-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 10px; }
.et-step-num { font-family: Inter, system-ui, sans-serif; font-size: 0.65rem; font-weight: 700; color: #D4AF37; background: rgba(212,175,55,0.10); border: 1px solid rgba(212,175,55,0.22); border-radius: 2px; padding: 4px 8px; flex-shrink: 0; }
.et-step-role { font-family: Inter, system-ui, sans-serif; font-size: 1rem; color: #F8FAFC; margin: 0; }
.et-step-fante { font-family: Inter, system-ui, sans-serif; font-size: 0.62rem; color: #D4AF37; margin: 2px 0 0; letter-spacing: 0.08em; }
.et-step-who { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.55); line-height: 1.68; margin: 0 0 8px; }
.et-step-note { font-family: Inter, system-ui, sans-serif; font-size: 0.76rem; font-style: italic; color: rgba(248,250,252,0.35); line-height: 1.62; margin: 0; }

/* ── Market calls ── */
.et-calls-wrap { margin-bottom: 32px; }
.et-calls-wrap .et-intro { max-width: 60ch; margin-bottom: 8px; }
.et-calls-note { font-family: Inter, system-ui, sans-serif; font-size: 0.78rem; color: rgba(248,250,252,0.32); line-height: 1.65; font-style: italic; margin: 0 0 24px; }
.et-calls-list { display: flex; flex-direction: column; gap: 20px; }
.et-call { border: 1px solid rgba(212,175,55,0.14); border-radius: 8px; background: rgba(14,22,42,0.60); overflow: hidden; }
.et-call-head { background: rgba(212,175,55,0.06); padding: 18px 22px 14px; border-bottom: 1px solid rgba(212,175,55,0.10); }
.et-call-fante { font-family: 'Lora', Georgia, serif; font-style: normal; font-weight: 400; font-size: 1.08rem; color: #D4AF37; margin: 0 0 4px; line-height: 1.45; letter-spacing: 0.03em; }
.et-call-en { font-family: Inter, system-ui, sans-serif; font-size: 0.80rem; color: rgba(248,250,252,0.55); margin: 0; }
.et-call-body { padding: 14px 22px 18px; }
.et-call-context { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.50); line-height: 1.72; margin: 0 0 10px; }
.et-call-foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.et-call-who { font-family: Inter, system-ui, sans-serif; font-size: 0.68rem; color: rgba(248,250,252,0.30); margin: 0; font-style: italic; }

/* ── Disappearing list ── */
.et-lost { margin-bottom: 32px; }
.et-lost .et-intro { font-size: 0.84rem; line-height: 1.78; max-width: 62ch; margin-bottom: 32px; }
.et-lost-item { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 28px; }
.et-lost-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(244,67,54,0.65); flex-shrink: 0; margin-top: 7px; }
.et-lost-title { font-family: 'Lora', Georgia, serif; font-size: 1rem; color: #F8FAFC; margin: 0 0 6px; }
.et-lost-detail { font-family: Inter, system-ui, sans-serif; font-size: 0.82rem; color: rgba(248,250,252,0.55); line-height: 1.75; margin: 0; }
.et-lost-foot { margin-top: 8px; background: rgba(244,67,54,0.05); border: 1px solid rgba(244,67,54,0.18); border-radius: 8px; padding: 22px 26px; }
.et-lost-foot p { font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; color: #fff; line-height: 1.75; margin: 0; }

/* ── Act IV: community reflection ── */
.et-reflection { background: rgba(14,22,42,0.85); border-top: 1px solid rgba(212,175,55,0.10); padding: clamp(56px,8vh,96px) 0; }
.et-act-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.6rem,3vw,2.4rem); font-weight: 700; color: #F8FAFC; margin: 0 0 10px; line-height: 1.15; }
.et-reflection-intro { font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; color: rgba(248,250,252,0.42); line-height: 1.72; max-width: 56ch; margin: 0 0 48px; }
.et-voices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 900px) { .et-voices { grid-template-columns: 1fr; } }
.et-voice-card { border: 1px solid rgba(212,175,55,0.14); border-radius: 10px; background: rgba(11,17,32,0.60); padding: clamp(24px,3vh,36px); display: flex; flex-direction: column; }
.et-avatar { width: 48px; height: 48px; border-radius: 50%; background: rgba(212,175,55,0.10); border: 1px solid rgba(212,175,55,0.25); overflow: hidden; margin-bottom: 20px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: 'Lora', Georgia, serif; font-size: 1.1rem; color: #D4AF37; }
.et-avatar img { width: 100%; height: 100%; object-fit: cover; }
.et-voice-card blockquote { margin: 0 0 20px; flex: 1; padding: 0; border: 0; }
.et-voice-card blockquote p { font-family: 'Lora', Georgia, serif; font-size: clamp(0.92rem,1.5vw,1.05rem); color: #fff; line-height: 1.80; margin: 0; }
.et-voice-foot { border-top: 1px solid rgba(212,175,55,0.10); padding-top: 16px; }
.et-voice-name { font-family: Inter, system-ui, sans-serif; font-size: 0.78rem; font-weight: 700; color: #F8FAFC; margin: 0 0 2px; }
.et-voice-role { font-family: Inter, system-ui, sans-serif; font-size: 0.66rem; color: #D4AF37; margin: 0; letter-spacing: 0.06em; }

/* ── Act V: continue ── */
.et-continue { background: #0B1120; border-top: 1px solid rgba(212,175,55,0.10); padding: clamp(56px,8vh,96px) 0; }
.et-continue .et-frame-title { margin-bottom: 40px; }
.et-continue-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.et-continue-link { display: block; border: 1px solid rgba(212,175,55,0.18); border-radius: 8px; padding: 22px 24px; text-decoration: none; background: rgba(14,22,42,0.60); transition: border-color 0.25s, background 0.25s; }
.et-continue-link:hover { border-color: rgba(212,175,55,0.45); background: rgba(212,175,55,0.05); }
.et-continue-label { font-family: 'Lora', Georgia, serif; font-size: 1rem; color: #F8FAFC; margin: 0 0 6px; }
.et-continue-desc { font-family: Inter, system-ui, sans-serif; font-size: 0.78rem; color: rgba(248,250,252,0.40); margin: 0; line-height: 1.60; }

.et-lightbox-overlay[hidden], .et-species-grid[hidden] { display: none; }

/* Exhibition subtitle, under the opening title */
.et-opening-subtitle {
	font-family: Inter, system-ui, sans-serif; font-size: clamp(0.72rem,1.1vw,0.85rem); font-weight: 700;
	letter-spacing: 0.32em; text-transform: uppercase; color: #D4AF37;
	margin: -8px 0 22px; text-shadow: 0 1px 12px rgba(0,0,0,0.90);
}

/* ── Credits, at the end of every exhibition ── */
.et-credits { background: #0B1120; border-top: 1px solid rgba(212,175,55,0.10); padding: clamp(48px,7vh,80px) 0; }
.et-credits .et-frame-title { margin-bottom: 28px; }
.et-credits-roles {
	display: grid; grid-template-columns: max-content 1fr; gap: 8px 28px;
	margin: 0 0 30px; padding: 0; max-width: 46rem;
}
.et-credits-roles dt {
	font-family: Inter, system-ui, sans-serif; font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase; color: #D4AF37; padding-top: 3px;
}
.et-credits-roles dd { font-family: 'Lora', Georgia, serif; font-size: 0.98rem; color: #F8FAFC; margin: 0; line-height: 1.6; }
.et-credits-note { max-width: 46rem; margin: 0 0 22px; }
.et-credits-label {
	font-family: Inter, system-ui, sans-serif; font-size: 0.66rem; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase; color: #D4AF37; margin: 0 0 6px;
}
.et-credits-note p:not(.et-credits-label) {
	font-family: Inter, system-ui, sans-serif; font-size: 0.84rem; color: rgba(248,250,252,0.62);
	line-height: 1.78; margin: 0;
}
.et-credits-note strong { color: #EAB308; font-weight: 700; }
.et-credits-note a, .et-credits-rights a { color: #EAB308; text-decoration: underline; }
.et-credits-cite { font-family: 'Lora', Georgia, serif !important; color: rgba(248,250,252,0.72) !important; }
.et-credits-rights { margin: 26px 0 0; font-family: Inter, system-ui, sans-serif; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; }

@media (max-width: 600px) {
	.et-credits-roles { grid-template-columns: 1fr; gap: 2px 0; }
	.et-credits-roles dd { margin-bottom: 14px; }
}

/* The curator line under the opening title */
.et-opening-curator {
	font-family: Inter, system-ui, sans-serif; font-size: 0.70rem; font-weight: 600;
	letter-spacing: 0.24em; text-transform: uppercase; color: rgba(248,250,252,0.72);
	margin: 0 0 18px; text-shadow: 0 1px 12px rgba(0,0,0,0.90);
}

/* Recordings, where a song or a market call has one */
.me-audio { width: 100%; max-width: 520px; margin: 0 0 14px; display: block; }
.me-audio-embed { margin: 0 0 14px; }
.me-audio-embed iframe { width: 100%; border: 0; border-radius: 6px; }
.me-audio-link { margin: 0 0 14px; }
.me-audio-link a { color: #EAB308; text-decoration: underline; font-family: Inter, system-ui, sans-serif; font-size: 0.8rem; }

/* An exhibition still being prepared.
   Its address answers rather than 404s — a page named on the Exhibitions page
   should never read as a fault — while the work in progress stays private. */
.ex-soon {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(48px, 10vw, 120px) 24px;
	background: #0B1120;
}

.ex-soon-card {
	max-width: 44rem;
	text-align: center;
	border: 1px solid rgba(212, 175, 55, 0.22);
	border-radius: 10px;
	padding: clamp(28px, 5vw, 56px);
	background: rgba(212, 175, 55, 0.03);
}

.ex-soon-eyebrow {
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(234, 179, 8, 0.75);
	margin: 0 0 18px;
}

.ex-soon-title {
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.15;
	color: #F8FAFC;
	margin: 0 0 14px;
}

.ex-soon-sub {
	font-family: 'Lora', Georgia, serif;
	font-size: clamp(0.95rem, 1.6vw, 1.1rem);
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 20px;
}

.ex-soon-body {
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.92rem;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 auto 18px;
	max-width: 40ch;
}

.ex-soon-dates {
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	margin: 0 0 28px;
}

.ex-soon-back {
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: #D4AF37;
	text-decoration: none;
	border-bottom: 1px solid rgba(212, 175, 55, 0.35);
	padding-bottom: 4px;
	transition: border-color 0.25s ease;
}

.ex-soon-back:hover,
.ex-soon-back:focus-visible {
	border-bottom-color: #D4AF37;
}
