.photo-browser{border:1px solid #dae5ed;background:white;border-radius:18px;padding:10px;box-shadow:0 12px 35px #092e4910;margin-bottom:32px}.photo-stage{position:relative;border-radius:12px;overflow:hidden;background:#071f2c}.stage-open{display:block;padding:0;border:0;background:none;width:100%;position:relative;cursor:zoom-in}.stage-open img{display:block;width:100%;height:clamp(280px,45vw,580px);object-fit:contain;background:#092735}.expand-photo{position:absolute;right:18px;top:18px;background:#072638da;color:white;border:1px solid #ffffff40;padding:10px 15px;border-radius:8px;font-size:14px}.stage-prev,.stage-next{position:absolute;top:calc(50% - 24px);width:48px;height:48px;border:1px solid #ffffff60;background:#ffffffed;color:#092f49;border-radius:50%;font-size:33px;box-shadow:0 4px 15px #0002}.stage-prev{left:17px}.stage-next{right:17px}.stage-caption{display:flex;align-items:center;justify-content:space-between;padding:20px 14px;gap:15px}.stage-caption .eyebrow{font-size:10px;margin-bottom:5px}.stage-caption h3{font-size:22px}.stage-count{color:#587084;font-size:14px;white-space:nowrap}.photo-strip{display:flex;gap:9px;overflow-x:auto;padding:2px 4px 12px;scrollbar-width:thin;scrollbar-color:#b0c7d5 transparent}.strip-thumb{position:relative;flex:0 0 108px;padding:3px;border:2px solid transparent;background:#edf3f7;border-radius:8px;overflow:hidden}.strip-thumb img{display:block;width:100%;height:64px;object-fit:cover;border-radius:4px}.strip-thumb.selected{border-color:#bd9348;background:#fff4db}.strip-thumb span{position:absolute;bottom:6px;right:6px;background:#092b40d9;color:white;font-size:10px;padding:3px 5px;border-radius:3px}.photo-filters{display:flex;align-items:center;justify-content:space-between;margin:0 0 22px;gap:15px}.photo-filters>div{display:flex;flex-wrap:wrap;gap:9px}.photo-filters button{border:1px solid #dce7ee;background:white;color:#435f72;padding:11px 17px;border-radius:24px;font-size:14px;min-height:44px}.photo-filters button.selected{background:#0b3e5a;color:white;border-color:#0b3e5a}.filter-count{font-size:13px;color:#788e9e;white-space:nowrap}.actual-photo[hidden]{display:none}.actual-photo{cursor:zoom-in}.photo-viewer-open{overflow:hidden}.immersive-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0;padding:20px 35px;background:#061b28;color:white;overflow:hidden}.immersive-viewer .viewer-heading{height:43px;display:flex;gap:25px;align-items:center;padding-right:60px}.viewer-heading b{font-size:16px}.viewer-heading span{font-size:12px;color:#94adbb}.immersive-viewer .close{top:18px;right:25px;width:42px;height:42px;background:#193c50;color:white;border:1px solid #ffffff30}.immersive-viewer .actual-large{height:calc(100dvh - 235px);max-height:none;background:#061b28;object-fit:contain}.immersive-viewer .photo-controls{margin:10px 0 15px;height:44px}.immersive-viewer .photo-controls button{background:#12384e;color:white;border-color:#315568;width:48px;height:44px}.immersive-viewer .photo-controls span{color:#e0ebf1}.viewer-strip{display:flex;gap:8px;overflow-x:auto;padding:3px 0 8px;scrollbar-width:thin}.viewer-strip button{flex:0 0 100px;padding:3px;background:transparent;border:2px solid transparent;border-radius:8px}.viewer-strip button.selected{border-color:#efcb8b}.viewer-strip img{display:block;width:100%;height:60px;object-fit:cover;border-radius:4px}
@media(max-width:700px){.photo-browser{padding:6px;border-radius:13px;margin-bottom:25px}.stage-open img{height:auto;aspect-ratio:16/10;object-fit:contain}.expand-photo{font-size:11px;padding:7px 10px;top:10px;right:10px}.stage-prev,.stage-next{width:36px;height:36px;top:calc(50% - 18px);font-size:26px}.stage-prev{left:8px}.stage-next{right:8px}.stage-caption{padding:16px 8px}.stage-caption h3{font-size:18px}.stage-count{font-size:12px}.strip-thumb{flex-basis:82px}.strip-thumb img{height:50px}.photo-filters{display:block}.photo-filters>div{gap:7px}.photo-filters button{font-size:12px;padding:9px 12px}.filter-count{display:block;margin-top:12px}.immersive-viewer{padding:15px 12px}.immersive-viewer .viewer-heading{height:48px;display:block;padding-right:45px}.viewer-heading b{font-size:14px;display:block}.viewer-heading span{font-size:10px;display:block;margin-top:5px}.immersive-viewer .close{right:12px;top:13px;width:38px;height:38px}.immersive-viewer .actual-large{height:calc(100dvh - 220px)}.immersive-viewer .photo-controls span{font-size:12px;max-width:65%}.viewer-strip button{flex-basis:82px}.viewer-strip img{height:50px}}
