/* Muck Fogley. Candidate C: fixed left column, justified rows, white ground. */
*{box-sizing:border-box;margin:0;padding:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;background:#fff;color:#000;-webkit-font-smoothing:antialiased}

aside{position:fixed;top:0;left:0;width:232px;height:100%;padding:36px 0 30px 40px;display:flex;flex-direction:column;z-index:10}
aside .n{font-size:15px;font-weight:600;letter-spacing:-.01em}
aside .n em{display:block;font-style:normal;font-weight:400;font-size:12px;color:#999;margin-top:5px;line-height:1.6}
aside nav{margin-top:32px}
aside nav a{display:block;font-size:13px;line-height:2.15;color:#666;transition:color .15s}
aside nav a:hover,aside nav a.on{color:#000}
aside .b{margin-top:auto;font:400 11px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;color:#aaa}

main{margin-left:232px;padding:36px 36px 110px;min-height:100dvh}
h1{font-size:15px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.line{font-size:13px;color:#666;line-height:1.6;max-width:62ch;margin-bottom:28px}
.line a,.about a{text-decoration:underline;text-underline-offset:2px}
.meta{font:400 11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:#999;margin-bottom:14px}

/* justified rows: every row fills the width, every frame in a row shares one height */
.grid .jr{display:flex;gap:12px;margin-bottom:30px}
.grid .cell{position:relative;cursor:zoom-in;background:#f2f2f2}
.grid .cell img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s}
.grid .cell img.in{opacity:1}
.grid .cell i{position:absolute;left:0;top:100%;font-style:normal;font:400 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#9a968f;padding-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.grid .cell.new::after{content:"New";position:absolute;right:0;top:100%;padding-top:5px;font:400 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#000}
.grid.strip .jr{margin-bottom:0}
.grid.strip .cell i{display:none}

/* collections index */
.col{margin:0 0 64px}
.col-h{display:flex;align-items:baseline;gap:14px}
.col-h h2{font-size:28px;font-weight:600;letter-spacing:-.02em}
.col-h span{font:400 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#999}
.col-h:hover h2{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.col .line{margin:6px 0 16px}
main > h1 + .col{margin-top:22px}

.next{display:block;margin-top:40px;font-size:13px;color:#666}
.next b{display:block;font-size:28px;font-weight:600;letter-spacing:-.02em;color:#000;margin-top:4px}
.next:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* archive filters, two axes at once */
.filters{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.filters div{display:flex;flex-wrap:wrap;gap:4px 16px}
.filters button{font-size:13px;color:#999;padding:2px 0;transition:color .15s}
.filters button:hover{color:#000}
.filters button.on{color:#000;text-decoration:underline;text-underline-offset:3px}

/* book + about */
.spread{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:980px;margin-bottom:28px;background:#f4f4f4;padding:28px;box-shadow:inset -1px 0 0 #f4f4f4}
.spread img{width:100%;height:100%;object-fit:contain;max-height:420px;padding:0 14px}
.specs{display:grid;grid-template-columns:120px 1fr;gap:6px 18px;font-size:13px;max-width:520px;margin-bottom:28px}
.specs dt{color:#999}
.about{max-width:56ch}
.about p{font-size:15px;line-height:1.65;margin-bottom:18px}

/* lightbox */
.lb{position:fixed;inset:0;background:#fff;z-index:50;display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb figure{display:flex;flex-direction:column;align-items:flex-start;max-width:calc(100vw - 200px)}
.lb img{max-height:calc(100dvh - 120px);max-width:100%;object-fit:contain}
.lb figcaption{font:400 11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:#888;margin-top:10px}
.lb figcaption a{color:#000;text-decoration:underline;text-underline-offset:2px}
.lb-x{position:absolute;top:28px;right:36px;font-size:13px;z-index:2;padding:6px 0}
.lb-p,.lb-n{position:absolute;top:80px;bottom:0;width:100px;font-size:13px;color:#999}
.lb-p{left:0} .lb-n{right:0}
.lb-p:hover,.lb-n:hover,.lb-x:hover{color:#000}

@media (max-width:760px){
  aside{position:static;width:auto;height:auto;padding:22px 16px 0;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
  aside nav{margin-top:0;display:flex;flex-wrap:wrap;gap:0 14px;justify-content:flex-end;max-width:60%}
  aside nav a{line-height:1.9}
  aside .b{display:none}
  main{margin-left:0;padding:28px 16px 80px}
  .grid .jr{gap:6px;margin-bottom:22px}
  .col-h h2,.next b{font-size:24px}
  .spread{padding:12px}
  .lb figure{max-width:100vw;padding:0 12px}
  .lb-p,.lb-n{width:30%;top:auto;height:60px;bottom:0}
  .lb-x{top:16px;right:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
