@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap";.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--neon);position:sticky;top:0;background:var(--bg);z-index:100}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;z-index:200}.hamburger span{width:25px;height:3px;background-color:var(--neon);transition:all .3s ease-in-out}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--neon);font-size:1rem;position:relative}.nav-links a:hover:after{content:"";position:absolute;left:0;top:100%;height:2px;width:100%;background:var(--neon);animation:glitch .3s linear}@media screen and (max-width: 600px){.hamburger{display:flex}.nav-links{display:flex;flex-direction:column;position:absolute;top:60px;right:0;width:100%;padding:1rem 0;background:var(--bg);gap:1.5rem;align-items:center;border-top:1px solid var(--neon);opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease}.nav-links.open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{font-size:1.2rem}}:root{--neon: #FF3CAC;--bg: #000000;--font: "IBM Plex Mono", monospace;--white: #ffffff}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--white);font-family:var(--font)}.container{display:flex;height:100vh;padding-top:3em;overflow:hidden;position:relative}.network-map{position:relative;background-color:#000;transform-origin:0 0;transition:transform .1s ease-out;min-width:3000px;min-height:3000px;will-change:transform;padding-top:3em}a{color:var(--neon);text-decoration:none;position:relative;display:inline-block;transition:color .2s ease}a.active{color:var(--white)!important}a:not(.active):hover{color:var(--white);animation:glitch-cmyk-fast .4s steps(2,end)}.glitch-fast:hover{animation:glitch-cmyk-fast .4s steps(2,end);animation-fill-mode:both;color:var(--white)}.glitch-soft{animation:none}.glitch-soft:hover,.glitch-soft:focus{animation:glitch-cmyk-soft .7s ease-in-out;animation-fill-mode:both;color:var(--white)}@keyframes glitch-cmyk-fast{0%{transform:translate(0);text-shadow:2px 0 cyan,-2px 0 magenta,1px 1px yellow}25%{transform:translate(-1px,1px);text-shadow:-1px 1px cyan,1px -1px magenta,2px 0 yellow}50%{transform:translate(2px,-1px);text-shadow:2px 1px cyan,-2px 0 magenta,0 2px yellow}75%{transform:translate(-1px,-1px);text-shadow:-2px -1px cyan,1px 1px magenta,1px -2px yellow}to{transform:translate(0);text-shadow:none}}@keyframes glitch-cmyk-soft{0%{transform:translate(0);text-shadow:1px 0 cyan,-1px 0 magenta,.5px .5px yellow}33%{transform:translate(-1px,.5px);text-shadow:1px 1px cyan,-1px -1px magenta,1px 0 yellow}66%{transform:translate(1px,-.5px);text-shadow:0px -1px cyan,1px 1px magenta,-1px 1px yellow}to{transform:translate(0);text-shadow:none}}.logo{cursor:pointer;display:flex;align-items:center;justify-content:center;height:2.5rem;padding:.25rem}.logo svg{fill:var(--neon);transition:fill .2s ease}.logo:hover svg{fill:var(--white);animation:glitch-cmyk-fast .4s ease-in-out}.projects-container{padding:3rem 2rem 2rem;color:var(--white);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.title{font-size:2.5rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--white)}.projects-sub{font-size:1rem;margin-bottom:2rem;max-width:600px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;width:100%;max-width:1000px}.project-card{border:1px solid var(--neon);padding:1rem;border-radius:8px;background:#ffffff05;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:transform .2s ease,box-shadow .2s ease;text-align:left;position:relative}.project-card:hover{transform:translateY(-4px);box-shadow:0 0 15px var(--neon);animation:glitch-cmyk-fast .4s steps(2,end);animation-fill-mode:both}.project-name{color:var(--white);font-weight:700;font-size:1.1rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.project-desc{color:var(--white);opacity:.7;font-size:.9rem}.project-card.empty{opacity:.3;font-style:italic;text-align:center;color:var(--white);pointer-events:none}.project-card.placeholder{cursor:default}.contact-container{padding:3rem 2rem 2rem;color:var(--white);min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center}.contact-background-text{position:absolute;top:20%;left:5%;font-size:8rem;font-weight:700;color:#ff3cac0d;text-transform:uppercase;z-index:0;pointer-events:none;white-space:nowrap}.contact-content{z-index:1;text-align:center;max-width:600px}.contact-content h1{font-size:2.5rem;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.1em;color:var(--neon)}.contact-description{font-size:1rem;margin-bottom:2rem;max-width:600px}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-links a{color:var(--neon);font-size:1.1rem;text-decoration:none;transition:color .3s ease}.label-node .label-text{color:#000;font-weight:700;white-space:nowrap;font-size:.9rem;letter-spacing:.05em}.intro-page{height:100vh;background-color:#000;display:flex;justify-content:center;align-items:center;color:var(--neon);text-align:center}.intro-text h1{font-size:2.5rem;margin-bottom:1rem;font-family:var(--font)}.enter-link{color:var(--white);text-decoration:none;font-size:1.25rem;transition:color .2s ease}.enter-link:hover{color:var(--neon);animation:glitch-cmyk-fast .4s steps(2,end)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}.menu-bar{position:fixed;top:0;width:100%;background-color:#000;padding:1em;display:flex;justify-content:center;gap:2em;z-index:1000}.menu-bar a{color:#faf9f6;text-decoration:none}.container{display:flex;height:100vh;padding-top:3em;overflow:hidden}.network-map{flex:2;position:relative;background-color:#000;transform-origin:0 0;transition:transform .1s ease-out;min-width:3000px;min-height:3000px;will-change:transform}.network-map:active{cursor:grabbing}.node-rect{position:absolute;width:150px;height:100px;background-size:cover;background-position:center;border:1px solid #FAF9F6;cursor:grab;z-index:2;transition:transform .25s cubic-bezier(.25,1.5,.5,1),box-shadow .25s ease;animation:float 12s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .2s)}.node-rect:hover{transform:scale(1.05);box-shadow:0 0 15px #ffffff1a}.connection-line{position:absolute;overflow:visible;pointer-events:none;z-index:1}.connection-line line{stroke:#ff3cac;stroke-width:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.05));transition:stroke .2s ease,filter .3s ease}.detail-panel{flex:1;background-color:#faf9f6;color:#5a5a5a;padding:1em;display:none;flex-direction:column;align-items:center;justify-content:start}.detail-panel img{max-width:100%;height:auto}@media (max-width: 768px){.container{flex-direction:column;height:auto;overflow:visible;padding-top:1.5em}.network-map{display:none}.detail-panel{display:flex;width:100%;flex-direction:column;padding:2rem 1rem;background-color:#000;color:#fff}.detail-panel img{margin-bottom:1rem;border:1px solid #fff}.detail-panel .detail-title{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.detail-panel .detail-description,.detail-panel .detail-dimensions{font-size:.95rem;line-height:1.5;opacity:.8}.mobile-artwork{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--neon)}}.label-node{position:absolute;background-color:var(--neon);border-radius:50%;cursor:grab;z-index:2;display:flex;align-items:center;justify-content:center;transition:width .4s ease,height .4s ease,border-radius .3s ease;overflow:hidden}.label-node:hover{width:auto!important;height:auto!important;padding:.75rem 1.25rem;border-radius:2rem}.label-node .label-text{opacity:0;transition:opacity .3s ease;white-space:nowrap;color:#000;font-weight:700;font-size:.75rem}.label-node:hover .label-text{opacity:1}
