/**
 * WEPRO Zultpedia — Museum-encyclopedia design tokens
 *
 * Cascade layer 3 (per wepro-starter-kit pattern):
 *   Layer 1: Avada theme defaults
 *   Layer 2: --wdt-* design-token plugin
 *   Layer 3: --wzp-* Zultpedia tokens (THIS FILE)
 *   Layer 4: Per-element private vars (set inside element output)
 *
 * Visual register: Smithsonian / Met Museum / Britannica online.
 * Typography: editorial serif headlines, elegant sans body, monospace data.
 * Color: restrained palette, gem-photography on neutral backgrounds.
 * Spacing: generous, library-grade.
 *
 * Last updated: 2026-04-27
 */

:root {
	/* ── Typography stacks ────────────────────────────────────────── */
	--wzp-font-display: "Cormorant Garamond", "Cormorant", "Garamond", "EB Garamond", Georgia, serif;
	--wzp-font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--wzp-font-mono:    "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;
	--wzp-font-greek:   "GFS Didot", "Times New Roman", serif;

	/* ── Type scale (modular, golden-ratio-leaning) ───────────────── */
	--wzp-text-xxs:  0.75rem;     /* 12px — meta lines, captions */
	--wzp-text-xs:   0.8125rem;   /* 13px — small labels */
	--wzp-text-sm:   0.9375rem;   /* 15px — sidebar/infobox body */
	--wzp-text-base: 1.0625rem;   /* 17px — body copy (editorial reading size) */
	--wzp-text-lg:   1.1875rem;   /* 19px — pull-quote body */
	--wzp-text-xl:   1.5rem;      /* 24px — H3 */
	--wzp-text-2xl:  1.875rem;    /* 30px — H2 */
	--wzp-text-3xl:  2.625rem;    /* 42px — H1 article */
	--wzp-text-4xl:  3.75rem;     /* 60px — H1 hero */
	--wzp-text-5xl:  5rem;        /* 80px — display */

	/* ── Line heights ─────────────────────────────────────────────── */
	--wzp-leading-tight:    1.15;  /* display headlines */
	--wzp-leading-snug:     1.3;   /* H1-H3 */
	--wzp-leading-normal:   1.55;  /* sidebar/UI */
	--wzp-leading-relaxed:  1.7;   /* body copy editorial */
	--wzp-leading-loose:    1.85;  /* long-form reading flow */

	/* ── Letter spacing ──────────────────────────────────────────── */
	--wzp-tracking-tightest: -0.04em;
	--wzp-tracking-tighter:  -0.02em;
	--wzp-tracking-tight:    -0.01em;
	--wzp-tracking-normal:    0;
	--wzp-tracking-wide:      0.02em;
	--wzp-tracking-wider:     0.06em;     /* small-caps eyebrows */
	--wzp-tracking-widest:    0.14em;     /* ALL-CAPS section labels */

	/* ── Font weights ─────────────────────────────────────────────── */
	--wzp-weight-regular:  400;
	--wzp-weight-medium:   500;
	--wzp-weight-semibold: 600;
	--wzp-weight-bold:     700;

	/* ── Color — light mode (default) ─────────────────────────────── */
	/* Editorial palette: parchment + ink + restrained accents */
	--wzp-color-bg:           #fbfaf6;   /* parchment */
	--wzp-color-bg-soft:      #f3f1ea;   /* parchment muted */
	--wzp-color-bg-card:      #ffffff;   /* card surface */
	--wzp-color-bg-deep:      #1a1814;   /* deep ink, used as photo backdrop */

	--wzp-color-ink:          #1c1a17;   /* primary text */
	--wzp-color-ink-soft:     #3d3a35;   /* secondary text */
	--wzp-color-ink-muted:    #6b6661;   /* meta, captions, attribution */
	--wzp-color-ink-faint:    #a39e96;   /* divider, weak labels */
	--wzp-color-line:         #d8d2c4;   /* hairline rules */
	--wzp-color-line-strong:  #1c1a17;   /* emphasis rules */

	/* Accent — gem-coordinated, low chroma */
	--wzp-color-accent:        #6f5d3e;  /* burnished bronze */
	--wzp-color-accent-soft:   #c8b78f;  /* champagne */
	--wzp-color-accent-deep:   #4a3c24;  /* deep umber */

	/* Color-change demo gem accents — used in interactive UI */
	--wzp-color-day:           #8aa07a;  /* sage green (daylight Zultanite) */
	--wzp-color-night:         #b76b6b;  /* raspberry pink (candlelight Zultanite) */

	/* Citation / source-priority swatches */
	--wzp-color-tier-gia:      #1f3a5f;  /* gold-standard navy */
	--wzp-color-tier-igs:      #2a5f4a;  /* peer journal teal */
	--wzp-color-tier-peer:     #5a3a7c;  /* peer-review purple */
	--wzp-color-tier-primary:  #6f5d3e;  /* primary bronze (matches accent) */
	--wzp-color-tier-secondary:#8c7355;  /* secondary tan */

	/* Status / feedback */
	--wzp-color-verified:      #2a5f4a;
	--wzp-color-attributed:    #8c7355;
	--wzp-color-unverified:    #a04949;

	/* ── Spacing scale (8px base, generous library register) ──────── */
	--wzp-space-1:   0.25rem;     /*  4px */
	--wzp-space-2:   0.5rem;      /*  8px */
	--wzp-space-3:   0.75rem;     /* 12px */
	--wzp-space-4:   1rem;        /* 16px */
	--wzp-space-5:   1.5rem;      /* 24px */
	--wzp-space-6:   2rem;        /* 32px */
	--wzp-space-7:   3rem;        /* 48px */
	--wzp-space-8:   4rem;        /* 64px */
	--wzp-space-9:   6rem;        /* 96px */
	--wzp-space-10:  8rem;        /* 128px */

	/* Semantic spacing */
	--wzp-space-paragraph:  var(--wzp-space-5);
	--wzp-space-section:    var(--wzp-space-8);
	--wzp-space-chapter:    var(--wzp-space-9);

	/* ── Layout (encyclopedia grid) ───────────────────────────────── */
	--wzp-content-max:       72ch;        /* prose reading column */
	--wzp-article-max:       1280px;      /* article + infobox grid */
	--wzp-wide-max:          1440px;      /* hero / archive grids */
	--wzp-infobox-width:     22rem;       /* sidebar fact panel */
	--wzp-gutter-x:          var(--wzp-space-5);
	--wzp-gutter-y:          var(--wzp-space-7);

	/* ── Borders & radii ──────────────────────────────────────────── */
	--wzp-border-hairline:   1px solid var(--wzp-color-line);
	--wzp-border-strong:     2px solid var(--wzp-color-line-strong);
	--wzp-border-double:     3px double var(--wzp-color-line);
	--wzp-radius-none:       0;
	--wzp-radius-sm:         2px;
	--wzp-radius-md:         4px;
	--wzp-radius-lg:         8px;

	/* ── Shadow (very restrained — museum prefers paper-flat) ───── */
	--wzp-shadow-sm:    0 1px 2px rgba(28, 26, 23, 0.04);
	--wzp-shadow-card:  0 1px 3px rgba(28, 26, 23, 0.06), 0 0 0 1px var(--wzp-color-line);
	--wzp-shadow-hover: 0 2px 8px rgba(28, 26, 23, 0.08), 0 0 0 1px var(--wzp-color-line);

	/* ── Motion ───────────────────────────────────────────────────── */
	--wzp-ease-museum:    cubic-bezier(0.4, 0, 0.2, 1);
	--wzp-duration-quick: 150ms;
	--wzp-duration-slow:  400ms;

	/* ── Z-index ──────────────────────────────────────────────────── */
	--wzp-z-base:          1;
	--wzp-z-sticky:        100;
	--wzp-z-tooltip:       1000;
	--wzp-z-modal:         2000;
}

/* ── Dark mode (system preference) ─────────────────────────────── */
@media (prefers-color-scheme: dark) {
	:root {
		--wzp-color-bg:           #14130f;
		--wzp-color-bg-soft:      #1a1814;
		--wzp-color-bg-card:      #1e1c17;
		--wzp-color-bg-deep:      #0a0907;

		--wzp-color-ink:          #f0ece2;
		--wzp-color-ink-soft:     #c8c2b3;
		--wzp-color-ink-muted:    #908a7d;
		--wzp-color-ink-faint:    #5e5a52;
		--wzp-color-line:         #3d3a35;
		--wzp-color-line-strong:  #f0ece2;

		--wzp-color-accent:        #c8b78f;
		--wzp-color-accent-soft:   #6f5d3e;
		--wzp-color-accent-deep:   #f0ece2;

		--wzp-shadow-card:  0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px var(--wzp-color-line);
		--wzp-shadow-hover: 0 2px 8px rgba(0, 0, 0, 0.5), 0 0 0 1px var(--wzp-color-line);
	}
}

/* ── Reduced motion ────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	:root {
		--wzp-duration-quick: 0ms;
		--wzp-duration-slow:  0ms;
	}
}

/* ── Base typography for any Zultpedia surface ─────────────────── */
.wzp-surface {
	color: var(--wzp-color-ink);
	background: var(--wzp-color-bg);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-base);
	line-height: var(--wzp-leading-relaxed);
}

.wzp-prose {
	max-width: var(--wzp-content-max);
	margin-inline: auto;
	color: var(--wzp-color-ink);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-base);
	line-height: var(--wzp-leading-relaxed);
}

.wzp-prose h1,
.wzp-prose h2,
.wzp-prose h3,
.wzp-prose h4 {
	font-family: var(--wzp-font-display);
	font-weight: var(--wzp-weight-regular);
	letter-spacing: var(--wzp-tracking-tight);
	color: var(--wzp-color-ink);
	line-height: var(--wzp-leading-snug);
}

.wzp-prose h1 { font-size: var(--wzp-text-3xl); margin: 0 0 var(--wzp-space-5); }
.wzp-prose h2 { font-size: var(--wzp-text-2xl); margin: var(--wzp-space-7) 0 var(--wzp-space-4); }
.wzp-prose h3 { font-size: var(--wzp-text-xl);  margin: var(--wzp-space-6) 0 var(--wzp-space-3); }

.wzp-prose p { margin: 0 0 var(--wzp-space-paragraph); }

.wzp-prose a {
	color: var(--wzp-color-accent);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	text-decoration-color: var(--wzp-color-line);
	transition: text-decoration-color var(--wzp-duration-quick) var(--wzp-ease-museum), color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-prose a:hover,
.wzp-prose a:focus-visible {
	text-decoration-color: var(--wzp-color-accent);
	color: var(--wzp-color-accent-deep);
}

.wzp-prose blockquote {
	margin: var(--wzp-space-6) 0;
	padding: var(--wzp-space-4) var(--wzp-space-5);
	border-left: var(--wzp-border-strong);
	font-family: var(--wzp-font-display);
	font-style: italic;
	font-size: var(--wzp-text-lg);
	line-height: var(--wzp-leading-snug);
	color: var(--wzp-color-ink-soft);
}

.wzp-prose ul,
.wzp-prose ol {
	margin: 0 0 var(--wzp-space-paragraph);
	padding-inline-start: var(--wzp-space-5);
}

.wzp-prose li { margin-bottom: var(--wzp-space-2); }

.wzp-prose code {
	font-family: var(--wzp-font-mono);
	font-size: 0.9em;
	color: var(--wzp-color-accent-deep);
	background: var(--wzp-color-bg-soft);
	padding: 0.05em 0.4em;
	border-radius: var(--wzp-radius-sm);
}

/* AEO lead paragraph — the standalone answer at the top of every article */
.wzp-prose .wzp-aeo-lead,
.wzp-aeo-lead {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-xl);
	font-weight: var(--wzp-weight-regular);
	line-height: var(--wzp-leading-snug);
	color: var(--wzp-color-ink);
	margin: 0 0 var(--wzp-space-7);
	padding: var(--wzp-space-5) var(--wzp-space-6);
	background: var(--wzp-color-bg-card);
	border-block: var(--wzp-border-hairline);
	border-inline-start: 4px solid var(--wzp-color-accent);
}

.wzp-aeo-lead strong {
	font-weight: var(--wzp-weight-regular);
}

/* Section eyebrow — small caps category label above headlines */
.wzp-eyebrow {
	display: inline-block;
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xs);
	font-weight: var(--wzp-weight-medium);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
	margin-bottom: var(--wzp-space-2);
}

/* Hairline horizontal rules between major sections */
.wzp-prose hr,
hr.wzp-rule {
	border: 0;
	border-top: var(--wzp-border-hairline);
	margin: var(--wzp-space-7) 0;
}

hr.wzp-rule--double {
	border-top: var(--wzp-border-double);
}

/* Tables */
.wzp-prose table,
table.wzp-table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--wzp-space-6) 0;
	font-size: var(--wzp-text-sm);
}

.wzp-prose th,
.wzp-prose td,
table.wzp-table th,
table.wzp-table td {
	border-top: var(--wzp-border-hairline);
	padding: var(--wzp-space-3) var(--wzp-space-4);
	text-align: left;
	vertical-align: top;
}

.wzp-prose th,
table.wzp-table th {
	font-family: var(--wzp-font-body);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-wide);
	font-size: var(--wzp-text-xs);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
	border-top: 0;
	border-bottom: var(--wzp-border-strong);
}

.wzp-prose figure {
	margin: var(--wzp-space-7) 0;
}

.wzp-prose figcaption {
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	margin-top: var(--wzp-space-2);
	font-style: italic;
	letter-spacing: var(--wzp-tracking-wide);
	line-height: var(--wzp-leading-snug);
}

/* A11Y baseline */
.wzp-prose :focus-visible,
.wzp-surface :focus-visible {
	outline: 2px solid var(--wzp-color-accent);
	outline-offset: 2px;
	border-radius: var(--wzp-radius-sm);
}

.wzp-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--wzp-color-bg-deep);
	color: var(--wzp-color-bg);
	padding: var(--wzp-space-3) var(--wzp-space-5);
	z-index: var(--wzp-z-modal);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
}

.wzp-skip-link:focus-visible {
	left: var(--wzp-space-4);
	top: var(--wzp-space-4);
}

/* Visually hidden (screen-reader-only) */
.wzp-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ── Page wrapper (museum surface) ──────────────────────────── */

.wzp-page {
	min-height: 60vh;
	padding-block: var(--wzp-space-8);
	background: var(--wzp-color-bg);
}

.wzp-page__inner {
	max-width: var(--wzp-article-max);
	margin-inline: auto;
	padding-inline: var(--wzp-space-5);
}

@media (min-width: 768px) {
	.wzp-page__inner {
		padding-inline: var(--wzp-space-7);
	}
}

/* ── Article header (eyebrow + headline + meta) ────────────── */

.wzp-article-header {
	max-width: var(--wzp-content-max);
	margin: 0 auto var(--wzp-space-7);
}

.wzp-breadcrumb {
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	margin-bottom: var(--wzp-space-5);
}

.wzp-breadcrumb ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-2);
	align-items: center;
}

.wzp-breadcrumb a {
	color: var(--wzp-color-ink-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-breadcrumb a:hover,
.wzp-breadcrumb a:focus-visible {
	border-bottom-color: var(--wzp-color-accent);
	color: var(--wzp-color-ink);
}

.wzp-breadcrumb [aria-current="page"] {
	color: var(--wzp-color-ink);
}

.wzp-article-title {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-3xl);
	font-weight: var(--wzp-weight-regular);
	line-height: var(--wzp-leading-snug);
	letter-spacing: var(--wzp-tracking-tight);
	color: var(--wzp-color-ink);
	margin: 0 0 var(--wzp-space-4);
}

@media (min-width: 768px) {
	.wzp-article-title {
		font-size: var(--wzp-text-4xl);
		line-height: var(--wzp-leading-tight);
	}
}

.wzp-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-4);
	align-items: center;
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	letter-spacing: var(--wzp-tracking-wide);
	padding-top: var(--wzp-space-4);
	border-top: var(--wzp-border-hairline);
}

.wzp-meta-group--subjects {
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-2);
}

.wzp-meta-item {
	display: inline-flex;
	align-items: center;
}

.wzp-meta-item--reading::before,
.wzp-meta-item--factcheck::before {
	content: "·";
	margin-inline-end: var(--wzp-space-3);
	color: var(--wzp-color-ink-faint);
}

.wzp-tag {
	display: inline-block;
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xs);
	font-weight: var(--wzp-weight-medium);
	letter-spacing: var(--wzp-tracking-wide);
	padding: 0.15em 0.6em;
	border: 1px solid var(--wzp-color-line);
	border-radius: 999px;
	color: var(--wzp-color-ink-soft);
	text-decoration: none;
	background: var(--wzp-color-bg-card);
	transition: all var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-tag:hover,
.wzp-tag:focus-visible {
	border-color: var(--wzp-color-accent);
	color: var(--wzp-color-accent-deep);
	background: var(--wzp-color-bg);
}

.wzp-tag--subject {
	font-weight: var(--wzp-weight-semibold);
}

/* ── Main content prose ────────────────────────────────────── */

.wzp-main {
	margin: 0;
}

.wzp-main:focus-visible {
	outline: none;
}

.wzp-prose {
	max-width: var(--wzp-content-max);
	margin-inline: auto;
}

/* Citations panel ─────────────────────────────────────────── */

.wzp-citations {
	max-width: var(--wzp-content-max);
	margin: var(--wzp-space-9) auto 0;
}

.wzp-citations__heading {
	margin: 0 0 var(--wzp-space-5);
}

.wzp-citations__heading .wzp-eyebrow {
	display: block;
	margin-bottom: var(--wzp-space-1);
}

.wzp-citations__title {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-2xl);
	font-weight: var(--wzp-weight-regular);
	color: var(--wzp-color-ink);
	display: block;
}

.wzp-citations__list {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: wzp-cite;
}

.wzp-citation {
	display: grid;
	grid-template-columns: 2rem 1fr auto;
	gap: var(--wzp-space-2) var(--wzp-space-4);
	padding: var(--wzp-space-4) 0;
	border-bottom: var(--wzp-border-hairline);
	counter-increment: wzp-cite;
	align-items: baseline;
}

.wzp-citation::before {
	content: counter(wzp-cite, decimal-leading-zero);
	font-family: var(--wzp-font-mono);
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-faint);
	letter-spacing: var(--wzp-tracking-wide);
}

.wzp-citation__title {
	display: block;
	grid-column: 2;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-base);
	color: var(--wzp-color-ink);
	font-weight: var(--wzp-weight-medium);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

a.wzp-citation__title:hover,
a.wzp-citation__title:focus-visible {
	border-bottom-color: var(--wzp-color-accent);
}

.wzp-citation__attribution {
	grid-column: 2;
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	letter-spacing: var(--wzp-tracking-wide);
}

