:root{--paper:#fff;--ink:#222;--muted:#666;--line:#e7e7e7;--accent:#234de7;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer}button:disabled{opacity:.4;cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:14px;left:20px;z-index:50;transform:translateY(-180%);padding:12px 16px;background:var(--paper)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:10;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:flex-end;padding:26px 40px;pointer-events:none}.site-header>*{pointer-events:auto}.wordmark{display:flex;align-items:start;gap:7px;font-size:34px;font-weight:600;letter-spacing:-2px;padding:0;line-height:1.2;min-height:44px}.space{position:fixed;inset:0;overflow:hidden;touch-action:none;cursor:grab;outline:none!important;background:var(--paper);user-select:none;-webkit-user-select:none}.space.dragging{cursor:grabbing}.space:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.artworks{position:absolute;inset:0;pointer-events:none}.artwork{position:absolute;left:0;top:0;padding:0;pointer-events:auto;transform-origin:center;will-change:transform;isolation:isolate;cursor:pointer}.artwork img{display:block;width:100%;height:auto;pointer-events:none;box-shadow:0 3px 10px #00000008;transition:box-shadow 200ms var(--ease-out)}.artwork .art-caption{position:absolute;top:100%;left:0;padding-top:10px;white-space:nowrap;font-size:12px;color:var(--ink);opacity:0;transform:translateY(-3px);transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out)}.artwork:focus-visible .art-caption{opacity:1;transform:none}.artwork.load-error{background:#f5f5f5;min-height:130px;display:grid;place-content:center}.artwork.load-error .art-caption{position:static;opacity:1;transform:none}.space-loading{position:absolute;top:calc(50% + 135px);left:50%;transform:translateX(-50%);font-size:13px;color:var(--muted);white-space:nowrap}
.site-footer{position:fixed;z-index:10;bottom:24px;left:40px;right:40px;display:flex;align-items:center;justify-content:flex-end;pointer-events:none;gap:16px}.site-footer>*{pointer-events:auto}.view-switch{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;padding:5px;border:1px solid var(--line);border-radius:32px;background:#ffffffef;gap:4px;box-shadow:0 4px 12px #00000003}.view-switch button{padding:11px 18px;display:flex;gap:8px;align-items:center;border-radius:25px;font-size:13px;min-height:44px;transition:background-color 160ms var(--ease-out),color 160ms var(--ease-out)}.view-switch [aria-pressed=true]{background:var(--ink);color:var(--paper)}.space-tools{display:flex;align-items:center;background:#ffffffef;border-radius:30px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%}.space-hint{position:fixed;bottom:101px;left:0;right:0;text-align:center;pointer-events:none;z-index:5;font-size:11px;color:var(--muted);line-height:1.7;transition:opacity 180ms var(--ease-out)}.space-hint>span:last-child{display:block}.space-hint.dismissed{opacity:0}.touch-hint{display:none}.index-view{min-height:100dvh;padding:140px 7vw 130px}.index-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 70px;gap:20px}.index-heading h1{font-size:clamp(38px,5vw,68px);font-weight:400;letter-spacing:-.055em;margin:0}.index-heading p{color:var(--muted);font-size:14px;margin:0 0 9px}.index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:6vw;row-gap:64px}.index-art{padding:0;text-align:left;width:100%;display:flex;flex-direction:column;gap:17px}.index-image{height:310px;width:100%;display:flex;align-items:end;justify-content:center}.index-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:transform 200ms var(--ease-out)}.index-caption{display:flex;justify-content:space-between;font-size:13px;padding-top:12px;border-top:1px solid var(--line);width:100%}.index-caption span:last-child{color:var(--muted)}body.index-mode .site-header{background:#ffffffed}body.index-mode .site-footer{left:0;right:0;bottom:0;padding:14px 40px;background:#ffffffef;border-top:1px solid var(--line);min-height:83px}body.index-mode .space-hint{display:none}
dialog{color:var(--ink);border:0;padding:0;background:var(--paper);max-width:none;max-height:none}dialog::backdrop{background:#ffffffed}.art-dialog{width:100%;height:100dvh;margin:0;overflow:hidden}.detail-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px 40px;z-index:2;font-size:14px;background:#fffffff0}.close-button{display:flex;align-items:center;gap:15px;min-height:44px;font-size:13px;padding:8px 0 8px 14px}.close-button svg{width:22px;height:22px}.detail-stage{height:100%;padding:105px 120px 102px;display:flex;align-items:center;justify-content:center;position:relative}.detail-figure{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;margin:0}.detail-figure img{display:block;max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;transition:opacity 180ms var(--ease-out)}.detail-error{position:absolute;background:var(--paper);padding:20px;font-size:14px;text-align:center;max-width:350px;line-height:1.5}.detail-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;z-index:1;background:var(--paper)}.detail-arrow.previous{left:40px}.detail-arrow.next{right:40px}.noscript{position:fixed;z-index:20;top:48%;left:50%;transform:translate(-50%,-50%);background:white;padding:30px;text-align:center}.art-dialog{background:transparent}.art-dialog::backdrop{background:#ffffff85}.art-dialog .detail-header{background:#ffffffde}.art-dialog .detail-figure img{box-shadow:0 10px 45px #0000000d}.artwork.selected{visibility:hidden}.space.selecting .artwork{opacity:.38}
@media(hover:hover) and (pointer:fine){.artwork:hover img{box-shadow:0 12px 26px #00000014}.artwork:hover .art-caption{opacity:1;transform:none}.icon-button:hover{background:#f3f3f3}.close-button:hover{color:var(--accent)}.index-art:hover .index-image img{transform:translateY(-5px)}.detail-arrow:hover{background:#f5f5f5}}
@media(min-width:1600px){.index-image{height:400px}.index-view{padding-left:10vw;padding-right:10vw}}
@media(max-width:900px){.site-header{padding:22px 26px}.site-footer{left:26px;right:26px}.index-view{padding:125px 6vw}.index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 7vw}.index-heading{display:block;margin-bottom:46px}.index-heading p{margin-top:16px}.index-image{height:290px}.detail-stage{padding:94px 88px 98px}.detail-arrow.previous{left:24px}.detail-arrow.next{right:24px}.detail-header{padding:20px 26px}}
@media(max-width:600px){.site-header{padding:18px 20px}.wordmark{font-size:30px}.site-footer{bottom:max(18px,env(safe-area-inset-bottom));left:16px;right:16px;flex-wrap:wrap;align-items:center}.space-tools{margin-left:auto}.icon-button{width:40px;height:44px}.view-switch{position:static;transform:none;margin-right:auto;padding:4px;gap:0}.view-switch button{padding:10px 12px;font-size:12px;gap:6px}.space-hint{bottom:145px;font-size:10px}.desktop-hint{display:none}.touch-hint{display:inline}.index-view{padding:115px 24px 135px}.index-heading h1{font-size:42px}.index-heading p{font-size:13px;line-height:1.5}.index-grid{gap:37px 22px}.index-image{height:210px}.index-caption{font-size:12px}.index-caption span:last-child{display:none}body.index-mode .site-footer{padding:12px 20px max(12px,env(safe-area-inset-bottom));min-height:79px;justify-content:flex-end}body.index-mode .view-switch{margin-right:0}.detail-header{padding:16px 20px;font-size:12px}.detail-stage{padding:90px 18px 150px}.detail-arrow{top:auto;bottom:79px;transform:none;width:44px;height:44px}.detail-arrow.previous{left:20px}.detail-arrow.next{right:20px}}
@media(max-width:370px){.view-switch button{padding-left:10px;padding-right:10px}.icon-button{width:35px}}
@media(max-height:550px) and (orientation:landscape){.site-header{padding-top:12px;padding-bottom:10px}.site-footer{bottom:10px}.space-hint{display:none}.detail-stage{padding:70px 90px 65px}.detail-header{padding-top:9px;padding-bottom:9px}.detail-arrow{top:50%;bottom:auto;transform:translateY(-50%)}}.art-dialog .detail-figure img{animation:none}.space.selecting .artwork{transition:opacity 220ms var(--ease-out)}body.detail-open{overflow:hidden}body.detail-open .space-hint{visibility:hidden}.artwork{transition:opacity 180ms var(--ease-out)}.space.dragging .artwork{cursor:grabbing}
@media(max-width:350px){.site-footer{left:10px;right:10px}.view-switch button{padding-left:8px;padding-right:8px}.icon-button{width:32px}.wordmark{font-size:26px}}
.art-dialog::backdrop{background:#ffffffdf}
.art-defocus{display:block}.art-float{display:block;transform-origin:50% 50%;animation:levitate 15s var(--ease-in-out) infinite;transform-style:preserve-3d}.artwork{perspective:900px}.artworks{transform-origin:50% 49%;animation:space-breathe 38s var(--ease-in-out) infinite alternate}.motion-paused .art-float,.motion-paused .artworks{animation-play-state:paused}
@keyframes levitate{0%,100%{transform:translate3d(-1px,-6px,0) rotateY(-6deg) rotateX(1deg) rotateZ(-.5deg)}50%{transform:translate3d(2px,6px,0) rotateY(6deg) rotateX(-1deg) rotateZ(.5deg)}}
@keyframes space-breathe{from{transform:perspective(1800px) rotateY(-1.4deg) rotateX(.4deg)}to{transform:perspective(1800px) rotateY(1.4deg) rotateX(-.4deg)}}

@media(max-width:600px){.artworks{transform-origin:50% 46%}}
@media(max-width:350px){.site-footer{gap:4px;flex-wrap:nowrap}.view-switch button{padding-left:7px;padding-right:7px}}
.detail-float{display:flex;align-items:center;justify-content:center;width:100%;height:100%;perspective:1300px;animation:detail-levitate 11s var(--ease-in-out) infinite}.motion-disabled .detail-float{animation-play-state:paused}.detail-figure{perspective:1300px}.art-dialog[open]{animation:none}.art-dialog[open]::backdrop{animation:veil-in 720ms cubic-bezier(.32,.72,0,1)}.art-dialog.closing::backdrop{animation:veil-out 620ms cubic-bezier(.32,.72,0,1) forwards}.space.selecting .artwork{transition:opacity 720ms var(--ease-out)}.artwork{transition:opacity 620ms var(--ease-out)}
@keyframes detail-levitate{0%,100%{transform:translate3d(0,-2.5px,0) rotateZ(-.13deg)}50%{transform:translate3d(1.5px,2.5px,0) rotateZ(.13deg)}}
@keyframes veil-in{from{opacity:0}to{opacity:1}}@keyframes veil-out{from{opacity:1}to{opacity:0}}
.art-dialog.closing{pointer-events:none}
.site-header{align-items:flex-start}.wordmark{position:absolute;left:50%;top:26px;transform:translateX(-50%);min-height:0}.brand-logo{display:block;width:102px;height:110px;object-fit:contain}.opening-screen{position:fixed;inset:0;z-index:20;pointer-events:none}.opening-logo{position:absolute;left:50%;top:49%;width:clamp(104px,14vw,180px);height:auto;transform:translate(-50%,-50%);object-fit:contain}.opening-skip{position:absolute;right:40px;bottom:28px;min-height:44px;padding:10px 0 10px 16px;font-size:12px;color:#555;pointer-events:auto;text-shadow:0 1px 3px #fff}.opening-pending .site-header,.opening-pending .site-footer,.opening-pending .space-hint,.opening-running .site-header,.opening-running .site-footer,.opening-running .space-hint{visibility:hidden}.opening-pending .artwork{visibility:hidden}.opening-pending .space,.opening-running .space{pointer-events:none;cursor:default}.opening-running .artwork{transition:none}.site-header,.site-footer{transition:opacity 220ms var(--ease-out)}
@media(max-width:600px){.brand-logo{width:76px;height:83px}.opening-logo{width:112px}.opening-skip{right:20px;bottom:max(18px,env(safe-area-inset-bottom))}}
@media(max-height:550px) and (orientation:landscape){.brand-logo{width:65px;height:70px}.opening-logo{width:90px}}
.top-view-switch.view-switch{position:fixed;top:auto;bottom:24px;left:50%;z-index:11;transform:translateX(-50%);margin:0;padding:0;gap:6px;border:0;border-radius:0;background:transparent;box-shadow:none}.top-view-switch.view-switch button{position:relative;padding:10px 12px;border-radius:0;color:#000;background:transparent;text-shadow:0 0 2px #fff,0 1px 3px #ffffffb3}.top-view-switch.view-switch [aria-pressed=true]{background:transparent;font-weight:600}.view-indicator{position:absolute;left:0;bottom:4px;width:3px;height:3px;border-radius:50%;background:#000;pointer-events:none}.view-indicator[data-ready=true]{transition:transform 240ms var(--ease-out)}.opening-pending .top-view-switch,.opening-running .top-view-switch{visibility:hidden}.space:focus-visible{box-shadow:none}.artwork:focus-visible{outline:none}.index-art:focus-visible{outline:1px solid #222;outline-offset:6px}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline-color:#333}.opening-logo{top:50%}
@media(max-width:900px){.wordmark{top:22px}}
@media(max-width:600px){.top-view-switch.view-switch{bottom:max(18px,env(safe-area-inset-bottom));gap:2px}.wordmark{top:18px}.top-view-switch.view-switch button{padding:10px 8px;font-size:11px;gap:5px}.site-footer{flex-wrap:nowrap}.space-hint{bottom:82px}}
@media(max-width:370px){.brand-logo{width:60px;height:65px}}
@media(max-height:550px) and (orientation:landscape){.wordmark{top:12px}.top-view-switch.view-switch{bottom:10px}}
.index-art:focus-visible{outline:none}.index-art:focus-visible .index-caption{text-decoration:underline;text-underline-offset:4px}
.artwork.selected .art-caption{opacity:0;transform:translateY(-3px)}
body.opening-revealing .site-header,body.opening-revealing .top-view-switch,body.opening-revealing .site-footer,body.opening-revealing .space-hint:not(.dismissed){animation:opening-ui-reveal 520ms var(--ease-out) both}
body.opening-revealing .top-view-switch{animation-delay:40ms}body.opening-revealing .site-footer{animation-delay:80ms}body.opening-revealing .space-hint:not(.dismissed){animation-delay:120ms}
@keyframes opening-ui-reveal{from{opacity:0}to{opacity:1}}

/* Shared controls stay in the modal top layer throughout inspection and return. */
.art-dialog .site-header,.art-dialog .top-view-switch,.art-dialog .site-footer{visibility:visible}
.art-dialog .site-footer::before{content:"";position:absolute;inset:-8px -40px -24px;background:linear-gradient(transparent,#fff 22%,#fff);z-index:-1;pointer-events:none}
.art-dialog .top-view-switch.view-switch button{color:#000;text-shadow:0 0 2px #fff,0 1px 3px #ffffffb3}.art-dialog .view-indicator{background:#000}
.art-dialog .detail-header{position:fixed;top:78px;left:auto;right:40px;width:auto;padding:0;background:transparent;pointer-events:none;z-index:12}
.art-dialog .detail-header .close-button{pointer-events:auto;background:#ffffffc9;border-radius:24px;padding-right:10px}
.art-dialog .detail-stage{padding:150px 120px 190px}
.art-dialog .detail-arrow{z-index:3}
@media(max-width:900px){.art-dialog .detail-header{right:26px}.art-dialog .detail-stage{padding:145px 88px 190px}}
@media(max-width:600px){.art-dialog .detail-header{top:70px;right:20px}.art-dialog .detail-stage{padding:124px 18px 190px}.art-dialog .detail-arrow{bottom:138px}}
@media(max-height:550px) and (orientation:landscape){.art-dialog .detail-header{top:64px;right:26px}.art-dialog .detail-stage{padding:90px 90px 115px}.art-dialog .detail-arrow{top:50%;bottom:auto;transform:translateY(-50%)}}
.art-dialog .detail-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-template-rows:minmax(0,1fr);gap:48px;padding:180px 100px 100px;align-items:center}
.detail-info{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 6px 8px 0;text-align:left;background:var(--paper)}
.detail-info h2{font-size:clamp(25px,2.6vw,36px);font-weight:400;line-height:1.15;letter-spacing:-.04em;margin:14px 0 26px;overflow-wrap:anywhere}
.detail-counter{font-size:11px;letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;margin:0}
.detail-specs{margin:0 0 28px;font-size:12px;line-height:1.5}.detail-specs>div{display:grid;grid-template-columns:68px 1fr;gap:12px;margin-bottom:7px}.detail-specs dt{color:var(--muted);font-weight:700}.detail-specs dd{margin:0}
.detail-description{font-size:13px;line-height:1.65;color:#444}.detail-description p{margin:0 0 16px}.detail-description p:last-child{margin-bottom:0}
.artwork .art-caption{max-width:320px;white-space:normal;text-align:left}.index-caption{gap:16px}.index-caption>span:first-child{min-width:0}
@media(max-width:1000px) and (min-width:701px){.art-dialog .detail-stage{grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:26px;padding-left:70px;padding-right:70px}.detail-info h2{font-size:27px}}
@media(max-width:700px){.art-dialog .detail-stage{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:24px;padding:128px 24px 100px;overflow:auto;overscroll-behavior:contain}.art-dialog .detail-figure{flex:0 0 clamp(220px,43dvh,400px);height:clamp(220px,43dvh,400px);min-height:0}.detail-info{flex:none;max-height:none;overflow:visible;padding:0 2px}.detail-info h2{font-size:28px;margin:12px 0 22px}.detail-description{font-size:14px;line-height:1.7}.art-dialog .detail-arrow{position:fixed;top:calc(128px + 21.5dvh);bottom:auto;transform:translateY(-50%);width:38px;height:38px}.art-dialog .detail-arrow.previous{left:8px}.art-dialog .detail-arrow.next{right:8px}.art-dialog .site-header{background:#ffffffed}}
@media(max-height:550px) and (orientation:landscape){.art-dialog .detail-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-rows:minmax(0,1fr);gap:28px;padding:105px 70px 64px;overflow:hidden}.art-dialog .detail-figure{height:100%;min-height:0}.detail-info{max-height:100%;overflow:auto}.detail-info h2{font-size:24px}.art-dialog .detail-arrow{top:50%;bottom:auto;transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.index-art:hover .index-image img{transform:none}}
body.index-mode .site-footer{left:40px;right:40px;bottom:24px;padding:0;min-height:0;background:transparent;border:0;box-shadow:none}
body.index-mode .site-footer::before{content:none}

/* A masked blur lets the collection soften under the signature without a bar edge. */
body.index-mode .site-header{height:174px;background:transparent;border:0;box-shadow:none}
body.index-mode:not(.detail-open):not(.about-open) .site-header::before,
body.index-mode:not(.detail-open):not(.about-open) .site-header::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(#000 0%,#000 30%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 30%,transparent 100%)}
body.index-mode:not(.detail-open):not(.about-open) .site-header::before{background:linear-gradient(#fffffff5,#ffffffa6 48%,#ffffff00);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.index-mode:not(.detail-open):not(.about-open) .site-header::after{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(#000,transparent 92%);mask-image:linear-gradient(#000,transparent 92%)}
.opening-status{position:absolute;top:calc(50% + clamp(104px,14vw,180px) * .58 + 18px);left:24px;right:24px;margin:0;text-align:center;font-size:12px;line-height:1.5;color:var(--muted)}
body.opening-running .opening-status{opacity:0;transition:opacity 180ms var(--ease-out)}
@media(max-width:900px){body.index-mode .site-footer{left:26px;right:26px}}
@media(max-width:600px){body.index-mode .site-header{height:142px}body.index-mode .site-footer{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom));padding:0;min-height:0}.opening-status{top:calc(50% + 86px)}}
@media(max-width:350px){body.index-mode .site-footer{left:10px;right:10px}}
@media(max-height:550px) and (orientation:landscape){body.index-mode .site-header{height:108px}body.index-mode .site-footer{bottom:10px}.opening-status{top:calc(50% + 68px)}}

/* The selected painting keeps its place; only its written information scrolls. */
:root{--ease-drawer:cubic-bezier(.32,.72,0,1)}
body{overflow-x:hidden}
.view-indicator[data-ready=true]{transition:transform 620ms var(--ease-drawer)}
.space-tools,.icon-button,.detail-arrow,.detail-arrow:hover,.icon-button:hover{background:transparent;border:0;border-radius:0;box-shadow:none}
.close-button,.art-dialog .detail-header .close-button{width:44px;height:44px;min-height:44px;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.close-button:focus-visible{outline:0}.close-button:focus-visible svg{stroke-width:2.5;transform:scale(1.15)}
.close-button:hover{color:var(--ink);opacity:.65}
.art-dialog .detail-info,.art-dialog .site-header{background:transparent}
.art-dialog .site-footer::before{content:none}
.art-dialog::backdrop{background:#ffffffb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.art-dialog .detail-figure img{animation:none}
.site-header{transition:opacity 500ms var(--ease-drawer)}
.art-dialog .detail-stage{height:100dvh;padding-bottom:0;overflow:hidden;overscroll-behavior:contain}
.art-dialog .detail-figure{min-width:0;min-height:0;height:calc(100% - 100px);align-self:start}
.art-dialog .detail-info{min-width:0;min-height:0;max-height:100%;align-self:stretch;padding-bottom:max(100px,calc(env(safe-area-inset-bottom) + 82px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}
@media(max-width:700px){
  .art-dialog .detail-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,min(43dvh,400px)) minmax(0,1fr);gap:20px;padding:128px 24px 0;align-items:stretch;overflow:hidden}
  .art-dialog .detail-figure{grid-column:1;grid-row:1;flex:auto;width:100%;height:100%;min-height:0}
  .art-dialog .detail-info{grid-column:1;grid-row:2;align-self:stretch;max-height:100%;padding:0 2px max(100px,calc(env(safe-area-inset-bottom) + 82px));overflow-y:auto}
  .art-dialog .detail-arrow{top:calc(128px + min(21.5dvh,200px))}
}
@media(max-width:700px) and (max-height:660px) and (orientation:portrait){
  .art-dialog .detail-stage{grid-template-rows:minmax(0,38dvh) minmax(0,1fr);gap:16px;padding-top:110px;padding-bottom:0}
  .art-dialog .detail-arrow{top:calc(110px + 19dvh)}
}
@media(max-height:550px) and (orientation:landscape){
  .art-dialog .detail-stage{grid-template-columns:minmax(0,1fr) minmax(220px,300px);grid-template-rows:minmax(0,1fr);gap:28px;padding:105px 70px 0}
  .art-dialog .detail-figure{grid-column:1;grid-row:1;height:calc(100% - 64px)}
  .art-dialog .detail-info{grid-column:2;grid-row:1;max-height:100%}
  .art-dialog .detail-arrow{top:50%;bottom:auto;transform:translateY(-50%)}
}

/* Equal touch targets and optically centred chevrons mirror around the viewport. */
@media(max-width:700px){
  .art-dialog .detail-arrow{width:40px;height:40px;padding:0;box-sizing:border-box;display:grid;place-items:center}
  .art-dialog .detail-arrow.previous{left:8px;right:auto}
  .art-dialog .detail-arrow.next{right:8px;left:auto}
  .art-dialog .detail-arrow svg{display:block;width:20px;height:20px}
  .art-dialog .detail-arrow.previous svg{transform:translateX(1.25px)}
  .art-dialog .detail-arrow.next svg{transform:translateX(-1.25px)}
}
.art-dialog .detail-info[data-scroll-top=true]{-webkit-mask-image:linear-gradient(transparent,#000 24px);mask-image:linear-gradient(transparent,#000 24px)}

/* Remove native button frames and filtered shadows from spatial image layers. */
.artwork,.artwork:hover,.artwork:focus,.artwork:active{appearance:none;-webkit-appearance:none;border:0;outline:0;background:transparent;box-shadow:none}
.artwork img,.artwork:hover img{border:0;outline:0;box-shadow:none;transition:none}
body.opening-revealing .art-float,body.opening-revealing .artwork img{transition:filter 520ms var(--ease-out)}
body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
img{ -webkit-user-drag:none;-webkit-touch-callout:none;user-select:none }
@media(max-width:600px),(hover:none),(pointer:coarse){.artwork .art-caption{display:none}}
