*{box-sizing:border-box}:root{font-family:Arial,Helvetica,sans-serif;--page:#fff;--ink:#101010;--muted:#656565;--line:#bbb;color:var(--ink);background:var(--page);font-synthesis:none;color-scheme:light}:root[data-theme=black]{--page:#000;--ink:#fff;--muted:#aaa;--line:#444;color-scheme:dark}body{margin:0;background:var(--page);color:var(--ink)}button,a{font:inherit;touch-action:manipulation}a{color:inherit;text-decoration:none}button{border:0;border-radius:0;background:none;color:inherit;cursor:pointer;padding:10px 0}button:hover,a:hover{text-decoration:underline;text-underline-offset:5px}button:focus-visible,a:focus-visible{outline:2px solid var(--muted);outline-offset:4px}img{display:block;max-width:100%}button img,button svg{pointer-events:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}button:disabled{opacity:.2;cursor:default}.masthead{margin:0 24px;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);flex-shrink:0}.logo{width:165px;height:auto}.display-controls{display:flex;align-items:center;gap:32px}.switcher{display:flex;gap:20px;font-size:13px}.switcher button{color:var(--muted);min-height:44px}.switcher button.active{color:var(--ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.chapter-nav{margin:0 24px;min-height:44px;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap;font-size:12px;scrollbar-width:thin;flex-shrink:0}.chapter-nav button{position:relative;padding:13px 0}.chapter-nav button.current:after{position:absolute;bottom:5px;left:0;right:0;height:1px;background:var(--ink);content:''}.chapter-nav .count{margin-left:auto;color:var(--muted);font-size:11px}.book{height:100svh;min-height:480px;display:flex;flex-direction:column}.reader{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.reader-stage{flex:1;min-height:0;position:relative;margin:16px 100px 12px;touch-action:pan-y pinch-zoom}.reader-stage>.photo,.reader-stage>video{width:100%;height:100%;position:absolute;object-fit:contain}.reader-stage>video{background:#000}.viewport-photo{overflow:hidden}.reader-footer{flex-shrink:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px 32px;margin:0 24px;border-top:1px solid var(--line);padding:15px 0 20px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:7px}.eyebrow span{color:var(--muted);margin-left:6px}.project-caption h1{font-size:26px;letter-spacing:-.035em;line-height:1.12}.project-caption h1>span{font-size:15px;letter-spacing:0;margin-left:16px;color:var(--muted)}.image-count{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.image-count span{color:var(--muted)}.reader-controls{display:contents}.reader-arrow{position:absolute;top:calc(50% - 76px);width:62px;min-height:82px;padding:13px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;background:var(--ink);color:var(--page);font-size:11px;border:1px solid var(--ink)}.reader-arrow:hover{text-decoration:none;opacity:.7}.reader-arrow.previous{left:24px}.reader-arrow.next{right:24px}.reader-arrow.next>.arrow-symbol{order:-1}.arrow-symbol{font-size:30px;line-height:1}.reader-arrow:disabled{background:transparent;color:var(--ink);border-color:var(--line)}.index-head{margin:34px 24px 30px;display:flex;align-items:end;justify-content:space-between;gap:24px}.index-head h1{font-size:clamp(44px,6vw,80px);letter-spacing:-.065em;line-height:.95}.index-head p{font-size:13px;color:var(--muted)}.index-grid{padding:0 24px 60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 22px}.tile{text-align:left;padding:0;display:block;min-width:0}.tile-image{height:clamp(300px,35vw,520px);position:relative}.tile-image .photo{height:100%;width:100%;object-fit:contain}.tile-caption{display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.tile h3{font-size:22px;letter-spacing:-.03em}.tile p{font-size:14px;margin-top:5px}.tile .num{font-size:12px;color:var(--muted)}.media-label{position:absolute;left:12px;bottom:12px;font-size:11px;padding:8px 10px;color:#fff;background:#000}.foot{margin:0 24px;border-top:1px solid var(--line);padding:17px 0;text-align:right;color:var(--muted);font-size:10px}
@media(min-width:1600px){.reader-stage{margin-left:120px;margin-right:120px}}
@media(max-width:800px){.masthead{margin:0 20px}.logo{width:150px}.display-controls{gap:24px}.switcher{gap:16px}.chapter-nav{margin:0 20px;gap:22px}.chapter-nav .count{display:none}.reader-stage{margin-left:78px;margin-right:78px}.reader-arrow{width:48px;min-height:74px;font-size:10px}.reader-arrow.previous{left:16px}.reader-arrow.next{right:16px}.reader-footer{margin:0 20px;gap:12px 20px}.project-caption h1{font-size:23px}.project-caption h1>span{display:block;font-size:14px;margin:5px 0 0}.index-head{margin:26px 20px 30px}.index-head h1{font-size:60px}.index-grid{padding:0 20px 40px;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.tile-image{height:clamp(270px,48vw,440px)}.tile h3{font-size:20px}.tile p{font-size:13px}}
@media(max-width:520px){.masthead{height:94px;min-height:94px;align-content:space-between;padding:16px 0 0;gap:0;flex-wrap:wrap;margin:0 16px}.logo{width:145px}.display-controls{width:100%;justify-content:space-between;gap:18px}.switcher{gap:20px;font-size:12px}.switcher button{min-height:38px}.chapter-nav{margin:0 16px;min-height:44px;gap:24px;font-size:11px}.chapter-nav button{padding:14px 0}.book{min-height:540px}.reader-stage{margin:12px 12px 10px}.reader-footer{margin:0 16px;padding:12px 0 max(12px,env(safe-area-inset-bottom));gap:12px;align-items:start}.project-caption h1{font-size:22px}.project-caption h1>span{font-size:12px;margin-top:4px}.eyebrow{font-size:9px;margin-bottom:6px}.image-count{font-size:11px;margin-top:1px}.reader-controls{grid-column:1/-1;display:flex;justify-content:space-between;gap:14px}.reader-arrow{position:static;min-height:44px;width:112px;padding:8px 14px;flex-direction:row;gap:14px;font-size:12px;justify-content:space-between}.reader-arrow.next>.arrow-symbol{order:0}.arrow-symbol{font-size:24px}.index-head{margin:28px 16px}.index-head h1{font-size:46px}.index-head p{display:none}.index-grid{padding:0 16px 40px;gap:28px 14px}.tile-image{height:250px}.tile h3{font-size:18px}.tile p{font-size:12px;line-height:1.4}.tile .num{display:none}.media-label{font-size:9px;left:4px;bottom:5px;padding:6px}.foot{margin:0 16px}}
@media(max-height:520px) and (min-width:521px){.book{min-height:320px}.masthead{min-height:48px}.logo{width:125px}.chapter-nav{min-height:36px}.chapter-nav button{padding:10px 0}.reader-stage{margin-top:8px;margin-bottom:8px}.reader-footer{padding:8px 0}.eyebrow{display:none}.project-caption h1{font-size:18px}.project-caption h1>span{display:inline;font-size:12px;margin-left:10px}.reader-arrow{top:calc(50% - 52px);min-height:64px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.topbar{flex-shrink:0;background:var(--page)}.index .topbar{position:sticky;top:0;z-index:5}.index-chapter{scroll-margin-top:130px}.chapter-heading{margin:0 24px 28px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:20px}.chapter-heading h2{font-size:32px;letter-spacing:-.04em}.chapter-heading h2 span{display:inline-block;vertical-align:top;font-size:11px;letter-spacing:0;color:var(--muted);margin:6px 16px 0 0}.chapter-heading>span{font-size:11px;color:var(--muted)}.image-count{text-align:right}.image-count .frame-reference{display:block;color:var(--ink);font-size:12px;letter-spacing:.06em}.local-position{display:block;margin-top:6px;font-size:11px;color:var(--muted)}
@media(max-width:800px){.chapter-heading{margin-left:20px;margin-right:20px}}
@media(max-width:520px){.chapter-nav{gap:22px}.chapter-heading{margin:0 16px 24px}.chapter-heading h2{font-size:27px}.index-chapter{scroll-margin-top:154px}.image-count .frame-reference{font-size:10px}.local-position{font-size:10px;margin-top:5px}}

/* Paired spreads retain the original aspect ratios and meet at a narrow centre gutter. */
.reader-stage{margin-left:88px;margin-right:88px}
.spread{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.spread.single{grid-template-columns:1fr}
.spread-panel{margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;gap:7px}
.spread-photo{flex:1;min-height:0;position:relative}
.spread-photo .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.spread-panel:first-child .photo{object-position:right center}
.spread-panel:last-child .photo{object-position:left center}
.spread.single .photo{object-position:center}
.spread-panel figcaption{height:15px;flex-shrink:0;font-size:9px;letter-spacing:.07em;color:var(--muted);text-align:right}
.spread-panel:last-child figcaption{text-align:left}
.spread.single figcaption{text-align:center}
.image-count .page-position{color:var(--ink);font-size:15px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.reader-stage{margin-left:72px;margin-right:72px}.spread{gap:12px}}
@media(max-width:520px){.reader-stage{margin:12px 12px 10px}.spread{gap:8px}.spread-panel{gap:5px}.spread-panel figcaption{font-size:8px;letter-spacing:.04em}.image-count .page-position{font-size:13px}}
@media(max-width:520px){.spread-panel{height:min(100%,calc((100vw - 32px)*.7 + 22px));align-self:center}}
