/* All presentation changes are scoped to Explore. */
body[data-page="explore"]{background:#030303}
body[data-page="explore"]>footer,body[data-page="explore"]>.motion-switch{display:none}
.explore{position:relative;min-height:100svh;padding-top:150px;background:#030303;overflow:hidden}
.explore-modes{position:fixed;top:108px;left:50%;transform:translateX(-50%);display:flex;z-index:15;background:#03030380;border-radius:30px;backdrop-filter:blur(12px)}
.explore-modes button{display:grid;place-items:center;width:40px;height:40px;padding:0}
.explore-modes button span{width:6px;height:6px;border-radius:50%;background:#777;transition:background .2s,transform .2s}
.explore-modes button[aria-pressed="true"] span{background:var(--paper);transform:scale(1.4)}
.explore-gallery{position:relative;outline-offset:-3px!important}
.explore:not([data-mode="grid"]) .explore-gallery{height:calc(100svh - 150px);min-height:360px;perspective:1300px;touch-action:pinch-zoom;overscroll-behavior:contain;user-select:none;-webkit-user-select:none;cursor:grab}
.explore:not([data-mode="grid"]) .explore-gallery:active{cursor:grabbing}
.explore-card{display:block;padding:0;min-width:0;position:relative}
.explore-image{display:block;overflow:hidden;background:#11110f;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.explore-image img{display:block;width:100%;height:100%;object-fit:cover}
.explore-card:focus-visible .explore-image{transform:scale(1.025)}
@media(hover:hover){.explore-card:hover .explore-image{transform:scale(1.025)}}
.explore:not([data-mode="grid"]) .explore-card{position:absolute;left:50%;top:50%;width:clamp(180px,28vw,480px);backface-visibility:hidden;will-change:transform,opacity}
.explore[data-mode="orbit"] .explore-image{height:var(--card-height,280px)}
.explore[data-mode="focus"] .explore-image img{height:auto}
.explore[data-mode="grid"] .explore-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:calc((100vw - 56px)/12);grid-auto-flow:dense;gap:8px;padding:8px}
.explore[data-mode="grid"] .explore-card{grid-column:span 2;grid-row:span 2;overflow:hidden}
.explore[data-mode="grid"] .explore-card[data-shape="portrait"]{grid-column:span 1;grid-row:span 3}
.explore[data-mode="grid"] .explore-card:nth-child(8n){grid-column:span 3;grid-row:span 3}
.explore[data-mode="grid"] .explore-image{height:100%}
.explore-lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#030303;color:var(--paper);overflow:auto}
.explore-lightbox::backdrop{background:#030303f5}
.explore-lightbox[open]{display:grid;grid-template-columns:80px minmax(0,1fr) 80px;grid-template-rows:90px minmax(0,1fr);align-items:center}
.explore-viewer-top{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;font-size:14px;letter-spacing:.08em}
.explore-close{min-height:44px;padding:10px 0 10px 20px;font-size:14px}.explore-close span{margin-left:20px}
.explore-lightbox figure{margin:0;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:0 0 40px;touch-action:pan-y pinch-zoom}
.explore-lightbox figure img{display:block;max-width:100%;max-height:calc(100svh - 190px);width:auto;height:auto;object-fit:contain}
.explore-lightbox figcaption{text-transform:capitalize;font-size:14px;color:var(--muted);text-align:center}
.explore-prev,.explore-next{width:48px;height:48px;margin:auto;border:1px solid var(--line);border-radius:50%;font-size:24px}
.explore-image-error{padding:30px;font-size:16px;text-align:center}

.motion-paused .explore-image{transition:none}
@media(min-width:1600px){.explore[data-mode="orbit"] .explore-gallery{perspective:1700px}}
@media(max-width:900px){.explore[data-mode="grid"] .explore-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc((100vw - 40px)/8)}.explore[data-mode="grid"] .explore-card:nth-child(8n){grid-column:span 2;grid-row:span 2}}
@media(max-width:600px){
.explore{padding-top:130px}.explore-modes{top:88px}
.explore:not([data-mode="grid"]) .explore-gallery{height:calc(100svh - 130px);min-height:320px;perspective:850px}
.explore:not([data-mode="grid"]) .explore-card{width:65vw}
.explore[data-mode="grid"] .explore-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100vw - 18px)/4);gap:6px;padding:6px}
.explore[data-mode="grid"] .explore-card{grid-column:span 2;grid-row:span 2}
.explore[data-mode="grid"] .explore-card[data-shape="portrait"]{grid-column:span 1;grid-row:span 3}
.explore-lightbox[open]{grid-template-columns:56px minmax(0,1fr) 56px;grid-template-rows:75px minmax(0,1fr)}
.explore-lightbox figure{grid-column:1 / -1;grid-row:2;padding:0 16px 80px}.explore-lightbox figure img{max-height:calc(100svh - 205px)}
.explore-prev,.explore-next{grid-row:2;z-index:1;align-self:end;margin:0 auto 18px;background:#080808d9}.explore-prev{grid-column:1}.explore-next{grid-column:3}
.explore-viewer-top{padding:15px 20px}.explore-lightbox figcaption{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.explore-image{transition:none}}

/* Justified rows preserve image ratios and close every gap. */
.explore[data-mode="grid"] .explore-gallery{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;padding:8px}
.explore[data-mode="grid"] .explore-card{flex:none}
@media(max-width:600px){.explore[data-mode="grid"] .explore-gallery{gap:6px;padding:6px}.explore[data-mode="focus"] .explore-card{max-width:80vw}}
.explore-transition{position:fixed;inset:0;pointer-events:none;z-index:10;overflow:hidden}
.explore-transition img{position:absolute;display:block;object-fit:cover;max-width:none;will-change:left,top,width,height,opacity}

.explore-image{position:relative}
.explore-preview{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.explore-video-label{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:20px;background:#0009;color:white;font-size:10px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.explore-player{max-width:100%;max-height:calc(100svh - 190px);width:auto;height:auto;object-fit:contain}
.explore-lightbox [hidden]{display:none!important}
@media(max-width:600px){.explore-player{max-height:calc(100svh - 205px)}}