.wzp-citation__tier {
	grid-column: 3;
	grid-row: 1;
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	font-weight: var(--wzp-weight-semibold);
	padding: 0.1em 0.6em;
	border-radius: var(--wzp-radius-sm);
	white-space: nowrap;
	color: var(--wzp-color-bg);
	background: var(--wzp-color-tier-secondary);
	align-self: start;
}

.wzp-citation__tier--gia,
.wzp-citation__tier--primary { background: var(--wzp-color-tier-gia); }
.wzp-citation__tier--peer-review { background: var(--wzp-color-tier-peer); }
.wzp-citation__tier--mindat,
.wzp-citation__tier--official { background: var(--wzp-color-tier-igs); }
.wzp-citation__tier--secondary { background: var(--wzp-color-tier-secondary); }
.wzp-citation__tier--museum { background: var(--wzp-color-tier-igs); }

@media (max-width: 540px) {
	.wzp-citation {
		grid-template-columns: 1.5rem 1fr;
	}
	.wzp-citation__tier {
		grid-column: 2;
		grid-row: auto;
		justify-self: start;
	}
}

/* Colophon — editorial provenance footer ──────────────────── */

.wzp-colophon {
	max-width: var(--wzp-content-max);
	margin: var(--wzp-space-7) auto 0;
}

.wzp-colophon__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzp-space-3) var(--wzp-space-5);
	margin: 0;
}

@media (min-width: 640px) {
	.wzp-colophon__list {
		grid-template-columns: 1fr 1fr;
	}
}

.wzp-colophon__item {
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-1);
	padding: var(--wzp-space-3) 0;
	border-bottom: var(--wzp-border-hairline);
}

.wzp-colophon__item dt {
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	font-weight: var(--wzp-weight-semibold);
	color: var(--wzp-color-ink-muted);
	margin: 0;
}

.wzp-colophon__item dd {
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink);
	margin: 0;
	line-height: var(--wzp-leading-normal);
}

/* Glossary term head (phonetic + synonyms) ────────────────── */

.wzp-term-head {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzp-space-3);
	margin: 0 0 var(--wzp-space-6);
	padding: var(--wzp-space-4) var(--wzp-space-5);
	background: var(--wzp-color-bg-soft);
	border-inline-start: 3px solid var(--wzp-color-accent);
}

.wzp-term-head__row {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: var(--wzp-space-3);
	align-items: baseline;
}

.wzp-term-head__row dt {
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	font-weight: var(--wzp-weight-semibold);
	color: var(--wzp-color-ink-muted);
}

.wzp-term-head__row dd {
	margin: 0;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-base);
	color: var(--wzp-color-ink);
}

.wzp-term-head__phonetic {
	font-family: var(--wzp-font-greek) !important;
	font-style: italic;
	letter-spacing: var(--wzp-tracking-wide);
}

@media (max-width: 540px) {
	.wzp-term-head__row {
		grid-template-columns: 1fr;
	}
}

/* Reduce Avada theme padding bleed when our wrapper takes over */

.wzp-page .fusion-page-title-bar,
.wzp-page .fusion-page-title-row {
	display: none;
}

/* ── Mobile-first fixes for Avada-nested layout ────────────── */

/* When force_full_width fires, .fusion-row becomes 100% but still has padding;
   reset its padding inside Zultpedia singles so .wzp-page__inner is in charge. */
body.single-gem_article #main .fusion-row,
body.single-gem_comparison #main .fusion-row,
body.single-gem_specimen #main .fusion-row,
body.single-gem_faq #main .fusion-row,
body.single-gem_birthstone #main .fusion-row,
body.single-gem_property_guide #main .fusion-row,
body.single-gem_education #main .fusion-row,
body.single-gem_term #main .fusion-row {
	max-width: 100% !important;
	padding-inline: 0 !important;
	margin-inline: 0 !important;
}

body.single-gem_article #main,
body.single-gem_comparison #main,
body.single-gem_specimen #main,
body.single-gem_faq #main,
body.single-gem_birthstone #main,
body.single-gem_property_guide #main,
body.single-gem_education #main,
body.single-gem_term #main {
	padding: 0 !important;
}

/* Ensure the Zultpedia surface fills the viewport horizontally */
.wzp-surface {
	width: 100%;
	max-width: 100vw;
	overflow-x: hidden;
}

/* Mobile-first padding override — the existing .wzp-page__inner already has
   padding-inline: var(--wzp-space-5) at base + space-7 at md+. Tighten further
   on very small screens (≤375px iPhone SE) so content has more room. */
@media (max-width: 480px) {
	.wzp-page__inner {
		padding-inline: var(--wzp-space-4); /* 16px instead of 24px */
	}

	.wzp-article-title {
		font-size: var(--wzp-text-2xl); /* 30px instead of 42px */
		line-height: var(--wzp-leading-snug);
	}

	.wzp-aeo-lead {
		padding: var(--wzp-space-4) var(--wzp-space-4);
		font-size: var(--wzp-text-base);
	}

	.wzp-prose h2 {
		font-size: var(--wzp-text-xl); /* 24px instead of 30px */
	}
}

/* Ensure long URLs / chemical formulas / single-token strings break correctly */
.wzp-prose,
.wzp-aeo-lead,
.wzp-citation__title,
.wzp-citation__attribution,
.wzp-article-title,
.wzp-breadcrumb {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* Citations URL anchors can be long — force wrap */
.wzp-citation a {
	overflow-wrap: anywhere;
}

/* All interactive elements meet 44px touch target on mobile */
@media (max-width: 768px) {
	.wzp-tag,
	.wzp-breadcrumb a,
	.wzp-citation__title,
	.wzp-skip-link {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
}

/* Viewport-safe images inside articles */
.wzp-prose img,
.wzp-prose figure {
	max-width: 100%;
	height: auto;
}

/* Comparison table base — mobile single-column stack, table at md+ */
.wzp-prose table,
table.wzp-table,
.wzp-compare {
	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (min-width: 768px) {
	.wzp-prose table,
	table.wzp-table,
	.wzp-compare {
		display: table;
		overflow-x: visible;
	}
}

/* Hide Avada's residual page elements that fight us */
body.single-gem_article .fusion-page-title-bar,
body.single-gem_comparison .fusion-page-title-bar,
body.single-gem_specimen .fusion-page-title-bar,
body.single-gem_faq .fusion-page-title-bar,
body.single-gem_birthstone .fusion-page-title-bar,
body.single-gem_property_guide .fusion-page-title-bar,
body.single-gem_education .fusion-page-title-bar,
body.single-gem_term .fusion-page-title-bar,
body.single-gem_article .single-navigation,
body.single-gem_comparison .single-navigation,
body.single-gem_specimen .single-navigation,
body.single-gem_faq .single-navigation,
body.single-gem_birthstone .single-navigation,
body.single-gem_property_guide .single-navigation,
body.single-gem_education .single-navigation,
body.single-gem_term .single-navigation {
	display: none !important;
}

/* ── 3D Color-Changing Header Strip ────────────────────────── */

.wzp-header3d {
	position: relative;
	width: 100%;
	height: 200px;                 /* mobile-first */
	overflow: hidden;
	background: linear-gradient(
		120deg,
		var(--wzp-color-day) 0%,
		var(--wzp-color-bg-deep) 50%,
		var(--wzp-color-night) 100%
	);
	background-size: 200% 200%;
	animation: wzp-header3d-bg 8s ease-in-out infinite alternate;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	contain: strict;
	isolation: isolate;
}

@media (min-width: 768px) {
	.wzp-header3d {
		height: 300px;
	}
}

@media (min-width: 1280px) {
	.wzp-header3d {
		height: 360px;
	}
}

@keyframes wzp-header3d-bg {
	0%   { background-position:   0% 50%; }
	100% { background-position: 100% 50%; }
}

.wzp-header3d__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2;
}

.wzp-header3d__fallback {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(circle at 30% 50%, rgba(138, 160, 122, 0.45) 0%, transparent 55%),
		radial-gradient(circle at 70% 50%, rgba(183, 107, 107, 0.45) 0%, transparent 55%);
	mix-blend-mode: screen;
	opacity: 0.9;
	animation: wzp-header3d-fallback 8s ease-in-out infinite alternate;
}

@keyframes wzp-header3d-fallback {
	0%   { background-position: 0% 50%, 100% 50%; }
	100% { background-position: 100% 50%, 0% 50%; }
}

/* When WebGL fails or reduced-motion is on, hide the canvas and keep the
   fallback gradient + the caption visible. */
.wzp-header3d--fallback .wzp-header3d__canvas {
	display: none;
}

/* When the JS scene is ready, the fallback fades back so the WebGL renders alone */
.wzp-header3d--ready .wzp-header3d__fallback {
	opacity: 0.35;
	animation-play-state: running;
}

.wzp-header3d__caption {
	position: relative;
	z-index: 3;
	max-width: var(--wzp-article-max);
	margin-inline: auto;
	width: 100%;
	padding: 0 var(--wzp-space-4) var(--wzp-space-5);
	color: var(--wzp-color-bg);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-1);
	text-shadow: 0 1px 16px rgba(0, 0, 0, 0.5);
	pointer-events: none;
}

@media (min-width: 768px) {
	.wzp-header3d__caption {
		padding: 0 var(--wzp-space-7) var(--wzp-space-7);
		gap: var(--wzp-space-2);
	}
}

.wzp-header3d__caption .wzp-eyebrow {
	color: rgba(255, 255, 255, 0.78);
	margin: 0;
}

.wzp-header3d__main {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-2xl);
	line-height: var(--wzp-leading-tight);
	color: var(--wzp-color-bg);
	letter-spacing: var(--wzp-tracking-tight);
}

@media (min-width: 768px) {
	.wzp-header3d__main {
		font-size: var(--wzp-text-3xl);
	}
}

@media (min-width: 1280px) {
	.wzp-header3d__main {
		font-size: var(--wzp-text-4xl);
	}
}

/* ── Animation toggle button (touch-target safe) ───────────── */

.wzp-header3d__toggle {
	position: absolute;
	right: var(--wzp-space-4);
	bottom: var(--wzp-space-4);
	z-index: 4;
	min-width: 44px;
	min-height: 44px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(20, 19, 15, 0.55);
	border: 1px solid rgba(240, 236, 226, 0.25);
	border-radius: 999px;
	color: var(--wzp-color-bg);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition:
		background var(--wzp-duration-quick) var(--wzp-ease-museum),
		border-color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-header3d__toggle:hover,
.wzp-header3d__toggle:focus-visible {
	background: rgba(20, 19, 15, 0.75);
	border-color: rgba(240, 236, 226, 0.5);
}

@media (min-width: 768px) {
	.wzp-header3d__toggle {
		right: var(--wzp-space-5);
		bottom: var(--wzp-space-5);
	}
}

.wzp-header3d__toggle svg {
	fill: currentColor;
	display: block;
}

/* Pause/play icon swap */
.wzp-header3d__toggle .wzp-header3d__icon-play   { display: none; }
.wzp-header3d__toggle[aria-pressed="true"] .wzp-header3d__icon-pause { display: none; }
.wzp-header3d__toggle[aria-pressed="true"] .wzp-header3d__icon-play  { display: block; }

/* When paused, slow the bg gradient */
.wzp-header3d--paused {
	animation-play-state: paused;
}
.wzp-header3d--paused .wzp-header3d__fallback {
	animation-play-state: paused;
}

/* ── Archive index (museum card grid) ──────────────────────── */

.wzp-archive-header {
	max-width: var(--wzp-content-max);
	margin: 0 auto var(--wzp-space-7);
	text-align: left;
}

.wzp-archive-title {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-3xl);
	line-height: var(--wzp-leading-snug);
	letter-spacing: var(--wzp-tracking-tight);
	color: var(--wzp-color-ink);
	margin: 0 0 var(--wzp-space-3);
	font-weight: var(--wzp-weight-regular);
}

@media (min-width: 768px) {
	.wzp-archive-title {
		font-size: var(--wzp-text-4xl);
		line-height: var(--wzp-leading-tight);
	}
}

.wzp-archive-lede {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-lg);
	line-height: var(--wzp-leading-relaxed);
	color: var(--wzp-color-ink-soft);
	max-width: 60ch;
}

.wzp-archive-lede p {
	margin: 0 0 var(--wzp-space-3);
}

/* Card grid — mobile-first single column, 2 columns at md, 3 at lg */
.wzp-archive-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wzp-space-5);
}

@media (min-width: 768px) {
	.wzp-archive-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: var(--wzp-space-6);
	}
}

@media (min-width: 1280px) {
	.wzp-archive-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.wzp-card {
	display: flex;
	margin: 0;
	padding: 0;
}

.wzp-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100%;
	background: var(--wzp-color-bg-card);
	border: 1px solid var(--wzp-color-line);
	border-radius: var(--wzp-radius-md);
	color: inherit;
	text-decoration: none;
	transition: box-shadow var(--wzp-duration-quick) var(--wzp-ease-museum), transform var(--wzp-duration-quick) var(--wzp-ease-museum);
	overflow: hidden;
}

.wzp-card__link:hover,
.wzp-card__link:focus-visible {
	box-shadow: var(--wzp-shadow-hover);
	transform: translateY(-2px);
	outline: none;
}

.wzp-card__link:focus-visible {
	outline: 2px solid var(--wzp-color-accent);
	outline-offset: 2px;
}

.wzp-card__media {
	margin: 0;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wzp-color-bg-soft);
}

.wzp-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wzp-card__body {
	padding: var(--wzp-space-4);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-3);
	flex: 1 1 auto;
}

@media (min-width: 768px) {
	.wzp-card__body {
		padding: var(--wzp-space-5);
	}
}

.wzp-card__eyebrow {
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
	margin: 0;
}

.wzp-card__title {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-xl);
	line-height: var(--wzp-leading-snug);
	color: var(--wzp-color-ink);
	margin: 0;
	font-weight: var(--wzp-weight-regular);
	overflow-wrap: anywhere;
}

@media (min-width: 768px) {
	.wzp-card__title {
		font-size: var(--wzp-text-2xl);
	}
}

.wzp-card__excerpt {
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink-soft);
	line-height: var(--wzp-leading-relaxed);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wzp-card__meta {
	margin-top: auto;
	padding-top: var(--wzp-space-3);
	border-top: var(--wzp-border-hairline);
	display: flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-2);
	align-items: center;
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	letter-spacing: var(--wzp-tracking-wide);
}

.wzp-card__subject {
	display: inline-block;
	padding: 0.1em 0.6em;
	border: 1px solid var(--wzp-color-line);
	border-radius: 999px;
	font-size: var(--wzp-text-xxs);
	font-weight: var(--wzp-weight-medium);
	letter-spacing: var(--wzp-tracking-wide);
}

.wzp-card__reading {
	margin-left: auto;
	white-space: nowrap;
}

/* Pagination */
.wzp-archive-pagination {
	margin-top: var(--wzp-space-7);
	display: flex;
	justify-content: center;
}

.wzp-archive-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-3);
	align-items: center;
}

.wzp-archive-pagination a,
.wzp-archive-pagination .current,
.wzp-archive-pagination .dots {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--wzp-space-3);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink-soft);
	border: 1px solid var(--wzp-color-line);
	border-radius: var(--wzp-radius-sm);
	text-decoration: none;
	background: var(--wzp-color-bg-card);
	transition: all var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-archive-pagination a:hover,
.wzp-archive-pagination a:focus-visible {
	border-color: var(--wzp-color-accent);
	color: var(--wzp-color-accent-deep);
}

.wzp-archive-pagination .current {
	background: var(--wzp-color-ink);
	color: var(--wzp-color-bg);
	border-color: var(--wzp-color-ink);
	font-weight: var(--wzp-weight-semibold);
}

.wzp-archive-empty {
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-lg);
	color: var(--wzp-color-ink-muted);
	max-width: var(--wzp-content-max);
	margin: var(--wzp-space-7) auto;
	text-align: center;
}

/* Body class adjustments for archive pages — apply same Avada strip */
body.post-type-archive-gem_article .avada-page-titlebar-wrapper,
body.post-type-archive-gem_article .fusion-page-title-bar,
body.post-type-archive-gem_comparison .avada-page-titlebar-wrapper,
body.post-type-archive-gem_comparison .fusion-page-title-bar,
body.post-type-archive-gem_specimen .avada-page-titlebar-wrapper,
body.post-type-archive-gem_specimen .fusion-page-title-bar,
body.post-type-archive-gem_faq .avada-page-titlebar-wrapper,
body.post-type-archive-gem_faq .fusion-page-title-bar,
body.post-type-archive-gem_birthstone .avada-page-titlebar-wrapper,
body.post-type-archive-gem_birthstone .fusion-page-title-bar,
body.post-type-archive-gem_property_guide .avada-page-titlebar-wrapper,
body.post-type-archive-gem_property_guide .fusion-page-title-bar,
body.post-type-archive-gem_education .avada-page-titlebar-wrapper,
body.post-type-archive-gem_education .fusion-page-title-bar,
body.post-type-archive-gem_term .avada-page-titlebar-wrapper,
body.post-type-archive-gem_term .fusion-page-title-bar,
body.tax-gem_subject .avada-page-titlebar-wrapper,
body.tax-gem_subject .fusion-page-title-bar,
body.tax-gem_topic .avada-page-titlebar-wrapper,
body.tax-gem_topic .fusion-page-title-bar,
body.tax-gem_birthmonth .avada-page-titlebar-wrapper,
body.tax-gem_birthmonth .fusion-page-title-bar {
	display: none !important;
}

/* Same fusion-row neutralization on archives + taxonomies */
body.post-type-archive-gem_article #main .fusion-row,
body.post-type-archive-gem_article #main,
body.post-type-archive-gem_comparison #main .fusion-row,
body.post-type-archive-gem_comparison #main,
body.post-type-archive-gem_specimen #main .fusion-row,
body.post-type-archive-gem_specimen #main,
body.post-type-archive-gem_faq #main .fusion-row,
body.post-type-archive-gem_faq #main,
body.post-type-archive-gem_birthstone #main .fusion-row,
body.post-type-archive-gem_birthstone #main,
body.post-type-archive-gem_property_guide #main .fusion-row,
body.post-type-archive-gem_property_guide #main,
body.post-type-archive-gem_education #main .fusion-row,
body.post-type-archive-gem_education #main,
body.post-type-archive-gem_term #main .fusion-row,
body.post-type-archive-gem_term #main,
body.tax-gem_subject #main .fusion-row,
body.tax-gem_subject #main,
body.tax-gem_topic #main .fusion-row,
body.tax-gem_topic #main,
body.tax-gem_birthmonth #main .fusion-row,
body.tax-gem_birthmonth #main {
	max-width: 100% !important;
	padding: 0 !important;
	margin-inline: 0 !important;
}

/* ── ZultpediaInfobox (Wikipedia-style fact panel) ─────────── */

