/* Paginated celestial archive: natural-ratio plates with an accessible viewer. */
/* Collection covers are complete thumbnails, not cropped background images. */
.culture-page .collection-intro{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.culture-page .collection-feature{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr;gap:.45rem;min-height:0;padding:1rem;align-content:start;align-items:start;text-align:center}
.culture-page .collection-feature:first-child{grid-column:auto}
.culture-page .collection-feature:after{display:none}
.culture-page .collection-feature img{position:static;inset:auto;grid-column:1;grid-row:1;display:block;width:100%;max-width:200px;height:auto;aspect-ratio:1;object-fit:contain;object-position:center;z-index:auto;opacity:1;transform:none;transition:none;justify-self:center;margin-bottom:.4rem}
.culture-page .collection-feature span,.culture-page .collection-feature h2,.culture-page .collection-feature p{grid-column:1;min-width:0}
.culture-page .collection-feature h2{font-size:clamp(1.2rem,1.65vw,1.65rem);line-height:1.15;margin:0;overflow-wrap:normal}
.culture-page .collection-feature p{font-size:.72rem;line-height:1.6}
.culture-page .collection-feature span{font-size:.52rem;line-height:1.5;letter-spacing:.1em}
@media(max-width:1050px){.culture-page .collection-intro{grid-template-columns:1fr}.culture-page .collection-feature{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto auto 1fr;gap:.4rem 1.2rem;text-align:left}.culture-page .collection-feature img{grid-row:1/4;margin:0}.culture-page .collection-feature span,.culture-page .collection-feature h2,.culture-page .collection-feature p{grid-column:2}.culture-page .collection-feature h2{font-size:1.5rem}}
@media(max-width:480px){.culture-page .collection-feature{grid-template-columns:90px minmax(0,1fr);padding:.85rem;gap:.35rem 1rem}.culture-page .collection-feature h2{font-size:1.3rem}}
.culture-page .nav .wrap{width:min(1280px,calc(100% - 48px));margin:0 auto}
.culture-page .nav-links{margin-left:auto;gap:clamp(1.1rem,1.8vw,2.4rem)}
.culture-page .nav-links a:not(.btn){letter-spacing:.16em;white-space:nowrap}
.culture-chapter{scroll-margin-top:132px}
.culture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem;align-items:start}

