@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#080808;--ink:#eeeee8;--muted:#999a94}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #e6ff7b;outline-offset:6px}header{display:flex;align-items:center;gap:25px;padding:32px 3vw 34px;position:relative;z-index:3;background:var(--bg)}.wordmark{font-size:48px;line-height:1;letter-spacing:-3px;font-weight:700}.wordmark span{font-size:13px;vertical-align:top;letter-spacing:0;margin-left:5px}h1{font-size:12px;line-height:1.4;font-weight:500;letter-spacing:1px;margin:0}#total{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums;letter-spacing:1px;color:var(--muted)}main{padding:0 2.4vw 5vw}#grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 12px}.tile{position:relative;aspect-ratio:1;display:block;min-width:0;border:0;padding:0;background:transparent;border-radius:50%;isolation:isolate;outline-offset:6px;z-index:1}.tile:hover,.tile:focus-visible{z-index:10}.lens{display:block;position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#0b0b0b;transform:translate(var(--x,0px),var(--y,0px)) scale(var(--s,1));transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .35s;will-change:auto}.lens img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;transition:filter .35s,opacity .45s;opacity:1}.lens img.loaded{opacity:1}.tile:hover .lens,.tile:focus-visible .lens{box-shadow:0 0 0 1px #ffffff28,0 20px 60px #000b}.tile:focus-visible .lens{transform:scale(1.12)}.number{position:absolute;bottom:15%;left:0;right:0;text-align:center;color:#fff;font-size:12px;letter-spacing:1px;opacity:0;transform:translateY(5px);transition:opacity .25s,transform .25s;text-shadow:0 1px 10px #000;pointer-events:none}.tile:hover .number,.tile:focus-visible .number{opacity:1;transform:translateY(0)}.tile.entering{animation:appear .8s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--delay,0ms)}@keyframes appear{from{opacity:0;transform:translateY(35px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}dialog{max-width:none;max-height:none;width:100%;height:100dvh;margin:0;border:0;padding:0;background:#080808f7;color:var(--ink);overflow:hidden}dialog::backdrop{background:#080808}dialog[open]{display:flex;flex-direction:column;animation:fade .2s ease}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;padding:20px 3vw;gap:20px;flex-shrink:0}.viewer-top{min-height:76px}.viewer-bottom{min-height:80px}#counter{font-size:13px;letter-spacing:1px;color:var(--muted);font-variant-numeric:tabular-nums}dialog button{border:0;background:transparent;min-width:44px;min-height:44px;padding:6px;font-size:26px}#close{font-size:12px;letter-spacing:1px;display:flex;align-items:center;gap:18px}#close span{font-size:28px}#stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}#full-photo{max-width:92%;max-height:100%;object-fit:contain;display:block;width:auto;height:auto}#download{font-size:13px;letter-spacing:1px;padding:14px 20px;border:1px solid #454541;border-radius:30px}#download:hover{background:var(--ink);color:var(--bg)}#download span{margin-left:18px}#error{position:absolute;max-width:300px;padding:20px;background:#141414;text-align:center}#error[hidden]{display:none}@keyframes fade{from{opacity:0}to{opacity:1}}@media(min-width:1800px){#grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:1000px){#grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 8px}}@media(max-width:700px){header{padding:24px 5vw 30px;gap:18px}.wordmark{font-size:36px;letter-spacing:-2px}h1{font-size:11px;letter-spacing:.5px}#total{font-size:11px;letter-spacing:0}main{padding:0 3vw 7vw}#grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 5px}.viewer-top,.viewer-bottom{padding:12px 5vw}.viewer-top{min-height:64px}.viewer-bottom{min-height:76px}#full-photo{max-width:100%}.number{display:none}}@media(max-width:380px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))}#total{display:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lens{transform:none!important}}

.tile.failed .number{opacity:1}.tile.failed .number::after{content:" · Abrir foto"}

/* An oversized typographic opening, built around the actual fisheye lens. */
html{scroll-behavior:smooth}.hero{position:relative;height:94svh;min-height:640px;max-height:1080px;overflow:hidden;padding:0 3vw;background:#080808}.hero h1{position:absolute;inset:20px 3vw 76px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;letter-spacing:-.075em;font-weight:700;line-height:.82;pointer-events:none}.hero-dept{font-size:min(24vw,27svh);position:relative}.registered{position:absolute;right:-.6em;top:.15em;font-size:.13em;letter-spacing:0}.hero-opening{font-size:min(17.8vw,22svh);letter-spacing:-.075em}.hero-floor{position:absolute;top:50%;left:2vw;right:2vw;transform:translateY(-50%);display:flex;justify-content:space-between;font-size:clamp(35px,5.9vw,110px);letter-spacing:-.05em}.hero-orb{position:absolute;top:48%;left:50%;width:min(37vw,47svh);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;background:#080808;box-shadow:0 0 0 1px #ffffff12,0 24px 80px #0007;isolation:isolate}.hero-orb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}#hero-next{opacity:0}.hero-bottom{position:absolute;bottom:24px;left:3vw;right:3vw;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px}.hero-bottom button{border:0;background:none;color:#999a94;font-size:12px;letter-spacing:1px;min-height:44px;padding:8px 0}.hero-bottom a{padding:14px 0}.hero-bottom span{margin-left:10px}.gallery-bar{display:flex;justify-content:space-between;align-items:center;margin:0 3vw 25px;padding:22px 0;border-top:1px solid #ffffff26;font-size:12px;letter-spacing:1px;color:var(--muted);scroll-margin-top:20px}.hero-orb{animation:orb-enter 1s cubic-bezier(.16,1,.3,1) both}@keyframes orb-enter{from{opacity:0;transform:translate(-50%,-45%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:700px){.hero{height:88svh;min-height:570px;max-height:850px}.hero h1{inset:30px 4vw 94px}.hero-dept{font-size:31vw}.hero-opening{font-size:18vw;letter-spacing:-.065em}.hero-floor{top:34%;left:2vw;right:2vw;font-size:7vw}.hero-orb{top:54%;width:min(76vw,39svh)}.hero-bottom{left:5vw;right:5vw;bottom:19px}.gallery-bar{margin:0 5vw 20px;font-size:10px}.gallery-bar #total{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-orb{animation:none}}