.wzp-infobox {
	/* Per-instance cascade layer 4 — overridable inline */
	--wzp-infobox-bg:        var(--wzp-color-bg-card);
	--wzp-infobox-border:    var(--wzp-color-line);
	--wzp-infobox-accent:    var(--wzp-color-accent);
	--wzp-infobox-label-col: 11rem;

	/* Mobile-first: full width inside the prose column */
	width: 100%;
	max-width: 100%;
	margin: var(--wzp-space-6) 0;
	padding: var(--wzp-space-5);
	background: var(--wzp-infobox-bg);
	border: 1px solid var(--wzp-infobox-border);
	border-radius: var(--wzp-radius-md);
	border-inline-start: 4px solid var(--wzp-infobox-accent);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink);
	line-height: var(--wzp-leading-normal);
	box-sizing: border-box;
}

@media (min-width: 768px) {
	.wzp-infobox {
		padding: var(--wzp-space-6);
	}
}

/* Sidebar layout at lg+ — float to the right of the prose column.
   Within .wzp-prose where reading-column is 72ch, the float pulls the infobox
   out into the right gutter with a max-width that respects mobile-first
   (it stays full-width if container narrows). */
@media (min-width: 1024px) {
	.wzp-prose .wzp-infobox {
		float: right;
		width: var(--wzp-infobox-width);
		max-width: 40%;
		margin: 0 0 var(--wzp-space-5) var(--wzp-space-5);
		shape-outside: margin-box;
	}
}

/* ── Header ──────────────────────────────────────────────── */

.wzp-infobox__header {
	margin: 0 0 var(--wzp-space-4);
	padding-bottom: var(--wzp-space-3);
	border-bottom: 1px solid var(--wzp-color-line);
}

.wzp-infobox__header .wzp-eyebrow {
	display: block;
	margin-bottom: var(--wzp-space-1);
}

.wzp-infobox__title {
	margin: 0;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-xl);
	font-weight: var(--wzp-weight-regular);
	letter-spacing: var(--wzp-tracking-tight);
	line-height: var(--wzp-leading-snug);
	color: var(--wzp-color-ink);
}

@media (min-width: 768px) {
	.wzp-infobox__title {
		font-size: var(--wzp-text-2xl);
	}
}

/* ── Fact rows ──────────────────────────────────────────── */

.wzp-infobox__facts {
	margin: 0;
	padding: 0;
}

.wzp-infobox__row {
	display: grid;
	grid-template-columns: 1fr;       /* mobile-first: stack label over value */
	gap: var(--wzp-space-1);
	padding: var(--wzp-space-3) 0;
	border-bottom: 1px solid var(--wzp-color-line);
	margin: 0;
}

.wzp-infobox__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

/* Side-by-side layout only when the infobox container is wide enough.
   Use container queries when supported (the correct mechanism — measures
   the infobox itself, not the viewport, so it works in both inline body
   placement AND sidebar placement). Viewport fallback for older browsers
   activates side-by-side at ≥640px AND specifically excludes sidebar mode. */

@supports (container-type: inline-size) {
	.wzp-infobox {
		container-type: inline-size;
		container-name: wzp-infobox;
	}
	@container wzp-infobox (min-width: 28rem) {
		.wzp-infobox__row {
			grid-template-columns: minmax(8rem, var(--wzp-infobox-label-col)) 1fr;
			gap: var(--wzp-space-3);
			align-items: baseline;
		}
	}
}

/* Viewport fallback (only fires when container queries unsupported, or as a
   last layer of safety). Activates side-by-side at ≥640px viewport but
   forces back to stacked when the infobox is in sidebar mode (≥1024px in
   .wzp-prose context where it floats to a 22rem sidebar). */
@supports not (container-type: inline-size) {
	@media (min-width: 640px) {
		.wzp-infobox__row {
			grid-template-columns: minmax(8rem, var(--wzp-infobox-label-col)) 1fr;
			gap: var(--wzp-space-3);
			align-items: baseline;
		}
	}
	@media (min-width: 1024px) {
		.wzp-prose .wzp-infobox .wzp-infobox__row {
			grid-template-columns: 1fr;
			gap: var(--wzp-space-1);
		}
	}
}

.wzp-infobox__label {
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xxs);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
	margin: 0;
	line-height: var(--wzp-leading-snug);
}

.wzp-infobox__value {
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink);
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--wzp-space-2);
	overflow-wrap: anywhere;
	line-height: var(--wzp-leading-normal);
}

.wzp-infobox__swatch {
	display: inline-block;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	flex-shrink: 0;
	border: 1px solid rgba(28, 26, 23, 0.18);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.4);
}

/* ── Footer (sources line) ──────────────────────────────── */

.wzp-infobox__footer {
	margin-top: var(--wzp-space-4);
	padding-top: var(--wzp-space-3);
	border-top: 1px solid var(--wzp-color-line);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-1);
}

.wzp-infobox__footer .wzp-eyebrow {
	margin: 0;
}

.wzp-infobox__sources {
	font-size: var(--wzp-text-xs);
	color: var(--wzp-color-ink-muted);
	font-style: italic;
}

/* Clear floats inside the prose column when infobox floats */
.wzp-prose::after {
	content: '';
	display: block;
	clear: both;
}

/* ── Color-Change Demo (in-article) ────────────────────────── */

.wzp-color-change-demo {
	margin: var(--wzp-space-7) 0;
	padding: 0;
	border-radius: var(--wzp-radius-md);
	background: var(--wzp-color-bg-deep);
	overflow: hidden;
	contain: layout style paint;
}

.wzp-color-change-demo--missing {
	padding: var(--wzp-space-4);
	background: var(--wzp-color-bg-soft);
	color: var(--wzp-color-unverified);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	font-style: italic;
	border: 1px dashed var(--wzp-color-line);
}

.wzp-color-change-demo__stage {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wzp-color-bg-deep);
	cursor: pointer;
}

@media (min-width: 768px) {
	.wzp-color-change-demo__stage {
		aspect-ratio: 16 / 9;
	}
}

.wzp-color-change-demo__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0;
	transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity;
}

.wzp-color-change-demo__image.is-active {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.wzp-color-change-demo__image {
		transition: opacity 0ms;
	}
}

/* Legend (label chips) */
.wzp-color-change-demo__legend {
	position: absolute;
	top: var(--wzp-space-3);
	left: var(--wzp-space-3);
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-2);
	pointer-events: none;
}

@media (min-width: 768px) {
	.wzp-color-change-demo__legend {
		top: var(--wzp-space-4);
		left: var(--wzp-space-4);
		flex-direction: row;
		gap: var(--wzp-space-3);
	}
}

.wzp-color-change-demo__legend-label {
	display: inline-flex;
	align-items: center;
	gap: var(--wzp-space-2);
	background: rgba(20, 19, 15, 0.78);
	color: rgba(240, 236, 226, 0.65);
	border: 1px solid rgba(240, 236, 226, 0.18);
	border-radius: 999px;
	padding: 0.3em 0.85em;
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	font-weight: var(--wzp-weight-semibold);
	white-space: nowrap;
	transition:
		color var(--wzp-duration-quick) var(--wzp-ease-museum),
		background var(--wzp-duration-quick) var(--wzp-ease-museum),
		border-color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-color-change-demo__legend-label.is-active {
	color: var(--wzp-color-bg);
	background: rgba(20, 19, 15, 0.92);
	border-color: rgba(240, 236, 226, 0.55);
}

.wzp-color-change-demo__swatch {
	display: inline-block;
	width: 0.65rem;
	height: 0.65rem;
	border-radius: 50%;
	box-shadow: 0 0 0 2px rgba(240, 236, 226, 0.25);
}

.wzp-color-change-demo__swatch--day   { background: var(--wzp-color-day); }
.wzp-color-change-demo__swatch--night { background: var(--wzp-color-night); }

/* Toggle button — 44px+ touch target */
.wzp-color-change-demo__toggle {
	position: absolute;
	right: var(--wzp-space-3);
	bottom: var(--wzp-space-3);
	z-index: 3;
	min-width: 44px;
	min-height: 44px;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(20, 19, 15, 0.78);
	border: 1px solid rgba(240, 236, 226, 0.3);
	border-radius: 999px;
	color: var(--wzp-color-bg);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition:
		background var(--wzp-duration-quick) var(--wzp-ease-museum),
		border-color var(--wzp-duration-quick) var(--wzp-ease-museum),
		transform var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-color-change-demo__toggle:hover,
.wzp-color-change-demo__toggle:focus-visible {
	background: rgba(20, 19, 15, 0.92);
	border-color: rgba(240, 236, 226, 0.6);
	transform: scale(1.05);
}

.wzp-color-change-demo__toggle:focus-visible {
	outline: 2px solid var(--wzp-color-accent);
	outline-offset: 2px;
}

@media (min-width: 768px) {
	.wzp-color-change-demo__toggle {
		right: var(--wzp-space-4);
		bottom: var(--wzp-space-4);
	}
}

.wzp-color-change-demo__icon {
	display: block;
	transform-origin: center;
}

.wzp-color-change-demo__toggle[aria-pressed="true"] .wzp-color-change-demo__icon {
	transform: rotate(180deg);
	transition: transform 600ms var(--wzp-ease-museum);
}

@media (prefers-reduced-motion: reduce) {
	.wzp-color-change-demo__toggle[aria-pressed="true"] .wzp-color-change-demo__icon {
		transition: none;
	}
}

/* Caption */
.wzp-color-change-demo__caption {
	margin: 0;
	padding: var(--wzp-space-3) var(--wzp-space-4);
	background: var(--wzp-color-bg-deep);
	color: rgba(240, 236, 226, 0.65);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xs);
	font-style: italic;
	letter-spacing: var(--wzp-tracking-wide);
	line-height: var(--wzp-leading-snug);
	border-top: 1px solid rgba(240, 236, 226, 0.1);
}

@media (min-width: 768px) {
	.wzp-color-change-demo__caption {
		padding: var(--wzp-space-4) var(--wzp-space-5);
	}
}

/* ── Compare Table (in-article) ────────────────────────────── */

.wzp-compare-table {
	margin: var(--wzp-space-7) 0;
	contain: layout style;
}

.wzp-compare-table--missing {
	padding: var(--wzp-space-4);
	background: var(--wzp-color-bg-soft);
	color: var(--wzp-color-unverified);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	font-style: italic;
	border: 1px dashed var(--wzp-color-line);
}

/* MOBILE-FIRST: cards layout. table/thead/tbody/tr/th/td → block.
   At ≥md they revert to native table semantics. */

.wzp-compare-table__table,
.wzp-compare-table__table thead,
.wzp-compare-table__table tbody,
.wzp-compare-table__table tr,
.wzp-compare-table__table th,
.wzp-compare-table__table td {
	display: block;
	width: 100%;
}

.wzp-compare-table__table {
	border-collapse: collapse;
	background: var(--wzp-color-bg-card);
	border: 1px solid var(--wzp-color-line);
	border-radius: var(--wzp-radius-md);
	overflow: hidden;
}

/* Mobile: hide column headers — subjects appear inside each value cell */
.wzp-compare-table__table thead {
	display: none;
}

.wzp-compare-table__row {
	padding: var(--wzp-space-4);
	border-bottom: 1px solid var(--wzp-color-line);
}

.wzp-compare-table__row:last-child {
	border-bottom: 0;
}

.wzp-compare-table__axis-cell {
	display: block;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-lg);
	color: var(--wzp-color-ink);
	font-weight: var(--wzp-weight-regular);
	letter-spacing: var(--wzp-tracking-tight);
	text-align: left;
	padding: 0 0 var(--wzp-space-3);
	border: 0;
}

.wzp-compare-table__value-cell {
	display: grid;
	grid-template-columns: minmax(7rem, 35%) 1fr;
	gap: var(--wzp-space-3);
	align-items: baseline;
	padding: var(--wzp-space-2) 0;
	border: 0;
}

.wzp-compare-table__mobile-label {
	display: inline-block;
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xxs);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
}

.wzp-compare-table__value {
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink);
	line-height: var(--wzp-leading-normal);
	overflow-wrap: anywhere;
}

.wzp-compare-table__note-row {
	padding: var(--wzp-space-2) var(--wzp-space-4) var(--wzp-space-3);
	background: var(--wzp-color-bg-soft);
	border-bottom: 1px solid var(--wzp-color-line);
}

.wzp-compare-table__note {
	display: block;
	padding: 0;
	border: 0;
	font-size: var(--wzp-text-xs);
	font-style: italic;
	color: var(--wzp-color-ink-muted);
	line-height: var(--wzp-leading-relaxed);
}

/* TABLET / DESKTOP: real table semantics */
@media (min-width: 768px) {
	.wzp-compare-table__table {
		display: table;
		table-layout: fixed;
	}
	.wzp-compare-table__table thead {
		display: table-header-group;
		position: sticky;
		top: 0;
		z-index: 2;
		background: var(--wzp-color-bg-card);
	}
	.wzp-compare-table__table tbody { display: table-row-group; }
	.wzp-compare-table__table tr    { display: table-row; }
	.wzp-compare-table__table th,
	.wzp-compare-table__table td    { display: table-cell; }

	.wzp-compare-table__axis-head,
	.wzp-compare-table__subject-head {
		padding: var(--wzp-space-4);
		text-align: left;
		vertical-align: bottom;
		border-bottom: 2px solid var(--wzp-color-ink);
		background: var(--wzp-color-bg-card);
	}

	.wzp-compare-table__sort {
		display: inline-flex;
		align-items: center;
		gap: var(--wzp-space-2);
		min-height: 44px;
		padding: 0;
		background: transparent;
		border: 0;
		cursor: pointer;
		font-family: var(--wzp-font-body);
		font-size: var(--wzp-text-xxs);
		font-weight: var(--wzp-weight-semibold);
		letter-spacing: var(--wzp-tracking-widest);
		text-transform: uppercase;
		color: var(--wzp-color-ink-muted);
	}

	.wzp-compare-table__sort:hover,
	.wzp-compare-table__sort:focus-visible {
		color: var(--wzp-color-accent-deep);
	}

	.wzp-compare-table__sort-indicator {
		font-size: var(--wzp-text-base);
		font-weight: var(--wzp-weight-regular);
		color: var(--wzp-color-ink-faint);
	}

	.wzp-compare-table__subject-head {
		position: relative;
		font-family: var(--wzp-font-display);
		font-size: var(--wzp-text-lg);
		font-weight: var(--wzp-weight-regular);
		color: var(--wzp-color-ink);
		letter-spacing: var(--wzp-tracking-tight);
	}

	.wzp-compare-table__subject-bar {
		position: absolute;
		left: var(--wzp-space-4);
		right: var(--wzp-space-4);
		top: var(--wzp-space-2);
		height: 3px;
		background: var(--wzp-cmp-subject-color, var(--wzp-color-accent));
		border-radius: 2px;
	}

	.wzp-compare-table__subject-name {
		display: block;
		padding-top: var(--wzp-space-3);
	}

	.wzp-compare-table__row {
		padding: 0;
		border-bottom: 1px solid var(--wzp-color-line);
	}

	.wzp-compare-table__row:hover {
		background: var(--wzp-color-bg-soft);
	}

	.wzp-compare-table__axis-cell {
		display: table-cell;
		padding: var(--wzp-space-4);
		font-family: var(--wzp-font-display);
		font-size: var(--wzp-text-base);
		font-weight: var(--wzp-weight-regular);
		color: var(--wzp-color-ink);
		text-align: left;
		vertical-align: top;
		width: 12rem;
	}

	.wzp-compare-table__value-cell {
		display: table-cell;
		grid-template-columns: none;
		padding: var(--wzp-space-4);
		vertical-align: top;
	}

	.wzp-compare-table__mobile-label { display: none; }

	.wzp-compare-table__note-row {
		padding: 0;
		background: var(--wzp-color-bg-soft);
	}

	.wzp-compare-table__note {
		padding: var(--wzp-space-2) var(--wzp-space-4);
		text-align: left;
	}
}

.wzp-compare-table__factcheck {
	margin: var(--wzp-space-3) 0 0;
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xxs);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-muted);
	text-align: right;
}

/* ── Glossary Tooltip System ───────────────────────────────── */

/* Inline-link styling — looks like a normal annotated reference */
.wzp-glossary-link {
	color: var(--wzp-color-accent-deep);
	text-decoration: none;
	border-bottom: 1px dotted var(--wzp-color-accent);
	cursor: help;
	transition: border-bottom-color var(--wzp-duration-quick) var(--wzp-ease-museum), color var(--wzp-duration-quick) var(--wzp-ease-museum);
}

.wzp-glossary-link:hover,
.wzp-glossary-link:focus-visible {
	border-bottom-style: solid;
	color: var(--wzp-color-accent);
}

.wzp-glossary-link:focus-visible {
	outline: 2px solid var(--wzp-color-accent);
	outline-offset: 2px;
	border-radius: var(--wzp-radius-sm);
}

/* ── Popover (md+) ─────────────────────────────────────────── */

.wzp-glossary-popover {
	position: absolute;
	z-index: var(--wzp-z-tooltip);
	width: min(320px, calc(100vw - 24px));
	background: var(--wzp-color-bg-card);
	border: 1px solid var(--wzp-color-line);
	border-radius: var(--wzp-radius-md);
	box-shadow: var(--wzp-shadow-hover);
	color: var(--wzp-color-ink);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	line-height: var(--wzp-leading-normal);
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 140ms var(--wzp-ease-museum), transform 140ms var(--wzp-ease-museum);
	pointer-events: auto;
}

.wzp-glossary-popover.is-open {
	opacity: 1;
	transform: translateY(0);
}

.wzp-glossary-popover.is-below {
	transform: translateY(4px);
}

.wzp-glossary-popover.is-below.is-open {
	transform: translateY(0);
}

.wzp-glossary-popover__inner {
	padding: var(--wzp-space-4);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-2);
}

.wzp-glossary-popover__inner .wzp-eyebrow {
	margin: 0;
}

.wzp-glossary-popover__title {
	margin: 0;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-lg);
	font-weight: var(--wzp-weight-regular);
	line-height: var(--wzp-leading-snug);
	letter-spacing: var(--wzp-tracking-tight);
	color: var(--wzp-color-ink);
}

.wzp-glossary-popover__definition {
	margin: 0;
	font-size: var(--wzp-text-sm);
	color: var(--wzp-color-ink-soft);
	line-height: var(--wzp-leading-relaxed);
}

.wzp-glossary-popover__more {
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xs);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-wide);
	color: var(--wzp-color-accent-deep);
	text-decoration: none;
	border-bottom: 1px solid var(--wzp-color-accent);
	align-self: flex-start;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.wzp-glossary-popover__more:hover,
.wzp-glossary-popover__more:focus-visible {
	color: var(--wzp-color-accent);
	border-bottom-color: var(--wzp-color-accent-deep);
}

.wzp-glossary-popover__arrow {
	position: absolute;
	width: 12px;
	height: 12px;
	background: var(--wzp-color-bg-card);
	border-right: 1px solid var(--wzp-color-line);
	border-bottom: 1px solid var(--wzp-color-line);
	transform: rotate(45deg);
}

