:root{color-scheme:light;--paper: #FBFCFA;--ink: #141815;--ink-soft: #545D56;--ink-faint: #828B83;--rule: #E3E7E1;--accent: #35624F;--accent-soft: #6E9A89;--frame: #F0F2EE;--lift: 0 1px 2px rgba(20, 24, 21, .05), 0 18px 44px rgba(20, 24, 21, .1);--scrim: rgba(251, 252, 250, .975);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Charter, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--t-measure: .8125rem;--t-small: .875rem;--t-body: 1.125rem;--t-label: 1.25rem;--t-mark: 1.5rem;--t-title: 1.875rem;--hang: 74vh;--rowgap: clamp(.75rem, 1.5vw, 1.4rem);--measure: 36rem;--page: 80rem;--ease: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--page);margin:0 auto;padding:0 clamp(1.5rem,5vw,3.5rem)}:where(a,button):focus-visible{outline:1px solid var(--accent);outline-offset:4px}.masthead{position:sticky;top:0;z-index:20;background:var(--scrim);backdrop-filter:blur(16px) saturate(.96);border-bottom:1px solid transparent;padding-block:clamp(1.6rem,4vw,2.6rem) clamp(1.2rem,3vw,1.9rem)}.masthead-inner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem 2rem}.wordmark{font-family:var(--serif);font-size:var(--t-mark);font-weight:400;letter-spacing:.01em;margin:0;line-height:1.1}.viewnav{display:flex;gap:clamp(1.1rem,3vw,1.9rem)}.viewnav button{appearance:none;background:none;border:0;padding:0 0 .35rem;font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;position:relative;transition:color .35s var(--ease)}.viewnav button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.viewnav button:hover{color:var(--ink-soft)}.viewnav button[aria-selected=true]{color:var(--ink)}.viewnav button[aria-selected=true]:after{transform:scaleX(1)}@supports (animation-timeline: scroll()){.masthead{animation:recede linear both;animation-timeline:scroll(root);animation-range:4vh 30vh}.wordmark{animation:markShrink linear both;animation-timeline:scroll(root);animation-range:4vh 30vh}@keyframes recede{to{padding-block:.8rem;border-bottom-color:var(--rule)}}@keyframes markShrink{to{font-size:1.0625rem}}}.view{display:none}.view[data-active=true]{display:block;animation:viewIn .5s var(--ease) both}@keyframes viewIn{0%{opacity:0}}.rows{display:flex;flex-direction:column;align-items:center;gap:clamp(5rem,14vh,10rem);padding:clamp(3rem,9vh,6rem) 0 clamp(6rem,16vh,11rem)}.row{display:flex;gap:var(--rowgap);--natural: min(100%, calc(var(--hang) * var(--sum) + var(--rowgap) * (var(--n) - 1)));width:calc(var(--size, 1) * var(--natural))}.work{margin:0;flex-grow:var(--ar);flex-shrink:1;flex-basis:0;min-width:0;opacity:0;transform:translateY(26px)}.work-frame{display:block;width:100%;padding:0;border:0;background:var(--frame);overflow:hidden;cursor:zoom-in;line-height:0;transition:box-shadow .6s var(--ease)}.work-drift{display:block}.work-frame img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);transform:scale(1.001);transition:transform 1.2s var(--ease)}.work-frame:hover{box-shadow:var(--lift)}.work-frame:hover img,.work-frame:focus-visible img{transform:scale(1.035)}.work-label{padding:1.15rem .15rem 0;opacity:0;transform:translateY(10px)}.work-tomb{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem}.work-place{font-family:var(--serif);font-size:var(--t-label);font-weight:400;margin:0;line-height:1.25}.work-date{font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums}.work-note{max-width:32rem;margin:.5rem 0 0;font-family:var(--serif);font-size:var(--t-body);line-height:1.6;color:var(--ink-soft)}.panel{width:min(100%,var(--measure));margin-top:clamp(1rem,5vh,4rem);opacity:0;transform:translateY(16px)}.panel-title{margin:0;font-family:var(--serif);font-size:var(--t-title);font-weight:400;line-height:1.15;text-wrap:balance}.panel-title:before{content:"";display:block;width:3rem;height:1px;margin-bottom:1.45rem;background:var(--accent-soft)}.panel-note{margin:.9rem 0 0;font-family:var(--serif);font-size:var(--t-body);line-height:1.68;color:var(--ink-soft)}.interlude{width:min(100%,30rem);margin:calc(-1*clamp(2rem,6vh,4rem)) 0 0;font-family:var(--serif);font-size:var(--t-body);font-style:italic;line-height:1.72;color:var(--ink-soft);opacity:0;transform:translateY(14px)}@supports (animation-timeline: view()){.work-drift{animation:drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%;will-change:transform}@keyframes drift{0%{transform:translateY(-3%) scale(1.07)}to{transform:translateY(3%) scale(1.07)}}.work{animation:rise linear both;animation-timeline:view();animation-range:entry 2% entry 80%}.work-label{animation:rise linear both;animation-timeline:view();animation-range:entry 14% entry 96%}.panel,.interlude{animation:rise linear both;animation-timeline:view();animation-range:entry 5% entry 55%}@keyframes rise{to{opacity:1;transform:none}}}.archive{padding:clamp(1.5rem,4vh,3rem) 0 clamp(5rem,12vh,8rem)}.archive-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:clamp(2rem,5vh,3.5rem)}.segmented{display:inline-flex;border:1px solid var(--rule)}.segmented :is(button,a){appearance:none;background:none;border:0;padding:.55rem 1rem;font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}.segmented :is(button,a)+:is(button,a){border-left:1px solid var(--rule)}.segmented :is(button,a):hover{color:var(--ink-soft)}.segmented :is(button,a)[aria-pressed=true]{background:var(--frame);color:var(--ink)}.archive-total{font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-variant-numeric:tabular-nums}.group+.group{margin-top:clamp(3rem,8vh,5rem)}.group-head{display:flex;align-items:baseline;gap:.9rem;margin:0 0 1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--rule);font-weight:400}.group-name{font-family:var(--serif);font-size:var(--t-label)}.group-count{font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.12em;color:var(--ink-faint);font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.55rem}.tile{position:relative;display:block;aspect-ratio:1;overflow:hidden;padding:0;border:0;background:var(--frame);cursor:zoom-in;transition:opacity .7s var(--ease),transform .7s var(--ease),box-shadow .5s var(--ease);transition-delay:calc(var(--i, 0) * 22ms)}.group[data-revealed] .tile{opacity:0;transform:translateY(12px)}.group[data-revealed=true] .tile{opacity:1;transform:none}.tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.tile:hover{box-shadow:var(--lift)}.tile:hover img,.tile:focus-visible img{transform:scale(1.06)}.tile-tag{position:absolute;inset:auto 0 0;padding:1.6rem .6rem .55rem;display:grid;gap:.1rem;text-align:left;background:linear-gradient(to top,#fbfcfaf2,#fbfcfac7 55%,#fbfcfa00);opacity:0;transition:opacity .35s var(--ease)}.tile:hover .tile-tag,.tile:focus-visible .tile-tag{opacity:1}.tile-place,.tile-tag{font-family:var(--serif);font-size:var(--t-small);line-height:1.25;color:var(--ink)}.tile-year{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;color:var(--ink-faint);font-variant-numeric:tabular-nums}.mapwrap{padding:clamp(1.5rem,4vh,3rem) 0 clamp(5rem,12vh,8rem)}.mapstage{position:relative;width:min(100%,calc(74vh * var(--map-ar, 1)));aspect-ratio:var(--map-ar, 1);margin-inline:auto;background:var(--frame);border:1px solid var(--rule);overflow:hidden}.mapstage canvas{display:block;width:100%;height:100%}.spot{position:absolute;height:var(--d);aspect-ratio:1;width:auto;transform:translate(-50%,-50%);min-height:24px;border:0;background:none;padding:0;border-radius:50%;cursor:pointer}.spot:before{content:"";position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);transition:background .4s var(--ease),border-color .4s var(--ease)}.spot:after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:color-mix(in srgb,var(--accent) 55%,transparent)}.spot:hover:before,.spot:focus-visible:before{background:color-mix(in srgb,var(--accent) 26%,transparent);border-color:var(--accent)}.maplegend{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;max-width:var(--measure);margin-inline:auto;font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.1em;color:var(--ink-faint);padding:1.2rem .15rem 0;text-align:center;justify-content:center;line-height:1.5}.maplegend span{display:inline-flex;align-items:flex-start;gap:.55rem}.swatch{width:14px;height:14px;margin-top:.28rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);flex:none}.detail{position:fixed;inset:0;z-index:50;background:var(--scrim);backdrop-filter:blur(22px) saturate(.92);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s var(--ease),visibility .45s;overflow-y:auto}.detail[data-open=true]{opacity:1;visibility:visible;pointer-events:auto}.has-vt .detail{transition:none}.detail-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(1.5rem,3vh,2rem);padding:clamp(3rem,7vh,5rem) clamp(3.5rem,7vw,5.5rem)}.detail-figure{margin:0;width:min(100%,calc(52vh * var(--ar)))}.detail-figure img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);box-shadow:var(--lift);transition:opacity .3s var(--ease)}.detail-figure img[data-swapping=true]{opacity:0}.card{width:min(100%,40rem);display:grid;gap:.6rem}.card-place{font-family:var(--serif);font-size:var(--t-title);font-weight:400;line-height:1.2;margin:0;text-wrap:balance}.card-where{font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);margin:0;font-variant-numeric:tabular-nums}.card-note{font-family:var(--serif);font-size:var(--t-body);color:var(--ink-soft);margin:.35rem 0 0;max-width:var(--measure);text-wrap:pretty}.card-facts{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.1rem;margin:.7rem 0 0;padding:1rem 0 0;border-top:1px solid var(--rule);font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.06em;color:var(--ink-faint);font-variant-numeric:tabular-nums}.card-facts dt{text-transform:uppercase;letter-spacing:.13em}.card-facts dd{margin:0;color:var(--ink-soft)}@media(min-width:64rem){.detail-inner{flex-direction:row;gap:2.5rem;padding:clamp(2rem,5vh,3.5rem) clamp(2.5rem,4vw,3.5rem)}.detail-figure{flex:0 1 auto;min-width:0;width:min(100%,calc(74vh * var(--ar)))}.card{flex:none;width:22rem}.card-note{max-width:none}}.detail-btn{position:fixed;appearance:none;background:none;border:0;color:var(--ink-faint);width:3.25rem;height:3.25rem;font-size:1.3rem;line-height:1;cursor:pointer;z-index:2;transition:color .3s var(--ease)}.detail-btn:hover{color:var(--ink)}.detail-close{top:clamp(.75rem,2vw,1.5rem);right:clamp(.75rem,2vw,1.5rem)}.detail-prev{top:50%;left:clamp(.25rem,1.5vw,1rem);margin-top:-1.6rem}.detail-next{top:50%;right:clamp(.25rem,1.5vw,1rem);margin-top:-1.6rem}.detail-count{position:fixed;bottom:clamp(.9rem,2.5vh,1.75rem);left:50%;transform:translate(-50%);font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.18em;color:var(--ink-faint);font-variant-numeric:tabular-nums}footer{border-top:1px solid var(--rule);padding:1.9rem 0 3.5rem;font-family:var(--mono);font-size:var(--t-small);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:var(--ease)}::view-transition-group(hero){animation-duration:.58s;animation-timing-function:var(--ease)}::view-transition-image-pair(hero){isolation:auto}::view-transition-old(hero),::view-transition-new(hero){animation:none;mix-blend-mode:normal;height:100%;overflow:clip}@media(max-width:46rem){.row{flex-direction:column;align-items:center;width:100%;gap:clamp(4rem,10vh,7rem)}.work{flex:none;--natural: min(100%, calc(var(--hang) * var(--ar)));width:calc(var(--size, 1) * var(--natural))}}@media(max-width:40rem){:root{--hang: 62vh}.grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.4rem}.detail-inner{padding:3.5rem 1.25rem 2.5rem}.detail-prev{left:0}.detail-next{right:0}.detail-count{position:static;transform:none;margin:.25rem 0 0;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.work,.work-label,.tile,.panel,.interlude{opacity:1!important;transform:none!important;animation:none!important}.work-drift{animation:none!important;transform:none!important}}.work-frame picture,.detail-figure picture{display:block;line-height:0}.work-frame,.detail-figure{background-size:cover;background-position:center;background-repeat:no-repeat}.work-frame img,.detail-figure img{animation:settle .6s var(--ease) both}@keyframes settle{0%{opacity:0}to{opacity:1}}.view{display:block}.viewnav a{font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none;padding:0 0 .35rem;position:relative;transition:color .35s var(--ease)}.viewnav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.viewnav a:hover{color:var(--ink-soft)}.viewnav a[aria-current=page]{color:var(--ink)}.viewnav a[aria-current=page]:after{transform:scaleX(1)}.staging{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding:.6rem clamp(1.5rem,5vw,3.5rem);background:var(--accent);color:#fff;font-family:var(--mono);font-size:var(--t-measure);letter-spacing:.06em}.staging a{color:#fff}.empty{max-width:var(--measure);margin:clamp(4rem,16vh,9rem) auto;font-family:var(--serif);font-size:var(--t-body);color:var(--ink-soft);text-align:center}@media(hover:none){:root{--t-measure: .9375rem;--t-small: .9375rem;--t-label: 1.375rem}.staging{position:fixed;inset:auto 0 0;flex-direction:column;align-items:stretch;gap:.5rem;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px))}.staging>span:first-child{font-size:.8125rem;line-height:1.45;letter-spacing:.02em}.staging>span:last-child{display:flex;gap:.5rem;font-size:0}.staging a{flex:1;display:flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 .5rem;border:1px solid rgba(255,255,255,.55);font-size:.8125rem;text-decoration:none}body:has(.staging){padding-bottom:calc(8.5rem + env(safe-area-inset-bottom,0px))}.wordmark a{display:inline-flex;align-items:center;min-height:44px}.viewnav{gap:.25rem}.viewnav a{padding:.7rem .5rem;background-clip:content-box}footer a{display:inline-flex;align-items:center;min-height:44px;padding-inline:.4rem}.segmented :is(button,a){padding:.75rem 1.1rem}.detail-btn{display:flex;align-items:center;justify-content:center;min-width:3rem;min-height:3rem}.tile-tag{opacity:1}.maplegend{justify-content:flex-start;text-align:left}.mapindex a{display:flex;align-items:center;min-height:44px}.mapindex-coord{display:flex;align-items:center}}@media(hover:none)and (max-width:40rem){.grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.detail-inner{padding:4.25rem 0 0}.detail-prev,.detail-next{top:auto;bottom:0;margin-top:0}.detail-count{display:flex;align-items:center;justify-content:center;min-height:3.25rem;margin:.5rem 0 0}.card-facts{grid-template-columns:1fr;gap:0;line-height:1.45}.card-facts dt{margin-top:.7rem}.card-facts dt:first-of-type{margin-top:0}.card-facts dd{margin-top:.1rem}}
