/* The object collection: ink, verdigris, parchment and aged brass.
   All selectors are scoped to the new stages or decorated page layouts. */
body[data-artifact-edition] {
 --artifact-gold: #d4b579;
 --artifact-paper: #eee2c5;
 --artifact-line: #c5a56a35;
 --artifact-green: #244239;
}
body[data-artifact-edition] .artifact-scene {
 --artifact-x: 0;
 --artifact-y: 0;
 position: relative;
 isolation: isolate;
 display: grid;
 place-items: center;
 width: 100%;
 max-width: 560px;
 aspect-ratio: 1.08;
 min-width: 0;
 margin: 0;
 padding: 2.75rem 1.5rem 3rem;
 overflow: hidden;
 perspective: 1000px;
 border: 1px solid var(--artifact-line);
 border-radius: 50% 50% 2px 2px / 18% 18% 2px 2px;
 background: radial-gradient(ellipse at 48% 38%, #28413970, transparent 63%), linear-gradient(155deg, #17221e, #111511 58%, #0f100d);
 box-shadow: inset 0 1px 0 #e7d6ad14, 0 30px 45px -35px #0009;
 contain: layout style;
}
body[data-artifact-edition] .artifact-scene::before,
body[data-artifact-edition] .artifact-scene::after {
 position: absolute;
 z-index: 5;
 font: 400 .62rem/1.4 Georgia, serif;
 letter-spacing: .16em;
 text-transform: uppercase;
 color: var(--artifact-gold);
 pointer-events: none;
}
body[data-artifact-edition] .artifact-scene::before { content: 'STUDY  /  ' attr(data-object-number); top: 1.5rem; left: 50%; transform: translateX(-50%); }
body[data-artifact-edition] .artifact-scene::after { content: attr(data-object-label); bottom: 1.25rem; left: 1.75rem; right: 1.75rem; text-align: center; }
body[data-artifact-edition] .artifact-scene .artifact-object {
 position: absolute;
 z-index: 3;
 display: block;
 left: 9%;
 top: 11%;
 width: 82%;
 height: 76%;
 max-height: none;
 min-width: 0;
 object-fit: contain;
 outline: 0;
 border: 0;
 border-radius: 0;
 opacity: 1;
 filter: drop-shadow(13px 20px 12px #0008);
 transform: translate3d(calc(var(--artifact-x) * 7px), calc(var(--artifact-y) * -5px), 32px) rotateX(calc(var(--artifact-y) * -4deg)) rotateY(calc(var(--artifact-x) * 6deg));
 transition: transform 550ms cubic-bezier(.2,.75,.25,1);
}
.artifact-aura { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(ellipse, #ac854322, transparent 68%); }
.artifact-orbit { position: absolute; width: 78%; aspect-ratio: 1; border: 1px solid #d1b27b24; border-radius: 50%; transform: rotateX(28deg) rotateY(-14deg); outline: 1px solid #c2aa7018; outline-offset: 18px; }
.artifact-plinth { position: absolute; bottom: 9%; width: 72%; height: 16%; border-radius: 50%; background: linear-gradient(180deg, #39504760, #16211acc); border: 1px solid #d1b27b20; box-shadow: 0 9px 0 -1px #0b110d, 0 10px 0 #b6945830; }
.artifact-shadow { position: absolute; z-index: 2; bottom: 13%; width: 56%; height: 6%; background: #0009; filter: blur(14px); border-radius: 50%; transform: translateX(calc(var(--artifact-x) * -5px)); }
[data-artifact-scene="books"] { --artifact-green: #253927; }
body[data-artifact-edition] [data-artifact-scene="secret-discourses"] { background: radial-gradient(ellipse at 40% 40%, #54402b50, transparent 65%), #171611; }
body[data-artifact-edition] [data-artifact-scene="voc"] { background: radial-gradient(ellipse at 48% 35%, #30484b80, transparent 65%), #121c1d; }
body[data-artifact-edition] [data-artifact-scene="trading"] { background: radial-gradient(ellipse at 50% 40%, #35493f90, transparent 65%), #121b17; }
body[data-artifact-edition] [data-artifact-scene="spinoza-101"] .artifact-object { left: 13%; top: 14%; width: 74%; height: 70%; }
body[data-artifact-edition] .artifact-title {
 display: grid;
 grid-template-columns: minmax(0, 1fr) clamp(150px, 23vw, 240px);
 align-items: center;
 gap: clamp(1rem, 3vw, 3rem);
 width: 100%;
 margin-block: 1rem 1.75rem;
}
body[data-artifact-edition] .artifact-title h1 { min-width: 0; margin-block: 0; }
body[data-artifact-edition] .artifact-scene--compact { aspect-ratio: 1; padding: 1rem; border-radius: 50%; border-color: #c5a56a28; }
body[data-artifact-edition] .artifact-scene--compact::before,
body[data-artifact-edition] .artifact-scene--compact::after { display: none; }
body[data-artifact-edition] .artifact-scene--compact .artifact-plinth { bottom: 14%; }
body[data-artifact-edition] .artifact-title--reading { grid-template-columns: minmax(0, 1fr) 160px; gap: 1.5rem; }
body[data-artifact-edition] .artifact-title--reading h1 { font-size: clamp(2rem, 3.8vw, 3.8rem); line-height: 1.08; letter-spacing: -.025em; }
body[data-artifact-edition] .artifact-companion { max-width: 980px; width: calc(100% - 3rem); margin: 0 auto 3.5rem; }
body[data-artifact-edition] .artifact-companion > :is(div,figure) { margin: 0 auto; width: 100%; max-width: 760px; }
body[data-artifact-edition] .artifact-companion .eu-frontispiece { display: block; }
body[data-artifact-edition] .artifact-companion svg { max-height: 300px; }
body[data-artifact-edition] .artifact-companion .dev-preview { max-width: 980px; }
body[data-artifact-edition] .artifact-companion .dev-preview img { width: 100%; height: auto; }
body[data-artifact-layout="hero"] .dev-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); align-items: center; gap: 3rem; }
body[data-artifact-layout="hero"] .hero.illustrated-hero { gap: clamp(2rem, 6vw, 6rem); padding-block: 4rem; min-height: 570px; }
body[data-artifact-layout="hero"] .illustrated-heading h1 { font-size: clamp(3rem, 5.3vw, 5.5rem); text-transform: none; letter-spacing: -.03em; line-height: 1.03; }
body[data-artifact-layout="hero"] .illustrated-heading .crest-wrap { width: 42px; height: 42px; opacity: .7; }
body[data-artifact-layout="hero"] .illustrated-heading .subtitle { font-size: 1.2rem; line-height: 1.6; }
body[data-artifact-edition] .collection-paths { gap: 2rem; }
body[data-artifact-edition] .collection-path > .artifact-scene { aspect-ratio: 1.12; transition: border-color 180ms ease; }
body[data-artifact-edition] .collection-path:hover > .artifact-scene { border-color: #d1b27b88; }
body[data-artifact-edition] .collection-path:focus-visible { outline: 2px solid var(--artifact-gold); outline-offset: 6px; }
body[data-artifact-edition] .collection-path-copy { padding-top: 1.5rem; }
body[data-artifact-edition] .collection-discover { padding-block: 5rem; }
/* Ship studies sit inside the period paintings' existing hero, above the overlay. */
body[data-artifact-layout="photographic"] :is(.voc-hero,.cs-hero) { position: relative; min-height: 780px; }
body[data-artifact-layout="photographic"] :is(.voc-hero,.cs-hero) > .artifact-scene {
 position: absolute; right: 5%; top: 50%; transform: translateY(-50%); width: 40%; max-width: 570px;
 background: linear-gradient(150deg, #172627cc, #0b1412e0); backdrop-filter: blur(4px); z-index: 1;
}
body[data-artifact-layout="photographic"] :is(.voc-hero-content,.cs-hero-copy) { padding-right: 43%; box-sizing: border-box; }
body[data-artifact-layout="photographic"] .voc-hero-seal { display: none; }
body[data-artifact-layout="photographic"] #page-voc h1 { font-size: clamp(68px, 7vw, 106px); }
/* Book covers retain their print layout; the screen edition receives an object. */
.reading-book .cover .artifact-title { grid-template-columns: minmax(0, 1fr) 180px; }
html[data-reading-theme="paper"] .artifact-scene { color-scheme: dark; }
@media (max-width:1024px) {
 body[data-artifact-layout="hero"] .hero.illustrated-hero { min-height: 450px; gap: 2rem; }
 body[data-artifact-layout="hero"] .illustrated-heading h1 { font-size: clamp(2.7rem, 5vw, 4rem); }
 body[data-artifact-edition] .artifact-scene::before { top: 1.25rem; }
}
@media (max-width:768px) {
 body[data-artifact-layout="hero"] .hero.illustrated-hero { grid-template-columns: 1fr; padding-block: 2.5rem; min-height: 0; }
 body[data-artifact-layout="hero"] .dev-hero { grid-template-columns: 1fr; gap: 2rem; }
 body[data-artifact-layout="hero"] .hero.illustrated-hero > .artifact-scene { max-width: 450px; justify-self: center; }
 body[data-artifact-edition] .collection-discover { padding-block: 3rem; }
 body[data-artifact-edition] .collection-path { grid-template-columns: 130px minmax(0,1fr); }
 body[data-artifact-edition] .collection-path > .artifact-scene { aspect-ratio: 1; padding: .7rem; border-radius: 4px; }
 body[data-artifact-edition] .collection-path > .artifact-scene::before,
 body[data-artifact-edition] .collection-path > .artifact-scene::after { display: none; }
 body[data-artifact-edition] .collection-path-copy { padding-top: 0; }
 body[data-artifact-layout="photographic"] :is(.voc-hero,.cs-hero) { display: flex; flex-direction: column; }
 body[data-artifact-layout="photographic"] :is(.voc-hero-content,.cs-hero-copy) { padding-right: 0; padding-bottom: 2rem; }
 body[data-artifact-layout="photographic"] :is(.voc-hero,.cs-hero) > .artifact-scene { position: relative; top: auto; right: auto; transform: none; width: 88%; max-width: 400px; margin: 0 auto 2rem; }
}
@media (max-width:640px) {
 body[data-artifact-edition] .artifact-title { grid-template-columns: 1fr; gap: 1.25rem; }
 body[data-artifact-edition] .artifact-title > .artifact-scene { width: 145px; justify-self: start; }
 body[data-artifact-edition] .artifact-title--reading { grid-template-columns: 1fr; }
 body[data-artifact-edition] .artifact-title--reading > .artifact-scene { width: 120px; }
 body[data-artifact-edition] .artifact-title--reading h1 { font-size: 2.35rem; }
 body[data-artifact-edition] .artifact-companion { width: calc(100% - 2.5rem); margin-bottom: 2.5rem; }
 .reading-book .cover .artifact-title { grid-template-columns: 1fr; }
 .reading-book .cover .artifact-title > .artifact-scene { justify-self: center; }
 body[data-artifact-edition] .collection-path { grid-template-columns: 100px minmax(0,1fr); gap: 1rem; }
}
@media (prefers-reduced-motion:reduce) {
 body[data-artifact-edition] .artifact-scene .artifact-object { transition: none; transform: none; }
}
@media print {
 body[data-artifact-edition] .artifact-scene { display: none; }
 body[data-artifact-edition] .artifact-title { display: block; }
 body[data-artifact-layout="photographic"] :is(.voc-hero-content,.cs-hero-copy) { padding-right: 0; }
}

/* About & Contact deliberately uses the author's portrait instead of an object. */
body[data-artifact-layout="portrait"] #page-contact .hero.illustrated-hero {
 grid-template-columns: minmax(0, 1fr);
 min-height: 0;
 padding-block: clamp(2rem, 5vw, 4rem) 1.5rem;
}
body[data-artifact-layout="portrait"] #page-contact .illustrated-heading {
 text-align: left;
 max-width: 48rem;
}
body[data-artifact-layout="portrait"] #page-contact .illustrated-heading .crest-wrap {
 display: none;
}

/* Gallery finish. Loaded after artifacts.css; independent of artwork assignments.
   Brass, warm paper and quiet light extend the site's existing material palette. */
body[data-artifact-edition] .artifact-scene {
 border-color: #c5a56a40;
 border-radius: 46% 46% 2px 2px / 13% 13% 2px 2px;
 background: radial-gradient(ellipse at 28% 15%, #a68a5033, transparent 48%),
             radial-gradient(ellipse at 80% 60%, #47685a33, transparent 55%), #121a16;
 box-shadow: inset 0 1px 0 #f0dfb52b, inset 0 -1px 0 #c5a56a18,
             0 24px 48px -36px #000b;
}
body[data-artifact-edition] .artifact-scene::before {
 content: 'COLLECTION  /  ' attr(data-object-number);
 color: var(--artifact-gold);
 font-size: .64rem;
 letter-spacing: .19em;
}
body[data-artifact-edition] .artifact-scene::after {
 bottom: 1.2rem;
 font: italic 400 1.05rem/1.35 var(--serif-body, Georgia, serif);
 text-transform: none;
 letter-spacing: .02em;
 color: var(--artifact-paper);
}
body[data-artifact-edition] .artifact-aura {
 inset: 10% 12% 18%;
 background: radial-gradient(ellipse at 40% 35%, #ead1a01a, transparent 68%);
}
body[data-artifact-edition] .artifact-orbit {
 width: 73%;
 opacity: .7;
 border-color: #d4b57930;
 outline-color: #d4b57912;
 outline-offset: 23px;
}
body[data-artifact-edition] .artifact-plinth {
 width: 66%;
 bottom: 12%;
 height: 11%;
 background: linear-gradient(175deg, #65736744, #17221dcc 62%);
 border-color: #d5bc892e;
 box-shadow: 0 5px 0 #0c140f, 0 6px 0 #b8995d40;
}
body[data-artifact-edition] .artifact-shadow {
 bottom: 15%;
 background: #0008;
}
body[data-artifact-edition] .artifact-scene .artifact-object {
 filter: drop-shadow(10px 18px 14px #0006);
}
body[data-artifact-edition] .artifact-scene--compact {
 border-radius: 50%;
 background: radial-gradient(ellipse at 32% 25%, #816b3833, #13211a 65%, #10150f);
}
/* The discovery band reads as three exhibits with editorial captions. */
body[data-artifact-edition] .collection-path {
 border: 0;
 background: transparent;
}
body[data-artifact-edition] .collection-path-copy {
 padding: 1.5rem 0 0;
}
body[data-artifact-edition] .collection-path h3 {
 font-size: clamp(1.65rem, 2.1vw, 2rem);
 line-height: 1.15;
 letter-spacing: -.02em;
}
body[data-artifact-edition] .collection-path-copy > span {
 display: inline-block;
 padding-block: .4rem;
 border-bottom: 1px solid var(--gold-hair);
 transition: border-color 150ms ease;
}
body[data-artifact-edition] .collection-path:is(:hover,:focus-visible) .collection-path-copy > span {
 border-bottom-color: var(--gold);
}
body[data-artifact-edition] .collection-path:nth-child(2) > .artifact-scene {
 --artifact-gold: #665132;
 --artifact-paper: #493d2a;
 background: radial-gradient(ellipse at 40% 25%, #f5edd8, #d4c4a1);
 border-color: #d4c4a1;
 box-shadow: inset 0 1px 0 #fff9, 0 22px 40px -32px #000b;
}
body[data-artifact-edition] .collection-path:nth-child(2) .artifact-orbit {
 border-color: #66513235;
 outline-color: #66513216;
}
body[data-artifact-edition] .collection-path:nth-child(2) .artifact-plinth {
 background: linear-gradient(175deg, #eddfbb, #bba780);
 box-shadow: 0 5px 0 #ad9671, 0 6px 0 #f8edcc;
}
body[data-artifact-edition] .collection-path:nth-child(2) .artifact-shadow { opacity: .35; }
body[data-artifact-edition] .collection-path:nth-child(2) .artifact-object {
 filter: drop-shadow(8px 12px 9px #382b242e);
}
body[data-artifact-edition] .collection-credit {
 margin-top: 2rem;
 max-width: 65ch;
 font-style: italic;
}
body[data-artifact-edition] .book-row {
 border-top: 1px solid var(--gold-hair);
 padding-block: 3rem;
}
body[data-artifact-edition] .book-row h2 { text-wrap: balance; }
body[data-artifact-edition] .book-row .book-meta { font-variant-numeric: tabular-nums; }
body[data-artifact-edition] .essay-card h2 a {
 text-decoration-color: transparent;
 text-decoration-thickness: 1px;
 text-underline-offset: .2em;
 transition: text-decoration-color 150ms ease;
}
body[data-artifact-edition] .essay-card h2 a:is(:hover,:focus-visible) {
 text-decoration-color: currentColor;
}
@media (max-width: 768px) {
 body[data-artifact-edition] .collection-path-copy { padding: 0; }
 body[data-artifact-edition] .collection-path h3 { font-size: 1.55rem; }
 body[data-artifact-edition] .collection-path > .artifact-scene { border-radius: 3px; }
 body[data-artifact-edition] .collection-path { padding-block: 1.25rem; border-bottom: 1px solid var(--gold-hair); }
 body[data-artifact-edition] .collection-paths { gap: 0; }
 body[data-artifact-edition] .book-row { padding-block: 2rem; }
}
@media (prefers-reduced-motion: reduce) {
 body[data-artifact-edition] .collection-path-copy > span,
 body[data-artifact-edition] .essay-card h2 a { transition: none; }
}