.wzp-glossary-popover.is-above .wzp-glossary-popover__arrow {
	bottom: -7px;
}

.wzp-glossary-popover.is-below .wzp-glossary-popover__arrow {
	top: -7px;
	border-top: 1px solid var(--wzp-color-line);
	border-left: 1px solid var(--wzp-color-line);
	border-right: 0;
	border-bottom: 0;
}

/* On mobile (<768px) the popover never shows — drawer takes over */
@media (max-width: 767px) {
	.wzp-glossary-popover {
		display: none !important;
	}
}

/* ── Bottom-Sheet Drawer (mobile) ──────────────────────────── */

.wzp-glossary-sheet {
	position: fixed;
	inset: 0;
	z-index: var(--wzp-z-modal);
	pointer-events: auto;
}

.wzp-glossary-sheet__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 19, 15, 0.55);
	opacity: 0;
	transition: opacity 220ms var(--wzp-ease-museum);
}

.wzp-glossary-sheet.is-open .wzp-glossary-sheet__backdrop {
	opacity: 1;
}

.wzp-glossary-sheet__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	max-height: 80vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: var(--wzp-color-bg-card);
	border-top-left-radius: var(--wzp-radius-lg);
	border-top-right-radius: var(--wzp-radius-lg);
	padding: var(--wzp-space-3) var(--wzp-space-5) calc(var(--wzp-space-6) + env(safe-area-inset-bottom));
	transform: translateY(100%);
	transition: transform 280ms cubic-bezier(0.34, 1.16, 0.64, 1);
	box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.18);
}

.wzp-glossary-sheet.is-open .wzp-glossary-sheet__panel {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.wzp-glossary-sheet__backdrop,
	.wzp-glossary-sheet__panel {
		transition: none !important;
	}
}

.wzp-glossary-sheet__handle {
	width: 40px;
	height: 4px;
	background: var(--wzp-color-line);
	border-radius: 2px;
	margin: 0 auto var(--wzp-space-3);
}

.wzp-glossary-sheet__header {
	margin: 0 0 var(--wzp-space-3);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-space-1);
}

.wzp-glossary-sheet__header .wzp-eyebrow {
	margin: 0;
}

.wzp-glossary-sheet__title {
	margin: 0;
	font-family: var(--wzp-font-display);
	font-size: var(--wzp-text-2xl);
	font-weight: var(--wzp-weight-regular);
	line-height: var(--wzp-leading-snug);
	letter-spacing: var(--wzp-tracking-tight);
	color: var(--wzp-color-ink);
}

.wzp-glossary-sheet__definition {
	margin: 0 0 var(--wzp-space-5);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-base);
	line-height: var(--wzp-leading-relaxed);
	color: var(--wzp-color-ink-soft);
}

.wzp-glossary-sheet__footer {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wzp-space-3);
	align-items: center;
	justify-content: space-between;
	padding-top: var(--wzp-space-4);
	border-top: 1px solid var(--wzp-color-line);
}

.wzp-glossary-sheet__more {
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-sm);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-wide);
	color: var(--wzp-color-accent-deep);
	text-decoration: none;
	border-bottom: 1px solid var(--wzp-color-accent);
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.wzp-glossary-sheet__close {
	min-width: 44px;
	min-height: 44px;
	padding: 0 var(--wzp-space-4);
	background: transparent;
	border: 1px solid var(--wzp-color-line);
	border-radius: var(--wzp-radius-sm);
	font-family: var(--wzp-font-body);
	font-size: var(--wzp-text-xs);
	font-weight: var(--wzp-weight-semibold);
	letter-spacing: var(--wzp-tracking-widest);
	text-transform: uppercase;
	color: var(--wzp-color-ink-soft);
	cursor: pointer;
}

.wzp-glossary-sheet__close:hover,
.wzp-glossary-sheet__close:focus-visible {
	border-color: var(--wzp-color-accent);
	color: var(--wzp-color-accent-deep);
}

body.wzp-glossary-sheet-open {
	overflow: hidden;
}

/* On md+ the sheet never shows — popover takes over */
@media (min-width: 768px) {
	.wzp-glossary-sheet {
		display: none !important;
	}
}


/* ═══════════════════════════════════════════════════════════════
   ZULTPEDIA · ARCHIVE REGISTER (Patek Philippe brochure for a gem)
   Last verified: 2026-04-27
   Used on: homepage, per-gem hubs, article-page hero (museum body
   register stays for long-form reading).
   Mood: deep velvet, champagne gold hairlines, photoreal gem, type
   as the discipline, restraint as the only effect.
   ═══════════════════════════════════════════════════════════════ */

:root {
	/* Patek register typography */
	--wzp-arch-font-display: "Cormorant Garamond", "Bodoni 72", "Bodoni Moda", "Didot", "GFS Didot", "Times New Roman", serif;
	--wzp-arch-font-body:    "Inter", "Inter Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Avenir Next", sans-serif;
	--wzp-arch-font-mono:    "JetBrains Mono", "SF Mono", "IBM Plex Mono", Menlo, Consolas, monospace;

	/* Patek palette — printed-brochure register on parchment cream.
	 * Token names kept (velvet/pearl) so all selectors continue to work,
	 * but semantics flipped:
	 *   "velvet" = page surface (cream paper)
	 *   "pearl"  = ink (deep neutral)
	 *   gold     = stays gold, slightly deeper for cream-paper legibility */
	--wzp-arch-velvet:        #f5f1e8;
	--wzp-arch-velvet-soft:   #efe8d8;
	--wzp-arch-velvet-deep:   #ebe2cd;
	--wzp-arch-velvet-warm:   #f0e8d2;

	--wzp-arch-pearl:         #1c1814;
	--wzp-arch-pearl-soft:    rgba(28, 24, 20, 0.78);
	--wzp-arch-pearl-muted:   rgba(28, 24, 20, 0.52);
	--wzp-arch-pearl-faint:   rgba(28, 24, 20, 0.18);

	--wzp-arch-gold:          #9a7d3e;
	--wzp-arch-gold-deep:     #735a26;
	--wzp-arch-gold-bright:   #b8954c;
	--wzp-arch-gold-faint:    rgba(154, 125, 62, 0.45);

	/* Type scale */
	--wzp-arch-text-meta:    0.6875rem;
	--wzp-arch-text-xs:      0.75rem;
	--wzp-arch-text-sm:      0.875rem;
	--wzp-arch-text-base:    1.0625rem;
	--wzp-arch-text-lg:      1.25rem;
	--wzp-arch-text-xl:      1.75rem;
	--wzp-arch-text-2xl:     2.5rem;
	--wzp-arch-text-3xl:     3.5rem;
	--wzp-arch-text-4xl:     5rem;
	--wzp-arch-text-5xl:     7rem;

	/* Tracking */
	--wzp-arch-track-display:  -0.02em;
	--wzp-arch-track-tight:    -0.01em;
	--wzp-arch-track-mono:      0.04em;
	--wzp-arch-track-meta:      0.18em;
	--wzp-arch-track-wordmark:  0.32em;

	/* Line heights */
	--wzp-arch-leading-display: 1.04;
	--wzp-arch-leading-snug:    1.18;
	--wzp-arch-leading-prose:   1.65;

	/* Hairline rules */
	--wzp-arch-rule-fine:   0.5px solid var(--wzp-arch-pearl-faint);
	--wzp-arch-rule-gold:   0.5px solid var(--wzp-arch-gold-faint);
	--wzp-arch-rule-strong: 1px solid var(--wzp-arch-pearl-faint);

	/* Spacing */
	--wzp-arch-space-1:   0.5rem;
	--wzp-arch-space-2:   1rem;
	--wzp-arch-space-3:   1.5rem;
	--wzp-arch-space-4:   2rem;
	--wzp-arch-space-5:   3rem;
	--wzp-arch-space-6:   4rem;
	--wzp-arch-space-7:   6rem;
	--wzp-arch-space-8:   9rem;

	/* Layout */
	--wzp-arch-content-max:    1280px;
	--wzp-arch-prose-max:      62ch;
	--wzp-arch-caliber-w:      18rem;

	/* Motion */
	--wzp-arch-ease-velvet:    cubic-bezier(0.32, 0.04, 0.32, 1);
	--wzp-arch-duration-quick: 220ms;
	--wzp-arch-duration-slow:  600ms;
}

/* ═══ ARCHIVE SURFACE — body.wzp-archive ═══ */

body.wzp-archive {
	background: var(--wzp-arch-velvet);
	color: var(--wzp-arch-pearl);
	font-family: var(--wzp-arch-font-body);
	font-size: var(--wzp-arch-text-base);
	line-height: var(--wzp-arch-leading-prose);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

body.wzp-archive,
body.wzp-archive #boxed-wrapper,
body.wzp-archive #wrapper,
body.wzp-archive .fusion-wrapper,
body.wzp-archive #main,
body.wzp-archive #content,
body.wzp-archive .fusion-row,
body.wzp-archive .fusion-tb-content,
body.wzp-archive .fusion-tb-footer {
	background: var(--wzp-arch-velvet) !important;
	background-color: var(--wzp-arch-velvet) !important;
	background-image: none !important;
	color: var(--wzp-arch-pearl);
}

body.wzp-archive #main,
body.wzp-archive #content,
body.wzp-archive #wrapper,
body.wzp-archive #boxed-wrapper {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
	min-height: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.wzp-archive #main .fusion-row,
body.wzp-archive .fusion-row {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}

body.wzp-archive #home {
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Hide all Avada chrome on archive surfaces */
body.wzp-archive .avada-page-titlebar-wrapper,
body.wzp-archive .fusion-page-title-bar,
body.wzp-archive .single-navigation,
body.wzp-archive #footer,
body.wzp-archive #footer-widgets,
body.wzp-archive .fusion-footer,
body.wzp-archive .fusion-footer-copyright-area,
body.wzp-archive .fusion-footer-widget-area,
body.wzp-archive .fusion-secondary-header,
body.wzp-archive .fusion-tb-header,
body.wzp-archive #sliders-container,
body.wzp-archive .fusion-sliders,
body.wzp-archive #side-header,
body.wzp-archive .fusion-secondary-main-menu,
body.wzp-archive .fusion-header-wrapper,
body.wzp-archive .skip-link,
body.wzp-archive .wzp-header3d {
	display: none !important;
}

body.wzp-archive ::selection {
	background: var(--wzp-arch-gold);
	color: var(--wzp-arch-velvet);
}

body.wzp-archive :focus-visible {
	outline: 1px solid var(--wzp-arch-gold);
	outline-offset: 4px;
	border-radius: 0;
}

.wzp-arch-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--wzp-arch-gold);
	color: var(--wzp-arch-velvet);
	padding: 0.5rem 1.5rem;
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	text-transform: uppercase;
	z-index: 9999;
}
.wzp-arch-skip:focus-visible { left: 1rem; top: 1rem; }

.wzp-arch-sr-only {
	position: absolute !important;
	width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ═══ SEAL (top monogram + wordmark) ═══ */

.wzp-arch-seal {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: clamp(0.85rem, 2vw, 1.1rem) clamp(1.25rem, 5vw, 2rem);
	border-bottom: var(--wzp-arch-rule-fine);
	max-width: var(--wzp-arch-content-max);
	margin: 0 auto;
}

.wzp-arch-seal__monogram {
	display: inline-flex;
	align-items: center;
	width: 32px;
	height: 32px;
	color: var(--wzp-arch-gold);
	line-height: 0;
	flex-shrink: 0;
}

.wzp-arch-seal__monogram svg {
	width: 100%;
	height: 100%;
	display: block;
}

@media (min-width: 768px) {
	.wzp-arch-seal__monogram {
		width: 36px;
		height: 36px;
	}
}

.wzp-arch-seal__wordmark {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	color: var(--wzp-arch-pearl-muted);
	letter-spacing: var(--wzp-arch-track-wordmark);
	text-transform: uppercase;
	margin-left: auto;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

/* Mobile: keep the wordmark on a single line, scaled to fit */
@media (max-width: 600px) {
	.wzp-arch-seal__wordmark { font-size: 0.58rem; letter-spacing: 0.14em; }
}

@media (max-width: 480px) {
	.wzp-arch-seal__wordmark { font-size: 0.52rem; letter-spacing: 0.12em; }
}

@media (max-width: 380px) {
	.wzp-arch-seal__wordmark { font-size: 0.48rem; letter-spacing: 0.1em; }
}

/* ═══ HERO — caliber card + sticky photo, no whitespace gaps ═══ */

.wzp-arch-hero {
	display: grid;
	grid-template-columns: 1fr;
	background: var(--wzp-arch-velvet);
	border-bottom: var(--wzp-arch-rule-fine);
	max-width: var(--wzp-arch-content-max);
	margin: 0 auto;
}

@media (min-width: 1024px) {
	.wzp-arch-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		align-items: stretch;
	}
}

.wzp-arch-caliber {
	padding: clamp(1.75rem, 5vw, 3rem) clamp(1.25rem, 5vw, 2.5rem);
	display: flex;
	flex-direction: column;
	gap: var(--wzp-arch-space-4);
	order: 2;
	border-top: var(--wzp-arch-rule-fine);
}

@media (min-width: 1024px) {
	.wzp-arch-caliber {
		order: 1;
		border-right: var(--wzp-arch-rule-fine);
		border-top: 0;
		padding: clamp(2.5rem, 4vw, 3.5rem) clamp(1.75rem, 3vw, 2.75rem);
		justify-content: space-between;
		gap: var(--wzp-arch-space-5);
	}
}

.wzp-arch-caliber__ref {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	color: var(--wzp-arch-gold);
	text-transform: uppercase;
	margin: 0;
}

.wzp-arch-caliber__title {
	font-family: var(--wzp-arch-font-display);
	font-weight: 400;
	font-size: var(--wzp-arch-text-3xl);
	line-height: var(--wzp-arch-leading-display);
	letter-spacing: var(--wzp-arch-track-display);
	color: var(--wzp-arch-pearl);
	margin: 0;
}

@media (min-width: 1280px) {
	.wzp-arch-caliber__title { font-size: var(--wzp-arch-text-4xl); }
}

.wzp-arch-caliber__sub {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-mono);
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	margin: 0;
	line-height: var(--wzp-arch-leading-snug);
}

.wzp-arch-caliber__specs {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	border-top: var(--wzp-arch-rule-fine);
	border-bottom: var(--wzp-arch-rule-fine);
}

.wzp-arch-caliber__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wzp-arch-space-2);
	padding: 0.6rem 0;
	border-top: var(--wzp-arch-rule-fine);
	margin: 0;
}

.wzp-arch-caliber__row:first-child { border-top: 0; }

.wzp-arch-caliber__label {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0;
	flex-shrink: 0;
}

.wzp-arch-caliber__leader {
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--wzp-arch-pearl-faint);
	margin: 0 0.5rem 0.25rem;
	min-width: 1rem;
	height: 0;
}

.wzp-arch-caliber__value {
	font-family: var(--wzp-arch-font-body);
	font-size: var(--wzp-arch-text-sm);
	color: var(--wzp-arch-pearl);
	margin: 0;
	text-align: right;
	letter-spacing: var(--wzp-arch-track-tight);
	flex-shrink: 0;
}

.wzp-arch-caliber__essay {
	font-family: var(--wzp-arch-font-display);
	font-style: italic;
	font-size: var(--wzp-arch-text-lg);
	line-height: var(--wzp-arch-leading-snug);
	color: var(--wzp-arch-pearl-soft);
	margin: 0;
	letter-spacing: var(--wzp-arch-track-tight);
}

.wzp-arch-photowell {
	position: relative;
	background: radial-gradient(
		ellipse at 50% 45%,
		var(--wzp-arch-velvet-warm) 0%,
		var(--wzp-arch-velvet-deep) 70%,
		var(--wzp-arch-velvet) 100%
	);
	overflow: hidden;
	order: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 5vw, 2rem) clamp(1.25rem, 3.5vw, 1.75rem);
	margin: 0;
	min-height: 0;
	aspect-ratio: 1 / 1;
}

@media (min-width: 768px) {
	.wzp-arch-photowell {
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 1024px) {
	.wzp-arch-photowell {
		order: 2;
		aspect-ratio: auto;
		position: sticky;
		top: 0;
		height: auto;
		min-height: 100%;
		align-self: stretch;
	}
}

.wzp-arch-photowell__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

/* The real 4K Zultanite photograph */
.wzp-arch-photowell__image {
	position: relative;
	display: block;
	width: min(100%, 560px);
	height: auto;
	max-height: 100%;
	object-fit: contain;
	margin: 0 auto;
	z-index: 1;
	filter:
		drop-shadow(0 24px 48px rgba(28, 24, 20, 0.18))
		drop-shadow(0 8px 16px rgba(28, 24, 20, 0.10))
		hue-rotate(var(--wzp-arch-photo-hue, 0deg))
		saturate(var(--wzp-arch-photo-sat, 1));
	transition:
		filter var(--wzp-arch-duration-slow) var(--wzp-arch-ease-velvet),
		transform 12s linear;
	transform: scale(1);
	will-change: filter, transform;
	cursor: ew-resize;
}

@media (min-width: 1024px) {
	.wzp-arch-photowell__image {
		width: min(85%, 620px);
	}
}

/* Subtle slow drift on the photo so it has presence without animating loudly */
@media (prefers-reduced-motion: no-preference) {
	.wzp-arch-photowell__image {
		animation: wzp-arch-photo-breathe 16s ease-in-out infinite alternate;
	}
}

@keyframes wzp-arch-photo-breathe {
	0%   { transform: scale(1.00); }
	100% { transform: scale(1.04); }
}

/* Photo caption — Patek-style key/value strip beneath the photo.
   Mobile-first: stacked (label on top, values wrapping below).
   Tablet+ (≥640px): single row with right-aligned values.
   Never overflows; never floats. The caption sits INSIDE .wzp-arch-photowell
   which already has horizontal padding, so the caption is full-width relative
   to that padded inner box — no double-padding, no edge collision. */
.wzp-arch-photowell__caption {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	width: 100%;
	max-width: 560px;
	margin: clamp(0.85rem, 2.2vw, 1.25rem) auto 0;
	padding-top: clamp(0.6rem, 1.6vw, 0.85rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	font-family: var(--wzp-arch-font-mono);
	font-size: 0.6rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.55;
	overflow-wrap: anywhere;
	word-break: break-word;
}

@media (min-width: 480px) {
	.wzp-arch-photowell__caption {
		font-size: 0.62rem;
		letter-spacing: 0.14em;
	}
}

@media (min-width: 640px) {
	.wzp-arch-photowell__caption {
		flex-direction: row;
		align-items: baseline;
		gap: 0.75rem;
		font-size: 0.65rem;
		letter-spacing: 0.16em;
	}
}

@media (min-width: 1024px) {
	.wzp-arch-photowell__caption { max-width: 620px; }
}

.wzp-arch-photowell__cap-key {
	color: var(--wzp-arch-gold);
	flex-shrink: 0;
}

.wzp-arch-photowell__cap-val {
	color: var(--wzp-arch-pearl-muted);
	flex: 1 1 auto;
	text-align: left;
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (min-width: 640px) {
	.wzp-arch-photowell__cap-val { text-align: right; }
}

/* ═══ ESSAY — single column, drop-cap, hairline-led ═══ */

.wzp-arch-essay {
	max-width: 68ch;
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 2rem);
	border-bottom: var(--wzp-arch-rule-fine);
}

.wzp-arch-essay__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
	border-bottom: var(--wzp-arch-rule-fine);
}

.wzp-arch-essay__eyebrow {
	font-family: var(--wzp-arch-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
}

.wzp-arch-essay__lead {
	font-family: var(--wzp-arch-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.5rem, 4.5vw, 2.25rem);
	line-height: 1.15;
	letter-spacing: -0.012em;
	color: var(--wzp-arch-pearl);
	margin: 0 0 clamp(1.5rem, 4vw, 2.25rem);
	text-align: left;
}

.wzp-arch-essay__body {
	font-family: var(--wzp-arch-font-body);
	font-size: clamp(1rem, 2.4vw, 1.0625rem);
	line-height: 1.75;
	color: var(--wzp-arch-pearl);
	font-weight: 400;
}

.wzp-arch-essay__body p {
	margin: 0 0 1.15em;
	hyphens: auto;
}

@media (min-width: 768px) {
	.wzp-arch-essay__body p {
		text-align: justify;
		text-justify: inter-word;
	}
}

.wzp-arch-essay__body p em {
	font-family: var(--wzp-arch-font-display);
	font-style: italic;
	font-size: 1.05em;
}

.wzp-arch-essay__body p:first-child::first-letter {
	font-family: var(--wzp-arch-font-display);
	font-size: 4.2em;
	float: left;
	line-height: 0.85;
	margin: 0.08em 0.12em 0 -0.04em;
	color: var(--wzp-arch-gold);
	font-style: italic;
	font-weight: 500;
}

@media (max-width: 600px) {
	.wzp-arch-essay__body p:first-child::first-letter {
		font-size: 3.6em;
	}
}

/* ═══ INDEX OF ENTRIES ═══ */

.wzp-arch-index {
	padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 2rem);
	max-width: 880px;
	margin: 0 auto;
	border-bottom: var(--wzp-arch-rule-fine);
}

.wzp-arch-index__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
	border-bottom: var(--wzp-arch-rule-fine);
	margin-bottom: clamp(0.5rem, 1.5vw, 1rem);
	flex-wrap: wrap;
}

