/* Archive & Atlas — The Library (HILL). Warm archival surface, distinct from
   the store's ivory. Palette + components locked to mockups P-01 / P-02. */
:root{
  /* Library = green register (locked P-50.2). Card lifts off a deeper field. */
  --lib-bg:oklch(0.935 0.012 195);                              /* outer field — deeper so the card sits in it */
  --lib-page:oklch(0.987 0.005 195);                            /* card surface */
  --lib-ink:oklch(0.215 0.020 220);
  --lib-ink-85:color-mix(in oklab,var(--lib-ink) 85%,transparent);
  --lib-ink-70:color-mix(in oklab,var(--lib-ink) 70%,transparent);
  --lib-ink-60:color-mix(in oklab,var(--lib-ink) 60%,transparent);
  --lib-ink-50:color-mix(in oklab,var(--lib-ink) 50%,transparent);
  --lib-ink-45:color-mix(in oklab,var(--lib-ink) 45%,transparent);
  --lib-line:color-mix(in oklab,var(--lib-ink) 12%,transparent);
  --lib-line-2:color-mix(in oklab,var(--lib-ink) 18%,transparent);
  --lib-gold:oklch(0.50 0.06 162);                              /* library accent = verdigris (was store gold) */
  --lib-panel:oklch(0.992 0.004 195);
  --lib-img:oklch(0.93 0.008 195);
  --lib-band:oklch(0.952 0.008 195);
  /* confidence signals — semantic green/amber/red, unchanged */
  --sig-certain:#5B8A5B;
  --sig-inferred:#C19A3E;
  --sig-low:#B05335;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--lib-bg);color:var(--lib-ink);font-family:'Inter',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-45)}

.lib-shell{max-width:1040px;margin:2.5rem auto 4rem;background:var(--lib-page);border:1px solid color-mix(in oklab,var(--lib-ink) 20%,transparent);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px color-mix(in oklab,var(--lib-ink) 8%,transparent),0 22px 60px -38px color-mix(in oklab,var(--lib-ink) 45%,transparent)}
@media(max-width:1090px){.lib-shell{margin-left:1.25rem;margin-right:1.25rem}}
.lib-results .lib-shell{max-width:980px}

/* Header */
.lib-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-bottom:.5px solid var(--lib-line)}
.lib-brand{display:flex;align-items:baseline;gap:10px}
.lib-brand .name{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px}
.lib-brand .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-nav{display:flex;gap:20px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-60)}
.lib-nav a:hover{color:var(--lib-ink)}
.lib-nav .ext{color:var(--lib-ink-45)}
.lib-count{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-50)}
@media(max-width:680px){.lib-nav{display:none}}

/* Hero (landing) */
.lib-hero{display:grid;grid-template-columns:1.2fr 1fr}
@media(max-width:680px){.lib-hero{grid-template-columns:1fr}}
.lib-hero .frame{position:relative;min-height:268px;background:var(--lib-img);background-size:cover;background-position:center;border-right:.5px solid var(--lib-line)}
.lib-hero .frame .cap{position:absolute;bottom:12px;left:14px}
.lib-hero .copy{padding:32px 28px;display:flex;flex-direction:column;justify-content:center}
.lib-hero .kicker{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--lib-gold);margin-bottom:12px}
.lib-hero h1{font-size:30px;line-height:1.08;margin-bottom:10px}
.lib-hero p{font-size:13px;line-height:1.6;color:var(--lib-ink-70);margin-bottom:16px}
.lib-hero .go{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid var(--lib-gold);padding-bottom:3px;width:fit-content}

/* Search band */
.lib-search{display:flex;align-items:center;gap:12px;padding:16px 28px;border-top:.5px solid var(--lib-line);border-bottom:.5px solid var(--lib-line)}
.lib-search form{flex:1;display:flex;align-items:center;gap:9px;background:var(--lib-panel);border:1px solid var(--lib-line-2);border-radius:40px;padding:9px 16px}
.lib-search input{flex:1;background:transparent;border:none;outline:none;font-size:14px;color:var(--lib-ink);font-family:'Inter',sans-serif}
.lib-search input::placeholder{color:var(--lib-ink-45)}
.lib-ai{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-gold);border:.5px solid color-mix(in oklab,var(--lib-gold) 50%,transparent);padding:4px 8px;border-radius:6px;white-space:nowrap}

/* Section scaffolding */
.lib-sec{padding:24px 28px}
.lib-sec .head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px;gap:12px}
.lib-sec .head h2{font-size:22px}

/* Browse: density + timeline */
.lib-browse{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
@media(max-width:680px){.lib-browse{grid-template-columns:1fr}}
.lib-map{position:relative;min-height:178px;border:.5px solid var(--lib-line-2);border-radius:8px;background:var(--lib-img)}
.lib-map .cap{position:absolute;bottom:8px;right:10px}
.lib-bars{display:flex;flex-direction:column;justify-content:flex-end}
.lib-bars .row{display:flex;align-items:flex-end;gap:5px;height:120px}
.lib-bars .row .bar{flex:1;background:color-mix(in oklab,var(--lib-ink) 30%,transparent);min-height:3px}
.lib-bars .row .bar.peak{background:var(--lib-gold)}
.lib-bars .axis{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--lib-ink-45);margin-top:6px}

/* Collections */
.lib-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:680px){.lib-cards{grid-template-columns:1fr}}
.lib-card{border:.5px solid var(--lib-line);border-radius:8px;overflow:hidden;background:var(--lib-panel)}
.lib-card .thumb{height:84px;background:var(--lib-img);background-size:cover;background-position:center}
.lib-card .body{padding:12px}
.lib-card .body .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px}
.lib-card .body .m{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-50);margin-top:3px}

/* Give */
.lib-give{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid color-mix(in oklab,var(--lib-ink) 22%,transparent)}
@media(max-width:680px){.lib-give{grid-template-columns:1fr}}
.lib-give > a{display:block;padding:22px 28px;transition:background .15s}
.lib-give > a:first-child{border-right:1px solid color-mix(in oklab,var(--lib-ink) 22%,transparent)}
.lib-give > a:hover{background:color-mix(in oklab,var(--lib-ink) 4%,transparent)}
.lib-give .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px}
.lib-give .d{font-size:12px;color:var(--lib-ink-60);margin-top:4px}

/* Footer band */
.lib-foot{padding:12px 28px;background:var(--lib-band);border-top:.5px solid var(--lib-line);display:flex;justify-content:center;flex-wrap:wrap;gap:20px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-50)}

/* Results: query echo */
.lib-query{display:flex;align-items:center;gap:12px;padding:14px 24px;border-bottom:.5px solid var(--lib-line)}
.lib-query .q{flex:1;font-size:14px;color:var(--lib-ink-70)}
.lib-query input{flex:1;background:transparent;border:none;outline:none;font-size:15px;color:var(--lib-ink);font-family:inherit}
.lib-query input::placeholder{color:var(--lib-ink-45)}

/* Digest */
.lib-digest{margin:18px 24px 14px;border-left:2px solid var(--lib-gold);background:var(--lib-panel);padding:15px 20px;border-radius:0 8px 8px 0}
.lib-digest .lbl{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-gold);margin-bottom:7px}
.lib-digest p{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.55;color:var(--lib-ink-85)}