.culture-page .archive-card{display:flex;min-height:0;padding:0;flex-direction:column;background:linear-gradient(155deg,rgba(14,22,20,.98),rgba(6,9,9,.99));box-shadow:0 22px 54px rgba(0,0,0,.2)}
.culture-page .archive-card:before,.culture-page .archive-card:after{z-index:4}
.culture-page .archive-art{position:relative;inset:auto;z-index:1;display:block;width:100%;height:auto;margin:0;padding:0;border:0;border-bottom:1px solid var(--c-line);background:#050706;opacity:1;cursor:zoom-in;text-align:left}
.culture-page .archive-art:after{display:none!important}
.culture-page .archive-art img{position:relative;z-index:2;display:block;width:100%;height:auto;object-fit:unset!important;opacity:1!important;filter:none!important}
/* Major-star posters have different portrait ratios: retain each complete plate. */
.culture-page .archive-card[data-collection="ziwei"] .archive-art{height:auto;aspect-ratio:auto;overflow:visible}
.culture-page .archive-card[data-collection="ziwei"] .archive-art img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain!important;object-position:center;transform:none}
.culture-page .archive-glyph{position:absolute;inset:0;z-index:1;display:grid;width:100%;height:100%;place-items:center}
.culture-page .archive-card.has-art .archive-glyph{opacity:0}
.archive-caption{display:flex;min-height:220px;padding:1.25rem 1.35rem 1.3rem;flex-direction:column}
.culture-page .archive-card .card-kind{margin:0}
.culture-page .archive-card h3{margin:.72rem 0 .15rem;font-size:2rem}
.culture-page .archive-card h3 small{margin-top:.4rem}
.culture-page .archive-card .card-meta{margin:.8rem 0 .5rem}
.culture-page .archive-card .card-copy{max-width:none;margin:0;color:#aab4af;font-size:.76rem;line-height:1.72}
.archive-read{align-self:flex-start;margin-top:auto;padding:.75rem 0 0;border:0;background:none;color:var(--c-jade);font:600 .62rem var(--c-sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.archive-read:hover{color:var(--c-ink)}

.archive-pagination{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin:2.3rem 0 0}
.archive-pagination button{min-width:118px;padding:.78rem 1rem;border:1px solid var(--c-line);background:rgba(255,255,255,.02);color:var(--c-ink);font:600 .63rem var(--c-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.archive-pagination button:hover:not(:disabled){border-color:rgba(194,163,106,.6);background:rgba(194,163,106,.08)}
.archive-pagination button:disabled{opacity:.28;cursor:default}
.archive-pagination span{color:var(--c-muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.archive-pagination b{color:var(--c-gold);font-weight:500}

.archive-viewer[hidden]{display:none}
.archive-viewer{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px}
.archive-viewer-backdrop{position:absolute;inset:0;background:rgba(1,4,4,.9);backdrop-filter:blur(10px)}
.archive-viewer-panel{position:relative;z-index:1;display:grid;width:min(1180px,calc(100vw - 48px));max-height:calc(100vh - 48px);grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);overflow:auto;border:1px solid rgba(194,163,106,.38);background:#070b0a;box-shadow:0 40px 110px rgba(0,0,0,.72)}
.archive-viewer-stage{display:grid;min-height:0;place-items:center;padding:18px;background:#020303}
.archive-viewer-stage img{display:block;max-width:100%;max-height:calc(100vh - 84px);width:auto;height:auto}
.archive-viewer-copy{display:flex;padding:clamp(2rem,4vw,4rem);flex-direction:column;justify-content:center;border-left:1px solid var(--c-line)}
.archive-viewer-copy h2{margin:.8rem 0 .55rem;color:var(--c-ink);font:400 clamp(2.5rem,4vw,4.8rem)/.92 var(--c-serif)}
.archive-viewer-meta{color:var(--c-gold);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.archive-viewer-description{margin:1.6rem 0 0;color:#b5bfba;font-size:.9rem;line-height:1.85}
.archive-viewer-prompt{margin:1.5rem 0 0;padding-top:1.2rem;border-top:1px solid var(--c-line);color:#c5cec9;font-size:.8rem;line-height:1.7}
.archive-viewer-prompt b{color:var(--c-jade)}
.archive-viewer-close{position:absolute;right:14px;top:10px;z-index:3;width:42px;height:42px;border:0;background:rgba(4,8,7,.76);color:var(--c-ink);font:300 2rem/1 var(--c-sans);cursor:pointer}
.archive-viewer-nav{position:absolute;top:50%;z-index:3;width:44px;height:58px;transform:translateY(-50%);border:1px solid var(--c-line);background:rgba(3,7,6,.76);color:var(--c-ink);font:300 2rem/1 var(--c-serif);cursor:pointer}
.archive-viewer-nav.prev{left:12px}.archive-viewer-nav.next{right:12px}
body.viewer-open{overflow:hidden}

@media(max-width:1100px){.culture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.culture-page .nav-links{gap:1rem}.culture-page .nav-links a:not(.btn){font-size:.64rem;letter-spacing:.12em}.archive-viewer-panel{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:820px){.culture-page .nav-links{margin-left:0}.culture-page .nav .wrap{width:min(100% - 32px,1280px)}.archive-viewer{padding:0}.archive-viewer-panel{width:100vw;max-height:100vh;grid-template-columns:1fr}.archive-viewer-stage{padding:54px 12px 12px}.archive-viewer-stage img{max-height:62vh}.archive-viewer-copy{padding:1.6rem 1.25rem 2.2rem;border-left:0;border-top:1px solid var(--c-line)}.archive-viewer-nav{top:32vh}}
@media(max-width:720px){.culture-grid{grid-template-columns:1fr;gap:1.25rem}.culture-chapter{scroll-margin-top:94px}.archive-caption{min-height:0}.archive-read{margin-top:1.1rem}.archive-pagination{gap:.55rem}.archive-pagination button{min-width:96px;padding:.72rem .65rem}.archive-pagination span{font-size:.62rem}}
