.art-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px;width:100%;max-width:1100px;margin:0 auto}.art-gallery-cell{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.art-gallery-cell-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.art-gallery-cell{opacity:1;transform:none;transition:none}}.art-gallery-item{position:relative;display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:8px;border:1px solid var(--color-secondary-dark);background-color:var(--color-secondary-very-light)}.art-gallery-img{object-fit:cover;transition:transform .4s ease}.art-gallery-item:focus-visible .art-gallery-img,.art-gallery-item:hover .art-gallery-img{transform:scale(1.06)}.art-gallery-caption{position:absolute;bottom:0;left:0;width:100%;padding:10px 12px;color:var(--color-secondary-light);background-color:var(--color-primary-very-dark-0d6);font-weight:700;opacity:0;transform:translateY(100%);transition:opacity .3s ease,transform .3s ease}.art-gallery-item:focus-visible .art-gallery-caption,.art-gallery-item:hover .art-gallery-caption{opacity:1;transform:translateY(0)}@media (max-width:768px){.art-gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}}@media (max-width:480px){.art-gallery{grid-template-columns:repeat(2,1fr);gap:10px}.art-gallery-caption{opacity:1;transform:translateY(0);font-size:.8rem;padding:6px 8px}}.artwork-modal-overlay{z-index:1000;padding:20px;background-color:var(--color-primary-very-dark-0d5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:artwork-overlay-in .4s ease both}.artwork-modal-overlay[data-closing]{animation:artwork-overlay-out .45s ease both}@keyframes artwork-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes artwork-overlay-out{0%{opacity:1}to{opacity:0}}.artwork-modal{width:100%;max-width:1100px;max-height:90vh;overflow-y:auto;background-color:var(--color-primary-very-dark-0d8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-primary-medium-light-0d5);box-shadow:0 20px 60px var(--color-primary-very-dark-0d8);animation:artwork-modal-in .4s ease both}.artwork-modal[data-closing]{animation:artwork-modal-out .45s ease both}@keyframes artwork-modal-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes artwork-modal-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.96) translateY(10px)}}@media (prefers-reduced-motion:reduce){.artwork-fs-overlay,.artwork-fs-overlay[data-closing],.artwork-modal,.artwork-modal-overlay,.artwork-modal-overlay[data-closing],.artwork-modal[data-closing]{animation:none}}.artwork-modal-close{top:12px;right:12px;z-index:3}.artwork-modal-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:stretch}.artwork-stage{gap:8px;min-height:0}.artwork-frame{display:flex;min-height:0;max-height:100%;padding:12px;background-color:var(--color-primary-very-dark);border:1px solid var(--color-primary-medium);border-radius:4px;box-shadow:0 8px 30px var(--color-primary-very-dark-0d6)}.artwork-img-box{height:56vh;max-width:100%;max-height:56vh}.artwork-modal-img{object-fit:contain;border-radius:2px}.artwork-zoom-hint{position:absolute;bottom:20px;left:20px;width:36px;height:36px;border-radius:9999px;color:var(--color-secondary-light);background-color:var(--color-primary-very-dark-0d6);border:1px solid var(--color-primary-medium);opacity:.85;transition:opacity .2s ease,background-color .2s ease,color .2s ease}.artwork-zoom-hint:focus-visible,.artwork-zoom-hint:hover{opacity:1;color:var(--color-primary-very-dark);background-color:var(--color-secondary-saturated-medium)}.artwork-counter{position:absolute;bottom:20px;right:20px;padding:3px 10px;font-size:.8rem;font-weight:700;background-color:var(--color-primary-very-dark-0d8)}.artwork-counter,.artwork-nav-btn{border-radius:9999px;color:var(--color-secondary-light)}.artwork-nav-btn{flex-shrink:0;width:44px;height:44px;font-size:2rem;line-height:1;background-color:var(--color-primary-very-dark-0d6);border:1px solid var(--color-primary-medium);transition:background-color .2s ease,color .2s ease}.artwork-nav-btn:hover{color:var(--color-primary-very-dark);background-color:var(--color-secondary-saturated-medium)}.artwork-meta{min-height:0}.artwork-title{font-size:1.5rem;color:var(--color-secondary-light)}.artwork-pills{display:flex;list-style:none;padding:0;margin:0}.artwork-pill{padding:4px 12px;border-radius:9999px;font-size:.85rem;color:var(--color-secondary-saturated-medium);background-color:var(--color-primary-very-dark);border:1px solid var(--color-secondary-saturated-dark)}.artwork-desc{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--color-primary-medium);padding-top:12px}.artwork-desc-toggle{flex-shrink:0;text-align:left;color:var(--color-secondary-saturated-medium);cursor:default}.artwork-desc-icon{display:none;font-size:1.3rem;line-height:1}.artwork-desc-scroll{flex:1 1 auto;min-height:0}.artwork-desc-body{position:absolute;inset:0;overflow-y:auto;text-align:left;line-height:1.8;color:var(--color-primary-light);padding-right:8px}.artwork-strip-wrap{flex-shrink:0;width:100%;justify-content:center;border-top:1px solid var(--color-primary-medium);padding-top:12px}.artwork-strip{list-style:none;padding:0;margin:0;justify-content:center;flex-wrap:nowrap}.artwork-strip-nav{flex-shrink:0;width:32px;height:32px;border-radius:9999px;font-size:1.4rem;line-height:1;color:var(--color-secondary-light);background-color:var(--color-primary-very-dark-0d6);border:1px solid var(--color-primary-medium);transition:background-color .2s ease,color .2s ease,opacity .2s ease}.artwork-strip-nav:hover:not(:disabled){color:var(--color-primary-very-dark);background-color:var(--color-secondary-saturated-medium)}.artwork-strip-nav:disabled{opacity:.3;cursor:default}.artwork-strip-item{display:block;width:64px;height:64px;flex-shrink:0;overflow:hidden;border-radius:5px;border:2px solid transparent;opacity:.5;transition:opacity .2s ease,border-color .2s ease}.artwork-strip-item:focus-visible,.artwork-strip-item:hover{opacity:1}.artwork-strip-item-active{opacity:1;border-color:var(--color-secondary-saturated-medium)}.artwork-strip-img{object-fit:cover}.artwork-fs-overlay{z-index:1100;padding:24px;background-color:var(--color-primary-very-dark-0d8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:artwork-overlay-in .4s ease both}.artwork-fs-overlay[data-closing]{animation:artwork-overlay-out .45s ease both}.artwork-fs{width:100%;height:100%}.artwork-fs-img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;box-shadow:0 10px 50px var(--color-primary-very-dark-0d8)}.artwork-fs-close{top:16px;right:16px;z-index:2}@media (max-width:768px){.artwork-modal-overlay{padding:8px}.artwork-modal{width:100%;max-width:100%;height:100%;max-height:100%;padding:16px;overflow-y:auto}.artwork-modal-body{flex:none;min-height:auto;grid-template-columns:1fr;gap:16px}.artwork-stage{min-height:auto}.artwork-frame{flex:1 1;min-width:0;max-height:none}.artwork-nav-btn{width:38px;height:38px;font-size:1.6rem}.artwork-img-box{width:100%;height:auto;max-height:60vh}.artwork-pills{justify-content:center}.artwork-desc{flex:none}.artwork-desc-toggle{cursor:pointer}.artwork-desc-icon{display:inline}.artwork-desc-scroll{flex:none;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.artwork-desc-scroll.artwork-desc-open{grid-template-rows:1fr}.artwork-desc-body{position:static;overflow:hidden;min-height:0;padding-right:0}.artwork-strip{overflow:hidden}}