/* Chips */
.lib-chips{padding:0 24px 14px;display:flex;flex-wrap:wrap;gap:8px}
.lib-chip{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;border:.5px solid var(--lib-line-2);border-radius:20px;padding:5px 12px;color:var(--lib-ink-60)}
.lib-chip:hover{border-color:var(--lib-gold);color:var(--lib-ink)}

/* Top match */
.lib-top{padding:0 24px}
.lib-top .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-45);margin-bottom:10px}
.lib-top .row{display:flex;gap:18px;padding-bottom:18px;border-bottom:.5px solid var(--lib-line)}
@media(max-width:560px){.lib-top .row{flex-direction:column}}
.lib-top .pic{width:128px;height:128px;background:var(--lib-img);background-size:cover;background-position:center;border-radius:6px;flex-shrink:0}
.lib-top .meta{flex:1;min-width:0}
.lib-top .meta .h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.lib-top .meta .h .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:23px}
.lib-top .meta .h .r{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-facts{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}
.lib-facts span{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lib-ink-60);display:flex;align-items:center;gap:5px}
.lib-top .desc{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;line-height:1.5;color:var(--lib-ink-70);margin-top:10px}

/* Grid of more */
.lib-more{padding:16px 24px 18px}
.lib-more .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-45);margin-bottom:12px}
.lib-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:680px){.lib-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:420px){.lib-grid{grid-template-columns:repeat(2,1fr)}}
.lib-grid .cell .fr{position:relative;aspect-ratio:1;background:var(--lib-img);background-size:cover;background-position:center;border-radius:4px}
.lib-grid .cell .fr .dot{position:absolute;top:5px;right:5px}
.lib-grid .cell .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Confidence dots + legend */
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--sig-inferred)}
.dot.certain{background:var(--sig-certain)}
.dot.inferred{background:var(--sig-inferred)}
.dot.low{background:var(--sig-low)}
.lib-legend{padding:9px 24px;background:var(--lib-band);border-top:.5px solid var(--lib-line);display:flex;align-items:center;gap:16px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-50)}
.lib-legend span{display:flex;align-items:center;gap:5px}

.empty{padding:4rem 24px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-45)}

/* Record (finding aid) page */
.lib-crumbs{display:flex;gap:8px;padding:18px 28px 0;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-50)}
.lib-crumbs a:hover{color:var(--lib-ink)}
.lib-rec{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;padding:20px 28px 8px}
@media(max-width:760px){.lib-rec{grid-template-columns:1fr}}
.lib-rec .fig{position:relative;background:var(--lib-img);background-size:cover;background-position:center;border-radius:8px;min-height:340px;border:.5px solid var(--lib-line-2)}
.lib-rec .side .kick{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-rec .side h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;line-height:1.05;margin:8px 0 6px}
.lib-rec .side .byline{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-60);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lib-rec .side .acc{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-45);margin-top:10px}
.lib-use-box{margin-top:18px;border:.5px solid var(--lib-line-2);border-radius:8px;background:var(--lib-panel);padding:14px 16px}
.lib-use-box .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px}
.lib-use-box .d{font-size:12.5px;color:var(--lib-ink-70);margin-top:4px;line-height:1.5}
.lib-use-box .lk{display:inline-block;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--lib-gold);padding-bottom:2px}
.lib-rec-body{padding:8px 28px 0}
.lib-rec-body .lede{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;line-height:1.6;color:var(--lib-ink-85);max-width:46rem;margin:18px 0}
.lib-particulars{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:.5px solid var(--lib-line);margin-top:8px}
@media(min-width:760px){.lib-particulars{grid-template-columns:repeat(3,1fr)}}
.lib-particulars > div{padding:12px 0;border-bottom:.5px solid var(--lib-line);padding-right:16px}
.lib-particulars dt{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-particulars dd{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;color:var(--lib-ink);margin-top:4px;display:flex;align-items:center;gap:6px}
.lib-cite{padding:24px 28px}
.lib-cite h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;margin-bottom:4px}
.lib-cite .pref{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;color:var(--lib-ink-70);margin-bottom:14px;max-width:46rem}
.cite-block{border:.5px solid var(--lib-line-2);border-radius:8px;background:var(--lib-panel);margin-bottom:10px;overflow:hidden}
.cite-block .bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:.5px solid var(--lib-line)}
.cite-block .bar .l{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-50)}
.cite-block .bar .copy{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-gold);border:.5px solid rgba(193,154,62,.5);border-radius:5px;padding:3px 8px;background:none;cursor:pointer}
.cite-block pre{margin:0;padding:12px;font-family:'JetBrains Mono',monospace;font-size:11.5px;line-height:1.55;color:var(--lib-ink-85);white-space:pre-wrap;word-break:break-word}

/* Tombstone */
.lib-tomb{padding:5rem 28px;max-width:40rem}
.lib-tomb .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--sig-low)}
.lib-tomb h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:30px;margin:10px 0}
.lib-tomb p{color:var(--lib-ink-70);line-height:1.6}
.lib-tomb a{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--lib-gold);padding-bottom:2px;display:inline-block;margin-top:14px}

/* Collection page (P-10) — arrangement, contact sheet, actions */
.lib-prov{display:flex;flex-wrap:wrap;gap:8px 14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;color:var(--lib-ink-55);margin:0 0 14px}
.lib-prov .gift{color:var(--lib-gold)}
.lib-scope{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.6;color:var(--lib-ink-85);max-width:46rem}
.lib-aitag{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink-45);margin-top:10px}
.lib-arr-label{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-50);margin:0 0 10px}
.lib-arr{border-top:.5px solid var(--lib-line)}
.lib-arr a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:.5px solid var(--lib-line);transition:padding-left .15s}
.lib-arr a:hover{padding-left:6px}
.lib-arr .nm{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;color:var(--lib-ink)}
.lib-arr .rn{color:var(--lib-ink-45)}
.lib-arr .ct{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;color:var(--lib-ink-45);white-space:nowrap}
.lib-sheet{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}
@media(max-width:680px){.lib-sheet{grid-template-columns:repeat(4,1fr)}}
.lib-sheet a{aspect-ratio:1;border-radius:4px;background:var(--lib-img) center/cover;display:block;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--lib-ink) 8%,transparent)}
.lib-sheet-empty{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-45);padding:16px 0}
.lib-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:.5px solid var(--lib-line);padding:14px 0;margin-top:4px}
.lib-btn{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:9px 14px;border-radius:7px;border:.5px solid color-mix(in oklab,var(--lib-ink) 30%,transparent);color:var(--lib-ink);transition:border-color .15s,background .15s}
.lib-btn:hover{border-color:var(--lib-ink)}
.lib-btn.solid{background:var(--lib-ink);color:var(--lib-page);border-color:var(--lib-ink)}

