/* Cinematic photo selector: the full collection stays in one focused viewer. */
.photo-tools{display:flex;justify-content:space-between;gap:22px;align-items:center;margin:32px 0 22px}.photo-filters{display:flex;gap:7px;flex-wrap:wrap}.photo-filters button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;font-size:11px;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}.photo-filters button:hover{border-color:var(--accent);color:var(--ink)}.photo-filters button[aria-pressed=true]{background:var(--accent);color:#17170e;border-color:var(--accent);font-weight:800}.photo-light{display:flex;gap:8px;align-items:center;white-space:nowrap;font-size:10px;color:var(--muted)}.photo-light select{background:#1b2019;border:1px solid var(--line);color:var(--ink);font:inherit;padding:10px 12px;max-width:150px}.photo-light select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.photo-screen{position:relative;aspect-ratio:16/9;overflow:hidden;background:#080d09;border:1px solid var(--line);touch-action:pan-y}.photo-screen:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.photo-open{position:absolute;inset:0;display:block;overflow:hidden}.photo-featured{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity .7s ease,transform 1.6s cubic-bezier(.2,.55,.3,1);will-change:opacity;pointer-events:none}.photo-featured.is-current{opacity:1;transform:scale(1)}.photo-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#030803d9,transparent 38%);pointer-events:none}.photo-scene-label{position:absolute;left:30px;bottom:30px;z-index:1;pointer-events:none}.photo-scene-label p{font-size:10px;letter-spacing:.13em;color:#f3c785}.photo-scene-label p span+span::before{content:"/";margin:0 10px;color:#d6d3bd}.photo-scene-label h3{font-size:clamp(24px,3vw,42px);margin-top:8px;font-weight:650;line-height:1.1;letter-spacing:-.025em}.photo-enlarge{position:absolute;right:18px;top:18px;z-index:1;font-size:10px;font-weight:700;padding:8px 12px;border:1px solid #ffffff55;background:#091009a3;color:var(--ink);pointer-events:none}.photo-nav{position:absolute;z-index:2;top:43%;display:grid;place-items:center;width:45px;height:52px;padding:0;border:1px solid #ffffff66;background:#070c09a8;color:var(--ink);font-size:23px;transition:background .2s,transform .2s}.photo-nav:hover{background:#d7af5edb;color:#111}.photo-nav.prev{left:16px}.photo-nav.next{right:16px}.photo-screen[aria-busy=true] .photo-enlarge{opacity:.5}.photo-progress{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:#e5b3611f}.photo-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.photo-meta{display:flex;gap:20px;justify-content:space-between;align-items:center;border-inline:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 21px;background:#151a14;min-height:82px}.photo-description{color:#c2c9b8;font-size:12px;max-width:650px}.photo-meta-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}.photo-counter{font-family:monospace;letter-spacing:.08em;color:var(--accent);font-size:12px;white-space:nowrap}.photo-tour{color:var(--ink);background:#222a1e;border:1px solid var(--line);font-size:10px;font-weight:700;padding:10px 13px;white-space:nowrap}.photo-tour span{font-size:13px;margin-right:5px}.photo-tour[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.photo-tour:hover{background:#303c29}.photo-rail-wrap{position:relative;margin-top:18px}.photo-rail{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#596348 #1a2117;padding:4px 2px 14px;overscroll-behavior-x:contain}.photo-thumb{position:relative;display:block;flex:0 0 142px;text-decoration:none;border:1px solid #ffffff2c;padding:3px;scroll-snap-align:center;opacity:.62;transition:opacity .25s,border-color .25s,transform .25s}.photo-thumb img{width:100%;height:79px;object-fit:cover;pointer-events:none}.photo-thumb span{display:block;font-size:8px;line-height:1.45;padding:6px 4px 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#c8cebd;letter-spacing:.025em}.photo-thumb:hover{opacity:1;transform:translateY(-2px)}.photo-thumb[aria-current=true]{opacity:1;border-color:var(--accent);background:#e7ae5115}.photo-thumb[aria-current=true]::after{content:"";position:absolute;inset:auto 3px -2px;height:3px;background:var(--accent)}.photo-rail-hint{font-size:10px;color:#8f9b82;margin-top:6px}.photo-empty{border:1px solid var(--line);padding:30px;text-align:center;color:var(--muted)}.gallery-section .gallery-note{margin-top:22px}.photo-collection-count{color:var(--accent);font-size:10px;letter-spacing:.1em;margin-bottom:8px;display:block}#photo-full{transition:opacity .25s}.photo-meta-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1050px){.photo-tools{display:block}.photo-light{margin-top:15px;justify-content:flex-end}.photo-meta{gap:14px}.photo-meta-controls{gap:12px}.photo-description{max-width:55%}}
@media(max-width:650px){.photo-tools{margin-top:24px}.photo-filters{gap:6px}.photo-filters button{font-size:10px;padding:9px 11px}.photo-light{margin-top:14px;justify-content:space-between}.photo-screen{aspect-ratio:4/3}.photo-scene-label{left:18px;right:18px;bottom:19px}.photo-scene-label p{font-size:8px;letter-spacing:.09em}.photo-scene-label h3{font-size:26px;max-width:85%}.photo-screen::after{background:linear-gradient(0deg,#030803e0,transparent 52%)}.photo-enlarge{right:11px;top:11px;padding:6px 9px;font-size:9px}.photo-nav{width:33px;height:43px;font-size:20px;top:36%}.photo-nav.prev{left:9px}.photo-nav.next{right:9px}.photo-meta{display:block;padding:15px 16px;min-height:125px}.photo-description{max-width:100%;font-size:11px;min-height:36px}.photo-meta-controls{justify-content:space-between;margin-top:12px}.photo-thumb{flex-basis:108px}.photo-thumb img{height:61px}.photo-thumb span{font-size:7px}.photo-rail{gap:8px}.photo-rail-hint{font-size:9px}.photo-collection-count{font-size:9px}}
@media(prefers-reduced-motion:reduce){.photo-featured{transform:none;transition:none}.photo-rail{scroll-behavior:auto}.photo-thumb{transition:none}.photo-thumb:hover{transform:none}}
@media(max-width:650px){.photo-screen .photo-featured{object-fit:contain}}
