.photo-section{padding:54px 0 76px;background:var(--cream)}.photo-story{display:flex;flex-direction:column;gap:18px}.photo-row{display:flex;align-items:flex-start;gap:18px}.photo{display:block;flex:var(--ratio) 1 0;min-width:0;background:var(--paper);line-height:0;position:relative;box-shadow:0 3px 12px #211d1812;transition:box-shadow .2s,transform .2s}.photo img{display:block;width:100%;height:auto;aspect-ratio:var(--ratio)}.photo:hover{box-shadow:0 6px 22px #211d1830;transform:translateY(-3px);z-index:1}.photo:focus-visible{outline:3px solid var(--red);outline-offset:4px}.photo-row:nth-child(4n+2){padding:0 38px}.photo-row:last-child{max-width:650px;width:100%;align-self:center}.photo-dialog{padding:50px 60px 38px;border:0;background:#302c2a;color:#fffdf8;width:96vw;max-width:1500px;height:94dvh;max-height:94dvh;overflow:hidden}.photo-dialog::backdrop{background:#302c2ae8}.photo-dialog figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:14px}.viewer-image{display:block;width:100%;height:calc(100% - 36px);object-fit:contain}.viewer-caption{font-size:.88rem;color:#f7f1e7;text-align:center;line-height:1.4}.photo-dialog button{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid #ffffff50;background:#211d18c9;color:#fffdf8;cursor:pointer;border-radius:50%;height:42px;width:42px;font:400 2rem/1 sans-serif}.photo-dialog button:hover{background:var(--red)}.photo-dialog button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.viewer-close{top:12px;right:14px}.viewer-prev{left:9px;top:48%}.viewer-next{right:9px;top:48%}@media(max-width:900px){.photo-story,.photo-row{gap:12px}.photo-row:nth-child(4n+2){padding:0 18px}}@media(max-width:700px){.photo-section{padding:30px 0 44px}.photo-story{display:block;column-count:2;column-gap:12px}.photo-row{display:contents}.photo{display:inline-block;width:100%;margin:0 0 12px;break-inside:avoid;vertical-align:top}.photo:hover{transform:none}.photo-dialog{padding:50px 36px 22px;width:100vw;height:94dvh}.photo-dialog button{height:32px;width:32px}.viewer-prev{left:2px}.viewer-next{right:2px}}@media(prefers-reduced-motion:reduce){.photo{transition:none}.photo:hover{transform:none}}