/* Finding aid (P-13) — descriptive document */
.lib-fa-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lib-fa-sub{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:15px;color:var(--lib-ink-60);margin:2px 0 0}
.lib-fa-dl{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;border-top:.5px solid var(--lib-line);padding-top:14px;margin:0;max-width:46rem}
.lib-fa-dl dt{font-family:'JetBrains Mono',monospace;text-transform:uppercase;font-size:9px;letter-spacing:.14em;color:var(--lib-ink-50)}
.lib-fa-dl dd{font-size:12.5px;color:var(--lib-ink-85);margin:0}
.lib-fa-note{max-width:46rem}
.lib-fa-note h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;font-weight:600;color:var(--lib-ink);margin:16px 0 5px}
.lib-fa-note p{font-size:12.5px;line-height:1.6;color:var(--lib-ink-85);margin:0}
.lib-fa-note .ai{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-inv{border-top:.5px solid var(--lib-line-2);max-width:46rem}
.lib-inv .row{padding:8px 0;border-bottom:.5px solid var(--lib-line)}
.lib-inv .row:last-child{border-bottom:none}
.lib-inv .st{font-family:'Cormorant Garamond',Georgia,serif;font-size:14px;font-weight:600}
.lib-inv .ct{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;color:var(--lib-ink-45);float:right}
.lib-inv .fold{display:block;font-size:11px;color:var(--lib-ink-55);margin-top:2px}
/* ---- P-27 exhibitions (index · detail · press kit) ---- */
.lib-ph{display:block;background:var(--lib-img);position:relative;overflow:hidden;background-size:cover;background-position:center}
.lib-ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--lib-ink) 8%,transparent)}
/* index */
.lib-ex-top{padding:30px 30px 0;max-width:560px;margin:0 auto;text-align:center}
.lib-ex-top h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:34px;line-height:1.05;margin:0 0 12px}
.lib-ex-top .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;line-height:1.4;color:var(--lib-ink-60);margin:0}
.lib-ex-filter{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:22px 24px 4px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.lib-ex-filter a{color:var(--lib-ink-50);padding-bottom:3px}
.lib-ex-filter a:hover{color:var(--lib-ink)}
.lib-ex-filter a.on{color:var(--lib-ink);border-bottom:1px solid var(--lib-gold)}
.lib-ex-feature{margin:20px 30px 8px;border:.5px solid var(--lib-line-2);border-radius:11px;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr;background:var(--lib-panel)}
.lib-ex-feature .lib-ph{min-height:220px}
.lib-ex-feature .body{padding:24px;display:flex;flex-direction:column;justify-content:center}
.lib-ex-eyebrow{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--lib-gold);margin:0 0 12px}
.lib-ex-feature h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:27px;line-height:1.08;margin:0 0 6px;color:var(--lib-ink)}
.lib-ex-feature .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:16px;color:var(--lib-ink-60);margin:0 0 14px}
.lib-ex-feature .blurb{font-size:12.5px;line-height:1.55;color:var(--lib-ink-70);margin:0 0 16px}
.lib-ex-meta{display:flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-50)}
.lib-ex-meta .dot{width:3px;height:3px;border-radius:50%;background:color-mix(in oklab,var(--lib-ink) 30%,transparent)}
.lib-ex-meta .enter{margin-left:auto;color:var(--lib-ink);border-bottom:1px solid var(--lib-gold);padding-bottom:2px}
.lib-ex-grid{padding:18px 30px 28px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lib-ex-card .lib-ph{aspect-ratio:4/3;border-radius:8px}
.lib-ex-card .no{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-45);margin:11px 0 5px}
.lib-ex-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:18px;line-height:1.12;margin:0 0 3px;color:var(--lib-ink)}
.lib-ex-card .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:13px;color:var(--lib-ink-55);margin:0 0 7px}
.lib-ex-card .wk{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-45);margin:0}
.lib-ex-empty{padding:3.5rem 30px;text-align:center;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-45)}
@media(max-width:760px){.lib-ex-feature{grid-template-columns:1fr}.lib-ex-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.lib-ex-grid{grid-template-columns:1fr}}
/* detail */
.lib-ex-cover{height:230px}
.lib-ex-mast{padding:26px 30px 4px;max-width:600px;margin:0 auto;text-align:center}
.lib-ex-mast .no{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--lib-ink-45);margin:0 0 16px}
.lib-ex-mast h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:38px;line-height:1.04;margin:0 0 12px}
.lib-ex-mast .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:20px;line-height:1.3;color:var(--lib-ink-60);margin:0 0 18px}
.lib-ex-byline{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-55)}
.lib-ex-byline .dot{width:3px;height:3px;border-radius:50%;background:color-mix(in oklab,var(--lib-ink) 30%,transparent)}
.lib-ex-thesis{max-width:540px;margin:0 auto;padding:30px 30px 8px}
.lib-ex-thesis .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--lib-gold);margin:0 0 14px}
.lib-ex-thesis .prose{font-family:'Cormorant Garamond',Georgia,serif;font-size:18.5px;line-height:1.6;color:var(--lib-ink-85)}
.lib-ex-thesis .prose p{margin:0 0 1rem}
.lib-ex-thesis .prose p:last-child{margin:0}
.lib-ex-thesis .prose p:first-of-type::first-letter{float:left;font-size:3.4rem;line-height:.82;margin:.18rem .55rem 0 0;color:var(--lib-gold)}
.lib-ex-thesis.nodrop .prose p:first-of-type::first-letter{float:none;font-size:inherit;line-height:inherit;margin:0;color:inherit}
.lib-ex-fig{max-width:600px;margin:0 auto;padding:26px 30px}
.lib-ex-fig .lib-ph{height:300px;border-radius:8px}
.lib-ex-cap{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-top:12px}
.lib-ex-cap .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:16.5px;line-height:1.55;color:var(--lib-ink-85);margin:0;max-width:430px}
.lib-ex-cap .rec{text-align:right;white-space:nowrap}
.lib-ex-cap .acc{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-45);margin:0 0 4px}
.lib-ex-cap .view{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid color-mix(in oklab,var(--lib-gold) 60%,transparent);padding-bottom:1px;color:var(--lib-ink)}
.lib-ex-quote{max-width:480px;margin:0 auto;padding:14px 30px 30px}
.lib-ex-quote blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:25px;line-height:1.32;text-align:center;color:var(--lib-ink);margin:0;border:none}
.lib-ex-works{border-top:.5px solid var(--lib-line);padding:22px 30px;background:var(--lib-band)}
.lib-ex-works .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--lib-ink-50);margin:0 0 14px}
.lib-ex-works .row{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.lib-ex-works .lib-ph{aspect-ratio:1;border-radius:4px}
.lib-ex-fk{padding:24px 30px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.lib-ex-fk .box{border:.5px solid var(--lib-line-2);border-radius:9px;padding:16px 18px;background:var(--lib-panel)}
.lib-ex-fk .hd{display:flex;align-items:center;gap:8px;margin-bottom:9px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-55)}
.lib-ex-fk p{font-size:12px;line-height:1.5;color:var(--lib-ink-70);margin:0 0 10px}
.lib-ex-fk .url{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--lib-ink-50);margin:0;word-break:break-all}
.lib-ex-fk .open{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid color-mix(in oklab,var(--lib-gold) 60%,transparent);padding-bottom:1px;color:var(--lib-ink)}
.lib-ex-bridge{margin:0 30px 26px;border:.5px solid color-mix(in oklab,var(--lib-gold) 45%,transparent);border-radius:9px;padding:18px 20px;background:var(--lib-page);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lib-ex-bridge .col{flex:1;min-width:250px}
.lib-ex-bridge .t{font-family:'Cormorant Garamond',Georgia,serif;font-size:19px;line-height:1.25;margin:0 0 4px;color:var(--lib-ink)}
.lib-ex-bridge .s{font-size:12.5px;line-height:1.55;color:var(--lib-ink-70);margin:0}
.lib-ex-bridge .cta{border:.5px solid var(--lib-ink);border-radius:8px;padding:10px 16px;background:var(--lib-ink);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-page)}
@media(max-width:680px){.lib-ex-fk{grid-template-columns:1fr}.lib-ex-works .row{grid-template-columns:repeat(5,1fr)}}
/* press kit */
.lib-pk-head{padding:18px 24px 14px;border-bottom:.5px solid var(--lib-line)}
.lib-pk-head .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--lib-ink-45);margin:0 0 6px}
.lib-pk-head h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:23px;margin:0;color:var(--lib-ink)}
.lib-pk-grid{padding:20px 24px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lib-pk-grid .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-50);margin:0 0 9px}
.lib-pk-share{border:.5px solid var(--lib-line-2);border-radius:9px;overflow:hidden;background:var(--lib-panel)}
.lib-pk-share .lib-ph{height:120px}
.lib-pk-share .body{padding:12px 14px}
.lib-pk-share .ti{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:17px;line-height:1.1;margin:0 0 3px;color:var(--lib-ink)}
.lib-pk-share .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:12px;color:var(--lib-ink-60);margin:0 0 7px}
.lib-pk-share .br{font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-45);margin:0}
.lib-pk-chipset{display:flex;gap:7px;margin-top:10px}
.lib-pk-cap{border:.5px solid var(--lib-line);border-radius:8px;background:var(--lib-panel);padding:11px 13px;margin-bottom:8px}
.lib-pk-cap .pl{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-50)}
.lib-pk-cap p{font-size:11.5px;line-height:1.5;color:var(--lib-ink-85);margin:0}
.lib-pk-press{padding:4px 24px 18px}
.lib-pk-press .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-50);margin:0 0 9px}
.lib-pk-press .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lib-pk-press .thumb{position:relative}
.lib-pk-press .lib-ph{width:60px;height:60px;border-radius:5px}
.lib-pk-badge{position:absolute;bottom:3px;left:3px;font-family:'JetBrains Mono',monospace;font-size:7px;letter-spacing:.04em;text-transform:uppercase;padding:1px 4px;border-radius:3px}
.lib-pk-badge.open{background:var(--sig-certain);color:var(--lib-page)}
.lib-pk-badge.wmk{background:var(--sig-inferred);color:var(--lib-ink)}
.lib-pk-press .note{font-size:11px;line-height:1.45;color:var(--lib-ink-60);margin:0 0 0 6px;max-width:200px}
.lib-pk-chips{border-top:.5px solid var(--lib-line);padding:14px 24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--lib-band)}
.chip{display:inline-flex;align-items:center;gap:6px;border:.5px solid color-mix(in oklab,var(--lib-ink) 25%,transparent);border-radius:6px;padding:6px 10px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lib-ink-70)}
.lib-pk-chips .queue{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-gold)}
@media(max-width:680px){.lib-pk-grid{grid-template-columns:1fr}}
@media print{.shell,.s-bar,.lib-foot{display:none!important}.lib-shell{border:none;box-shadow:none;margin:0}}

