/* Publications: a manual book exhibition and a readable research index. */
@import url('./research-analysis.css');
.publications-main { --gallery-ink:#231e1a; --gallery-paper:#f0e8db; --gallery-muted:#d4c3ab; }
.publications-main ::selection { background:#b19157; color:#fff; }
.publications-main [hidden] { display:none!important; }
.publications-main .publication-books { padding-bottom:0; }
.publications-main .book-stage { margin:0; }
.publications-main .book-open svg,.book-gallery-tools svg,.publication-dialog svg,.article-toggle { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.4; }
.book-gallery-tools { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:25px; color:var(--gallery-paper); }
.book-gallery-tools p { font:15px/1.5 var(--sans); font-variant-numeric:tabular-nums; }
.book-gallery-tools>div { display:flex; gap:10px; }
.book-gallery-tools button { width:48px; height:48px; display:grid; place-items:center; background:transparent; color:var(--gallery-paper); border:1px solid #a08a6d; cursor:pointer; transition:background .18s,color .18s; }
.book-gallery-tools [data-book-prev] svg { transform:rotate(180deg); }
.book-gallery-tools button:hover { background:var(--gallery-paper); color:var(--gallery-ink); }
.book-gallery-tools button:disabled { color:#a08a6d; border-color:#75634d; cursor:default; background:transparent; }
.book-gallery-tools button:focus-visible { outline:2px solid #e7c786; outline-offset:4px; }
.book-gallery.is-enhanced { background:var(--gallery-ink); }
.book-gallery.is-enhanced .book-exhibition { display:flex; width:100%; max-width:none; margin:0; padding:0 max(24px,calc((100vw - 1240px)/2)); overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scroll-padding-inline:max(24px,calc((100vw - 1240px)/2)); scrollbar-width:thin; scrollbar-color:#b19157 #332b24; }
.book-gallery.is-enhanced .book-exhibit { display:flex; flex-direction:column; position:relative; flex:0 0 clamp(290px,27vw,390px); align-self:stretch; gap:0; padding:36px 30px 30px; border:0; border-right:1px solid #594a3b; scroll-snap-align:start; color:var(--gallery-paper); background:transparent; transition:background .3s; }
.book-gallery.is-enhanced .book-exhibit:first-child { border-left:1px solid #594a3b; }
.book-gallery.is-enhanced .book-stage { height:305px; display:flex; align-items:center; justify-content:center; margin-bottom:30px; }
.book-gallery.is-enhanced .book-cover { width:auto; height:auto; max-width:206px; max-height:285px; object-fit:contain; filter:brightness(.72) saturate(.6); transform:scale(.97); box-shadow:8px 16px 25px rgba(0,0,0,.28); transition:filter .4s,transform .55s cubic-bezier(.16,1,.3,1); }
.book-gallery.is-enhanced .book-copy { display:flex; flex:1; flex-direction:column; }
.book-gallery.is-enhanced .publication-meta { color:var(--gallery-muted); font-size:12px; line-height:1.7; letter-spacing:.25px; min-height:40px; }
.book-gallery.is-enhanced .publication-book h3 { color:var(--gallery-paper); font:400 clamp(25px,2vw,29px)/1.18 var(--serif); letter-spacing:-.45px; margin-block:9px 18px; text-wrap:balance; }
.book-gallery.is-enhanced .publication-byline { color:var(--gallery-muted); font:14px/1.65 var(--sans); margin-block:auto 0; padding-top:3px; }
.book-gallery.is-enhanced .book-record { display:none; }
.book-gallery.is-enhanced .book-open { display:flex; align-items:center; justify-content:space-between; gap:16px; background:none; color:var(--gallery-paper); border:0; border-top:1px solid #79654e; padding:18px 0 0; margin-top:26px; width:100%; text-align:left; font:500 14px/1.5 var(--sans); cursor:pointer; }
.book-gallery.is-enhanced .book-open::after { content:''; position:absolute; inset:0; }
.book-gallery.is-enhanced .book-exhibit.is-current { background:#342b24; }
.book-gallery.is-enhanced .book-exhibit.is-current .book-cover { filter:brightness(1) saturate(1); transform:scale(1); }
.book-gallery.is-enhanced .book-exhibit:focus-within { background:#403429; }
.book-gallery.is-enhanced .book-exhibit:focus-within .book-cover { filter:none; transform:scale(1.025); }
.book-gallery.is-enhanced .book-open:focus-visible { outline:none; }
.book-gallery.is-enhanced .book-open:focus-visible::after { outline:2px solid #e7c786; outline-offset:-5px; }
@media(hover:hover) {
 .book-gallery.is-enhanced .book-exhibit:hover { background:#403429; }
 .book-gallery.is-enhanced .book-exhibit:hover .book-cover { filter:none; transform:scale(1.025); }
 .book-gallery.is-enhanced .book-exhibition:has(.book-exhibit:hover) .book-exhibit:not(:hover) .book-cover { filter:brightness(.6) saturate(.55); transform:scale(.97); }
}
/* The full record reuses the source content in the shared native-dialog system. */
.publication-dialog { width:min(960px,calc(100% - 40px)); max-height:90dvh; padding:30px 36px 40px; margin:auto; border:0; background:#f7f3ec; color:var(--brown); overflow:auto; }
.publication-dialog-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:24px; }
.publication-dialog-tools p { font:14px/1.5 var(--sans); color:var(--muted); font-variant-numeric:tabular-nums; }
.publication-dialog-tools button { flex:none; width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--stone); color:var(--brown); background:transparent; cursor:pointer; }
.publication-dialog-tools button:hover { background:#e9dfce; }
.publication-dialog-body { display:grid; grid-template-columns:210px minmax(0,1fr); gap:44px; align-items:start; }
.publication-dialog-body>img { width:100%; height:auto; display:block; }
.publication-dialog h2 { font:400 clamp(28px,3vw,39px)/1.16 var(--serif); letter-spacing:-.6px; margin:12px 0 18px; }
.publication-dialog .publication-byline { margin-bottom:24px; }
.publication-dialog .book-record { display:block; }
.publication-dialog .study-prose { font:17px/1.75 var(--sans); }
.publication-dialog .text-link { margin-top:24px; }
.publication-dialog :focus-visible { outline:2px solid var(--red); outline-offset:5px; }
/* Every native details element is initially open, so a script failure retains all records. */
.publications-main .publication-articles { padding-block:24px 68px; }
.publications-main .article-dossier { display:block; position:relative; padding:0; border:0; border-top:1px solid #ccc0ac; }
.publications-main .article-dossier:last-child { border-bottom:1px solid #ccc0ac; }
.article-dossier::before { content:''; position:absolute; top:-1px; left:0; width:100%; height:1px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.article-dossier[open]::before { transform:scaleX(1); }
.article-dossier>summary { display:grid; grid-template-columns:125px minmax(0,1fr) 28px; align-items:start; gap:30px; padding:29px 0; cursor:pointer; list-style:none; }
.article-dossier>summary::-webkit-details-marker { display:none; }
.article-dossier>summary::marker { content:''; }
.article-dossier>summary:focus-visible { outline:2px solid var(--red); outline-offset:-4px; }
.article-dossier .article-date { font:italic 19px/1.5 var(--serif); padding-top:2px; }
.article-dossier .publication-meta { font-size:12px; line-height:1.6; }
.publications-main .article-dossier h3 { font:400 clamp(25px,2.35vw,32px)/1.25 var(--serif); margin:9px 0 0; max-width:960px; letter-spacing:-.5px; }
.article-toggle { margin-top:3px; transition:transform .25s; }
.article-dossier[open] .article-toggle { transform:rotate(45deg); }
.article-dossier .article-panel { margin-left:155px; padding:0 60px 28px 0; }
.article-dossier .publication-byline { margin:0 0 14px; font-size:16px; }
.article-dossier .publication-actions { gap:12px 34px; }
.article-dossier.is-animating { overflow:clip; }
/* An offset paper plane gives the closing text its own visual presence. */
.publication-closing { padding-block:40px 80px; background:#eee7dc; }
.publication-closing-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); align-items:end; padding-bottom:28px; }
.publication-closing figure { grid-column:5/-1; grid-row:1; margin:0; }
.publication-closing figure img { display:block; width:100%; height:510px; object-fit:cover; object-position:64% center; }
.publication-closing figcaption { text-align:right; color:#65503d; font:12px/1.6 var(--sans); padding-top:10px; }
.publication-closing-copy { grid-column:1/7; grid-row:1; z-index:1; background:#faf7f1; border-top:1px solid #b19157; padding:40px 44px; margin-bottom:-28px; }
.publication-closing-copy p { font:400 clamp(27px,2.4vw,35px)/1.4 var(--serif); color:var(--brown); margin:0; }
/* Keep the manual controls clear of the shared fixed Back to top button. */
@media(max-width:1400px) {
 .book-gallery-tools { padding-inline-end:64px; }
}
@media(max-width:850px) {
 .book-gallery.is-enhanced .book-exhibit { flex-basis:340px; }
 .publication-dialog-body { grid-template-columns:170px minmax(0,1fr); gap:28px; }
 .publication-closing-copy { grid-column:1/8; padding:30px; }
 .publication-closing figure { grid-column:4/-1; }
 .publication-closing figure img { height:530px; }
}
@media(max-width:600px) {
 .book-gallery.is-enhanced .book-exhibition { padding-inline:22px; scroll-padding-inline:22px; }
 .book-gallery.is-enhanced .book-exhibit { flex-basis:calc(100vw - 62px); max-width:350px; padding:27px 24px 25px; }
 .book-gallery.is-enhanced .book-stage { height:265px; margin-bottom:23px; }
 .book-gallery.is-enhanced .book-cover { max-height:250px; max-width:175px; }
 .book-gallery.is-enhanced .publication-meta { min-height:0; }
 .book-gallery.is-enhanced .publication-book h3 { font-size:26px; }
 .book-gallery-tools { padding-block:20px; }
 .publication-dialog { width:calc(100% - 24px); padding:18px 22px 30px; max-height:92dvh; }
 .publication-dialog-body { grid-template-columns:1fr; gap:24px; }
 .publication-dialog-body>img { width:130px; }
 .publication-dialog-tools { padding-bottom:20px; }
 .publication-dialog h2 { font-size:30px; }
 .article-dossier>summary { grid-template-columns:minmax(0,1fr) 25px; gap:11px 18px; padding-block:26px; }
 .article-dossier .article-date { grid-column:1; font-size:17px; }
 .article-summary-copy { grid-row:2; grid-column:1; }
 .article-toggle { grid-column:2; grid-row:1/3; }
 .publications-main .article-dossier h3 { font-size:25px; }
 .article-dossier .article-panel { margin-left:0; padding:0 28px 26px 0; }
 .publications-main .publication-articles { padding-bottom:44px; }
 .publication-closing { padding-block:25px 42px; }
 .publication-closing-layout { display:flex; flex-direction:column; align-items:stretch; padding-bottom:0; }
 .publication-closing figure img { height:auto; aspect-ratio:1.3; }
 .publication-closing figcaption { text-align:left; font-size:12px; }
 .publication-closing-copy { margin:24px 0 0; padding:26px; }
 .publication-closing-copy p { font-size:27px; line-height:1.45; }
}
@media(prefers-reduced-motion:reduce) {
 .book-gallery.is-enhanced .book-cover,.article-dossier::before,.article-toggle { transition:none; transform:none!important; }
 .book-gallery.is-enhanced .book-exhibition { scroll-behavior:auto; }
 .book-gallery.is-enhanced .book-exhibit { transition:background .1s; }
}
@media print {
 .book-gallery.is-enhanced { background:white; }
 .book-gallery.is-enhanced .book-exhibition { display:block; overflow:visible; width:100%; padding:0; }
 .book-gallery.is-enhanced .book-exhibit { display:grid; grid-template-columns:120px 1fr; gap:25px; border:0; border-top:1px solid #bbb; color:#000; background:white!important; padding:25px 0; break-inside:avoid; }
 .book-gallery.is-enhanced .book-stage { height:auto; margin:0; align-items:start; }
 .book-gallery.is-enhanced .book-cover { max-width:110px; height:auto; filter:none!important; transform:none!important; box-shadow:none; }
 .book-gallery.is-enhanced .publication-book h3,.book-gallery.is-enhanced .publication-meta,.book-gallery.is-enhanced .publication-byline { color:#000; }
 .book-gallery.is-enhanced .book-record { display:block; }
 .book-gallery.is-enhanced .book-open,.book-gallery-tools,.publication-dialog,.article-toggle { display:none!important; }
 .article-dossier { height:auto!important; }
 .article-dossier::before { display:none; }
 .article-dossier>summary { display:block; padding-block:20px 10px; }
 .article-dossier .article-panel { display:block!important; margin:0; padding-bottom:20px; }
 .article-dossier::details-content { display:block!important; content-visibility:visible!important; }
 .publication-closing { padding:25px 0; background:white; }
 .publication-closing-layout { display:block; }
 .publication-closing figure { width:50%; float:right; margin:0 0 20px 20px; }
 .publication-closing figure img { height:auto; }
 .publication-closing-copy { background:white; margin:0; padding:15px 0; }
 .publication-closing-copy p { font-size:23px; }
}
