.photography-section{background:#080808;color:#f5f2eb;padding:100px 0 55px;overflow:hidden;border-top:1px solid #29251f}.photography-heading{padding:0 6vw 60px;display:flex;justify-content:space-between;align-items:end;gap:40px}.photography-heading .eyebrow{color:#cfb984}.photography-heading h2{font:400 clamp(3.3rem,7vw,7rem)/.98 Georgia,serif;letter-spacing:-.04em;margin:22px 0 0}.photography-heading h2 em{color:#d7c299}.photography-note{max-width:350px}.photography-note p{font-size:17px;line-height:1.7;color:#bfbab1;margin-bottom:25px}.photography-note button{color:#ead8b4}.photo-reels{display:grid;gap:22px}.photo-rail{overflow:hidden;padding:6px 0}.photo-track{display:flex;width:max-content;animation:photo-drift 220s linear infinite;animation-play-state:paused}.photo-rail:nth-child(2) .photo-track{animation-direction:reverse;animation-duration:210s}.photo-group{display:flex;align-items:center;gap:22px;padding-right:22px;flex:none}.photo-frame{border:0;padding:0;background:#141414;position:relative;display:block;flex:none;height:clamp(210px,25vw,365px);aspect-ratio:var(--photo-ratio);max-width:540px;overflow:hidden;cursor:zoom-in;color:#fff}.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s ease,filter .65s ease}.photo-frame span{position:absolute;bottom:0;left:0;right:0;padding:36px 15px 14px;background:linear-gradient(transparent,#0009);font:600 12px/1.4 Arial,sans-serif;letter-spacing:.08em;opacity:0;transition:opacity .25s}.photo-frame:hover img{transform:scale(1.035)}.photo-frame:hover span,.photo-frame:focus-visible span{opacity:1}.photo-frame:focus-visible{outline:2px solid #e8c787;outline-offset:-4px}.photography-section.is-visible .photo-track{animation-play-state:running}.photography-section:hover .photo-track,.photography-section:focus-within .photo-track,.photography-section.is-paused .photo-track,.motion-paused .photo-track,.photography-section.dialog-open .photo-track{animation-play-state:paused}.photography-footer{display:flex;justify-content:space-between;gap:20px;padding:35px 6vw 0;color:#b4a995;font-size:12px;letter-spacing:.12em;font-weight:600}
@keyframes photo-drift{to{transform:translateX(-50%)}}
.photography-section.is-grid .photo-reels{display:block;padding:0 6vw}.photography-section.is-grid .photo-rail{overflow:visible;padding:0}.photography-section.is-grid .photo-track{display:block;width:auto;animation:none}.photography-section.is-grid .photo-group{display:block;columns:3;column-gap:22px;padding:0;margin-bottom:22px}.photography-section.is-grid .photo-frame{display:inline-block;width:100%;height:auto;aspect-ratio:var(--photo-ratio);max-width:none;margin-bottom:22px;break-inside:avoid;vertical-align:top}.photography-section.is-grid .photo-clone{display:none}
#photo-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:70px 5vw 22px;border:0;background:#080808;color:#fff;box-sizing:border-box}#photo-dialog::backdrop{background:#000e}#photo-dialog figure{margin:0;display:flex;flex-direction:column;align-items:center;height:calc(100% - 62px);gap:18px}#photo-full{width:100%;min-height:0;flex:1;object-fit:contain}#photo-caption{font-size:16px;text-align:center;color:#e2d2b6}.photo-close{position:absolute;right:25px;top:16px;width:48px;height:48px;border:1px solid #5a5140;border-radius:50%;background:#151515;color:#fff;font-size:30px;cursor:pointer}.photo-dialog-controls{display:flex;justify-content:center;align-items:center;gap:clamp(10px,4vw,30px);margin-top:16px}.photo-dialog-controls button{min-width:80px;height:44px;padding:0 14px;background:transparent;color:#fff;border:1px solid #5a5140;font-size:14px;cursor:pointer}.photo-dialog-controls span{font-size:14px;letter-spacing:.12em}
@media(max-width:700px){.photography-section{padding-top:65px}.photography-heading{display:block;padding-bottom:32px}.photography-note{margin-top:28px}.photo-frame{height:235px;max-width:85vw}.photo-group{gap:12px;padding-right:12px}.photo-reels{gap:12px}.photography-footer{font-size:11px;flex-direction:column;gap:9px}.photography-section.is-grid .photo-group{columns:2;column-gap:12px;margin-bottom:12px}.photography-section.is-grid .photo-frame{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.photo-track{animation:none}.photo-rail{overflow-x:auto}.photo-clone{display:none}.photo-frame img{transition:none}.photo-frame:hover img{transform:none}}