.wzp-arch-index__title {
	font-family: var(--wzp-arch-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 4vw, 1.85rem);
	letter-spacing: -0.008em;
	line-height: 1.15;
	color: var(--wzp-arch-pearl);
	margin: 0;
}

.wzp-arch-index__count {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
}

.wzp-arch-index__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wzp-arch-entry {
	display: grid;
	grid-template-columns: 3rem 1fr;
	gap: 0 var(--wzp-arch-space-3);
	padding: var(--wzp-arch-space-3) 0;
	border-bottom: var(--wzp-arch-rule-fine);
	align-items: baseline;
	transition: background var(--wzp-arch-duration-quick) var(--wzp-arch-ease-velvet);
}

@media (min-width: 768px) {
	.wzp-arch-entry { grid-template-columns: 4rem 1fr 8rem 6rem; }
}

@media (min-width: 1024px) {
	.wzp-arch-entry { grid-template-columns: 5rem 1fr 10rem 7rem 7rem; }
}

.wzp-arch-entry:hover { background: rgba(196, 168, 117, 0.04); }

.wzp-arch-entry__num {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	color: var(--wzp-arch-gold);
	margin: 0;
	font-variant-numeric: tabular-nums;
}

.wzp-arch-entry__main {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.wzp-arch-entry__title {
	font-family: var(--wzp-arch-font-display);
	font-weight: 400;
	font-size: var(--wzp-arch-text-lg);
	line-height: var(--wzp-arch-leading-snug);
	letter-spacing: var(--wzp-arch-track-tight);
	color: var(--wzp-arch-pearl);
	margin: 0;
}

.wzp-arch-entry__title a {
	color: inherit;
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	transition: border-color var(--wzp-arch-duration-quick) var(--wzp-arch-ease-velvet);
}

.wzp-arch-entry__title a:hover,
.wzp-arch-entry__title a:focus-visible {
	border-bottom-color: var(--wzp-arch-gold);
}

.wzp-arch-entry__sub,
.wzp-arch-entry__time,
.wzp-arch-entry__tier,
.wzp-arch-entry__date {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-meta);
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	margin: 0;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 767px) {
	.wzp-arch-entry__time,
	.wzp-arch-entry__tier,
	.wzp-arch-entry__date {
		grid-column: 2;
		display: inline;
		margin-right: 1rem;
	}
	.wzp-arch-entry__main { grid-column: 2; }
}

/* ═══ HALLMARKS — dotted-leader source hierarchy rail ═══ */

.wzp-arch-hallmarks {
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 5vw, 2rem);
	border-bottom: var(--wzp-arch-rule-fine);
}

.wzp-arch-hallmarks__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
	flex-wrap: wrap;
}

.wzp-arch-hallmarks__eyebrow {
	font-family: var(--wzp-arch-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
}

.wzp-arch-hallmarks__title {
	font-family: var(--wzp-arch-font-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 4vw, 1.85rem);
	line-height: 1.15;
	letter-spacing: -0.008em;
	color: var(--wzp-arch-pearl);
	margin: 0;
}

.wzp-arch-hallmarks__list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	border-top: var(--wzp-arch-rule-fine);
}

.wzp-arch-hallmark {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	padding: 0.7rem 0;
	border-bottom: var(--wzp-arch-rule-fine);
	margin: 0;
}

.wzp-arch-hallmark__tier {
	font-family: var(--wzp-arch-font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
	flex-shrink: 0;
	min-width: 4.5rem;
	font-variant-numeric: tabular-nums;
}

.wzp-arch-hallmark__leader {
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--wzp-arch-pearl-faint);
	margin: 0 0.4rem 0.3rem;
	min-width: 1rem;
	height: 0;
}

.wzp-arch-hallmark__name {
	font-family: var(--wzp-arch-font-body);
	font-size: 0.95rem;
	color: var(--wzp-arch-pearl);
	margin: 0;
	text-align: right;
	letter-spacing: -0.005em;
	flex-shrink: 0;
	max-width: 60%;
}

@media (max-width: 480px) {
	.wzp-arch-hallmark__name {
		font-size: 0.9rem;
		max-width: 55%;
	}
	.wzp-arch-hallmark__tier {
		min-width: 3.5rem;
		font-size: 0.62rem;
		letter-spacing: 0.16em;
	}
}

/* ═══ COLOPHON ═══ */

.wzp-arch-colophon {
	padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.25rem, 5vw, 2rem);
	margin: 0 auto;
	max-width: 880px;
	text-align: center;
}

.wzp-arch-colophon__line {
	font-family: var(--wzp-arch-font-mono);
	font-size: var(--wzp-arch-text-meta);
	letter-spacing: var(--wzp-arch-track-wordmark);
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	margin: 0;
	line-height: var(--wzp-arch-leading-snug);
}

.wzp-arch-colophon__line + .wzp-arch-colophon__line {
	margin-top: var(--wzp-arch-space-2);
}

.wzp-arch-colophon__divider {
	color: var(--wzp-arch-gold);
	margin: 0 0.5rem;
}

@media (max-width: 600px) {
	.wzp-arch-colophon__line { letter-spacing: 0.18em; }
}

/* Reduce-motion for archive */
@media (prefers-reduced-motion: reduce) {
	body.wzp-archive * { transition-duration: 0.01ms !important; }
}

/* ═══ Table of Contents — Patek inline rail ════════════════════════
   Renders inside the prose column at the top of long entries. Matches
   the cream-paper register: hairline mono caps, dotted leaders, gold
   eyebrow. Mobile-first: collapsed by default below 768px, expanded
   above. Smooth scroll to anchor on click. */

body.wzp-archive .wzp-toc {
	/* Inherit width from .wzp-prose reading column — no inner max-width or
	   centering, otherwise the rail floats narrower than the body text and
	   the asymmetry reads as a misaligned "box" against the article flow. */
	margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
	padding: 0;
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
}

/* When open, the list's border-top is the bottom rule. When closed, the
   summary sits under the single top hairline with no bottom rule —
   keeps the rail to a clean 2-rule sandwich, never 3. */
body.wzp-archive .wzp-toc__details[open] .wzp-toc__summary {
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-toc__details {
	margin: 0;
}

body.wzp-archive .wzp-toc__summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.85rem;
	padding: clamp(0.75rem, 2vw, 1rem) 0;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

body.wzp-archive .wzp-toc__summary::-webkit-details-marker {
	display: none;
}

body.wzp-archive .wzp-toc__summary::after {
	content: '+';
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.85rem;
	color: var(--wzp-arch-gold);
	margin-left: auto;
	transition: transform 200ms ease;
}

body.wzp-archive .wzp-toc__details[open] .wzp-toc__summary::after {
	content: '−';
}

body.wzp-archive .wzp-toc__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	flex-shrink: 0;
}

body.wzp-archive .wzp-toc__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 400;
	font-size: clamp(0.95rem, 2.4vw, 1.05rem);
	color: var(--wzp-arch-pearl);
	letter-spacing: -0.005em;
	flex: 1 1 auto;
}

body.wzp-archive .wzp-toc__count {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	color: var(--wzp-arch-pearl-muted);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-toc__list {
	list-style: none;
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
	padding: 0;
	/* Top divider lives on the summary when open — no double rule here. */
}

body.wzp-archive .wzp-toc__item {
	display: block;
	width: 100%;
	margin: 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-toc__item:last-child {
	border-bottom: 0;
}

body.wzp-archive .wzp-toc__link {
	display: grid;
	width: 100%;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	gap: 0 0.7rem;
	align-items: baseline;
	padding: 0.55rem 0;
	text-decoration: none;
	color: var(--wzp-arch-pearl);
	transition: color 200ms ease;
}

body.wzp-archive .wzp-toc__link:hover,
body.wzp-archive .wzp-toc__link:focus-visible {
	color: var(--wzp-arch-gold-deep);
}

body.wzp-archive .wzp-toc__num {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-gold);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-toc__leader {
	/* Removed across all viewports — it was claiming grid space and forcing
	   the text column to collapse. Visual hierarchy is already clear from
	   the 01/02 numerals + hairline row separators. */
	display: none;
}

body.wzp-archive .wzp-toc__text {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: clamp(0.88rem, 2.2vw, 0.95rem);
	line-height: 1.4;
	color: inherit;
	/* Override .wzp-prose's overflow-wrap: anywhere — TOC entries are short
	   noun phrases, they should never break mid-word. */
	overflow-wrap: normal;
	word-break: normal;
	min-width: 0;
}

/* Smooth-scroll to anchor on click — but only for users who haven't asked
   for reduced motion */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* Anchor offset so the heading isn't hidden behind the sticky Patek rail */
body.wzp-archive [id^="wzp-h-"] {
	scroll-margin-top: 80px;
}

/* When closed, hide the list at all widths. Otherwise the empty <ol>'s
   border-top renders as a stray hairline below the summary row. */
body.wzp-archive .wzp-toc__details:not([open]) .wzp-toc__list {
	display: none;
}

/* ═══ Related entries appendix (Patek register) ══════════════════════ */

body.wzp-archive .wzp-related {
	margin: clamp(2.5rem, 5vw, 4rem) 0 0;
	padding: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
}

body.wzp-archive .wzp-related__heading {
	display: flex;
	align-items: baseline;
	gap: 0.85rem;
	flex-wrap: wrap;
	margin: 0 0 clamp(1rem, 2vw, 1.5rem);
}

body.wzp-archive .wzp-related__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	flex-shrink: 0;
}

body.wzp-archive .wzp-related__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1rem, 2.4vw, 1.15rem);
	color: var(--wzp-arch-pearl);
	letter-spacing: -0.005em;
	margin: 0;
}

body.wzp-archive .wzp-related__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.wzp-archive .wzp-related__item {
	display: block;
	width: 100%;
	margin: 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-related__item:last-child {
	border-bottom: 0;
}

body.wzp-archive .wzp-related__link {
	display: grid;
	width: 100%;
	grid-template-columns: 2.4rem minmax(0, 1fr);
	gap: 0 0.7rem;
	align-items: baseline;
	padding: 0.85rem 0;
	text-decoration: none;
	color: var(--wzp-arch-pearl);
	transition: color 200ms ease;
}

body.wzp-archive .wzp-related__link:hover,
body.wzp-archive .wzp-related__link:focus-visible {
	color: var(--wzp-arch-gold-deep);
}

body.wzp-archive .wzp-related__num {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-gold);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-related__body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	overflow-wrap: normal;
	word-break: normal;
	min-width: 0;
}

body.wzp-archive .wzp-related__kind {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.58rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
}

body.wzp-archive .wzp-related__entry-title {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: clamp(0.92rem, 2.2vw, 1rem);
	line-height: 1.4;
	color: inherit;
}

/* ═══ Byline (credentialed editorial persona) ════════════════════════ */

body.wzp-archive .wzp-arch-stripe__byline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 0.7rem;
	margin: 0.8rem 0 0;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.6rem, 1.8vw, 0.7rem);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	padding-top: 0.7rem;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-arch-stripe__byline-prefix {
	color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-arch-stripe__byline-name {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 500;
	font-size: clamp(0.95rem, 2.6vw, 1.1rem);
	letter-spacing: 0;
	text-transform: none;
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid var(--wzp-arch-gold-faint);
	transition: color 200ms ease, border-color 200ms ease;
}

body.wzp-archive a.wzp-arch-stripe__byline-name:hover,
body.wzp-archive a.wzp-arch-stripe__byline-name:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-arch-stripe__byline-role {
	color: var(--wzp-arch-pearl-muted);
}

/* ═══ Luxury card fallback (when post has no featured image) ════════ */

body.wzp-archive .wzp-card__media-fallback {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: clamp(1rem, 3vw, 1.5rem);
	text-align: center;
	background:
		radial-gradient(ellipse at 50% 40%, var(--wzp-arch-velvet-warm) 0%, var(--wzp-arch-velvet-deep) 75%, var(--wzp-arch-velvet) 100%);
	color: var(--wzp-arch-pearl);
	min-height: 140px;
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	position: relative;
}

body.wzp-archive .wzp-card__media-fallback::before {
	content: '';
	position: absolute;
	inset: 6px;
	border: 0.5px solid var(--wzp-arch-gold-faint);
	pointer-events: none;
}

body.wzp-archive .wzp-card__media-fallback-monogram {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 500;
	font-size: 1.6rem;
	color: var(--wzp-arch-gold);
	line-height: 1;
	margin: 0 0 0.5rem;
}

body.wzp-archive .wzp-card__media-fallback-eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.6rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0 0 0.4rem;
}

body.wzp-archive .wzp-card__media-fallback-title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-weight: 500;
	font-size: 0.9rem;
	line-height: 1.2;
	color: var(--wzp-arch-pearl);
	margin: 0;
	letter-spacing: -0.005em;
	max-width: 22ch;
}

/* Hide the luxury fallback in the Patek register's index/list views where
   we already render pure typography (no thumbnails). The fallback only
   appears where the layout actively asks for media. */
body.wzp-archive .wzp-archive-grid .wzp-card__media-fallback { display: none; }

/* ═══ Editor profile pages (/author/wzp-…/) ════════════════════════ */

