/* Shared visual case galleries. The original artwork is never cropped. */
.project-gallery{--gallery-accent:var(--copper,#956644);padding-block:54px;border-block:1px solid var(--line,#d7cbbc);margin-block:22px 40px;min-width:0}
.project-gallery--proca{--gallery-accent:#ffbd51}.project-gallery--nup{--gallery-accent:#f07475}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.gallery-heading h2{font-family:var(--display,inherit);font-size:clamp(28px,3.5vw,48px);line-height:1.05;letter-spacing:-.04em;margin:8px 0 0}
.gallery-kicker{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin:0;color:var(--muted,#76685e)}
.gallery-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
.gallery-controls[hidden]{display:none}
.gallery-controls button,.viewer-toolbar button{font:inherit;font-size:14px;min-height:44px;padding:10px 15px;border:1px solid currentColor;border-radius:100px;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-controls .tav-icon{width:18px;height:18px}
.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/4);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:6px 0 20px;scrollbar-width:thin;scrollbar-color:var(--gallery-accent) transparent;overscroll-behavior-x:contain;list-style:none;margin:0}
.gallery-track:focus-visible,.gallery-link:focus-visible{outline:3px solid var(--gallery-accent);outline-offset:4px}
.gallery-card{scroll-snap-align:start;min-width:0;margin:0}.gallery-card figure{margin:0}.gallery-card a{text-decoration:none}
.gallery-art{position:relative;display:flex;align-items:center;justify-content:center;padding:22px;background:var(--linen,#ede5d8);border-radius:12px;overflow:hidden;aspect-ratio:.6}
.project-gallery--proca .gallery-art{background:#252525}.project-gallery--nup .gallery-art{background:#eededb}
.gallery-art img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease;filter:drop-shadow(0 10px 12px #0002)}
.gallery-expand{position:absolute;bottom:10px;right:10px;background:var(--paper,#faf7f1);color:var(--ink,#3b2923);font-size:12px;line-height:1;padding:9px 12px;border-radius:30px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.gallery-link:hover .gallery-art img{transform:translateY(-4px)}.gallery-link:hover .gallery-expand,.gallery-link:focus-visible .gallery-expand{opacity:1;transform:none}
.gallery-card figcaption{display:flex;gap:10px;align-items:baseline;line-height:1.35;font-size:15px;padding-top:13px}.gallery-index{font-size:12px;color:var(--muted,#76685e);font-variant-numeric:tabular-nums}
.gallery-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:14px;color:var(--muted,#76685e);margin-top:12px}.gallery-footer p{margin:0;max-width:65ch}.gallery-position{white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-track--web{grid-auto-columns:calc((100% - 20px)/2);gap:20px}.gallery-track--web .gallery-art{aspect-ratio:1.46;padding:12px;background:#e9e0d3}.gallery-track--web .gallery-art img{filter:none;border-radius:4px}
.gallery-track--photos{grid-auto-columns:calc((100% - 36px)/3);gap:18px}.gallery-track--photos .gallery-art{aspect-ratio:.8;padding:0;background:transparent}.gallery-track--photos .gallery-art img{filter:none}
.project-gallery--inset{margin-inline:var(--gutter,6vw)}
/* Content stays visible without JavaScript and with reduced motion. */
@keyframes gallery-enter{from{opacity:.65;transform:translateY(18px)}to{opacity:1;transform:none}}
.gallery-arrived{animation:gallery-enter .55s ease-out both}.gallery-arrived .gallery-card:nth-child(2){animation:gallery-enter .6s ease-out both}.gallery-arrived .gallery-card:nth-child(3){animation:gallery-enter .68s ease-out both}
.legacy-gallery-link{display:block;cursor:zoom-in}.legacy-gallery-link img{transition:transform .3s ease}.legacy-gallery-link:hover img{transform:scale(1.015)}
.photo>.legacy-gallery-link,.film-window>.legacy-gallery-link{height:100%}.case-cover>.legacy-gallery-link{min-width:0}.case-cover.orsai-apparel-cover>.legacy-gallery-link>img{width:100%;height:auto;max-height:none;aspect-ratio:3/4;object-fit:contain}
.case-gallery-hint{font-size:14px;color:var(--muted,#76685e);margin-top:16px}
.project-viewer{position:fixed;inset:0;width:calc(100% - 32px);height:calc(100dvh - 32px);max-width:1500px;max-height:none;margin:auto;padding:0;border:1px solid #ffffff24;border-radius:16px;background:#211c18;color:#faf7f1;overflow:hidden}
.project-viewer::backdrop{background:#171411e8;backdrop-filter:blur(10px)}
.project-viewer[open]{display:flex;flex-direction:column}.viewer-toolbar{display:flex;align-items:center;gap:10px;padding:14px 20px;flex-shrink:0;border-bottom:1px solid #ffffff28}.viewer-toolbar h2{font:inherit;font-size:16px;margin:0 auto 0 0;line-height:1.35}.viewer-toolbar button:hover{background:#ffffff16}.viewer-toolbar button:disabled{opacity:.4;cursor:default}.viewer-toolbar .viewer-close{background:#faf7f1;color:#211c18;border-color:#faf7f1}
.viewer-stage{display:grid;place-items:center;flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain;position:relative}.viewer-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.viewer-stage.is-zoomed{display:block}.viewer-stage.is-zoomed img{width:var(--image-width);max-width:none;max-height:none;height:auto;margin:auto}.viewer-stage img[hidden]{display:none}
.viewer-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:12px 20px 18px;flex-shrink:0;font-size:14px;border-top:1px solid #ffffff28}.viewer-footer p{margin:0;color:#ded2c5;max-width:85ch}.viewer-footer a{color:#faf7f1;text-decoration:underline;white-space:nowrap}.viewer-status{color:#ded2c5}.viewer-error{max-width:40ch;text-align:center}
body.gallery-modal-open{overflow:hidden}.project-viewer :focus-visible{outline:2px solid #ffc477;outline-offset:4px}
@media(max-width:1000px){.gallery-track{grid-auto-columns:calc((100% - 32px)/3)}.gallery-track--web{grid-auto-columns:78%}.gallery-track--photos{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:620px){.project-gallery{padding-block:34px;margin-block:12px 25px}.gallery-heading{align-items:start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.gallery-heading h2{font-size:30px}.gallery-controls{margin-left:auto}.gallery-controls button{padding:10px 12px}.gallery-track{grid-auto-columns:72%;gap:14px}.gallery-track--web{grid-auto-columns:92%}.gallery-track--photos{grid-auto-columns:80%}.gallery-art{padding:20px;aspect-ratio:.59}.gallery-expand{opacity:1;transform:none}.gallery-footer{align-items:start;font-size:13px}.gallery-footer p{max-width:30ch}.gallery-position{font-size:13px}.project-viewer{inset:0;width:100%;height:100dvh;border-radius:0;border:0}.viewer-toolbar{padding:12px;gap:8px;flex-wrap:wrap}.viewer-toolbar h2{width:calc(100% - 85px);order:0}.viewer-close{order:1}.viewer-previous,.viewer-next,.viewer-zoom{order:2}.viewer-stage{padding:12px}.viewer-footer{padding:12px;font-size:13px;align-items:start}.viewer-footer p{max-width:30ch}}
@media(prefers-reduced-motion:reduce){.gallery-arrived,.gallery-arrived .gallery-card{animation:none!important}.gallery-art img,.gallery-expand,.legacy-gallery-link img{transition:none!important}.gallery-link:hover .gallery-art img,.legacy-gallery-link:hover img{transform:none!important}.gallery-track{scroll-behavior:auto}}
