:root{--bg:#0d0f10;--bg-elevated:#16181a;--line:#262a2c;--text:#f1efe9;--text-dim:#85817a;--accent:#b5563c;--font-display:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;margin:0;padding:0}body{min-height:100vh}a{color:inherit}button{cursor:pointer;font-family:inherit}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page{max-width:1600px;margin:0 auto;padding:0 clamp(20px,4vw,56px)}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:24px;padding:clamp(28px,5vw,56px) 0 clamp(24px,4vw,40px);display:flex}.site-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(22px,3vw,30px);font-weight:600}.site-sub{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase;margin-top:6px;font-size:12px;display:block}.header-right{flex-shrink:0;align-items:center;gap:20px;display:flex}.work-count{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.04em;font-size:12px}.contact-btn{border:1px solid var(--line);color:var(--text);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:0 0;padding:10px 18px;font-size:12px;text-decoration:none;transition:border-color .16s,color .16s}.contact-btn:hover{border-color:var(--accent);color:var(--accent)}.gallery{column-count:1;column-gap:clamp(14px,2vw,24px);padding:clamp(28px,4vw,48px) 0 80px}@media (width>=640px){.gallery{column-count:2}}@media (width>=1100px){.gallery{column-count:3}}.tile{break-inside:avoid;background:var(--bg-elevated);border:1px solid var(--line);margin-bottom:clamp(14px,2vw,24px);position:relative;overflow:hidden}.tile img{width:100%;height:auto;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .5s;display:block}.tile:hover img{transform:scale(1.02)}.tile-caption{opacity:0;background:linear-gradient(#0000,#0d0f10eb);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 16px;transition:opacity .22s,transform .22s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(6px)}.tile:hover .tile-caption,.tile:focus-within .tile-caption{opacity:1;transform:translateY(0)}.tile-index{font-family:var(--font-mono);color:var(--accent);letter-spacing:.05em;font-size:11px}.tile-title{font-family:var(--font-display);color:var(--text);text-align:right;font-size:14px;font-weight:500}.tile-button{background:0 0;border:none;width:100%;padding:0;display:block}.empty-state{text-align:center;color:var(--text-dim);padding:100px 0}.empty-state h2{font-family:var(--font-display);color:var(--text);margin:0 0 10px;font-size:20px;font-weight:500}.empty-state code{font-family:var(--font-mono);color:var(--accent);background:var(--bg-elevated);border:1px solid var(--line);padding:2px 6px;font-size:13px}.lightbox{z-index:100;background:#080909f5;flex-direction:column;justify-content:center;align-items:center;padding:clamp(20px,5vw,60px);animation:.18s fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox img{object-fit:contain;border:1px solid var(--line);max-width:100%;max-height:82vh}.lightbox-meta{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.05em;align-items:baseline;gap:14px;margin-top:18px;font-size:12px;display:flex}.lightbox-meta strong{font-family:var(--font-display);color:var(--text);letter-spacing:normal;font-weight:500}.lightbox-close{border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:8px 14px;font-size:12px;transition:color .16s,border-color .16s;position:absolute;top:clamp(20px,4vw,40px);right:clamp(20px,4vw,40px)}.lightbox-close:hover{color:var(--accent);border-color:var(--accent)}.site-footer{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.05em;color:var(--text-dim);text-transform:uppercase;padding:24px 0 40px;font-size:11px}