/* Rights browse (P-09) — two buckets */
.lib-rhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.lib-rhead .explain{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink);border-bottom:1px solid color-mix(in oklab,var(--lib-gold) 60%,transparent);padding-bottom:1px}
.lib-rights{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:680px){.lib-rights{grid-template-columns:1fr}}
.lib-rcard{border:.5px solid color-mix(in oklab,var(--lib-ink) 20%,transparent);border-radius:9px;padding:20px;background:var(--lib-panel)}
.lib-rcard .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.lib-rcard .tag{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase}
.lib-rcard .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;line-height:1;margin:14px 0 4px}
.lib-rcard .blurb{font-size:12.5px;line-height:1.55;color:var(--lib-ink-60);margin:0 0 14px}
.lib-rcard .perms{border-top:.5px solid var(--lib-line);padding-top:12px;display:flex;flex-direction:column;gap:7px}
.lib-rcard .perm{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--lib-ink-70)}
.lib-rcard .perm .mk{width:13px;text-align:center;font-weight:600;flex:none}
.lib-rcard .perm .mk.yes{color:var(--sig-certain)}
.lib-rcard .perm .mk.no{color:var(--lib-ink-45)}
.lib-rcard .perm .mk.req{color:var(--lib-ink-50)}
.lib-rcard .perm .muted{color:var(--lib-ink-45)}
.lib-rcard .more{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:15px;display:inline-block;padding-bottom:1px;border-bottom:1px solid color-mix(in oklab,var(--lib-gold) 60%,transparent);color:var(--lib-ink)}

/* P-47 save + P-52/P-54 contribute actions, P-53 community layer, P-54 open questions (record page) */
.lib-actions{display:flex;flex-wrap:wrap;gap:10px;padding:18px 28px 4px}
.lib-act{display:inline-block;border:.5px solid var(--lib-ink);background:var(--lib-ink);color:var(--lib-page);padding:9px 16px;border-radius:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:opacity .15s}
.lib-act:hover{opacity:.85}
.lib-act.on{background:transparent;color:var(--lib-ink)}
.lib-act.ghost{background:transparent;color:var(--lib-ink-70);border-color:var(--lib-line-2)}
.lib-oq,.lib-community{padding:22px 28px;border-top:.5px solid var(--lib-line)}
.lib-oq h2,.lib-community h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:20px;color:var(--lib-ink)}
.lib-oq .sub,.lib-community .sub{font-size:13px;color:var(--lib-ink-55);margin:4px 0 12px}
.lib-oq .sub a,.lib-community .sub a{color:var(--lib-gold);border-bottom:.5px solid var(--lib-line-2)}
.lib-oq ul,.lib-community ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.lib-oq li{display:flex;gap:10px;align-items:baseline;font-size:15px;color:var(--lib-ink-85);font-family:'Cormorant Garamond',Georgia,serif}
.lib-oq .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-gold);border:.5px solid var(--lib-line-2);border-radius:999px;padding:3px 8px;white-space:nowrap}
.lib-community li{border:.5px solid var(--lib-line);border-radius:10px;padding:14px 16px;background:var(--lib-panel)}
.lib-community .note{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.55;color:var(--lib-ink-85)}
.lib-community .by{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.08em;color:var(--lib-ink-50);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lib-community .by a{color:var(--lib-ink-70)}
.lib-community .by .role{color:var(--lib-gold);text-transform:uppercase;letter-spacing:.14em}
.lib-community .flagged{font-size:12px;color:var(--lib-gold);margin-bottom:10px}
.flagform{display:inline-flex;gap:4px;margin-left:auto;align-items:center}
.flagform select{font-family:'JetBrains Mono',monospace;font-size:9px;border:.5px solid var(--lib-line-2);border-radius:6px;padding:2px 4px;background:transparent;color:var(--lib-ink-55)}
.flagform button{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink-50);background:none;border:none;cursor:pointer}
.flagform button:hover{color:var(--lib-gold)}