body.wzp-archive .wzp-editor-profile__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(1rem, 3vw, 1.75rem);
	margin: 0 0 clamp(1.5rem, 4vw, 2.25rem);
	padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-editor-profile__monogram {
	width: clamp(64px, 10vw, 88px);
	height: clamp(64px, 10vw, 88px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 500;
	font-size: clamp(2rem, 5vw, 2.6rem);
	color: var(--wzp-arch-gold);
	background: var(--wzp-arch-velvet-warm);
	border: 0.5px solid var(--wzp-arch-gold-faint);
	flex-shrink: 0;
	line-height: 1;
}

body.wzp-archive .wzp-editor-profile__role {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.4rem;
}

body.wzp-archive .wzp-editor-profile__name {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-weight: 500;
	font-size: clamp(1.4rem, 4vw, 1.85rem);
	line-height: 1.15;
	color: var(--wzp-arch-pearl);
	margin: 0;
	letter-spacing: -0.008em;
}

body.wzp-archive .wzp-editor-profile__bio {
	max-width: 70ch;
	margin: 0 auto clamp(2.5rem, 5vw, 3.5rem);
}

body.wzp-archive .wzp-editor-profile__entries {
	max-width: 880px;
	margin: 0 auto;
	padding-top: clamp(2rem, 4vw, 2.5rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-editor-profile__entries-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
	padding-bottom: clamp(0.6rem, 1.6vw, 0.85rem);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-editor-profile__entries-eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
}

body.wzp-archive .wzp-editor-profile__entries-count {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	color: var(--wzp-arch-pearl-muted);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-editor-profile__entries-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.wzp-archive .wzp-editor-profile__entry {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 0.4rem 1rem;
	padding: 0.55rem 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	align-items: baseline;
}

@media (min-width: 768px) {
	body.wzp-archive .wzp-editor-profile__entry {
		grid-template-columns: 3.5rem 1fr auto;
	}
}

body.wzp-archive .wzp-editor-profile__entry-num {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-gold);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-editor-profile__entry-title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: clamp(1rem, 2.4vw, 1.1rem);
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	transition: color 200ms ease, border-color 200ms ease;
	letter-spacing: -0.005em;
}

body.wzp-archive .wzp-editor-profile__entry-title:hover,
body.wzp-archive .wzp-editor-profile__entry-title:focus-visible {
	color: var(--wzp-arch-gold-deep);
	border-bottom-color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-editor-profile__entry-leader { display: none; }

body.wzp-archive .wzp-editor-profile__entry-meta {
	display: flex;
	gap: 0.75rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

@media (max-width: 767px) {
	body.wzp-archive .wzp-editor-profile__entry-meta { grid-column: 2; }
}

/* ═══ Editors grid (/editors/ page) ════════════════════════════════ */

body.wzp-archive .wzp-editors-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1rem, 2.5vw, 1.5rem);
	margin: clamp(1.5rem, 4vw, 2.5rem) 0;
}

@media (min-width: 700px) {
	body.wzp-archive .wzp-editors-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

body.wzp-archive .wzp-editor-card {
	display: flex;
	gap: clamp(0.85rem, 2vw, 1.25rem);
	padding: clamp(1rem, 2.5vw, 1.5rem);
	background: var(--wzp-arch-velvet-soft);
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	transition: border-color 200ms ease, background 200ms ease, transform 200ms ease;
}

body.wzp-archive .wzp-editor-card:hover,
body.wzp-archive .wzp-editor-card:focus-visible {
	border-color: var(--wzp-arch-gold);
	background: var(--wzp-arch-velvet-warm);
}

body.wzp-archive .wzp-editor-card__monogram {
	width: 56px;
	height: 56px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 500;
	font-size: 1.7rem;
	color: var(--wzp-arch-gold);
	background: var(--wzp-arch-velvet);
	border: 0.5px solid var(--wzp-arch-gold-faint);
	flex-shrink: 0;
	line-height: 1;
}

body.wzp-archive .wzp-editor-card__body {
	flex: 1 1 auto;
	min-width: 0;
}

body.wzp-archive .wzp-editor-card__role {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.3rem;
}

body.wzp-archive .wzp-editor-card__name {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-weight: 500;
	font-size: clamp(1.05rem, 2.6vw, 1.25rem);
	line-height: 1.2;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.45rem;
	letter-spacing: -0.005em;
}

body.wzp-archive .wzp-editor-card__bio {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--wzp-arch-pearl-soft);
	margin: 0 0 0.5rem;
}

body.wzp-archive .wzp-editor-card__count {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0;
}

/* ═══ Last-fact-checked Patek hallmark badge (Variant A live data) ══ */

body.wzp-archive .wzp-fact-stamp {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 0.7rem;
	margin: clamp(1rem, 2.5vw, 1.5rem) 0;
	padding: 0.55rem 0.85rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	background: var(--wzp-arch-velvet-warm);
	border: 0.5px solid var(--wzp-arch-gold-faint);
}

body.wzp-archive .wzp-fact-stamp__label {
	color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-fact-stamp__date {
	color: var(--wzp-arch-pearl);
	font-variant-numeric: tabular-nums;
}

body.wzp-archive .wzp-fact-stamp__cycle {
	color: var(--wzp-arch-pearl-muted);
	font-size: 0.85em;
}

body.wzp-archive .wzp-fact-stamp--drift {
	border-color: rgba(154, 125, 62, 0.55);
	background: var(--wzp-arch-velvet-deep);
}

/* ═══ Verified-seller ribbon (next to each seller name) ════════════ */

body.wzp-archive .wzp-seller__ribbon {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-left: 0.6rem;
	padding: 0.18rem 0.55rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl);
	background: var(--wzp-arch-velvet-warm);
	border: 0.5px solid var(--wzp-arch-gold-faint);
	text-decoration: none;
	vertical-align: middle;
	transition: color 200ms ease, background 200ms ease, border-color 200ms ease;
	white-space: nowrap;
}

body.wzp-archive .wzp-seller__ribbon svg {
	stroke: var(--wzp-arch-gold);
	flex-shrink: 0;
}

body.wzp-archive .wzp-seller__ribbon-label {
	color: var(--wzp-arch-gold-deep);
	font-weight: 600;
}

body.wzp-archive .wzp-seller__ribbon-hash {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.58rem;
	letter-spacing: 0.08em;
	color: var(--wzp-arch-pearl-muted);
	background: transparent;
	padding: 0;
	border: 0;
}

body.wzp-archive .wzp-seller__ribbon:hover,
body.wzp-archive .wzp-seller__ribbon:focus-visible {
	background: var(--wzp-arch-gold);
	border-color: var(--wzp-arch-gold);
	color: var(--wzp-arch-velvet);
}

body.wzp-archive .wzp-seller__ribbon:hover svg,
body.wzp-archive .wzp-seller__ribbon:focus-visible svg {
	stroke: var(--wzp-arch-velvet);
}

body.wzp-archive .wzp-seller__ribbon:hover .wzp-seller__ribbon-label,
body.wzp-archive .wzp-seller__ribbon:focus-visible .wzp-seller__ribbon-label,
body.wzp-archive .wzp-seller__ribbon:hover .wzp-seller__ribbon-hash,
body.wzp-archive .wzp-seller__ribbon:focus-visible .wzp-seller__ribbon-hash {
	color: var(--wzp-arch-velvet);
}

@media (max-width: 640px) {
	body.wzp-archive .wzp-seller__ribbon {
		margin: 0.4rem 0 0;
		display: inline-flex;
		font-size: 0.55rem;
		letter-spacing: 0.14em;
	}
	body.wzp-archive .wzp-seller__ribbon-hash {
		font-size: 0.52rem;
	}
}

/* ═══ Verifier result card (when /sellers/?verify=HASH is loaded) ══ */

body.wzp-archive .wzp-verifier {
	max-width: 880px;
	margin: 0 auto clamp(2rem, 5vw, 3rem);
	padding: 0;
	background: var(--wzp-arch-velvet);
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	border-left: 3px solid var(--wzp-arch-gold);
}

body.wzp-archive .wzp-verifier--miss {
	border-left-color: var(--wzp-arch-pearl);
}

body.wzp-archive .wzp-verifier__inner {
	padding: clamp(1.5rem, 4vw, 2.25rem);
}

body.wzp-archive .wzp-verifier__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
}

body.wzp-archive .wzp-verifier__badge svg {
	color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-verifier__badge--miss,
body.wzp-archive .wzp-verifier__badge--miss svg {
	color: var(--wzp-arch-pearl);
}

body.wzp-archive .wzp-verifier__name {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-weight: 500;
	font-size: clamp(1.5rem, 4vw, 2.1rem);
	line-height: 1.15;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.5rem;
	letter-spacing: -0.01em;
}

body.wzp-archive .wzp-verifier__role {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
}

body.wzp-archive .wzp-verifier__facts {
	margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.6rem 1.5rem;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 640px) {
	body.wzp-archive .wzp-verifier__facts {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

body.wzp-archive .wzp-verifier__facts > div {
	display: grid;
	grid-template-columns: 8rem 1fr;
	gap: 0.5rem;
	margin: 0;
}

body.wzp-archive .wzp-verifier__facts dt {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0;
}

body.wzp-archive .wzp-verifier__facts dd {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 0.95rem;
	color: var(--wzp-arch-pearl);
	margin: 0;
	word-break: break-word;
}

body.wzp-archive .wzp-verifier__facts dd code {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	background: var(--wzp-arch-velvet-soft);
	padding: 0.15rem 0.5rem;
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	color: var(--wzp-arch-pearl);
}

body.wzp-archive .wzp-verifier__facts dd a {
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid var(--wzp-arch-gold-faint);
}

body.wzp-archive .wzp-verifier__facts dd a:hover {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-verifier__note {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	margin: 0 0 1rem;
	max-width: 60ch;
}

/* ═══ Value calculator widget ════════════════════════════════════════ */

body.wzp-archive .wzp-calc {
	max-width: 720px;
	margin: clamp(2rem, 5vw, 3rem) auto;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	background: var(--wzp-arch-velvet);
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-calc__head {
	margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
	padding-bottom: clamp(0.85rem, 2vw, 1.15rem);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-calc__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.4rem;
}

body.wzp-archive .wzp-calc__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 4vw, 1.85rem);
	line-height: 1.15;
	color: var(--wzp-arch-pearl);
	margin: 0;
	letter-spacing: -0.008em;
}

body.wzp-archive .wzp-calc__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(0.85rem, 2vw, 1.25rem);
	margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
}

@media (min-width: 640px) {
	body.wzp-archive .wzp-calc__row {
		grid-template-columns: 1fr 1fr;
	}
}

body.wzp-archive .wzp-calc__field label {
	display: block;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.4rem;
}

body.wzp-archive .wzp-calc__field input,
body.wzp-archive .wzp-calc__field select {
	width: 100%;
	padding: 0.7rem 0.9rem;
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 1rem;
	color: var(--wzp-arch-pearl);
	background: var(--wzp-arch-velvet-soft);
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	border-radius: 0;
	box-sizing: border-box;
}

body.wzp-archive .wzp-calc__field input:focus,
body.wzp-archive .wzp-calc__field select:focus {
	outline: 0;
	border-color: var(--wzp-arch-gold);
	background: var(--wzp-arch-velvet-warm);
}

body.wzp-archive .wzp-calc__result {
	margin: clamp(1rem, 3vw, 1.5rem) 0 0;
	padding: clamp(1rem, 3vw, 1.5rem) 0 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-calc__result-label {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0 0 0.5rem;
}

body.wzp-archive .wzp-calc__result-figure {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-weight: 500;
	font-size: clamp(2rem, 6vw, 2.85rem);
	line-height: 1.05;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.5rem;
	letter-spacing: -0.012em;
}

body.wzp-archive .wzp-calc__result-detail {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	margin: 0;
}

body.wzp-archive .wzp-calc__result-detail strong {
	color: var(--wzp-arch-pearl);
	font-weight: 500;
}

body.wzp-archive .wzp-calc__cite {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.62rem;
	letter-spacing: 0.04em;
	color: var(--wzp-arch-pearl-muted);
	font-style: italic;
	margin: 1rem 0 0;
}

/* ═══ Value table (zultanite.com retail figures) ════════════════════ */

body.wzp-archive .wzp-value-table {
	width: 100%;
	border-collapse: collapse;
	margin: clamp(1.25rem, 3vw, 2rem) 0;
	font-size: clamp(0.85rem, 2.4vw, 0.95rem);
}

body.wzp-archive .wzp-value-table thead th {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.6rem, 1.8vw, 0.7rem);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl);
	font-weight: 500;
	text-align: left;
	padding: 0.7rem 0.5rem;
	border-bottom: 0.5px solid var(--wzp-arch-pearl);
	white-space: nowrap;
}

body.wzp-archive .wzp-value-table tbody td {
	padding: 0.7rem 0.5rem;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	vertical-align: top;
	line-height: 1.4;
}

body.wzp-archive .wzp-value-table tbody td:first-child {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.7rem, 2vw, 0.82rem);
	letter-spacing: 0.06em;
	color: var(--wzp-arch-pearl);
	white-space: nowrap;
	width: 30%;
}

body.wzp-archive .wzp-value-table tbody td:nth-child(2) {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: clamp(1rem, 2.6vw, 1.15rem);
	color: var(--wzp-arch-pearl);
	font-weight: 500;
	white-space: nowrap;
	width: 28%;
}

body.wzp-archive .wzp-value-table tbody td:last-child {
	color: var(--wzp-arch-pearl-soft);
	font-size: clamp(0.78rem, 2.2vw, 0.88rem);
}

body.wzp-archive .wzp-cite-note {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	color: var(--wzp-arch-pearl-muted);
	margin-top: 0.5rem;
}

/* ═══ Sellers map (Leaflet, embedded above directory) ═══════════════ */

body.wzp-archive .wzp-sellers-map {
	margin: clamp(1.5rem, 4vw, 2.5rem) 0;
	padding: 0;
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	background: var(--wzp-arch-velvet-soft);
}

body.wzp-archive .wzp-sellers-map__canvas {
	width: 100%;
	height: clamp(280px, 50vw, 460px);
	background: var(--wzp-arch-velvet-soft);
}

body.wzp-archive .wzp-sellers-map__caption {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(0.75rem, 2.5vw, 1.5rem);
	padding: clamp(0.75rem, 2vw, 1rem) clamp(1rem, 3vw, 1.5rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.6rem, 1.8vw, 0.7rem);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0;
}

body.wzp-archive .wzp-sellers-map__legend-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

body.wzp-archive .wzp-sellers-map__pin {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wzp-arch-pearl);
	border: 1.5px solid var(--wzp-arch-velvet);
	box-shadow: 0 0 0 1px var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-sellers-map__pin--seller {
	background: var(--wzp-arch-pearl);
}

body.wzp-archive .wzp-sellers-map__legend-item--source .wzp-sellers-map__pin {
	background: var(--wzp-arch-gold);
}

/* Leaflet pin overrides — Patek-styled minimal markers */
.wzp-leaflet-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border: 0 !important;
}

