.d .page{position:absolute;inset:0;display:flex;flex-direction:column;padding:110px 32px 100px;z-index:5}.d .page header.intro{flex-shrink:0;margin-bottom:56px}.d .page .h-title{font-family:PlayfairDisplay,Georgia,serif;font-weight:400;font-size:clamp(48px,6vw,64px);color:var(--fg);letter-spacing:-.01em;line-height:1;margin:0 0 28px}.d .page .h-desc{font-family:Inter,system-ui,sans-serif;font-size:clamp(17px,1.6vw,19px);line-height:1.45;color:#edededc7;max-width:560px;margin:0;letter-spacing:-.005em}.d .gallery{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-flow:dense;align-items:start;gap:18px;padding-right:8px}.d .gallery::-webkit-scrollbar{width:4px}.d .gallery::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.d .shot{margin:0;cursor:zoom-in;-webkit-tap-highlight-color:transparent;transition:filter .45s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s ease}.d .shot.tall{grid-row:span 2}.d .shot .frame{position:relative;aspect-ratio:3 / 2;overflow:hidden;background:var(--card);box-shadow:0 12px 32px -16px #000000b3,0 1px #ffffff0a}.d .shot.tall .frame{aspect-ratio:2 / 3}.d .shot .frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.d .shot figcaption{display:flex;gap:10px;align-items:baseline;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#ededed73;padding-top:10px;font-family:CommitMono,ui-monospace,monospace}.d .shot figcaption .num{color:#edededd9;min-width:24px}.d .shot figcaption .sep{opacity:.4}@media (hover: hover) and (pointer: fine){.d .gallery:hover .shot:not(:hover),.d .gallery:focus-within .shot:not(:focus-visible){filter:blur(4px) brightness(.5);opacity:.7}.d .shot:hover,.d .shot:focus-visible{transform:translateY(-2px)}}.d .lightbox{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .22s cubic-bezier(.4,0,.2,1)}.d .lightbox[data-state=open]{pointer-events:auto;opacity:1}.d .lightbox .backdrop{position:absolute;inset:0;background:#0b0a09db;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.d .lightbox .stage{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px;max-width:min(1100px,92vw);transform:translate3d(0,12px,0) scale(.985);transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .45s cubic-bezier(.2,.8,.2,1);opacity:0}.d .lightbox[data-state=open] .stage{transform:translateZ(0) scale(1);opacity:1}.d .lightbox .frame{position:relative;max-width:100%;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55))}.d .lightbox .frame img{display:block;max-width:100%;max-height:78vh;-o-object-fit:contain;object-fit:contain;opacity:0;transform:scale(.99)}.d .lightbox .frame img.in{opacity:1;transform:scale(1);transition:opacity .46s cubic-bezier(.2,.7,.2,1),transform .46s cubic-bezier(.2,.7,.2,1)}.d .lightbox .frame img.out{opacity:0;transform:scale(.99);transition:opacity .32s cubic-bezier(.4,0,.4,1),transform .32s cubic-bezier(.4,0,.4,1)}.d .lightbox .meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;width:100%;opacity:0;transform:translateY(-2px)}.d .lightbox .meta.in{opacity:1;transform:translateY(0);transition:opacity .36s cubic-bezier(.2,.7,.2,1) .04s,transform .36s cubic-bezier(.2,.7,.2,1) .04s}.d .lightbox .meta.out{opacity:0;transform:translateY(-2px);transition:opacity .26s cubic-bezier(.4,0,.4,1),transform .26s cubic-bezier(.4,0,.4,1)}.d .lightbox .meta .num{font-family:CommitMono,ui-monospace,monospace;font-size:10px;letter-spacing:.1em;color:#edededf2;min-width:26px}.d .lightbox .meta .alt{font-family:PlayfairDisplay,Georgia,serif;font-style:italic;font-size:17px;letter-spacing:-.005em;color:#edededeb;flex:1 1 auto}.d .lightbox .meta .tags{display:flex;gap:8px;align-items:baseline;font-family:CommitMono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ededed8c}.d .lightbox .meta .tags .sep{opacity:.4}.d .lightbox .close,.d .lightbox .nav{position:absolute;z-index:2;background:#14110eb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);color:#edededd9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,transform .2s}.d .lightbox .close{top:24px;right:24px;width:36px;height:36px;border-radius:50%;padding:0;line-height:0}.d .lightbox .close svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.d .lightbox .close:hover svg{transform:rotate(90deg)}.d .lightbox .nav{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%);font-family:PlayfairDisplay,Georgia,serif;font-size:24px;padding:0 0 3px;line-height:1}.d .lightbox .nav.prev{left:24px}.d .lightbox .nav.next{right:24px}.d .lightbox .close:hover,.d .lightbox .nav:hover{background:#ffffff0f;color:#fff}.d .lightbox .nav.prev:hover{transform:translateY(-50%) translate(-2px)}.d .lightbox .nav.next:hover{transform:translateY(-50%) translate(2px)}.d .lightbox .counter{position:absolute;top:30px;left:24px;z-index:2;font-family:CommitMono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ededed8c}.d .lightbox .counter b{color:#edededf2;font-weight:400}@media (max-width: 768px){.d .page{position:relative;inset:auto;max-width:none;display:block;padding:80px 16px 130px}.d .page header.intro{margin-bottom:40px}.d .page .h-title{font-size:40px;margin-bottom:20px}.d .page .h-desc{font-size:15.5px}.d .gallery{overflow:visible;grid-template-columns:repeat(2,1fr);gap:14px;padding-right:0}.d .shot figcaption{font-size:8px;gap:6px;padding-top:6px}.d .shot figcaption .num{min-width:18px}.d .lightbox .close{top:14px;right:14px;width:34px;height:34px}.d .lightbox .counter{top:22px;left:14px}.d .lightbox .nav{width:36px;height:36px;font-size:20px}.d .lightbox .nav.prev{left:10px}.d .lightbox .nav.next{right:10px}.d .lightbox .stage{max-width:94vw;gap:14px}.d .lightbox .frame img{max-height:64vh}.d .lightbox .meta{gap:8px;padding:0 6px}.d .lightbox .meta .alt{font-size:15px;flex-basis:100%}.d .lightbox .meta .tags{font-size:9px;flex-basis:100%}}