/* ───────── Record page: download prominence + section contrast ───────── */
.lib-use-box.is-open{border-color:color-mix(in oklab,var(--lib-gold) 45%,transparent);background:color-mix(in oklab,var(--lib-gold) 7%,var(--lib-panel))}
.lib-use-box.is-open .t{color:var(--lib-gold)}
.lib-use-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}
.lib-use-actions form{display:inline;margin:0}
.lib-act.primary{background:var(--lib-gold);border-color:var(--lib-gold);color:var(--lib-page);font-size:11px;padding:11px 18px}
.lib-use-box.is-restricted .lib-act.primary{background:var(--lib-ink);border-color:var(--lib-ink)}
.lib-act.primary:hover{opacity:.9}

.lib-why{margin:18px 0 4px;border-left:2px solid var(--lib-gold);padding:8px 0 8px 14px}
.lib-why .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-gold);display:block;margin-bottom:6px}
.lib-why p{font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.6;color:var(--lib-ink-70)}

/* clearer separation between the stacked sections under the image */
.lib-rec-body{border-top:1px solid var(--lib-line-2);margin-top:14px}
.lib-oq{background:var(--lib-band)}
.lib-community{background:var(--lib-band);border-top:1px solid var(--lib-line-2)}
.lib-cite{border-top:1px solid var(--lib-line-2);background:var(--lib-page)}
.lib-oq h2::before,.lib-community h2::before,.lib-cite h2::before{content:"";display:block;width:34px;height:2px;background:var(--lib-gold);opacity:.7;margin-bottom:10px}

/* community comment box */
.lib-comment{margin:6px 0 18px;border:1px solid var(--lib-line-2);border-radius:10px;background:var(--lib-page);padding:16px}
.lib-comment h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;margin:0 0 10px}
.lib-comment textarea{width:100%;font-family:inherit;font-size:15px;line-height:1.5;padding:11px;border:1px solid var(--lib-line-2);border-radius:6px;background:var(--lib-panel);color:var(--lib-ink);resize:vertical}
.lib-comment textarea:focus{outline:none;border-color:var(--lib-gold)}
.lib-comment .row{margin-top:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.lib-comment .row .sub{margin:0}

/* ════════════════ Ambitious library browse ════════════════ */
/* top bar: search + view toggle */
.lib-bar{display:flex;align-items:center;gap:14px;padding:16px 24px 6px}
.lib-bar .q{flex:1;display:flex;align-items:center;gap:9px;background:var(--lib-panel);border:1px solid var(--lib-line-2);border-radius:40px;padding:9px 16px}
.lib-bar .q svg{color:var(--lib-gold);flex:0 0 auto}
.lib-bar .q input{flex:1;background:transparent;border:none;outline:none;font-size:14px;color:var(--lib-ink);font-family:'Inter',sans-serif}
.lib-bar .q input::placeholder{color:var(--lib-ink-45)}
.viewtoggle{display:inline-flex;border:1px solid var(--lib-line-2);border-radius:999px;overflow:hidden;flex:0 0 auto}
.viewtoggle button{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:7px 14px;color:var(--lib-ink-60);background:transparent;border:none;cursor:pointer}
.viewtoggle button.on{background:var(--lib-ink);color:var(--lib-page)}

/* era histogram scrubber */
.era-scrub{margin:14px 24px 4px;padding:10px 14px 6px;border:1px solid var(--lib-line);border-radius:10px;background:var(--lib-panel)}
.era-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.era-head .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-gold)}
.era-head .hint{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--lib-ink-45)}
.era-bars{position:relative;display:flex;align-items:flex-end;gap:2px;height:54px;cursor:ew-resize;user-select:none;touch-action:none}
.era-bar{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;border-radius:2px 2px 0 0}
.era-bar span{display:block;width:100%;background:var(--lib-ink-45);border-radius:2px 2px 0 0;transition:background .12s,height .2s}
.era-bar:hover span{background:var(--lib-ink-70)}
.era-bar.insel span{background:var(--lib-gold)}
.era-axis{position:relative;height:14px;margin-top:4px}
.era-axis .tk{position:absolute;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.06em;color:var(--lib-ink-45)}

/* finding-aid rail */
.lib-browse{display:grid;grid-template-columns:204px 1fr;gap:36px;padding:8px 24px 6px;align-items:start}
.lib-rail .rail-top{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-45);padding-bottom:10px;border-bottom:1px solid var(--lib-line-2)}
.rgrp{padding:13px 0;border-top:1px solid var(--lib-line)}
.rgrp h4{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lib-ink-45);margin-bottom:9px}
.rgrp ul{list-style:none}
.rgrp li{display:flex;align-items:baseline;gap:9px;padding:3px 0;line-height:1.25}
.rgrp li[hidden]{display:none}
.rgrp li .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:15.5px;color:var(--lib-ink-70);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rgrp li a.v:hover{color:var(--lib-ink)}
.rgrp li .n{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--lib-ink-40);flex:0 0 auto}
.rgrp li.on .v{color:var(--lib-ink);border-bottom:1.5px solid var(--lib-gold);padding-bottom:1px;flex:0 1 auto}
.rgrp li .rx{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--lib-ink-40);flex:0 0 auto;margin-left:auto;text-decoration:none}
.rgrp li .rx:hover{color:var(--lib-gold)}
.rgrp .rmore{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-gold);background:none;border:none;cursor:pointer;padding:6px 0 0}
.rail-clear{display:inline-block;margin-top:16px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-gold);text-decoration:underline}
.era-head .era-clear{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--lib-gold);text-decoration:underline}
.lib-results .lib-main .era-scrub{margin-left:0;margin-right:0}
.lib-results .lib-main .lib-digest{margin-left:0;margin-right:0}
.lib-results .lib-main .results{padding-left:0;padding-right:0}
.lib-results .lib-main .lib-legend{padding-left:0;padding-right:0}
.lib-results .lib-main .ed-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.lib-browse{grid-template-columns:1fr;gap:16px}}
@media(max-width:600px){.lib-results .lib-main .ed-grid{grid-template-columns:repeat(2,1fr)}}

/* digest on the results page — slim inline */
.lib-results .lib-digest{margin:12px 24px 6px;border-left:2px solid var(--lib-gold);background:var(--lib-panel);padding:11px 16px;border-radius:0 8px 8px 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;line-height:1.5;color:var(--lib-ink-85)}
.lib-results .lib-digest .lbl{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-gold);margin-right:8px}