.wzp-leaflet-pin__dot {
	display: block;
	border-radius: 50%;
	background: var(--wzp-arch-pearl, #1c1814);
	border: 1.5px solid var(--wzp-arch-velvet, #f5f1e8);
	box-shadow:
		0 0 0 1px rgba(28, 24, 20, 0.2),
		0 2px 6px rgba(28, 24, 20, 0.15);
	transition: transform 200ms ease;
}

.wzp-leaflet-pin--seller .wzp-leaflet-pin__dot {
	width: 14px;
	height: 14px;
}

.wzp-leaflet-pin--source .wzp-leaflet-pin__dot {
	width: 18px;
	height: 18px;
	background: var(--wzp-arch-gold, #9a7d3e);
	border-color: var(--wzp-arch-velvet, #f5f1e8);
	box-shadow:
		0 0 0 2px rgba(154, 125, 62, 0.25),
		0 2px 8px rgba(28, 24, 20, 0.2);
}

.wzp-leaflet-pin:hover .wzp-leaflet-pin__dot {
	transform: scale(1.2);
}

/* Leaflet popup — retoned to Patek register */
.leaflet-popup-content-wrapper.wzp-leaflet-popup,
.wzp-leaflet-popup.leaflet-popup-content-wrapper {
	background: var(--wzp-arch-velvet, #f5f1e8) !important;
	color: var(--wzp-arch-pearl, #1c1814) !important;
	border-radius: 0 !important;
	border: 0.5px solid var(--wzp-arch-pearl-faint, rgba(28, 24, 20, 0.18)) !important;
	box-shadow: 0 8px 24px rgba(28, 24, 20, 0.12) !important;
	padding: 0 !important;
}

.wzp-leaflet-popup .leaflet-popup-content {
	margin: 0 !important;
	padding: 0.75rem 1rem !important;
	font-family: var(--wzp-font-body, 'Inter', sans-serif) !important;
}

.wzp-leaflet-popup .leaflet-popup-tip {
	background: var(--wzp-arch-velvet, #f5f1e8) !important;
	border: 0.5px solid var(--wzp-arch-pearl-faint, rgba(28, 24, 20, 0.18)) !important;
}

.wzp-leaflet-pop {
	min-width: 180px;
}

.wzp-leaflet-pop__role {
	font-family: var(--wzp-font-mono, monospace);
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold, #9a7d3e);
	margin: 0 0 0.3rem;
}

.wzp-leaflet-pop__name {
	font-family: var(--wzp-font-display, 'Cormorant Garamond', serif);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--wzp-arch-pearl, #1c1814);
	margin: 0 0 0.3rem;
}

.wzp-leaflet-pop__addr {
	font-family: var(--wzp-font-mono, monospace);
	font-size: 0.65rem;
	letter-spacing: 0.1em;
	color: var(--wzp-arch-pearl-muted, rgba(28, 24, 20, 0.52));
	margin: 0 0 0.5rem;
}

.wzp-leaflet-pop__link {
	display: inline-block;
	font-family: var(--wzp-font-mono, monospace);
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl, #1c1814);
	text-decoration: none;
	border-bottom: 0.5px solid var(--wzp-arch-gold-faint, rgba(154, 125, 62, 0.45));
	padding-bottom: 0.1em;
	transition: color 200ms ease, border-color 200ms ease;
}

.wzp-leaflet-pop__link:hover,
.wzp-leaflet-pop__link:focus-visible {
	color: var(--wzp-arch-gold, #9a7d3e);
	border-bottom-color: var(--wzp-arch-gold, #9a7d3e);
}

/* Leaflet map controls retoned for Patek */
.leaflet-bar a,
.leaflet-bar a:hover {
	background: var(--wzp-arch-velvet, #f5f1e8) !important;
	color: var(--wzp-arch-pearl, #1c1814) !important;
	border-color: var(--wzp-arch-pearl-faint, rgba(28, 24, 20, 0.18)) !important;
	border-radius: 0 !important;
}

.leaflet-control-attribution {
	background: rgba(245, 241, 232, 0.85) !important;
	color: var(--wzp-arch-pearl-muted, rgba(28, 24, 20, 0.52)) !important;
	font-family: var(--wzp-font-mono, monospace) !important;
	font-size: 0.6rem !important;
	letter-spacing: 0.06em;
}

.leaflet-control-attribution a {
	color: var(--wzp-arch-gold-deep, #735a26) !important;
}

/* ═══ Sellers directory ══════════════════════════════════════════════ */

body.wzp-archive .wzp-sellers {
	margin: clamp(1.5rem, 4vw, 2.5rem) 0;
	padding: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-seller {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.4rem;
	padding: clamp(1.25rem, 3vw, 1.75rem) 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	margin: 0;
}

@media (min-width: 768px) {
	body.wzp-archive .wzp-seller {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		grid-template-areas:
			"name addr"
			"role addr"
			"note note"
			"links links";
		column-gap: clamp(1.5rem, 4vw, 2.5rem);
		row-gap: 0.4rem;
		align-items: baseline;
	}
}

body.wzp-archive .wzp-seller__name {
	grid-area: name;
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: clamp(1.1rem, 3vw, 1.4rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--wzp-arch-pearl);
	line-height: 1.2;
	margin: 0;
}

body.wzp-archive .wzp-seller__name a {
	color: inherit;
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	transition: color 200ms ease, border-color 200ms ease;
}

body.wzp-archive .wzp-seller__name a:hover,
body.wzp-archive .wzp-seller__name a:focus-visible {
	color: var(--wzp-arch-gold-deep);
	border-bottom-color: var(--wzp-arch-gold);
}

body.wzp-archive .wzp-seller__role {
	grid-area: role;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.6rem, 1.8vw, 0.7rem);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
}

body.wzp-archive .wzp-seller__addr {
	grid-area: addr;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: clamp(0.65rem, 2vw, 0.75rem);
	letter-spacing: 0.08em;
	color: var(--wzp-arch-pearl-soft);
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	line-height: 1.5;
}

@media (min-width: 768px) {
	body.wzp-archive .wzp-seller__addr {
		text-align: right;
	}
}

body.wzp-archive .wzp-seller__line { display: block; }
body.wzp-archive .wzp-seller__country {
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.92em;
}

body.wzp-archive .wzp-seller__note {
	grid-area: note;
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: clamp(0.88rem, 2.2vw, 0.95rem);
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	margin: 0.4rem 0 0;
}

body.wzp-archive .wzp-seller__links {
	grid-area: links;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 0.5rem 0 0;
}

body.wzp-archive .wzp-seller__link {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	padding: 0.35rem 0.7rem;
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	transition: color 200ms ease, border-color 200ms ease, background 200ms ease;
}

body.wzp-archive .wzp-seller__link:hover,
body.wzp-archive .wzp-seller__link:focus-visible {
	color: var(--wzp-arch-velvet);
	background: var(--wzp-arch-pearl);
	border-color: var(--wzp-arch-pearl);
}

body.wzp-archive .wzp-seller__link--map {
	color: var(--wzp-arch-gold-deep);
	border-color: var(--wzp-arch-gold-faint);
}

body.wzp-archive .wzp-seller__link--map:hover,
body.wzp-archive .wzp-seller__link--map:focus-visible {
	color: var(--wzp-arch-velvet);
	background: var(--wzp-arch-gold-deep);
	border-color: var(--wzp-arch-gold-deep);
}

/* ═══ wepro-accessibility widget — retoned for Patek register ═══════
   Default plugin ships a bronze-gradient toggle that clashes with the
   cream + gold palette. We override only on Zultpedia surfaces, so other
   sites keep the plugin's default look. */

body.wzp-archive .wepro-acc-toggle {
	background: var(--wzp-arch-velvet) !important;
	background-image: none !important;
	border: 0.5px solid var(--wzp-arch-pearl-faint) !important;
	box-shadow:
		0 1px 2px rgba(28, 24, 20, 0.05),
		0 4px 12px rgba(28, 24, 20, 0.08) !important;
	color: var(--wzp-arch-pearl) !important;
}

body.wzp-archive .wepro-acc-toggle::before,
body.wzp-archive .wepro-acc-toggle::after {
	background: transparent !important;
	background-image: none !important;
	border-color: var(--wzp-arch-gold-faint) !important;
}

body.wzp-archive .wepro-acc-toggle svg {
	fill: var(--wzp-arch-pearl) !important;
	color: var(--wzp-arch-pearl) !important;
	stroke: var(--wzp-arch-pearl) !important;
}

body.wzp-archive .wepro-acc-toggle:hover,
body.wzp-archive .wepro-acc-toggle:focus {
	background: var(--wzp-arch-velvet-soft) !important;
	border-color: var(--wzp-arch-gold) !important;
	box-shadow:
		0 0 0 1px var(--wzp-arch-gold-faint),
		0 6px 18px rgba(28, 24, 20, 0.12) !important;
}

body.wzp-archive .wepro-acc-toggle:hover svg,
body.wzp-archive .wepro-acc-toggle:focus svg {
	fill: var(--wzp-arch-gold-deep) !important;
	color: var(--wzp-arch-gold-deep) !important;
	stroke: var(--wzp-arch-gold-deep) !important;
}

body.wzp-archive .wepro-acc-widget.panel-open .wepro-acc-toggle {
	background: var(--wzp-arch-pearl) !important;
	border-color: var(--wzp-arch-pearl) !important;
}
body.wzp-archive .wepro-acc-widget.panel-open .wepro-acc-toggle svg {
	fill: var(--wzp-arch-velvet) !important;
	color: var(--wzp-arch-velvet) !important;
	stroke: var(--wzp-arch-velvet) !important;
}

/* The expanded panel itself — match cream-paper palette */
body.wzp-archive .wepro-acc-widget .wepro-acc-panel,
body.wzp-archive .wepro-acc-widget [class*="panel"] {
	background: var(--wzp-arch-velvet) !important;
	background-image: none !important;
	border: 0.5px solid var(--wzp-arch-pearl-faint) !important;
	color: var(--wzp-arch-pearl) !important;
}

/* ═══ Patek rail header (custom nav for Zultpedia surfaces) ══════ */

/* Hide Avada's nav on Zultpedia — our Patek rail replaces it */
body.wzp-archive .fusion-header-wrapper,
body.wzp-archive .fusion-header,
body.wzp-archive #side-header,
body.wzp-archive .fusion-secondary-header,
body.wzp-archive .fusion-mobile-menu-design-modern,
body.wzp-archive .fusion-mobile-nav-holder,
body.wzp-archive .avada-mobile-side-menu,
body.wzp-archive .fusion-flyout-menu-icons,
body.wzp-archive .fusion-flyout,
body.wzp-archive .fusion-flyout-cart,
body.wzp-archive .fusion-flyout-search,
body.wzp-archive .fusion-mobile-menu-icons,
body.wzp-archive .fusion-mobile-menu-search,
body.wzp-archive .fusion-main-menu-search-overlay,
body.wzp-archive .avada-myaccount-user-nav,
body.wzp-archive .fusion-secondary-flex {
	display: none !important;
}

/* Belt-and-suspenders for any rogue fixed-position floater at right edge:
   nothing fixed/absolute past the viewport on Zultpedia surfaces. */
body.wzp-archive {
	overflow-x: hidden;
}
body.wzp-archive [class*="fusion-flyout"],
body.wzp-archive [class*="awb-flyout"],
body.wzp-archive [class*="to-top"]:not(.wzp-arch-404):not(.wzp-arch-404 *) {
	display: none !important;
}

/* Hide Avada's empty fusion-tb-footer on Zultpedia surfaces — our Patek
   footer replaces it. Renders empty markup that adds whitespace below
   the colophon on every page. */
body.wzp-archive .fusion-tb-footer,
body.wzp-archive .fusion-footer,
body.wzp-archive .fusion-footer-widget-area,
body.wzp-archive .fusion-footer-copyright-area,
body.wzp-archive #footer,
body.wzp-archive #footer-widgets {
	display: none !important;
}

/* ═══ Patek site footer (rendered via wp_footer hook on all surfaces) ══ */

.wzp-patek-footer {
	background: var(--wzp-arch-velvet-soft);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 5vw, 2rem);
	margin-top: clamp(2rem, 5vw, 3rem);
}

.wzp-patek-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 3vw, 1.85rem);
	align-items: center;
	text-align: center;
}

.wzp-patek-footer__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: clamp(0.5rem, 2.2vw, 2rem);
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.wzp-patek-footer__nav ul::-webkit-scrollbar { display: none; }

.wzp-patek-footer__nav a {
	font-family: var(--wzp-font-mono);
	font-size: clamp(0.55rem, 2vw, 0.7rem);
	letter-spacing: clamp(0.1em, 0.4vw, 0.2em);
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-soft);
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	padding: 0 0 0.2em;
	transition: color 200ms ease, border-color 200ms ease;
	white-space: nowrap;
}

.wzp-patek-footer__nav a:hover,
.wzp-patek-footer__nav a:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
}

.wzp-patek-footer__colophon {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	width: 100%;
	max-width: 56rem;
}

.wzp-patek-footer__line {
	font-family: var(--wzp-font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	margin: 0;
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 0.4rem;
}

@media (min-width: 480px) {
	.wzp-patek-footer__line {
		font-size: 0.65rem;
		letter-spacing: 0.18em;
	}
}

.wzp-patek-footer__brand {
	font-family: var(--wzp-font-display);
	font-style: italic;
	letter-spacing: 0.04em;
	color: var(--wzp-arch-gold);
	font-size: 0.95rem;
	text-transform: none;
}

.wzp-patek-footer__divider {
	color: var(--wzp-arch-gold);
}

.wzp-patek-rail {
	background: var(--wzp-arch-velvet);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	position: sticky;
	top: 0;
	z-index: 100;
	font-family: var(--wzp-font-body);
}

.wzp-patek-rail__inner {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1.5rem);
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(0.6rem, 1.5vw, 0.85rem) clamp(1rem, 4vw, 2rem);
}

.wzp-patek-rail__brand {
	display: inline-flex;
	align-items: baseline;
	gap: 0.55rem;
	text-decoration: none;
	color: var(--wzp-arch-pearl);
	flex-shrink: 0;
}

.wzp-patek-rail__monogram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--wzp-arch-gold);
	line-height: 0;
	flex-shrink: 0;
}

.wzp-patek-rail__monogram svg {
	width: 100%;
	height: 100%;
	display: block;
}

@media (min-width: 768px) {
	.wzp-patek-rail__monogram {
		width: 32px;
		height: 32px;
	}
}

.wzp-patek-rail__wordmark {
	font-family: var(--wzp-font-display);
	font-weight: 500;
	font-size: 1.05rem;
	letter-spacing: 0.02em;
	color: var(--wzp-arch-pearl);
}

.wzp-patek-rail__nav {
	display: none;
	flex: 1 1 auto;
	justify-content: center;
}

@media (min-width: 900px) {
	.wzp-patek-rail__nav { display: flex; }
}

.wzp-patek-rail__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: clamp(1rem, 2.4vw, 1.85rem);
	align-items: baseline;
}

.wzp-patek-rail__item a {
	font-family: var(--wzp-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-soft);
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	padding: 0 0 0.2em;
	transition: color 200ms ease, border-color 200ms ease;
}

.wzp-patek-rail__item a:hover,
.wzp-patek-rail__item a:focus-visible {
	color: var(--wzp-arch-gold-deep);
	border-bottom-color: var(--wzp-arch-gold);
}

.wzp-patek-rail__search {
	display: none;
}

@media (min-width: 900px) {
	.wzp-patek-rail__search {
		display: block;
		flex-shrink: 0;
	}
	.wzp-patek-rail__search input {
		font-family: var(--wzp-font-mono);
		font-size: 0.7rem;
		letter-spacing: 0.14em;
		padding: 0.45rem 0.7rem;
		border: 0.5px solid var(--wzp-arch-pearl-faint);
		background: transparent;
		color: var(--wzp-arch-pearl);
		min-width: 0;
		width: 12rem;
	}
	.wzp-patek-rail__search input:focus-visible {
		outline: 0;
		border-color: var(--wzp-arch-gold);
	}
	.wzp-patek-rail__search input::placeholder {
		color: var(--wzp-arch-pearl-muted);
		text-transform: uppercase;
		letter-spacing: 0.16em;
		font-size: 0.65rem;
	}
}

.wzp-patek-rail__menu-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 18px;
	background: transparent;
	border: 0;
	padding: 0;
	margin-left: auto;
	cursor: pointer;
}

@media (min-width: 900px) {
	.wzp-patek-rail__menu-toggle { display: none; }
}

.wzp-patek-rail__menu-toggle span {
	display: block;
	height: 1px;
	background: var(--wzp-arch-pearl);
	transition: transform 200ms ease, opacity 200ms ease;
}

.wzp-patek-rail__menu-toggle.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.wzp-patek-rail__menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.wzp-patek-rail__menu-toggle.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.wzp-patek-rail__mobile {
	display: none;
	background: var(--wzp-arch-velvet-soft);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-patek-rail__mobile.is-open { display: block; }

@media (min-width: 900px) {
	.wzp-patek-rail__mobile { display: none !important; }
}

.wzp-patek-rail__mobile ul {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
}

.wzp-patek-rail__mobile li {
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-patek-rail__mobile li:last-child { border-bottom: 0; }

.wzp-patek-rail__mobile a {
	display: block;
	padding: 0.85rem clamp(1rem, 4vw, 1.5rem);
	font-family: var(--wzp-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl);
	text-decoration: none;
}

.wzp-patek-rail__mobile-search input {
	width: 100%;
	padding: 0.7rem clamp(1rem, 4vw, 1.5rem);
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	background: transparent;
	font-family: var(--wzp-font-mono);
	font-size: 0.85rem;
	color: var(--wzp-arch-pearl);
}

/* ═══ "See also" related-entries block ════════════════════════════ */

.wzp-arch-seealso {
	max-width: 880px;
	margin: clamp(2.5rem, 6vw, 4rem) auto 0;
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 5vw, 2rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-arch-seealso__head {
	margin: 0 0 clamp(1rem, 2.5vw, 1.5rem);
	padding-bottom: clamp(0.85rem, 2vw, 1.15rem);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-arch-seealso__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.4rem;
}

.wzp-arch-seealso__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.4rem, 4vw, 1.85rem);
	line-height: 1.15;
	color: var(--wzp-arch-pearl);
	margin: 0;
	letter-spacing: -0.008em;
}

.wzp-arch-seealso__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wzp-arch-seealso__entry {
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	margin: 0;
}

.wzp-arch-seealso__link {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.3rem;
	padding: 0.85rem 0;
	text-decoration: none;
	color: var(--wzp-arch-pearl);
	transition: color 200ms ease;
}

@media (min-width: 640px) {
	.wzp-arch-seealso__link {
		grid-template-columns: 7rem 1fr auto;
		align-items: baseline;
		gap: 1rem;
	}
}

.wzp-arch-seealso__link:hover,
.wzp-arch-seealso__link:focus-visible {
	color: var(--wzp-arch-gold-deep);
}

.wzp-arch-seealso__kind {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
}

.wzp-arch-seealso__title-text {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: clamp(1.05rem, 2.6vw, 1.2rem);
	line-height: 1.3;
	color: inherit;
	letter-spacing: -0.005em;
}

.wzp-arch-seealso__time {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	white-space: nowrap;
}

/* ═══ [wzp_full_index] shortcode ═════════════════════════════════ */

.wzp-full-index {
	max-width: 880px;
	margin: 0 auto;
}

.wzp-full-index__section {
	padding: clamp(2rem, 5vw, 3rem) 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-full-index__section:first-child { padding-top: 0; }

.wzp-full-index__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
	padding-bottom: clamp(0.6rem, 1.6vw, 0.85rem);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}

.wzp-full-index__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0;
}

.wzp-full-index__count {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	color: var(--wzp-arch-pearl-muted);
	font-variant-numeric: tabular-nums;
}

.wzp-full-index__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wzp-full-index__entry {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 0.4rem 1rem;
	padding: 0.55rem 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	align-items: baseline;
}

@media (min-width: 768px) {
	.wzp-full-index__entry {
		grid-template-columns: 3.5rem 1fr auto auto;
	}
}

.wzp-full-index__num {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-gold);
	font-variant-numeric: tabular-nums;
}

.wzp-full-index__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: clamp(1rem, 2.4vw, 1.1rem);
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid transparent;
	transition: color 200ms ease, border-color 200ms ease;
	letter-spacing: -0.005em;
}

.wzp-full-index__title:hover,
.wzp-full-index__title:focus-visible {
	color: var(--wzp-arch-gold-deep);
	border-bottom-color: var(--wzp-arch-gold);
}

.wzp-full-index__leader {
	display: none;
}

@media (min-width: 768px) {
	.wzp-full-index__leader {
		display: block;
		flex: 1 1 auto;
		border-bottom: 1px dotted var(--wzp-arch-pearl-faint);
		margin: 0 0.5rem 0.3rem;
		min-width: 1rem;
		height: 0;
		grid-column: 3;
	}
}

.wzp-full-index__meta {
	display: flex;
	gap: 0.75rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.62rem;
	letter-spacing: 0.16em;
	color: var(--wzp-arch-pearl-muted);
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.wzp-full-index__meta { grid-column: 2; }
}

.wzp-full-index__tier {
	color: var(--wzp-arch-pearl-muted);
}

.wzp-full-index__time {
	color: var(--wzp-arch-pearl-muted);
}

/* ═══ 404 page ════════════════════════════════════════════════════ */

.wzp-arch-404 {
	background: var(--wzp-arch-velvet);
	min-height: 80vh;
	display: flex;
	align-items: center;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 2rem);
}

.wzp-arch-404__inner {
	max-width: 720px;
	margin: 0 auto;
	width: 100%;
}

.wzp-arch-404__eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
}

.wzp-arch-404__title {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.75rem, 5.5vw, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.012em;
	color: var(--wzp-arch-pearl);
	margin: 0 0 clamp(1.25rem, 3vw, 1.85rem);
	max-width: 18ch;
}

.wzp-arch-404__lede {
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: clamp(1rem, 2.4vw, 1.05rem);
	line-height: 1.65;
	color: var(--wzp-arch-pearl-soft);
	max-width: 56ch;
	margin: 0 0 clamp(1.5rem, 4vw, 2.25rem);
}

.wzp-arch-404__rule {
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	margin: 0 0 clamp(1.5rem, 4vw, 2.25rem);
}

.wzp-arch-404__nav-eyebrow {
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.85rem;
}

.wzp-arch-404__nav-list {
	list-style: none;
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.wzp-arch-404__nav-list a {
	font-family: var(--wzp-arch-display, var(--wzp-font-display));
	font-size: 1.1rem;
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid var(--wzp-arch-gold-faint);
	padding: 0 0 0.15em;
	transition: color 200ms ease, border-color 200ms ease;
}

.wzp-arch-404__nav-list a:hover,
.wzp-arch-404__nav-list a:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
}

.wzp-arch-404__search {
	margin-top: clamp(1.5rem, 4vw, 2rem);
}

.wzp-arch-404__search-label {
	display: block;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.68rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.6rem;
}

.wzp-arch-404__search-row {
	display: flex;
	gap: 0;
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	background: var(--wzp-arch-velvet-soft);
}

.wzp-arch-404__search input[type="search"] {
	flex: 1 1 auto;
	border: 0;
	background: transparent;
	padding: 0.7rem 0.9rem;
	font-family: var(--wzp-arch-body, var(--wzp-font-body));
	font-size: 1rem;
	color: var(--wzp-arch-pearl);
	min-width: 0;
}

.wzp-arch-404__search input[type="search"]:focus-visible {
	outline: 0;
	background: var(--wzp-arch-velvet-warm);
}

.wzp-arch-404__search button {
	border: 0;
	border-left: 0.5px solid var(--wzp-arch-pearl-faint);
	background: var(--wzp-arch-pearl);
	color: var(--wzp-arch-velvet);
	padding: 0 1.25rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono));
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 200ms ease;
}

.wzp-arch-404__search button:hover,
.wzp-arch-404__search button:focus-visible {
	background: var(--wzp-arch-gold-deep);
}

/* ═══ Editorial pages (About / Methodology / Contact / Index) ════ */

body.wzp-archive--editorial .wzp-prose,
body.wzp-archive .wzp-prose.wzp-editorial {
	max-width: 68ch;
	margin: 0 auto;
}

body.wzp-archive--editorial .wzp-prose ul,
body.wzp-archive .wzp-prose.wzp-editorial ul {
	margin: 0 0 1.25em;
	padding-left: 1.25em;
}

body.wzp-archive--editorial .wzp-prose li,
body.wzp-archive .wzp-prose.wzp-editorial li {
	margin-bottom: 0.4em;
	line-height: 1.65;
}

/* ── Archive register token re-map ───────────────────────────────
   When body.wzp-archive is active, every museum-register token that
   .wzp-prose / .wzp-page / .wzp-card etc. read from inherits the
   cream-paper Patek palette. One source of truth, no double-styling. */

body.wzp-archive {
	--wzp-color-bg:        var(--wzp-arch-velvet);
	--wzp-color-bg-soft:   var(--wzp-arch-velvet-soft);
	--wzp-color-bg-deep:   var(--wzp-arch-velvet-deep);
	--wzp-color-bg-card:   var(--wzp-arch-velvet-warm);
	--wzp-color-ink:       var(--wzp-arch-pearl);
	--wzp-color-ink-soft:  var(--wzp-arch-pearl-soft);
	--wzp-color-ink-muted: var(--wzp-arch-pearl-muted);
	--wzp-color-ink-faint: var(--wzp-arch-pearl-faint);
	--wzp-color-line:      var(--wzp-arch-pearl-faint);
	--wzp-color-accent:    var(--wzp-arch-gold);
	--wzp-color-accent-deep: var(--wzp-arch-gold-deep);
	--wzp-border-hairline: 0.5px solid var(--wzp-arch-pearl-faint);
	--wzp-border-strong:   1px solid var(--wzp-arch-pearl-faint);

	--wzp-arch-display: var(--wzp-font-display);
	--wzp-arch-body:    var(--wzp-font-body);
	--wzp-arch-mono:    var(--wzp-font-mono);
}

