
:root{
  --bg:#111111;
  --fg:#f4f4ef;
  --muted:#8d8d86;
  --pad:56px;
  --nav:12px;
  --body:14px;
  --hero-name:34px;
  --hero-meta:16px;
  --work-max:980px;
  --work-gap:8px;
  --work-cols:3;
  --project-max:1301px;
  --project-gap:4px;
  --project-top:122px;
  --ease:cubic-bezier(.22,.8,.22,1);
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-size:var(--body);line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto;background:#080808}
button,input,textarea{font:inherit}
.site-header{position:fixed;inset:0 0 auto;height:68px;z-index:50;padding:22px clamp(22px,3.4vw,70px);display:grid;grid-template-columns:1fr auto 1fr;align-items:start;background:linear-gradient(to bottom,rgba(17,17,17,.82),rgba(17,17,17,.20) 66%,rgba(17,17,17,0));pointer-events:none}
.site-header a,.site-header button{pointer-events:auto}.nav-stack{justify-self:start;display:grid;gap:1px;font-size:var(--nav);font-weight:400;letter-spacing:.012em;line-height:1.05;text-transform:uppercase}.brand{justify-self:center;text-align:center;font-size:var(--nav);font-weight:400;line-height:1;letter-spacing:.012em}.nav-stack a,.brand{transition:opacity .18s var(--ease)}.nav-stack a:hover,.brand:hover{opacity:.55}.menu-toggle{display:none;background:transparent;border:0;padding:0;width:25px;height:20px;justify-self:end;cursor:pointer}.menu-toggle span{display:block;height:1px;background:var(--fg);margin:5px 0;transition:transform .18s var(--ease),opacity .18s var(--ease)}.mobile-menu{display:none}
.page{min-height:100vh}.home-hero{min-height:100vh;display:grid;place-items:center;text-align:center;padding:96px 24px}.hero-inner{opacity:1;transform:none}.home-hero h1{margin:0 0 14px;font-size:var(--hero-name);line-height:1;font-weight:700;letter-spacing:-.05em}.home-hero p{margin:0;font-size:var(--hero-meta);font-weight:400;line-height:1.08;letter-spacing:-.02em}.home-hero p+p{margin-top:13px}.hero-link{display:inline-block;margin-top:30px;font-size:10px;font-weight:400;line-height:1;letter-spacing:.02em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:3px;transition:opacity .18s var(--ease)}.hero-link:hover{opacity:.55}
.work-section{padding:112px var(--pad) 90px}.work-grid{width:min(100%,var(--work-max));margin:0 auto;display:grid;grid-template-columns:repeat(var(--work-cols),minmax(0,1fr));gap:var(--work-gap)}.project-card{display:block;position:relative;background:#080808;overflow:hidden;min-height:0}.project-card figure{margin:0;position:relative;display:grid;place-items:center;aspect-ratio:1/1;background:#080808}.project-card img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:filter .22s var(--ease),transform .34s var(--ease)}.project-card:hover img{filter:brightness(.72);transform:scale(.992)}.project-card figcaption{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;padding:10px 11px 9px;font-size:11px;line-height:1.15;color:var(--fg);background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,0));opacity:0;transform:translateY(4px);transition:opacity .18s var(--ease),transform .18s var(--ease);pointer-events:none}.project-card:hover figcaption,.project-card:focus-visible figcaption{opacity:1;transform:none}.project-card em{font-style:normal;color:#b6b6ad;text-align:right;white-space:nowrap}.project-card:focus-visible{outline:1px solid rgba(255,255,255,.55);outline-offset:3px}
.project-shell{padding:var(--project-top) var(--pad) 96px}.project-meta{width:min(100%,var(--project-max));margin:0 auto 34px;text-align:center;font-size:11px;line-height:1.22}.project-meta h1{font-size:16px;line-height:1.1;font-weight:700;margin:0;letter-spacing:-.03em}.project-meta .project-category{margin:10px 0 0;color:var(--muted);font-size:13px}.project-description{max-width:520px;margin:14px auto 0;color:var(--muted);font-size:12px;line-height:1.45;font-weight:400;letter-spacing:0}.project-gallery{width:min(100%,var(--project-max));margin:0 auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--project-gap);line-height:0}.project-gallery::after{content:"";flex:9999 0 0}.gallery-item{margin:0;line-height:0;flex:0 0 calc(var(--basis,50%) - var(--project-gap));max-width:100%}.gallery-item.is-full{flex-basis:100%}.image-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;line-height:0;overflow:visible}.image-button img{width:100%;height:auto;object-fit:contain;transition:filter .2s var(--ease),opacity .2s var(--ease);background:transparent}.image-button:hover img{filter:brightness(.9)}.gallery-caption{display:none}
.contact-layout{width:min(100%,440px);min-height:100vh;margin:0 auto;padding:118px 24px 76px;display:grid;place-items:center}.contact-form{width:100%;display:grid;gap:12px}.contact-form h1{font-size:34px;line-height:1;font-weight:700;letter-spacing:-.045em;margin:0 0 10px;text-align:center}.contact-form label{display:grid;gap:6px}.contact-form span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:1px solid rgba(255,255,255,.20);color:var(--fg);padding:11px 12px;outline:0;border-radius:0}.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(255,255,255,.55)}.contact-form button{margin-top:4px;background:var(--fg);color:var(--bg);border:0;padding:11px 12px;cursor:pointer;font-weight:700;transition:opacity .18s var(--ease)}.contact-form button:hover{opacity:.76}.contact-form button:disabled{opacity:.45;cursor:wait}.form-status{min-height:18px;margin:2px 0 0;color:var(--muted);font-size:12px;text-align:center}.site-footer{padding:30px clamp(22px,3vw,64px) 36px;display:flex;justify-content:center;text-align:center;color:#6f6f69;font-size:11px}.site-footer b{font-weight:400}
@keyframes fadeInUp{from{opacity:.01;transform:translateY(7px)}to{opacity:1;transform:none}}.reveal{opacity:1;transform:none;animation:fadeInUp .48s var(--ease) both;animation-delay:var(--d,0ms)}.reveal.in{opacity:1;transform:none}.lightbox{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.95);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .18s var(--ease);cursor:default}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:min(94vw,1780px);max-height:88vh;width:auto;height:auto;background:transparent}.lightbox button{position:absolute;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.22);color:var(--fg);width:38px;height:38px;cursor:pointer}.lightbox-close{top:22px;right:22px}.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}.lightbox-count{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);font-size:11px;color:#aaa}.lock-scroll{overflow:hidden}
@media(max-width:860px){:root{--pad:18px;--nav:13px;--body:14px;--hero-name:30px;--hero-meta:15px;--project-top:90px;--work-gap:7px}.site-header{height:62px;grid-template-columns:1fr auto;padding:20px 18px;background:linear-gradient(to bottom,rgba(17,17,17,.88),rgba(17,17,17,.15) 68%,rgba(17,17,17,0))}.brand{justify-self:start}.nav-stack{display:none}.menu-toggle{display:block}.site-header.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header.menu-open .menu-toggle span:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;background:rgba(17,17,17,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:16px;opacity:0;pointer-events:none;transition:opacity .18s var(--ease)}.site-header.menu-open .mobile-menu{opacity:1;pointer-events:auto}.work-section{padding:86px 18px 64px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,560px)}.project-shell{padding:88px 18px 64px}.project-meta{margin-bottom:26px}.project-gallery{display:block;width:min(100%,560px)}.project-gallery::after{display:none}.gallery-item{width:100%;max-width:100%;margin:0 0 var(--project-gap);flex-basis:auto}.image-button{height:auto}.image-button img{width:100%;height:auto;object-fit:contain}.lightbox-prev,.lightbox-next{display:none}.project-card figcaption{opacity:1;transform:none;background:linear-gradient(to top,rgba(0,0,0,.58),rgba(0,0,0,0));font-size:10px}.home-hero p+p{margin-top:15px}}
@media(max-width:520px){.work-grid{grid-template-columns:1fr}.project-card figure{aspect-ratio:4/3}.contact-layout{padding-top:94px}.mobile-menu a{padding:8px}}
@media(hover:none){.project-card figcaption{opacity:1;transform:none}}
