.gallery-page{--wall:#e5e6e0;--floor:#d2d4ce;background:var(--wall)}.gallery-page[data-theme=dark]{--wall:#182126;--floor:#0d151a}.gallery-page .site-header{background:var(--wall)}.gallery-page footer{background:var(--bg);z-index:2;position:relative}.gallery-toolbar{z-index:3;color:var(--accent);letter-spacing:.05em;justify-content:space-between;gap:16px;font-size:10px;display:flex;position:fixed;top:84px;left:40px;right:40px}.gallery-toolbar button,.gallery-position button,.viewer-close{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0}.gallery-toolbar button{text-underline-offset:5px;text-decoration:underline}.gallery-status{z-index:3;max-width:calc(100% - 80px);font:10px/1.6 var(--font-body);color:var(--accent);position:fixed;top:116px;left:40px}.gallery-walk{height:var(--walk-height,400vh)}.gallery-viewport{perspective:1000px;perspective-origin:50% 44%;height:100dvh;min-height:480px;position:sticky;top:0;overflow:hidden}.gallery-scene{transform-style:preserve-3d;position:absolute;inset:0}.gallery-architecture{background:var(--wall);position:absolute;inset:0;overflow:hidden}.gallery-architecture:before,.gallery-architecture:after{content:"";background:linear-gradient(90deg,#0000,#0000000b);width:32%;position:absolute;top:0;bottom:0}.gallery-architecture:after{right:0;transform:scaleX(-1)}.gallery-endwall{border:1px solid #78808045;position:absolute;inset:27% 32% 30%;box-shadow:0 0 140px #ffffff25}.gallery-room-lines{fill:none;stroke:#78808045;stroke-width:.08px;width:100%;height:100%;position:absolute;inset:0}.gallery-floor{background:var(--floor);transform-origin:top;background-image:repeating-linear-gradient(90deg,#0000 0 calc(20% - 1px),#78808020 20%);border-top:1px solid #78808045;position:absolute;inset:70% -10% -30%;transform:perspective(500px)rotateX(50deg)}.gallery-room{transform-style:preserve-3d;will-change:transform, opacity;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.gallery-room:not([inert]) .artwork button{pointer-events:auto}.gallery-room:before{content:"";pointer-events:none;border:1px solid #78808050;position:absolute;inset:12% 9% 14%}.gallery-room>.artwork{width:min(44vw,650px);margin:0;transform:translate(-20vw)rotateY(12deg)}.gallery-room:nth-child(2n)>.artwork{transform:translate(20vw)rotateY(-12deg)}.artwork button{color:inherit;cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.artwork img{object-fit:contain;filter:drop-shadow(0 16px 16px #00000020);width:100%;height:min(54vh,500px);display:block}.artwork figcaption{font:10px/1.6 var(--font-body);color:var(--fg);justify-content:space-between;gap:16px;padding-top:20px;display:flex}.artwork figcaption strong{font-weight:400}.room-label{font:11px/1.8 var(--font-body);color:var(--accent);max-width:20%;position:absolute;top:62%;left:76%}.room-label b{font:400 clamp(40px, 7vw, 100px)/1 var(--font-display);margin-bottom:16px;display:block}.gallery-room:nth-child(2n) .room-label{left:5%}.gallery-intro{color:var(--accent);pointer-events:none;position:absolute;inset:auto 40px 95px}.gallery-intro>p{margin-bottom:18px;font-size:10px}.gallery-intro h1{font:400 clamp(64px, 12vw, 190px)/.9 var(--font-display);letter-spacing:-.025em;margin:0 0 24px}.gallery-intro h1 em{font-style:normal}.gallery-intro h1>span{margin-left:.1em;font-family:Celattin,serif}.gallery-intro>div{font:10px/1.8 var(--font-body);justify-content:space-between;align-items:end;display:flex}.gallery-position{color:var(--accent);font:10px var(--font-body);align-items:center;gap:24px;display:flex;position:absolute;bottom:24px;left:40px;right:40px}.gallery-position>span{min-width:110px}.gallery-position progress{appearance:none;background:var(--line);border:0;flex:1;height:2px}.gallery-position progress::-webkit-progress-bar{background:var(--line)}.gallery-position progress::-webkit-progress-value{background:var(--accent)}.gallery-position button{min-width:44px;min-height:44px;font-size:24px}.gallery-position button:disabled{opacity:.35;cursor:default}.gallery-list,.gallery-empty{padding:180px 40px 100px}.gallery-list h1,.gallery-empty h1{font:400 clamp(48px, 8vw, 120px)/1 var(--font-display);color:var(--accent);margin:24px 0 64px}.gallery-empty p,.gallery-empty a{font:12px/1.8 var(--font-body)}#artworkList{grid-template-columns:1fr 1fr;gap:100px 8vw;display:grid}#artworkList .artwork{margin:0}#artworkList .artwork:nth-child(2n){padding-top:160px}#artworkViewer{background:var(--bg);width:min(1200px,96vw);max-height:94dvh;color:var(--fg);border:0;margin:auto;padding:64px 24px 24px;position:fixed}#artworkViewer::backdrop{background:#051118e8}#viewerImage{object-fit:contain;width:100%;height:65dvh}.viewer-close{font:12px var(--font-body);padding:8px;position:absolute;top:16px;right:24px}.viewer-caption h2{font:400 32px/1.2 var(--font-display);margin:16px 0 8px}.viewer-caption p{font:12px/1.8 var(--font-body);white-space:pre-wrap}.gallery-page :focus-visible{outline:2px solid var(--accent);outline-offset:6px}@media (width>=601px) and (width<=1000px){.gallery-toolbar,.gallery-status,.gallery-position,.gallery-intro{left:24px;right:24px}.gallery-list,.gallery-empty{padding-left:24px;padding-right:24px}}@media (width<=600px){.gallery-toolbar{font-size:8px;top:72px;left:16px;right:16px}.gallery-status{max-width:calc(100% - 32px);font-size:8px;top:100px;left:16px}.gallery-intro{bottom:100px;left:16px;right:16px}.gallery-intro h1{font-size:clamp(52px,15vw,90px)}.gallery-intro>div,.gallery-intro>p{font-size:8px}.gallery-room>.artwork,.gallery-room:nth-child(2n)>.artwork{width:76vw;transform:rotateY(6deg)}.gallery-room:nth-child(2n)>.artwork{transform:rotateY(-6deg)}.artwork img{height:40vh}.room-label{display:none}.gallery-position{gap:12px;font-size:8px;left:16px;right:16px}.gallery-position>span{min-width:80px}.gallery-list,.gallery-empty{padding:150px 16px 64px}#artworkList{grid-template-columns:1fr;gap:56px}#artworkList .artwork:nth-child(2n){padding-top:0}#artworkViewer{padding:56px 16px 16px}}