/* Hide Avada title bar on ALL Zultpedia archive surfaces (singles + tax + post-type archives).
   The hero strip owns the title surface. */
body.wzp-archive .avada-page-titlebar-wrapper,
body.wzp-archive .fusion-page-title-bar,
body.wzp-archive .single-navigation,
body.wzp-archive .post-content > .entry-title {
	display: none !important;
}

/* Avada "Go to Top" floater — its CSS loads AFTER ours via fusion-dynamic-css.
   Defeat that with higher selector specificity (chained body classes + tag) so
   the !important rule wins regardless of source-order specificity ties. */
html body.wp-theme-Avada.wzp-archive section.to-top-container,
html body.wp-theme-Avada.wzp-archive section.to-top-container.to-top-right,
html body.wp-theme-Avada.wzp-archive #toTop,
html body.wp-theme-Avada.wzp-archive a.fusion-top-top-link,
html body.wzp-archive section.to-top-container,
html body.wzp-archive #toTop {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	left: -9999px !important;
}

/* Every Zultpedia surface (strip + editorial + home + 404 + search) extends
   the cream-paper background through the Avada wrappers. Was previously
   scoped to .wzp-archive--strip only, which left editorial pages with the
   default white background painting through. */
body.wzp-archive #content,
body.wzp-archive #main,
body.wzp-archive #wrapper,
body.wzp-archive #boxed-wrapper,
body.wzp-archive .fusion-wrapper {
	background: var(--wzp-arch-velvet) !important;
}

/* Page inner — center content, set comfortable reading column on cream paper */
body.wzp-archive .wzp-page {
	background: var(--wzp-arch-velvet);
}

body.wzp-archive .wzp-page__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 4vw, 2.5rem) clamp(2rem, 6vw, 4rem);
}

/* Patek minimal breadcrumb — small mono, dotted leaders between segments */
.wzp-arch-crumb {
	max-width: 880px;
	margin: 0 auto clamp(1.5rem, 4vw, 2.5rem);
	padding: 0;
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
}
.wzp-arch-crumb ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.7rem;
	align-items: baseline;
}
.wzp-arch-crumb li { display: inline-flex; align-items: baseline; gap: 0.7rem; }
.wzp-arch-crumb a {
	color: var(--wzp-arch-pearl-muted);
	text-decoration: none;
	border-bottom: 0.5px dotted var(--wzp-arch-pearl-faint);
	padding-bottom: 0.05em;
	transition: color 200ms ease, border-color 200ms ease;
}
.wzp-arch-crumb a:hover,
.wzp-arch-crumb a:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold-faint);
}
.wzp-arch-crumb [aria-current="page"] {
	color: var(--wzp-arch-pearl);
}
.wzp-arch-crumb [aria-hidden="true"] {
	color: var(--wzp-arch-pearl-faint);
	font-size: 0.85em;
}
@media (max-width: 600px) {
	.wzp-arch-crumb { font-size: 0.65rem; letter-spacing: 0.14em; }
}

/* Body prose on cream paper — pure typography, no museum-register card boxes */
body.wzp-archive .wzp-prose {
	max-width: 70ch;
	margin: 0 auto;
	color: var(--wzp-arch-pearl) !important;
	font-family: var(--wzp-arch-body, 'Inter', -apple-system, sans-serif) !important;
	font-size: clamp(1rem, 2.4vw, 1.0625rem) !important;
	line-height: 1.72 !important;
}
/* !important on the critical typography axes (font-family, font-size, font-weight)
   so Avada/Fusion's compiled fusion-dynamic-css cannot override us via cascade
   order or via more-specific `#wrapper #main` selectors that wrap the article.
   Margin/padding/border do not need !important — Avada doesn't compete on those.

   Selectors include both `.wzp-prose h*` (default template) AND `.fusion-fullwidth h*`
   under `body.wzp-archive` so pages using Avada's `100-width.php` template (which
   doesn't render our `<article class="wzp-prose">`) still get Patek typography. */
body.wzp-archive .wzp-prose h1,
body.wzp-archive .wzp-prose h2,
body.wzp-archive .wzp-prose h3,
body.wzp-archive .wzp-prose h4,
body.wzp-archive .post-content h1,
body.wzp-archive .post-content h2,
body.wzp-archive .post-content h3,
body.wzp-archive .post-content h4,
body.wzp-archive .fusion-fullwidth h1,
body.wzp-archive .fusion-fullwidth h2,
body.wzp-archive .fusion-fullwidth h3,
body.wzp-archive .fusion-fullwidth h4 {
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif) !important;
	color: var(--wzp-arch-pearl) !important;
	font-weight: 500 !important;
	letter-spacing: -0.008em !important;
	line-height: 1.18 !important;
}
body.wzp-archive .wzp-prose h2,
body.wzp-archive .post-content h2,
body.wzp-archive .fusion-fullwidth h2 {
	font-size: clamp(1.5rem, 4.5vw, 2rem) !important;
	margin: clamp(2.5rem, 6vw, 3.5rem) 0 0.75rem;
	padding-top: clamp(2rem, 5vw, 2.75rem);
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}
body.wzp-archive .wzp-prose h2:first-child,
body.wzp-archive .post-content h2:first-child,
body.wzp-archive .fusion-fullwidth h2:first-child {
	border-top: 0;
	padding-top: 0;
	margin-top: 0;
}
body.wzp-archive .wzp-prose h3,
body.wzp-archive .post-content h3,
body.wzp-archive .fusion-fullwidth h3 {
	font-size: clamp(1.2rem, 3.5vw, 1.4rem) !important;
	margin: 1.75rem 0 0.5rem;
}
/* Body paragraph typography for the same template-variant fallbacks */
body.wzp-archive .post-content p,
body.wzp-archive .fusion-fullwidth p {
	font-family: var(--wzp-arch-body, 'Inter', -apple-system, sans-serif) !important;
	color: var(--wzp-arch-pearl) !important;
	font-size: clamp(1rem, 2.4vw, 1.0625rem) !important;
	line-height: 1.72 !important;
	margin: 0 0 1.1em !important;
}
body.wzp-archive .wzp-prose p {
	margin: 0 0 1.1em;
}
body.wzp-archive .wzp-prose a {
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px solid var(--wzp-arch-gold-faint);
	transition: border-color 200ms ease, color 200ms ease;
}
body.wzp-archive .wzp-prose a:hover,
body.wzp-archive .wzp-prose a:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
}

/* AEO lead paragraph — Patek register: large display italic, no left bar, cream-paper card */
body.wzp-archive .wzp-prose .wzp-aeo-lead,
body.wzp-archive .wzp-aeo-lead {
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif);
	font-style: italic;
	font-size: clamp(1.15rem, 3vw, 1.4rem);
	font-weight: 400;
	line-height: 1.42;
	color: var(--wzp-arch-pearl);
	background: transparent;
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
	padding: clamp(1.25rem, 3vw, 1.75rem) 0;
	margin: 0 0 clamp(2rem, 5vw, 2.75rem);
}
body.wzp-archive .wzp-prose .wzp-aeo-lead strong,
body.wzp-archive .wzp-aeo-lead strong {
	font-weight: 400;
}

/* Blockquote */
body.wzp-archive .wzp-prose blockquote {
	margin: 2rem 0;
	padding: 0 0 0 1.25rem;
	border-left: 0.5px solid var(--wzp-arch-gold-faint);
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif);
	font-style: italic;
	font-size: clamp(1.1rem, 2.8vw, 1.25rem);
	line-height: 1.5;
	color: var(--wzp-arch-pearl-soft);
}

/* Hairline rules */
body.wzp-archive .wzp-prose hr,
body.wzp-archive hr.wzp-rule {
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	margin: 2.5rem 0;
}

/* Tables — Patek caliber-spec aesthetic */
body.wzp-archive .wzp-prose table,
body.wzp-archive table.wzp-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.75rem 0;
	font-size: 0.95rem;
}
body.wzp-archive .wzp-prose table th,
body.wzp-archive .wzp-prose table td,
body.wzp-archive table.wzp-table th,
body.wzp-archive table.wzp-table td {
	padding: 0.55rem 0.75rem;
	text-align: left;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}
body.wzp-archive .wzp-prose table th,
body.wzp-archive table.wzp-table th {
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	border-bottom: 0.5px solid var(--wzp-arch-pearl);
}

/* Code */
body.wzp-archive .wzp-prose code {
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.88em;
	color: var(--wzp-arch-gold-deep);
	background: var(--wzp-arch-velvet-soft);
	padding: 0.08em 0.35em;
	border-radius: 2px;
}

/* Lists */
body.wzp-archive .wzp-prose ul,
body.wzp-archive .wzp-prose ol {
	margin: 0 0 1.1em;
	padding-inline-start: 1.5rem;
}
body.wzp-archive .wzp-prose li {
	margin-bottom: 0.4em;
}

/* Glossary tooltip links — gold underline on cream */
body.wzp-archive .wzp-glossary-link {
	color: var(--wzp-arch-pearl);
	text-decoration: none;
	border-bottom: 0.5px dashed var(--wzp-arch-gold-faint);
	cursor: help;
}
body.wzp-archive .wzp-glossary-link:hover,
body.wzp-archive .wzp-glossary-link:focus-visible {
	color: var(--wzp-arch-gold);
	border-bottom-color: var(--wzp-arch-gold);
	border-bottom-style: solid;
}

/* ── Archive grid (post-type archives + gem_subject hub list) on cream paper ──
   Replace card-grid with Patek dotted-leader index style — same aesthetic
   as the homepage "Index of Entries" section. */

body.wzp-archive .wzp-archive-grid-wrap {
	max-width: 880px;
	margin: 0 auto;
	padding: 0;
}

body.wzp-archive .wzp-archive-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: block;
}

body.wzp-archive .wzp-card {
	display: block;
	margin: 0;
	padding: 1.1rem 0;
	border-bottom: 0.5px solid var(--wzp-arch-pearl-faint);
}
body.wzp-archive .wzp-card:first-child {
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
}

body.wzp-archive .wzp-card__link {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas: "body";
	gap: 0.4rem;
	text-decoration: none;
	color: var(--wzp-arch-pearl);
}

@media (min-width: 768px) {
	body.wzp-archive .wzp-card__link {
		grid-template-columns: 1fr auto;
		grid-template-areas: "body meta";
		align-items: baseline;
		gap: 1.5rem;
	}
}

/* Hide thumbnail on Patek index — pure typography list */
body.wzp-archive .wzp-card__media {
	display: none;
}

body.wzp-archive .wzp-card__body {
	grid-area: body;
	display: block;
	min-width: 0;
}

body.wzp-archive .wzp-card__eyebrow {
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.65rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.25rem;
}

body.wzp-archive .wzp-card__title {
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif);
	font-weight: 500;
	font-size: clamp(1.15rem, 3vw, 1.4rem);
	line-height: 1.2;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.35rem;
	letter-spacing: -0.005em;
}

body.wzp-archive .wzp-card__link:hover .wzp-card__title,
body.wzp-archive .wzp-card__link:focus-visible .wzp-card__title {
	color: var(--wzp-arch-gold-deep);
}

body.wzp-archive .wzp-card__excerpt {
	font-family: var(--wzp-arch-body, 'Inter', sans-serif);
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	margin: 0 0 0.45rem;
	max-width: 60ch;
}

body.wzp-archive .wzp-card__meta {
	grid-area: meta;
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.75rem;
	align-items: baseline;
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.65rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
}

body.wzp-archive .wzp-card__subject {
	color: var(--wzp-arch-pearl-muted);
}
body.wzp-archive .wzp-card__reading {
	color: var(--wzp-arch-pearl-muted);
}

/* Archive header (post-type archives that don't pass hero_strip) — Patek title block */
body.wzp-archive .wzp-archive-header {
	max-width: 880px;
	margin: 0 auto clamp(2rem, 5vw, 3rem);
	padding-top: clamp(1.5rem, 4vw, 2.5rem);
	text-align: left;
}
body.wzp-archive .wzp-archive-header .wzp-eyebrow {
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.6rem;
}
body.wzp-archive .wzp-archive-header .wzp-archive-title {
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif);
	font-weight: 500;
	font-size: clamp(1.75rem, 5vw, 3rem);
	line-height: 1.1;
	letter-spacing: -0.012em;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.75rem;
}
body.wzp-archive .wzp-archive-header .wzp-archive-lede {
	font-size: clamp(0.95rem, 2.4vw, 1.05rem);
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	max-width: 60ch;
	margin: 0;
}

/* Pagination — minimal Patek aesthetic. Targets the .page-numbers spans/links
   that WordPress's the_posts_pagination() actually outputs. Specificity is
   raised with html.body.wzp-archive to beat Avada's fusion-pagination-sizing
   styles which load AFTER our CSS. */
body.wzp-archive .wzp-archive-pagination {
	margin: 2.5rem auto 0;
	max-width: 880px;
	padding: 0;
	text-align: center;
}

body.wzp-archive .wzp-archive-pagination .navigation,
body.wzp-archive .wzp-archive-pagination .nav-links {
	display: inline-flex;
	gap: 0.4rem;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}

html body.wzp-archive .wzp-archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.5rem 0.85rem;
	font-family: var(--wzp-arch-mono, var(--wzp-font-mono, monospace));
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted) !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0.5px solid var(--wzp-arch-pearl-faint) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-decoration: none;
	transition: color 200ms ease, border-color 200ms ease, background 200ms ease;
}

html body.wzp-archive .wzp-archive-pagination a.page-numbers:hover,
html body.wzp-archive .wzp-archive-pagination a.page-numbers:focus-visible {
	color: var(--wzp-arch-gold-deep) !important;
	border-color: var(--wzp-arch-gold) !important;
	background: var(--wzp-arch-velvet-soft) !important;
}

html body.wzp-archive .wzp-archive-pagination .page-numbers.current {
	color: var(--wzp-arch-velvet) !important;
	background: var(--wzp-arch-pearl) !important;
	background-color: var(--wzp-arch-pearl) !important;
	border-color: var(--wzp-arch-pearl) !important;
}

html body.wzp-archive .wzp-archive-pagination .page-numbers.dots {
	border-color: transparent !important;
	background: transparent !important;
}

html body.wzp-archive .wzp-archive-pagination .page-numbers.prev,
html body.wzp-archive .wzp-archive-pagination .page-numbers.next {
	padding: 0.5rem 1.1rem;
	letter-spacing: 0.22em;
}

/* Hide Avada's screen-reader heading WordPress emits as visible noise */
body.wzp-archive .wzp-archive-pagination .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

/* Empty-state */
body.wzp-archive .wzp-archive-empty {
	max-width: 880px;
	margin: 2rem auto;
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', serif);
	font-style: italic;
	font-size: 1.1rem;
	color: var(--wzp-arch-pearl-muted);
	text-align: center;
}

/* ── Sub-page hero strip — compact 3D gem beside title ───────────
   Used on single-gem_*.php and taxonomy-gem_subject.php.
   Mobile-first: stacked (gem ~28vh on top, text below).
   Desktop ≥ 768px: side-by-side (text left ~58%, gem right ~42%, ~35vh tall). */

.wzp-arch-stripe {
	background: var(--wzp-arch-velvet);
	color: var(--wzp-arch-pearl);
	font-family: var(--wzp-arch-body, 'Inter', -apple-system, sans-serif);
	padding: clamp(1.25rem, 4vw, 2.5rem) clamp(1rem, 4vw, 2.5rem) 0;
	margin: 0 0 clamp(1.5rem, 4vw, 2.5rem);
	overflow: hidden;
	max-width: 100%;
}

.wzp-arch-stripe__inner {
	display: grid;
	/* Mobile: title on left (~58%), gem on right (~42%). Same as desktop, just tighter. */
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	grid-template-areas: "text gem";
	gap: clamp(0.85rem, 3vw, 1.5rem);
	max-width: 1280px;
	margin: 0 auto;
	align-items: center;
}

@media (min-width: 768px) {
	.wzp-arch-stripe__inner {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		gap: clamp(1.5rem, 4vw, 3rem);
		min-height: 35vh;
	}
}

.wzp-arch-stripe__text  { grid-area: text; }
.wzp-arch-stripe__gem   { grid-area: gem;  margin: 0; }

.wzp-arch-stripe__eyebrow {
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: clamp(0.6rem, 2vw, 0.7rem);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wzp-arch-gold);
	margin: 0 0 0.45rem;
}

@media (min-width: 480px) {
	.wzp-arch-stripe__eyebrow { letter-spacing: 0.22em; }
}

.wzp-arch-stripe__title {
	font-family: var(--wzp-arch-display, 'Cormorant Garamond', 'Georgia', serif);
	font-weight: 500;
	font-size: clamp(1.35rem, 4.8vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -0.012em;
	color: var(--wzp-arch-pearl);
	margin: 0 0 0.5rem;
	overflow-wrap: break-word;
	hyphens: auto;
}

.wzp-arch-stripe__lede {
	font-size: clamp(0.95rem, 2.4vw, 1.05rem);
	line-height: 1.55;
	color: var(--wzp-arch-pearl-soft);
	max-width: 56ch;
	margin: 0 0 0.85rem;
}

.wzp-arch-stripe__lede p { margin: 0 0 0.55em; }
.wzp-arch-stripe__lede p:last-child { margin-bottom: 0; }

.wzp-arch-stripe__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.4rem;
	margin-top: 0.4rem;
}

.wzp-arch-stripe__chip {
	display: inline-block;
	font-family: var(--wzp-arch-mono, 'JetBrains Mono', monospace);
	font-size: clamp(0.55rem, 2vw, 0.66rem);
	white-space: nowrap;
	letter-spacing: clamp(0.12em, 0.4vw, 0.18em);
	text-transform: uppercase;
	color: var(--wzp-arch-pearl-muted);
	padding: clamp(0.2rem, 0.8vw, 0.3rem) clamp(0.45rem, 1.6vw, 0.65rem);
	border: 0.5px solid var(--wzp-arch-pearl-faint);
	border-radius: 999px;
}

.wzp-arch-stripe__gem {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: 22vh;
	margin: 0;
	display: block;
}

@media (min-width: 768px) {
	.wzp-arch-stripe__gem {
		aspect-ratio: 1 / 1;
		max-height: none;
		height: 35vh;
		min-height: 280px;
	}
}

.wzp-arch-stripe__canvas {
	display: block;
	width: 100%;
	height: 100%;
}

.wzp-arch-stripe__rule {
	border: 0;
	border-top: 0.5px solid var(--wzp-arch-pearl-faint);
	max-width: 1280px;
	margin: clamp(1.25rem, 3.5vw, 2rem) auto 0;
}