/* editorial grid */
.results{padding:14px 24px 6px}
[data-pane][hidden]{display:none!important}
.ed-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-flow:dense;gap:14px}
@media(max-width:900px){.ed-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ed-grid{grid-template-columns:repeat(2,1fr)}}
.ed-cell{position:relative;aspect-ratio:1;overflow:hidden;border-radius:9px;border:1px solid var(--lib-line-2);background:var(--lib-img);display:block}
.ed-cell.feat{grid-column:span 2;grid-row:span 2}
@media(max-width:600px){.ed-cell.feat{grid-column:span 2;grid-row:span 1;aspect-ratio:2}}
.ed-cell .img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.ed-cell:hover .img{transform:scale(1.045)}
.ed-cell .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(to top,color-mix(in oklab,var(--lib-ink) 82%,transparent),transparent);color:var(--lib-page);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.ed-cell:hover .cap,.ed-cell.feat .cap{opacity:1;transform:none}
.ed-cell .cap .t{display:block;font-size:16px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ed-cell.feat .cap .t{font-size:22px;white-space:normal}
.ed-cell .cap .m{display:block;margin-top:3px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}
.ed-cell .hair{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lib-line-2)}
.ed-cell .hair.certain{background:var(--sig-certain)}
.ed-cell .hair.inferred{background:var(--sig-inferred)}
.ed-cell .hair.low{background:var(--sig-low)}

/* map pane on results */
.ed-map #lib-map-canvas{height:62vh;min-height:420px;width:100%;border:1px solid var(--lib-line-2);border-radius:10px;background:#e7e2d6}
.ed-map .map-empty{padding:1rem 1.1rem;border:1px dashed var(--lib-line-2);border-radius:10px;color:var(--lib-ink-70);font-size:14px}
.leaflet-popup-content a{color:var(--lib-gold)}

/* landing live mini-map */
#lib-mini-map{position:absolute;inset:0;border-radius:8px;overflow:hidden;pointer-events:none;z-index:0}
.lib-map{overflow:hidden}
.lib-map .cap{z-index:1;background:color-mix(in oklab,var(--lib-page) 86%,transparent);padding:3px 9px;border-radius:999px;font-weight:500}
.lib-map:hover .cap{color:var(--lib-gold)}

/* P-22 visually-related strip (record foot) */
.lib-similar{padding:22px 28px;border-top:1px solid var(--lib-line-2);background:var(--lib-page)}
.lib-similar h2{font-size:1.25rem;color:var(--lib-ink)}
.lib-similar .sub{margin:4px 0 16px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--lib-ink-45)}
.sim-row{display:grid;grid-auto-flow:column;grid-auto-columns:134px;gap:14px;overflow-x:auto;padding-bottom:10px}
.sim-cell{display:block}
.sim-img{display:block;aspect-ratio:1;background:var(--lib-img);background-size:cover;background-position:center;border:1px solid var(--lib-line-2);border-radius:8px;transition:border-color .15s}
.sim-cell:hover .sim-img{border-color:var(--lib-ink-45)}
.sim-t{display:block;margin-top:8px;font-family:'Cormorant Garamond',Georgia,serif;font-size:15px;line-height:1.15;color:var(--lib-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim-m{display:block;margin-top:2px;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink-50)}


/* ── Library provenance mark ──────────────────────────────────────────────
   The Archive & Atlas mark, lower-right, on library imagery only. This rule
   lives in library.css, which is loaded on library surfaces only — so it can
   never reach the store, even on the lightbox (shared with product.php).
   White mark + soft drop-shadow so the edge holds on light photos too.
   Uses ::before to steer clear of the .lib-ph::after inset hairline. */
.lib-rec .fig,
.ed-cell,
.lib-grid .cell .fr,
.lib-hero .frame,
.lib-ph,
.sim-img{position:relative}

.lib-rec .fig::before,
.ed-cell::before,
.lib-grid .cell .fr::before,
.lib-hero .frame::before,
.lib-ph::before,
.sim-img::before{
  content:"";
  position:absolute;
  right:3.6%;
  bottom:3.6%;
  width:18%;
  min-width:30px;
  max-width:92px;
  aspect-ratio:1.031;            /* matches the trimmed mark (400x388) */
  background:url("/assets/library-mark.png") right bottom/contain no-repeat;
  opacity:.58;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
  pointer-events:none;
  z-index:2;
}

/* Fullscreen view: a quiet bug in the viewport corner. Scoped to library by
   virtue of this stylesheet; store lightboxes never load it. */
.lightbox.open::after{
  content:"";
  position:fixed;
  right:18px;
  bottom:14px;
  width:118px;
  height:114px;
  background:url("/assets/library-mark.png") right bottom/contain no-repeat;
  opacity:.5;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));
  pointer-events:none;
  z-index:1002;                  /* above lightbox img (1000) + close (1001) */
}


/* ══ The Viewing Room (P-21 host) ═══════════════════════════════════════════
   Option A: the library stays on its paper; only the image sits in a dark well,
   whose colour is derived from the library's own ink so it reads as the same
   identity turned down low. The single warm accent (rebate amber) is confined
   to this block and never touches the rest of the library. */
.vr-well{
  --vr-well: oklch(0.175 0.018 232);
  --vr-well-2: oklch(0.205 0.020 232);
  --vr-silver: oklch(0.88 0.010 95);
  --vr-ash: oklch(0.66 0.010 95);
  --vr-faint: oklch(0.50 0.012 232);
  --vr-rebate: oklch(0.70 0.115 58);
  --vr-line: color-mix(in oklab, var(--vr-silver) 14%, transparent);
  position:relative;margin:6px 28px 0;border-radius:10px;overflow:hidden;
  background:
    radial-gradient(120% 80% at 50% -6%, color-mix(in oklab,var(--vr-silver) 9%,transparent), transparent 58%),
    linear-gradient(180deg, var(--vr-well-2), var(--vr-well));
  border:1px solid color-mix(in oklab,var(--lib-ink) 30%,transparent);
  padding:46px 58px 22px;
}
@media(max-width:1090px){.vr-well{margin-left:1.25rem;margin-right:1.25rem}}
@media(max-width:720px){.vr-well{padding:30px 30px 18px}}
.vr-reg{position:absolute;width:15px;height:15px;border:1px solid var(--vr-line);opacity:.7}
.vr-reg.tl{top:14px;left:14px;border-right:0;border-bottom:0}
.vr-reg.tr{top:14px;right:14px;border-left:0;border-bottom:0}
.vr-reg.bl{bottom:14px;left:14px;border-right:0;border-top:0}
.vr-reg.br{bottom:14px;right:14px;border-left:0;border-top:0}
.vr-rebate{position:absolute;left:16px;top:46px;bottom:60px;display:flex;flex-direction:column;align-items:center;gap:10px;
  writing-mode:vertical-rl;text-orientation:mixed;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--vr-rebate);opacity:.9}
