:root[data-motion] .image-frame img:not([data-loaded]){opacity:0}:root[data-motion=full] .image-frame img{transition:opacity .9s var(--ease-soft), filter 1.4s var(--ease-soft), transform 1.7s var(--ease-out), scale 1.4s var(--ease-out)}:root[data-motion=full] .image-frame img:not([data-loaded]){filter:blur(16px)saturate(.5)brightness(1.06)}:root[data-motion=full] .image-frame img[data-loaded=instant]{transition:transform 1.7s var(--ease-out), scale 1.4s var(--ease-out)}:root[data-motion=full] [data-reveal]{transition:opacity 1s var(--ease-soft) var(--reveal-delay,0s), translate 1.4s var(--ease-out) var(--reveal-delay,0s)}:root[data-motion=full] [data-reveal]:not([data-revealed]){opacity:0;translate:0 2.5rem}:root[data-motion=full] [data-reveal] .image-frame{transition:clip-path 1.5s var(--ease-out) var(--reveal-delay,0s), filter .7s var(--ease-soft)}:root[data-motion=full] [data-reveal]:not([data-revealed]) .image-frame{clip-path:inset(100% 0 0)}:root[data-motion=full] [data-reveal]:not([data-revealed]) .image-frame img{transform:scale(1.16)}:root[data-motion=full] [data-revealed=instant],:root[data-motion=full] [data-revealed=instant] .image-frame,:root[data-motion=full] [data-revealed=instant] .image-frame img{transition:none}.split-word{vertical-align:top;margin:-.08em -.06em -.24em;padding:.08em .06em .24em;display:inline-block;overflow:hidden}.split-word>span{display:inline-block}:root[data-motion=full] .split-word>span{animation:word-rise 1.2s var(--ease-out) both;animation-delay:calc(var(--word-index,0) * 90ms + .1s)}:root[data-motion=full] .intro-fade{animation:soft-rise 1.1s var(--ease-out) .38s both}:root[data-motion=reduced] .intro-fade,:root[data-motion=reduced] .split-word>span{animation:.4s both fade-in}@keyframes word-rise{0%{transform:translateY(108%)rotate(2deg)}}@keyframes soft-rise{0%{opacity:0;transform:translateY(.9rem)}}@keyframes fade-in{0%{opacity:0}}.caption-title{transition:background-size .7s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;justify-self:start;padding-bottom:.15rem}.caption-index{transition:color .5s var(--ease-soft)}.collection-arrow{vertical-align:middle;opacity:0;transition:opacity .5s var(--ease-soft), translate .7s var(--ease-out);font-size:.5em;display:inline-block;translate:-.6em}.collection-card-copy h2{transition:translate .9s var(--ease-out)}.photo-link:focus-visible .caption-title{background-size:100% 1px}@media (hover:hover) and (pointer:fine){.photo-link:hover .image-frame img,.photo-stage-trigger:hover .image-frame img{scale:1.035}.photo-link:hover .image-frame:after{border-color:#ffffff38}.photo-link:hover .caption-title{background-size:100% 1px}.photo-link:hover .caption-index{color:#f1efe9}.featured:has(.photo-link:hover) .photo-link:not(:hover) .image-frame{filter:grayscale(.6)brightness(.5)}.collection-card:hover h2{translate:.4rem}.collection-card:hover .collection-arrow{opacity:1;translate:0}}.cursor-follower{z-index:80;pointer-events:none;position:fixed;top:0;left:0}.cursor-follower span{width:5.5rem;height:5.5rem;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .3s var(--ease-soft), scale .6s var(--ease-out);background:#f3f1ece6;border-radius:50%;place-items:center;margin:-2.75rem 0 0 -2.75rem;font-size:.64rem;display:grid;scale:.3}.cursor-follower[data-visible] span{opacity:1;scale:1}:root[data-cursor-follower] [data-cursor],:root[data-cursor-follower] [data-cursor] *{cursor:none}.site-header{view-transition-name:site-header}::view-transition-old(root){animation:.26s var(--ease-soft) both vt-fade-out}::view-transition-new(root){animation:.56s var(--ease-out) 60ms both vt-rise-in}::view-transition-group(*.photo){animation-duration:.76s;animation-timing-function:cubic-bezier(.7,0,.15,1)}::view-transition-old(*.photo){object-fit:cover;width:100%;height:100%}::view-transition-new(*.photo){object-fit:cover;width:100%;height:100%}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html:has(.viewer[open]){overflow:hidden}.viewer{--viewer-pad:clamp(.75rem, 4vw, 4rem);--viewer-pad-y:clamp(4rem, 9vh, 5.5rem);color:#f1efe9;background:#0b0b0a;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.viewer::backdrop{background:#0b0b0a}.viewer:focus{outline:none}.viewer-shell{position:absolute;inset:0}.viewer-stage{touch-action:none;cursor:zoom-in;-webkit-user-select:none;user-select:none;place-items:center;display:grid;position:absolute;inset:0}.viewer-stage[data-zoomed]{cursor:grab}.viewer-stage[data-dragging]{cursor:grabbing}.viewer-canvas{width:min(calc(100vw - 2 * var(--viewer-pad)), calc((100dvh - 2 * var(--viewer-pad-y)) * var(--ratio)));aspect-ratio:var(--ratio);transform-origin:50%;background:var(--photo-color,#1d1c19) var(--photo-placeholder,none) center / cover no-repeat;transition:transform .7s var(--ease-out);position:relative;overflow:hidden;box-shadow:0 2rem 6rem #00000073}.viewer-stage[data-dragging] .viewer-canvas{transition:none}.viewer-canvas img{object-fit:cover;-webkit-user-drag:none;width:100%;height:100%;display:block;position:absolute;inset:0}.viewer-layer{opacity:0;transition:opacity .6s var(--ease-soft)}.viewer-layer[data-ready]{opacity:1}.viewer-bar{z-index:2;padding:1rem var(--viewer-pad);pointer-events:none;background:linear-gradient(#0b0b0ad9,#0b0b0a00);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;inset:0 0 auto}.viewer-bar>*{pointer-events:auto}.viewer-title{gap:.15rem;min-width:0;display:grid}.viewer-title span{color:#aaa79e;letter-spacing:.14em;text-transform:uppercase;font-size:.64rem}.viewer-title strong{white-space:nowrap;text-overflow:ellipsis;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:400;overflow:hidden}.viewer-controls{align-items:center;gap:.5rem;display:flex}.viewer-scale{color:#aaa79e;letter-spacing:.1em;font-variant-numeric:tabular-nums;white-space:nowrap;margin-right:.5rem;font-size:.68rem}.viewer-controls button{width:2.6rem;height:2.6rem;color:inherit;cursor:pointer;transition:background-color .3s var(--ease-soft), border-color .3s var(--ease-soft), opacity .3s;background:#17171599;border:1px solid #ffffff2e;border-radius:50%;place-items:center;padding:0;display:grid}.viewer-controls button:hover:not(:disabled){color:#11110f;background:#f1efe9;border-color:#f1efe9}.viewer-controls button:disabled{opacity:.35;cursor:default}.viewer-controls button:focus-visible{outline-offset:3px;outline:2px solid #f1efe9}.viewer-hint{z-index:2;color:#aaa79e;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);background:#17171599;margin:0;padding:.45rem .85rem;font-size:.66rem;position:absolute;bottom:1.25rem;left:50%;translate:-50%}.viewer-hint-touch{display:none}@media (hover:none){.viewer-hint-pointer{display:none}.viewer-hint-touch{display:inline}}.viewer-progress{z-index:3;height:2px;position:absolute;inset:0 0 auto;overflow:hidden}.viewer-progress:after{content:"";width:35%;animation:viewer-progress 1.1s var(--ease-in-out) infinite;background:#f1efe9;position:absolute;inset:0}@keyframes viewer-progress{0%{translate:-100%}to{translate:300%}}:root[data-motion=reduced] .viewer-canvas{transition:none}.featured-count-3 .featured-item-3{grid-column:4/12}.featured-count-5 .featured-item-5{grid-column:3/12}@media (max-width:720px){.featured-count-3 .featured-item-3,.featured-count-5 .featured-item-5{grid-column:1}.viewer-scale{display:none}.viewer-hint{font-size:.6rem;bottom:.75rem}.photo-stage-hint{bottom:.5rem;right:.5rem}}
