:root{--red:#b41622;--ink:#090909;--paper:#eee9df;--glass:rgba(8,8,8,.82);--depth:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#090909;color:#f5f2eb;font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}button{cursor:pointer}.intro{position:fixed;inset:0;z-index:20;background:#eee9df;color:#111;display:grid;place-content:center;text-align:center;padding:8vw;overflow:hidden}.intro .kicker,.scene-heading span,.archive small{font-size:10px;letter-spacing:.24em;text-transform:uppercase}.intro-mark{position:relative;width:min(1000px,90vw);height:280px;display:grid;place-items:center}.serif-mark{font:clamp(48px,8vw,112px)/.9 Georgia,serif}.serif-mark small{display:block;font:12px Arial;letter-spacing:1.2em;margin-top:28px}.spray-tag{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,max-content);place-content:center;gap:0 22px;transform:rotate(-2deg);color:var(--red);font:900 clamp(36px,6vw,92px)/.8 Impact,Arial Black,sans-serif;filter:drop-shadow(0 2px 1px #68000b);pointer-events:none}.spray-tag span{opacity:0;clip-path:inset(0 100% 0 0);animation:spray 1.15s cubic-bezier(.15,.8,.2,1) forwards}.spray-tag span:nth-child(2){animation-delay:1.1s}.spray-tag span:nth-child(3){animation-delay:2.2s}.spray-tag span:nth-child(4){grid-column:1/-1;letter-spacing:.08em;font-size:.72em;animation-delay:3.3s}.spray-tag span:after{content:"";display:block;width:5px;height:0;background:var(--red);margin:-4px auto 0;animation:drip .9s 4.3s forwards}@keyframes spray{to{opacity:.96;clip-path:inset(0 0 0 0)}}@keyframes drip{to{height:34px}}.intro-actions{display:flex;gap:12px;justify-content:center;margin-top:22px}.intro button,.work-actions button,#scaleButton{border:0;background:var(--red);color:white;padding:15px 24px;text-transform:uppercase;letter-spacing:.13em;font-size:11px}.ghost{background:transparent!important;color:inherit!important;border:1px solid currentColor!important}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 3vw}.topbar>div{display:flex;gap:18px;align-items:center;font-size:10px;letter-spacing:.18em}.brand{background:none;border:0;color:white;text-align:left;font:25px Georgia}.brand small{display:block;font:8px Arial;letter-spacing:.52em;text-align:center;margin-top:5px}.brand i{display:block;width:130px;height:2px;background:var(--red);transform:rotate(-2deg);margin-top:7px}.topbar button:not(.brand){background:var(--glass);color:white;border:1px solid #ffffff30;padding:10px 15px;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.scene{min-height:100svh;position:relative;overflow:hidden;background-image:linear-gradient(90deg,#0009,#0000 35%,#0002),url('assets/gallery-warehouse-v2.png');background-size:cover;background-position:center;transition:filter .8s,background-position .9s}.scene:before{content:"";position:absolute;inset:0;background:var(--scene-overlay,linear-gradient(180deg,#06101b55,#7d302322));mix-blend-mode:multiply;pointer-events:none}.scene.night{filter:brightness(.58) saturate(1.22)}.scene-heading{position:absolute;z-index:5;left:3vw;top:118px;text-shadow:0 2px 18px #000}.scene-heading h1{font:clamp(40px,6vw,88px)/.95 Georgia;margin:9px 0}.scene-heading p{max-width:380px;color:#ddd}.wall{position:absolute;z-index:4;inset:25% 13% 21%;display:flex;align-items:center;justify-content:center;gap:5.5vw;perspective:1200px;transition:transform .8s}.art-on-wall{position:relative;border:9px solid #191715;background:#ddd;box-shadow:0 14px 32px #0009,0 0 55px #ffe8b040;max-height:48vh;transition:transform .35s,filter .35s;transform:translateZ(calc(var(--depth)*1))}.art-on-wall img{display:block;max-height:44vh;max-width:24vw;object-fit:contain}.art-on-wall:hover,.art-on-wall:focus{transform:translateZ(calc(var(--depth)*3)) scale(1.025);z-index:2}.art-on-wall.selected{filter:brightness(1.12);box-shadow:0 15px 36px #000,0 0 90px var(--accent,#ffcc88)}.art-label{position:absolute;left:calc(100% + 14px);bottom:0;background:#eee;color:#111;padding:8px;width:92px;font-size:8px;line-height:1.45}.controls{position:absolute;z-index:8;bottom:24px;left:3vw;display:flex;gap:1px;background:var(--glass);padding:7px;border:1px solid #ffffff25}.controls button,.walk-pad button{background:transparent;border:0;color:white;padding:12px 15px;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.controls button.active{background:var(--red)}.walk-pad{position:absolute;z-index:8;right:3vw;bottom:25px;display:grid;grid-template-columns:repeat(3,42px)}.walk-pad button{background:var(--glass);border:1px solid #ffffff2d;font-size:17px}.walk-pad button:first-child{grid-column:2}.walk-pad button:nth-child(2){grid-column:1}.now-playing{position:absolute;z-index:8;right:3vw;top:105px;background:var(--glass);padding:10px 14px;display:flex;gap:10px;align-items:center}.now-playing span{width:4px;height:24px;background:var(--red);box-shadow:7px 5px var(--red),14px -2px var(--red)}.now-playing small{display:block;font-size:7px;letter-spacing:.2em}.now-playing strong{font-size:9px;letter-spacing:.13em}.scene-menu,.depth-panel{position:fixed;z-index:30;right:20px;top:20px;bottom:20px;width:min(400px,calc(100vw - 40px));padding:30px;background:#0d0d0df2;border:1px solid #ffffff25;backdrop-filter:blur(18px)}.scene-menu p,.depth-panel p{text-transform:uppercase;letter-spacing:.2em;color:#999}.scene-menu>div{display:grid}.scene-menu button:not(.close){background:none;border:0;border-bottom:1px solid #ffffff1e;color:white;text-align:left;padding:16px 0}.scene-menu button.active{color:#ef3a43}.close,.dialog-close{position:absolute;right:15px;top:15px;background:none;border:0;color:inherit;font-size:30px}.depth-panel{top:100px;bottom:auto}.depth-panel label{display:block;padding:14px 0;border-bottom:1px solid #ffffff18}.depth-panel input[type=range]{width:100%}.scene-ibiza{--scene-overlay:linear-gradient(180deg,#268fd02c,#d9a65a1f)}.scene-future{--scene-overlay:linear-gradient(135deg,#00172daa,#59108055)}.scene-neon{--scene-overlay:linear-gradient(135deg,#13032899,#95094044)}.scene-canal{--scene-overlay:linear-gradient(180deg,#19312355,#7e5c261f)}.scene-tokyo{--scene-overlay:linear-gradient(135deg,#061426aa,#b6005a33)}.scene-la{--scene-overlay:linear-gradient(180deg,#10101033,#bd501b1f)}.scene-train{--scene-overlay:linear-gradient(180deg,#060606aa,#1d402c44)}.rain{position:absolute;inset:-20%;opacity:0;background-image:repeating-linear-gradient(105deg,transparent 0 18px,#b8d9ff44 19px,#b8d9ff44 20px,transparent 21px 38px);animation:rain .45s linear infinite}.weather .rain{opacity:.75}@keyframes rain{to{transform:translate3d(-25px,60px,0)}}.clouds{position:absolute;inset:-20% -40%;opacity:0;background:radial-gradient(ellipse at 35% 30%,#fff8 0 8%,transparent 9%),radial-gradient(ellipse at 60% 20%,#fff6 0 12%,transparent 13%);animation:clouds 28s linear infinite}.scene-ibiza.weather .clouds{opacity:.7}@keyframes clouds{to{transform:translateX(18%)}}.bird{position:absolute;top:18%;right:15%;opacity:0;font-size:40px;animation:bird 16s linear infinite}.scene-ibiza.weather .bird{opacity:.7}@keyframes bird{to{transform:translateX(-80vw) translateY(30px)}}.neon{position:absolute;inset:0;box-shadow:inset 0 0 160px #ff00a444;opacity:0;animation:flicker 3.8s infinite}.scene-neon.weather .neon,.scene-future.weather .neon{opacity:1}@keyframes flicker{48%,52%{opacity:.45}50%{opacity:.1}}.train{position:absolute;z-index:3;left:-115%;bottom:18%;width:110%;height:43%;background:#26322e;border-top:8px solid #a9b6a4;border-bottom:16px solid #111;display:flex;gap:4%;padding:4%;transition:none}.scene-canal.weather .train{animation:train 12s ease-in-out infinite}.scene-train .train{left:0;opacity:.45;transform:translateX(0)}.train span{flex:1;background:linear-gradient(#f4d59d,#24323c);border:7px solid #111}@keyframes train{0%,15%{transform:translateX(0)}75%,100%{transform:translateX(205%)}}.commuters{position:absolute;z-index:5;inset:0;pointer-events:none}.commuters i{position:absolute;bottom:20%;left:20%;width:26px;height:110px;border-radius:40% 40% 10% 10%;background:#080808cc;opacity:0}.scene-canal.weather .commuters i{animation:walk 15s linear infinite}.commuters i:nth-child(2){animation-delay:4s!important;height:94px}.commuters i:nth-child(3){animation-delay:8s!important;height:120px}@keyframes walk{0%{opacity:0;transform:translateX(-15vw)}15%,75%{opacity:.55}100%{opacity:0;transform:translateX(85vw)}}.blacklight{filter:brightness(.48) contrast(1.3) saturate(1.8) hue-rotate(190deg)!important}.anaglyph .art-on-wall img{filter:drop-shadow(-5px 0 #00ffff) drop-shadow(5px 0 #ff003c)}dialog{width:min(1160px,94vw);max-height:92vh;padding:0;background:#e9e4da;color:#111;border:0;box-shadow:0 30px 90px #000;overflow:auto}dialog::backdrop{background:#000c;backdrop-filter:blur(7px)}#workDialog[open]{display:grid;grid-template-columns:1.45fr .8fr}.work-view{background:#111;min-height:70vh;display:grid;place-items:center;padding:5vw}.inspection{position:relative}.inspection img{max-width:54vw;max-height:68vh;display:block;box-shadow:0 20px 60px #000}.raking-light{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#fff6 48%,transparent 62%);mix-blend-mode:screen;animation:rake 6s ease-in-out infinite}@keyframes rake{50%{transform:translateX(22%)}}.work-info{padding:60px 40px}.work-info h2{font:42px Georgia;margin:12px 0 0}.work-info h3{font:italic 25px Georgia;color:var(--red)}dl div{display:grid;grid-template-columns:100px 1fr;padding:11px 0;border-top:1px solid #bbb}dt{text-transform:uppercase;font-size:9px;letter-spacing:.16em}.work-actions{display:grid;gap:9px;margin-top:30px}.frame-controls{padding:55px 35px}.frame-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.frame-choice{padding:12px;border:1px solid #bbb;background:#f7f3ec}.frame-choice.active{border:2px solid var(--red)}.upload{display:block;background:var(--red);color:#fff;text-align:center;padding:16px;margin:20px 0;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.upload input{display:none}.dimension-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dimension-grid input{width:100%;padding:10px}.room-preview{position:relative;background:#d3cfc6;min-height:75vh;display:grid;place-items:center;overflow:hidden;background-size:cover;background-position:center}.placed-art{display:none;position:absolute;border:12px solid #171717;box-shadow:0 18px 40px #0008;cursor:grab}.placed-art img{display:block;max-width:260px;max-height:360px}.archive{background:#f1eee8;color:#111;padding:10vw 4vw}.archive header{display:flex;justify-content:space-between;align-items:end}.archive h2{font:clamp(50px,8vw,120px) Georgia;margin:10px 0}.archive input{border:0;border-bottom:1px solid;padding:12px;background:none}.filters{display:flex;gap:10px;overflow:auto;margin:25px 0 60px}.filters button{border:0;background:none;padding:10px;text-transform:uppercase;letter-spacing:.14em}.filters button.active{color:var(--red);border-bottom:2px solid}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4vw 2vw}.card{background:none;border:0;text-align:left}.card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#e5e0d7;transition:transform .3s}.card:hover img{transform:scale(.985)}.card strong{display:block;margin-top:12px}.card small{color:#777}.idle-ui{transition:opacity .5s}body.ui-idle .idle-ui{opacity:0}.after-hours{--red:#ff294f}.after-hours .scene{filter:brightness(.62) saturate(1.4)}
@media(max-width:800px){.intro-mark{height:220px}.spray-tag{grid-template-columns:1fr;gap:0}.spray-tag span:nth-child(4){grid-column:auto}.topbar{padding:16px}.brand{font-size:19px}.scene-heading{top:100px}.scene-heading h1{font-size:42px}.wall{inset:25% 6% 29%;gap:3vw}.art-on-wall{border-width:5px}.art-on-wall img{max-width:28vw;max-height:38vh}.art-label{display:none}.controls{left:10px;right:10px;bottom:10px;overflow:auto}.controls button{white-space:nowrap;padding:10px}.walk-pad{display:none}.now-playing{top:auto;bottom:68px;right:10px}.grid{grid-template-columns:repeat(2,1fr)}#workDialog[open],#frameDialog[open]{display:block}.inspection img{max-width:82vw}.dimension-grid{grid-template-columns:1fr}.archive header{display:block}.scene-menu{right:10px;top:10px;bottom:10px;width:calc(100vw - 20px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(min-width:801px){#frameDialog[open]{display:grid;grid-template-columns:420px 1fr}}
.entrance-page{background:#eee9df;color:#111}.entrance{min-height:100svh;display:grid;place-content:center;justify-items:center;text-align:center;padding:max(32px,6vw);overflow:hidden}.entrance .kicker{font-size:10px;letter-spacing:.24em;text-transform:uppercase}.approved-tag{display:block;width:min(1120px,94vw);max-height:62svh;object-fit:contain;mix-blend-mode:multiply;animation:approvedReveal 4.4s cubic-bezier(.18,.75,.2,1) both;filter:contrast(1.04) saturate(1.08)}@keyframes approvedReveal{0%{clip-path:inset(0 100% 0 0);opacity:.3}100%{clip-path:inset(0 0 0 0);opacity:1}}.enter-button{display:inline-block;background:var(--red);color:white;padding:15px 24px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:11px}.archive-link{color:white;text-decoration:none;text-transform:uppercase;letter-spacing:.16em}.brand{text-decoration:none}.entrance .ghost{color:#111!important}@media(max-width:800px){.approved-tag{width:100vw;max-height:55svh}.entrance{padding:24px 12px}.entrance .intro-actions{flex-direction:column;width:min(340px,88vw)}.enter-button{width:100%}}