.vr-rebate .spr{writing-mode:horizontal-tb;width:7px;height:5px;border-radius:1px;background:color-mix(in oklab,var(--vr-rebate) 55%,transparent);opacity:.6}
.vr-rebate .dep{color:var(--sig-certain)}
@media(max-width:720px){.vr-rebate{display:none}}
.vr-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:240px}
.vr-flat{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;cursor:zoom-in;
  box-shadow:0 36px 80px -34px rgba(0,0,0,.85),0 0 0 1px rgba(0,0,0,.5);background:#0b0c0d}
.vr-canvas{position:absolute;inset:0;margin:auto;max-width:100%;max-height:72vh;display:block;touch-action:none}
.vr-well.scene-on .vr-flat{visibility:hidden}
.vr-well.scene-on .vr-canvas{box-shadow:0 36px 80px -34px rgba(0,0,0,.85)}
.vr-note{position:absolute;left:10px;bottom:8px;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--vr-silver);background:rgba(0,0,0,.5);padding:4px 7px;border-radius:3px;opacity:0;transition:opacity .3s;pointer-events:none}
.vr-well.scene-on .vr-note{opacity:.85}
.vr-empty{padding:60px 0;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vr-faint)}
.vr-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px;padding-left:2px}
.vr-btn{display:inline-flex;align-items:center;gap:9px;font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--vr-ash);background:transparent;border:1px solid var(--vr-line);border-radius:4px;padding:9px 13px;cursor:pointer;transition:.18s}
.vr-btn:hover{color:var(--vr-silver);border-color:color-mix(in oklab,var(--vr-silver) 32%,transparent)}
.vr-scene.on{color:oklch(0.20 0.03 60);background:var(--vr-rebate);border-color:var(--vr-rebate)}
.vr-scene .sw{width:22px;height:12px;border-radius:7px;border:1px solid currentColor;position:relative;opacity:.85}
.vr-scene .sw::after{content:"";position:absolute;top:1px;left:1px;width:8px;height:8px;border-radius:50%;background:currentColor;transition:left .18s}
.vr-scene.on .sw::after{left:11px}
.vr-meta{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--vr-faint);max-width:340px;line-height:1.5}

/* identity now spans full width (image moved into the well) */
.lib-rec.single{grid-template-columns:1fr}

/* confidence legend under the particulars */
.lib-conflegend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-conflegend span{display:flex;align-items:center}
.lib-conflegend .dot{margin-right:7px}

/* P-18 placeholder — on the library paper, deliberately quiet/disabled */
.vr-docent{display:flex;gap:13px;align-items:center;margin-top:18px;padding:13px 15px;border:1px dashed var(--lib-line-2);border-radius:9px;opacity:.62}
.vr-docent .vr-av{width:38px;height:38px;border-radius:50%;flex:0 0 auto;background:
  radial-gradient(circle at 40% 36%,color-mix(in oklab,var(--lib-ink) 22%,transparent),color-mix(in oklab,var(--lib-ink) 8%,transparent));
  border:1px solid var(--lib-line-2)}
.vr-docent .vr-dx .n{font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;color:var(--lib-ink)}
.vr-docent .vr-dx .r{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--lib-ink-45);margin-top:2px}

@media(prefers-reduced-motion:reduce){.vr-canvas{transition:none}}


/* ============ P-27b exhibit detail - museum rebuild + lib-card fix (v114) ============ */
/* Collections cards (landing): they render for the first time post-v113; the inline
   spans had no block display, collapsing the thumb and dropping the body padding. */
.lib-card{display:block}
.lib-card .thumb{display:block}
.lib-card .body{display:block}

/* The exhibition walk lives inside the .lib-shell card; bands span the card, clip to it. */
.lib-exhibit .lib-crumbs{position:relative;z-index:3}

/* HERO - cover image with a legibility scrim; .solid is the no-cover fallback. */
.lib-exhero{position:relative;min-height:clamp(380px,56vh,560px);display:flex;align-items:flex-end;color:#F4F1E8;background-color:oklch(0.30 0.03 200);background-size:cover;background-position:center;background-repeat:no-repeat;margin-top:-2px}
.lib-exhero.solid{background-image:linear-gradient(152deg,oklch(0.33 0.045 198),oklch(0.20 0.02 232))}
.lib-exhero .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,13,12,.84),rgba(11,13,12,.16) 54%,rgba(11,13,12,.42))}
.lib-exhero .inner{position:relative;z-index:2;width:100%;padding:40px 40px 34px}
.lib-exhero .kick{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#dde9e0;opacity:.95;margin:0 0 16px}
.lib-exhero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,6vw,74px);line-height:.98;letter-spacing:-.01em;margin:0}
.lib-exhero .dek{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(18px,2.2vw,26px);line-height:1.25;color:rgba(244,241,232,.92);margin:12px 0 0;max-width:42ch}
.lib-exhero .meta{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:26px;padding-top:18px;border-top:1px solid rgba(244,241,232,.24)}
.lib-exhero .meta .m{display:flex;flex-direction:column;gap:4px}
.lib-exhero .meta .k{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(244,241,232,.6)}
.lib-exhero .meta .v{font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;line-height:1.1}

/* WALL TEXT - entrance placard */
.lib-wall{max-width:648px;margin:0 auto;padding:72px 30px 46px;text-align:center}
.lib-wall .k{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--lib-gold);margin:0 0 22px}
.lib-wall .prose{text-align:left;font-family:'Cormorant Garamond',Georgia,serif;font-size:20px;line-height:1.62;color:var(--lib-ink-85)}
.lib-wall .prose p{margin:0 0 18px}
.lib-wall .prose p:last-child{margin:0}
.lib-wall .prose p:first-of-type::first-letter{float:left;font-size:3.7rem;line-height:.78;margin:.22rem .6rem 0 0;color:var(--lib-gold);font-weight:600}
.lib-wall .sign{text-align:left;margin:26px 0 0;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--lib-ink-45)}

/* ROOM divider */
.lib-room{padding:30px 40px 2px}
.lib-room .bar{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;border-top:1px solid var(--lib-line-2);padding-top:16px}
.lib-room .no{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--lib-gold)}
.lib-room .ttl{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:27px;line-height:1.1;color:var(--lib-ink)}
.lib-room .of{margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-room .intro{max-width:60ch;margin:14px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;line-height:1.6;color:var(--lib-ink-70)}
.lib-room .intro + .intro{margin-top:10px}

/* PLATES - full lead, two-up, asymmetric aside */
.lib-plate{padding:26px 40px}
.lib-plate.full{padding:26px 0}
.lib-plate.full .lib-ph{height:clamp(320px,52vh,520px);border-radius:0}
.lib-plate.full .lib-mlabel{padding:0 40px}
.lib-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:26px 40px}
.lib-pair .cell{min-width:0}
.lib-pair .lib-ph{height:340px;border-radius:8px}
.lib-aside{display:grid;grid-template-columns:1.62fr 1fr;gap:34px;align-items:start;padding:30px 40px}
.lib-aside .lib-ph{height:clamp(300px,46vh,460px);border-radius:8px}
.lib-aside .side{position:sticky;top:24px}

