:root{color-scheme:light;--ink:#31372f;--muted:#71766a;--paper:#eeede8;--line:#d5d7cc;--accent:#515f43;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.25;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,.stage:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{background:none;border:0;min-height:44px}button:hover:not(:disabled),nav a:hover{color:#7b462e}button:disabled:hover{color:inherit}.masthead{max-width:1600px;margin:auto;padding:28px 5vw 23px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font:32px Georgia,serif;letter-spacing:-1.2px}.wordmark span{display:block;font:9px Arial,sans-serif;letter-spacing:2.2px;margin-top:8px}nav{display:flex;gap:35px;font-size:13px}nav a{padding:12px 0}nav [aria-current]{border-bottom:1px solid}.reader{max-width:1440px;margin:auto;padding:25px 4vw 12px}.edition{width:min(100%,calc((100svh - 320px)*1.25));margin:0 auto 18px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}.stage{position:relative;display:flex;align-items:center;justify-content:center;gap:28px;min-height:100px;perspective:1600px;outline:none}.book{position:relative;width:min(calc(100% - 120px),calc((100svh - 320px)*1.25));aspect-ratio:5/4;background:#fff;box-shadow:0 2px 3px #2221,0 20px 40px -18px #2225;touch-action:pan-y pinch-zoom}.book>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;transform-origin:left center;backface-visibility:hidden;position:relative;z-index:1}.paper-edge{position:absolute;inset:3px -4px -5px 3px;background:repeating-linear-gradient(to bottom,#d6d4cb 0px,#d6d4cb 1px,#faf9f6 1px,#faf9f6 3px);z-index:-1;border:1px solid #d4d3ca}.side{border:1px solid #c8ccbf;border-radius:50%;width:44px;flex:0 0 44px;font-size:21px}.reader-tools{width:min(100%,calc((100svh - 320px)*1.25));margin:18px auto 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px;font-size:12px}.reader-tools button{padding:0 8px}.reader-tools button span{font-size:17px;vertical-align:-1px}.reader-tools form{display:flex;align-items:center;gap:5px}.reader-tools input{width:36px;text-align:center;background:transparent;border:0;border-bottom:1px solid #a9af9f;border-radius:0;padding:5px 0;appearance:textfield;-moz-appearance:textfield}.reader-tools input::-webkit-inner-spin-button{display:none}.go{font-size:17px}.hint{text-align:center;font:italic 14px Georgia,serif;color:var(--muted);margin:15px 0 10px}.hint span{font:11px Arial,sans-serif;margin-left:8px}footer{padding:20px 5vw;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.5px;max-width:1600px;margin:auto}.thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:18px;padding:30px 0}.thumbnails[hidden]{display:none}.thumbnail{padding:6px;border:1px solid transparent;text-align:left;font-size:11px}.thumbnail[aria-current=true]{border-color:var(--accent)}.thumbnail img{width:100%;aspect-ratio:5/4;object-fit:contain;display:block;margin-bottom:8px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{display:block;padding:12px}dialog{width:96vw;max-width:2100px;height:94svh;max-height:94svh;border:0;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#20231ddd;backdrop-filter:blur(5px)}.zoom-bar{height:58px;display:flex;align-items:center;gap:20px;padding:6px 20px;border-bottom:1px solid var(--line);font-size:13px}.zoom-bar span{margin-right:auto}.zoom-scroll{overflow:auto;height:calc(100% - 58px)}.zoom-scroll img{display:block;width:100%;height:100%;object-fit:contain}.zoom-scroll.actual img{width:2000px;max-width:none;height:auto;object-fit:initial}.about{max-width:1120px;margin:60px auto;padding:0 5vw}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted)}h1{font:clamp(44px,7vw,80px) Georgia,serif;letter-spacing:-2px;margin:14px 0 28px}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-intro img{width:100%;height:auto;display:block}.about-copy p{font:20px/1.6 Georgia,serif}.text-link{display:inline-block;border-bottom:1px solid;margin-top:16px;padding:10px 0;font-size:13px}.cv{margin-top:65px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.cv h2{font:28px Georgia,serif}.cv ul{list-style:none;padding:0}.cv li{border-top:1px solid var(--line);padding:13px 0;font-size:13px;display:flex;justify-content:space-between;gap:20px}.cv time{color:var(--muted);white-space:nowrap}@media(max-width:700px){.masthead{padding:22px 6vw 18px}.wordmark{font-size:27px}nav{gap:22px;font-size:12px}.reader{padding:28px 4vw 10px}.edition{width:100%;font-size:9px;letter-spacing:1.5px;margin-bottom:20px}.stage{display:grid;grid-template-columns:1fr 1fr;gap:18px}.book{grid-column:1/-1;grid-row:1;width:100%}.side{grid-row:2;width:48px;justify-self:end}.side.next{justify-self:start}.reader-tools{width:100%;margin-top:12px}.hint{margin-top:20px}.hint span{display:block;margin:8px 0 0}footer{margin-top:15px;font-size:9px;padding:20px 6vw}.about{margin-top:35px}.about-intro,.cv{grid-template-columns:1fr;gap:22px}.cv{margin-top:35px}.about-copy p{font-size:18px}.zoom-bar{gap:8px;padding:5px 10px;font-size:11px}}@media(max-height:550px) and (min-width:701px){.masthead{padding:10px 5vw}.wordmark{font-size:23px}.wordmark span{display:none}.reader{padding-top:10px}.book{width:min(calc(100% - 120px),calc((100svh - 185px)*1.25))}.edition{margin-bottom:8px}.reader-tools{margin-top:8px}.hint,footer{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.book{perspective:1400px}

.paper-edge{background:#faf9f6;box-shadow:1px 1px 0 #d6d4cb,2px 2px 0 #faf9f6}

footer{gap:16px;flex-wrap:wrap}

@media(max-height:550px) and (min-width:701px){.edition,.reader-tools{width:340px;max-width:100%;white-space:nowrap}.edition{font-size:9px;letter-spacing:1px}.reader-tools{font-size:11px}.reader-tools button{padding:0 4px}}

/* A complete paper sheet moves above the next page; the artwork never dissolves. */
.book{perspective:1800px;isolation:isolate}
.turn-leaf{position:absolute;inset:0;z-index:5;transform-origin:0 50%;backface-visibility:hidden;background:#fff;pointer-events:none;will-change:transform;box-shadow:5px 1px 18px -6px #29281f55}
.turn-leaf img{display:block;width:100%;height:100%;object-fit:contain;backface-visibility:hidden}
.turn-leaf::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#302b1818 0%,#ffffff18 2%,transparent 9%,transparent 82%,#ffffffe0 99.8%,#d8d4c1 100%);opacity:.8}
.turn-shadow{position:absolute;inset:0;z-index:4;pointer-events:none;transform-origin:left center;background:linear-gradient(90deg,#211c1638, #211c1624 18%,#211c1610 58%,transparent 100%);will-change:transform,opacity}
.book.is-turning{box-shadow:0 2px 3px #2221,0 22px 42px -18px #2225}
.side{transition:background-color .2s,border-color .2s,transform .2s}
.side:hover:not(:disabled){background:#fff9;border-color:#929c85;transform:translateY(-1px)}
.side:active:not(:disabled){transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.turn-leaf,.turn-shadow{display:none}.side{transition:none}}

.motion-control{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:8px auto 0;font-size:11px;color:var(--muted)}
.motion-control button{padding:0 12px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.motion-control span:empty{display:none}
html[data-page-turns="on"] .turn-leaf,html[data-page-turns="on"] .turn-shadow{display:block}
html[data-page-turns="off"] .turn-leaf,html[data-page-turns="off"] .turn-shadow{display:none}
@media(max-width:700px){.motion-control{gap:0;margin-top:5px}.motion-control span{flex-basis:100%;text-align:center}}
@media(max-height:550px) and (min-width:701px){.motion-control{margin:0}.motion-control button{min-height:32px}}
