:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f2ec;color:#172126;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:linear-gradient(90deg,rgba(24,32,36,.045) 1px,transparent 1px),linear-gradient(180deg,#faf8f3,#e8efe9 52%,#e8edf1);background-size:42px 42px,100% 100%}button,a{font:inherit}button{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}h1,h2,p{margin:0}h1{color:#172126;font-size:clamp(3rem,9vw,7rem);line-height:.9;letter-spacing:0}.eyebrow{margin:0 0 10px;color:#5f7072;font-size:.76rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.screen-enter{animation:screen-enter .18s ease-out both}.gallery-screen,.detail-screen,.error-screen{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:24px}.gallery-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;min-height:34vh;padding:10px 4px 34px}.gallery-hero h1{max-width:9.5ch}.hero-stat{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border:1px solid rgba(24,32,36,.14);border-radius:999px;background:#ffffffb8;color:#1f5b66;box-shadow:0 12px 34px #2b3a3d14}.hero-stat strong{color:#a3462d;font-size:1.1rem}.hero-stat span{color:#536266;font-weight:800}.masonry-grid{column-count:4;column-gap:16px;padding-bottom:32px}.gallery-tile{display:block;width:100%;margin:0 0 16px;padding:0;overflow:hidden;break-inside:avoid;border:1px solid rgba(24,32,36,.12);border-radius:8px;background:#fffc;color:#172126;text-align:left;box-shadow:0 16px 42px #2a383a17;transform:translateZ(0);transition:border-color .18s ease,box-shadow .18s ease,transform .22s ease}.gallery-tile:hover,.gallery-tile:focus-visible{border-color:#1f5b6685;box-shadow:0 22px 58px #2a383a26;outline:none;transform:translateY(-4px)}.tile-open,.tile-image-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:inherit;cursor:pointer}.tile-media{display:block;position:relative;aspect-ratio:var(--tile-ratio);overflow:hidden;background:#dfe6e0}.tile-media img{width:100%;height:100%;object-fit:cover;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.gallery-tile:hover .tile-media img,.gallery-tile:focus-visible .tile-media img{transform:scale(1.035)}.tile-image-open{height:100%}.tile-image-open:focus-visible,.tile-copy-button:focus-visible{outline:3px solid rgba(31,91,102,.34);outline-offset:-3px}.tile-copy{display:grid;gap:14px;padding:13px;background:#ffffffeb}.tile-title,.tile-artist,.tile-size{display:block}.tile-title{display:-webkit-box;overflow:hidden;color:#172126;font-size:1rem;font-weight:850;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tile-artist{display:-webkit-box;overflow:hidden;margin-top:5px;color:#5a666b;font-size:.9rem;line-height:1.22;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tile-size{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a3462d;font-size:.9rem;font-weight:850}.tile-tone-0{background:#fff}.tile-tone-1{background:#f7fbfa}.tile-tone-2{background:#fff9f3}.tile-tone-3{background:#f8f9ff}.tile-tone-4{background:#fbf7f0}.detail-screen{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px}.detail-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px}.detail-nav span{color:#5d696d;font-size:.92rem;font-weight:800}.icon-action{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(24,32,36,.15);border-radius:999px;background:#ffffffd6;color:#172126;cursor:pointer;box-shadow:0 12px 34px #2a383a14}.icon-action:hover,.icon-action:focus-visible{border-color:#1f5b6685;outline:none}.detail-layout{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:18px 24px;height:max(520px,calc(100dvh - 118px));min-height:0}.detail-copy{align-self:start;min-width:0;max-height:100%;overflow:auto;padding:20px 4px 0;scrollbar-width:thin}.detail-copy h1{max-width:9.4ch;font-size:clamp(2.85rem,6.2vw,5.7rem)}.artist-line{margin-top:16px;color:#536266;font-size:clamp(1.05rem,2vw,1.35rem)}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.source-link{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 13px;border:1px solid rgba(24,32,36,.16);border-radius:999px;background:#ffffffd6;color:#1f5b66;font-size:.88rem;font-weight:850;text-decoration:none}.source-link:hover,.source-link:focus-visible{border-color:#1f5b668c;outline:none}.image-stage{position:relative;display:grid;place-items:center;grid-row:1 / span 2;grid-column:2;height:100%;min-height:0;overflow:hidden;border:1px solid rgba(24,32,36,.12);border-radius:8px;background:linear-gradient(90deg,rgba(28,39,43,.08) 1px,transparent 1px),linear-gradient(180deg,#d8e0dd,#eef1ef);background-size:36px 36px,100% 100%;box-shadow:0 24px 70px #2a383a1f;touch-action:pan-y}.artwork-image{max-width:min(82%,980px);max-height:min(78%,calc(100% - 82px));object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 18px 18px rgba(24,32,36,.22))}.fullscreen-action{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:#1820248f;color:#fff;box-shadow:0 16px 34px #2a383a1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.fullscreen-action:hover,.fullscreen-action:focus-visible{background:#182024b8;outline:none}model-viewer.ar-launcher-hidden{position:absolute;width:1px;height:1px;min-height:1px;overflow:hidden;opacity:0;pointer-events:none;--poster-color: transparent;--progress-bar-color: #a3462d;--progress-bar-height: 0}.ar-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:224px;min-height:50px;padding:0 19px;border:0;border-radius:999px;background:#a3462d;color:#fff;font-weight:850;white-space:nowrap;box-shadow:0 16px 30px #8036233d;cursor:pointer}.ar-button:focus-visible{outline:3px solid rgba(163,70,45,.34);outline-offset:3px}.ar-button.tile-ar-button{position:absolute;right:10px;bottom:10px;z-index:2;width:38px;min-width:38px;min-height:38px;padding:0;border:1px solid rgba(255,255,255,.68);background:#1820249e;box-shadow:0 10px 24px #1820242e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ar-button.tile-ar-button:hover,.ar-button.tile-ar-button:focus-visible{background:#a3462deb}.fullscreen-viewer{position:fixed;inset:0;z-index:40;display:grid;place-items:stretch;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#0f1212f0;animation:overlay-enter .18s ease-out both}.fullscreen-artwork-surface{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;overscroll-behavior:contain;cursor:zoom-in;touch-action:none}.fullscreen-artwork-surface.is-zoomed{cursor:grab}.fullscreen-artwork-surface.is-zoomed:active{cursor:grabbing}.fullscreen-artwork-surface img{max-width:min(94vw,1440px);max-height:min(78vh,920px);object-fit:contain;pointer-events:none;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;filter:drop-shadow(0 24px 34px rgba(0,0,0,.5));transform-origin:center;transition:none;will-change:transform}.fullscreen-close{position:absolute;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff1c;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.fullscreen-toolbar{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;display:inline-flex;gap:8px;padding:6px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%)}.fullscreen-toolbar button{display:inline-grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;background:#ffffff1f;color:#fff;cursor:pointer}.fullscreen-close:hover,.fullscreen-close:focus-visible,.fullscreen-toolbar button:hover,.fullscreen-toolbar button:focus-visible{background:#fff3;outline:none}.fullscreen-footer{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));left:max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:16px}.fullscreen-footer span,.fullscreen-footer strong{display:block}.fullscreen-footer span{max-width:min(52vw,620px);overflow:hidden;color:#fff;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.fullscreen-footer strong{margin-top:5px;color:#ffffffa3;font-size:.9rem}.ar-button-fullscreen{width:230px;min-height:54px}.facts-row{display:grid;align-self:end;gap:10px}.fact{display:flex;align-items:center;gap:10px;min-height:76px;padding:12px;border:1px solid rgba(24,32,36,.12);border-radius:8px;background:#f9fbfbd1}.fact-icon{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:999px;background:#e1ece8;color:#266370}.fact-label{display:block;margin-bottom:4px;color:#637175;font-size:.76rem;font-weight:850;letter-spacing:0;text-transform:uppercase}.fact strong{color:#172126;font-size:.98rem;line-height:1.22}.skeleton-tile{pointer-events:none}.skeleton-tile .tile-media,.skeleton-line,.skeleton-stat{position:relative;overflow:hidden;background:#dfe6e0}.skeleton-tile .tile-media:after,.skeleton-line:after,.skeleton-stat:after{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%);content:"";transform:translate(-100%);animation:shimmer 1.35s ease-in-out infinite}.skeleton-line{display:block;height:13px;border-radius:999px}.skeleton-line.wide{width:84%}.skeleton-line.short{width:58%}.skeleton-line.size{width:42%;background:#e8d7cf}.skeleton-stat{width:132px}.error-screen{display:grid;align-content:center;gap:16px}.error-screen h1{max-width:8ch}.error-screen p:not(.eyebrow){max-width:56ch;color:#5d696d}@keyframes screen-enter{0%{opacity:0}to{opacity:1}}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes shimmer{to{transform:translate(100%)}}@media(max-width:1180px){.masonry-grid{column-count:3}.detail-layout{grid-template-columns:minmax(230px,340px) minmax(0,1fr)}}@media(max-width:900px){.gallery-screen,.detail-screen,.error-screen{padding:16px}.gallery-hero{display:grid;align-items:end;min-height:28vh;padding-bottom:22px}.gallery-hero h1{max-width:10ch;font-size:clamp(3rem,14vw,5.8rem)}.masonry-grid{column-count:2;column-gap:12px}.gallery-tile{margin-bottom:12px}.detail-layout{display:flex;flex-direction:column;grid-template-columns:1fr;grid-template-rows:auto auto auto;height:auto;min-height:0}.detail-copy{order:2;max-height:none;overflow:visible;padding-top:4px}.detail-copy h1{max-width:16ch;font-size:clamp(2.15rem,10vw,3.55rem);line-height:.94}.artist-line{margin-top:10px}.detail-actions{margin-top:16px}.image-stage{order:1;grid-row:auto;grid-column:auto;height:auto;min-height:clamp(390px,58svh,560px)}.artwork-image{max-width:86%;max-height:calc(100% - 76px)}.facts-row{order:3;align-self:stretch;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.gallery-screen,.detail-screen,.error-screen{padding:12px}.gallery-hero h1,.error-screen h1{font-size:clamp(2.75rem,15vw,4.4rem)}.detail-copy h1{font-size:clamp(2.05rem,9vw,3rem)}.tile-copy{gap:10px;padding:10px}.tile-title{font-size:.92rem}.tile-artist,.tile-size{font-size:.82rem}.detail-nav span{font-size:.86rem}.facts-row{grid-template-columns:1fr}.image-stage{min-height:clamp(360px,56svh,520px)}.ar-button{width:min(224px,100%)}.fullscreen-footer{align-items:stretch;flex-direction:column}.fullscreen-footer span{max-width:100%}.ar-button-fullscreen{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