/* DARK GALLERY WALL - one luminous plate, spotlit */
.lib-wall-dark{background:oklch(0.165 0.012 232);color:#eef1ec;padding:62px 40px;margin:6px 0}
.lib-wall-dark .lib-ph{height:clamp(320px,52vh,520px);border-radius:6px;box-shadow:0 40px 110px -44px rgba(0,0,0,.82)}
.lib-wall-dark .lib-mlabel{margin-top:20px}
.lib-wall-dark .lib-mlabel .t{color:#eef1ec}
.lib-wall-dark .lib-mlabel .no{color:#9fc4ad}
.lib-wall-dark .lib-mlabel .meta{color:rgba(238,241,236,.5)}
.lib-wall-dark .lib-mlabel .cap{color:rgba(238,241,236,.74)}
.lib-wall-dark .lib-mchip{border-color:rgba(238,241,236,.24);color:rgba(238,241,236,.62)}
.lib-wall-dark .lib-mchip.view{border-color:rgba(159,196,173,.5);color:#9fc4ad}

/* MUSEUM WALL LABEL */
.lib-mlabel{display:grid;grid-template-columns:auto 1fr;gap:2px 16px;margin-top:14px;align-items:start}
.lib-mlabel .no{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.12em;color:var(--lib-gold);padding-top:3px;white-space:nowrap}
.lib-mlabel .t{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:20px;line-height:1.12;color:var(--lib-ink)}
.lib-mlabel .meta{grid-column:2;font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-45);margin-top:4px}
.lib-mlabel .cap{grid-column:2;max-width:60ch;margin-top:9px;font-size:13.5px;line-height:1.62;color:var(--lib-ink-70)}
.lib-mlabel .chips{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.lib-mchip{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:30px;border:.5px solid var(--lib-line-2);color:var(--lib-ink-50)}
.lib-mchip.view{border-color:color-mix(in oklab,var(--lib-gold) 45%,transparent);color:var(--lib-gold)}
.lib-mchip.print{border-color:transparent;background:var(--lib-gold);color:var(--lib-page)}

/* CHECKLIST - the contact sheet at the exit */
.lib-checklist{padding:62px 40px 22px;border-top:1px solid var(--lib-line-2);margin-top:30px}
.lib-checklist .head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:24px}
.lib-checklist .head .t{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:26px;color:var(--lib-ink)}
.lib-csheet{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 16px}
.lib-csheet .cell{display:block;transition:transform .3s ease}
.lib-csheet .cell:hover{transform:translateY(-3px)}
.lib-csheet .cell .lib-ph{aspect-ratio:1;border-radius:6px}
.lib-csheet .cell .cl{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--lib-ink-45)}
.lib-csheet .cell .nm{font-family:'Cormorant Garamond',Georgia,serif;font-size:13.5px;line-height:1.2;color:var(--lib-ink);margin-top:3px}

/* gentle reveal-on-scroll, gated on .js so no-JS shows everything */
.js .lib-reveal{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.js .lib-reveal.in{opacity:1;transform:none}

@media(max-width:760px){
  .lib-exhero .inner{padding:28px 22px 24px}
  .lib-room,.lib-plate,.lib-pair,.lib-aside,.lib-wall-dark,.lib-checklist{padding-left:22px;padding-right:22px}
  .lib-plate.full{padding-left:0;padding-right:0}
  .lib-plate.full .lib-mlabel{padding:0 22px}
  .lib-pair{grid-template-columns:1fr}
  .lib-aside{grid-template-columns:1fr;gap:18px}
  .lib-aside .side{position:static}
  .lib-csheet{grid-template-columns:repeat(2,1fr)}
}
/* ============ end P-27b museum rebuild ============ */
/* ===== P-27c wall-text refine (v115): two-column catalog essay for longer theses ===== */
.lib-wall{max-width:880px;padding:64px 44px 48px}
.lib-wall .prose{columns:2;column-gap:42px;column-rule:1px solid var(--lib-line);font-size:17.5px;line-height:1.66;text-align:left;hyphens:auto;-webkit-hyphens:auto}
.lib-wall .prose p{margin:0 0 14px}
.lib-wall .prose p:first-of-type::first-letter{float:left;font-size:3.5rem;line-height:.8;margin:.2rem .5rem 0 0;color:var(--lib-gold);font-weight:600}
.lib-wall .prose p:first-of-type::first-line{font-variant-caps:small-caps;letter-spacing:.012em;color:var(--lib-ink)}
.lib-wall .sign{text-align:center}
@media(max-width:720px){.lib-wall{max-width:none;padding:48px 22px 36px}.lib-wall .prose{columns:1;column-rule:none}}
/* ===== end P-27c ===== */
/* ===== P-01b collections card: centered text ===== */
.lib-card .body{text-align:center}
/* ===== end P-01b ===== */

/* ===== P-27d wall length-gate (v117): long theses read steadier single-column ===== */
.lib-wall.long{max-width:680px}
.lib-wall.long .prose{columns:1;column-rule:none}
.lib-wall.long .prose p{margin:0 0 18px}
/* ===== end P-27d ===== */

/* ===== P-27e wall columns restore (v118): two-column catalog wall, authoritative ===== */
.lib-wall{max-width:880px;padding:64px 44px 48px}
.lib-wall .prose{columns:2;column-gap:42px;column-rule:1px solid var(--lib-line);font-size:17.5px;line-height:1.66;text-align:left;hyphens:auto;-webkit-hyphens:auto}
.lib-wall .prose p{margin:0 0 14px}
.lib-wall .prose p:first-of-type::first-letter{float:left;font-size:3.5rem;line-height:.8;margin:.2rem .5rem 0 0;color:var(--lib-gold);font-weight:600}
.lib-wall.long .prose{columns:2;column-rule:1px solid var(--lib-line)}
.lib-wall .sign{text-align:center}
@media(max-width:720px){.lib-wall{max-width:none;padding:48px 22px 36px}.lib-wall .prose,.lib-wall.long .prose{columns:1;column-rule:none}}
/* ===== end P-27e ===== */

/* ===== P-27f wall widen + no hyphens (v119): kill partial-word breaks, wider columns ===== */
.lib-wall{max-width:1040px;padding:64px 56px 48px}
.lib-wall .prose{column-gap:56px;hyphens:none;-webkit-hyphens:none}
.lib-wall.long .prose{hyphens:none;-webkit-hyphens:none}
@media(max-width:720px){.lib-wall{max-width:none;padding:48px 22px 36px}}
/* ===== end P-27f ===== */

/* ===== P-27h exhibit wall: text fills the box (box width unchanged) ===== */
.lib-shell.lib-exhibit{max-width:1040px}
.lib-wall{max-width:none;margin:0;padding:64px 40px 48px}
.lib-wall .prose{column-gap:48px;hyphens:none;-webkit-hyphens:none}
.lib-wall.long .prose{columns:2}
@media(max-width:720px){.lib-wall{padding:48px 22px 36px}.lib-wall .prose{columns:1}}
/* ===== end P-27h ===== */

/* ===== P-27i exhibit prose fills the box (v122) ===== */
.lib-shell.lib-exhibit .lib-wall{max-width:none;margin:0}
.lib-shell.lib-exhibit .lib-wall .prose{max-width:none;width:auto;margin:0;column-count:2;column-width:auto;column-gap:48px;hyphens:none;-webkit-hyphens:none}
@media(max-width:720px){.lib-shell.lib-exhibit .lib-wall .prose{column-count:1}}
/* ===== end P-27i ===== */


/* ===== v208: collections hub cards (sub-nav CSS lives in sitehead.css since v209) ===== */
.lib-cards.hub{gap:16px}
.lib-cards.hub .lib-card{transition:border-color .15s,transform .15s}
.lib-cards.hub .lib-card:hover{border-color:color-mix(in oklab,var(--lib-gold) 55%,transparent);transform:translateY(-2px)}
.lib-cards.hub .lib-card .thumb{height:132px;position:relative}
.lib-cards.hub .lib-card .body{padding:14px}
.lib-cards.hub .lib-card .body .d{display:block;font-size:12.5px;line-height:1.5;color:var(--lib-ink-70);margin-top:7px}
/* ===== end v208 ===== */
