:root{--bg:#07080b;--panel:#0e1016;--line:#1d212b;--tx:#e8e6e1;--mut:#8d909a;--gold:#c9a96e;--glow:#6ec3ff;
--heirloom:#c9a96e;--grail:#b98cff;--icon:#6ec3ff;--zodiac:#7fe0c2;--tribute:#ff7b7b;--other:#9aa0aa}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--tx);font:16px/1.65 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;background:radial-gradient(1200px 600px at 50% -200px,#141a26 0,transparent 70%),var(--bg);min-height:100vh}
a{color:inherit}h1,h2,h3{font-weight:400;letter-spacing:.01em}
.top{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(7,8,11,.82);backdrop-filter:blur(10px);z-index:10;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.brand{text-decoration:none;letter-spacing:.32em;text-transform:uppercase;font-size:13px;display:flex;align-items:center;gap:12px}
.blade{width:3px;height:22px;border-radius:2px;background:#dff3ff;box-shadow:0 0 6px var(--glow),0 0 14px var(--glow)}
.ig{font-size:13px;color:var(--mut);text-decoration:none}.ig:hover{color:var(--tx)}
.hero{text-align:center;padding:clamp(56px,10vw,120px) 20px 48px;position:relative;overflow:hidden}
.hero .glow{position:absolute;left:50%;top:0;width:2px;height:100%;transform:translateX(-50%);background:linear-gradient(transparent,rgba(110,195,255,.5),transparent);box-shadow:0 0 40px 6px rgba(110,195,255,.25);opacity:.5;pointer-events:none}
.eyebrow{font:12px system-ui,sans-serif;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.hero h1{font-size:clamp(40px,8vw,88px);margin:0;line-height:1.05;text-shadow:0 0 30px rgba(110,195,255,.25)}
.bio{max-width:640px;margin:22px auto 0;color:#bdbbb5;font-size:clamp(16px,2vw,19px);font-style:italic}
.stat{font:12px system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);margin-top:26px}
.controls{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding:0 clamp(16px,4vw,48px) 26px;max-width:1400px;margin:auto}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:13px system-ui,sans-serif;background:transparent;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:7px 14px;cursor:pointer;transition:.2s}
.chip span{opacity:.55;margin-left:4px}.chip:hover{color:var(--tx);border-color:#333a48}
.chip.on{color:#fff;border-color:var(--glow);box-shadow:0 0 12px rgba(110,195,255,.3),inset 0 0 10px rgba(110,195,255,.12)}
#q{font:14px system-ui,sans-serif;background:var(--panel);border:1px solid var(--line);color:var(--tx);border-radius:999px;padding:9px 16px;min-width:240px;outline:none}
#q:focus{border-color:var(--glow);box-shadow:0 0 10px rgba(110,195,255,.25)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;padding:0 clamp(16px,4vw,48px) 60px;max-width:1400px;margin:auto}
.card{text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-3px);border-color:#2b3242;box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 22px rgba(110,195,255,.12)}
.ph{aspect-ratio:4/5;overflow:hidden;background:#000}.ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.card:hover .ph img{transform:scale(1.04)}
.meta{padding:14px 16px 16px}.meta h3{margin:6px 0 4px;font-size:18px;line-height:1.3}
time{font:12px system-ui,sans-serif;color:var(--mut);letter-spacing:.05em}
.cls{font:11px system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--c,var(--gold))}
.c-heirloom{--c:var(--heirloom)}.c-grail{--c:var(--grail)}.c-icon{--c:var(--icon)}.c-zodiac{--c:var(--zodiac)}.c-tribute{--c:var(--tribute)}.c-other{--c:var(--other)}
.cls{text-shadow:0 0 10px color-mix(in srgb,var(--c) 50%,transparent)}
#empty{text-align:center;color:var(--mut)}
.detail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:clamp(20px,4vw,56px);max-width:1400px;margin:auto;padding:32px clamp(16px,4vw,48px)}
.stage{position:relative;background:#000;border:1px solid var(--line);border-radius:6px;overflow:hidden;cursor:zoom-in;aspect-ratio:4/5;max-height:80vh;width:100%}
.stage img{width:100%;height:100%;object-fit:contain;display:block}
.arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);color:#fff;border:1px solid rgba(255,255,255,.15);width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.arr:hover{box-shadow:0 0 14px rgba(110,195,255,.5)}.arr.l{left:12px}.arr.r{right:12px}
.count{position:absolute;bottom:10px;right:14px;font:12px system-ui,sans-serif;color:#ccc;background:rgba(0,0,0,.5);padding:3px 9px;border-radius:999px}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:thin}
.th{flex:0 0 72px;height:90px;padding:0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#000;cursor:pointer;opacity:.55;transition:.2s}
.th img{width:100%;height:100%;object-fit:cover;display:block}.th.on,.th:hover{opacity:1}.th.on{border-color:var(--glow);box-shadow:0 0 10px rgba(110,195,255,.4)}
.info h1{font-size:clamp(30px,4vw,46px);line-height:1.12;margin:10px 0 8px}
.back{font:13px system-ui,sans-serif;color:var(--mut);text-decoration:none;display:block;margin-bottom:22px}.back:hover{color:var(--tx)}
.desc{margin-top:22px;color:#cfccc5;border-top:1px solid var(--line);padding-top:10px}.desc a{color:var(--gold);text-decoration:none}
.iglink{display:inline-block;margin-top:18px;font:13px system-ui,sans-serif;color:var(--glow);text-decoration:none}
.pn{display:flex;justify-content:space-between;gap:16px;max-width:1400px;margin:0 auto 40px;padding:24px clamp(16px,4vw,48px);border-top:1px solid var(--line);font-family:system-ui,sans-serif;font-size:14px}
.pn a{text-decoration:none;color:var(--mut);max-width:45%}.pn a:hover{color:var(--tx);text-shadow:0 0 12px rgba(110,195,255,.5)}.pn .next{text-align:right}
.lb{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:50;display:flex;align-items:center;justify-content:center}.lb[hidden]{display:none}
.lb img{max-width:94vw;max-height:92vh;object-fit:contain}.lb .x{position:absolute;top:12px;right:18px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}
footer{text-align:center;color:var(--mut);font:13px system-ui,sans-serif;padding:30px;border-top:1px solid var(--line)}
@media(max-width:860px){.detail{grid-template-columns:1fr}.stage{max-height:none}}
@media(max-width:560px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}.meta{padding:10px}.meta h3{font-size:15px}#q{min-width:0;width:100%}.ig{display:none}.chip{padding:6px 11px;font-size:12px}}
.filters{display:flex;flex-direction:column;gap:10px}
.chips .lbl{font:11px system-ui,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);width:56px;align-self:center}
.chip[data-t].on{border-color:var(--gold);box-shadow:0 0 12px rgba(201,169,110,.3),inset 0 0 10px rgba(201,169,110,.12)}
.tags{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 6px}
.tag{font:10px system-ui,sans-serif;letter-spacing:.06em;color:#aeb2bb;border:1px solid var(--line);border-radius:999px;padding:1px 8px;text-decoration:none}
.info .tags{margin:4px 0 10px}.info .tag{font-size:12px;padding:3px 11px}a.tag:hover{color:#fff;border-color:var(--gold)}
@media(max-width:560px){.chips .lbl{width:100%}.tag{font-size:9px;padding:1px 6px}}
.note{font:13px system-ui,sans-serif;color:var(--mut);margin:10px 0 0}.note a{color:var(--gold);text-decoration:none}
.c-exhibit{--c:#d8c7a0}
