*{margin:0;padding:0;box-sizing:border-box;cursor:none!important}
        :root{color-scheme:dark;--bg:#1f1f1e;--fg:#b4b4b4;--muted:#777;--accent:#00a884;--font-heading:'Anton',Impact,sans-serif;--font-body:'DM Sans',sans-serif;--ease:cubic-bezier(0.16,1,0.3,1)}
        html{background:var(--bg);scroll-behavior:smooth}
        body{font-family:var(--font-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;cursor:none;overflow-x:hidden}
        .cursor-blob{position:fixed;width:24px;height:24px;border-radius:50%;background:var(--accent);mix-blend-mode:difference;pointer-events:none;z-index:10000;transform:translate(-50%,-50%);transition:width .4s var(--ease),height .4s var(--ease)}
        .cursor-blob.expand{width:80px;height:80px}
        a,[data-h]{cursor:none}
        nav{cursor:none!important;position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:1.8rem 3vw;mix-blend-mode:difference;color:#fff}
        .nav-logo{cursor:none!important;font-family:var(--font-heading);font-size:1rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:inherit}
        .nav-links{display:flex;gap:2rem}
        .nav-links a{cursor:none!important;color:inherit;text-decoration:none;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6;transition:opacity .3s}
        .nav-links a:hover,.nav-links a.active{opacity:1}
        .hamburger{display:none;flex-direction:column;gap:5px;cursor:none;background:none;border:none;padding:10px;z-index:1002}
        .hamburger span{display:block;width:24px;height:2px;background:rgba(255,255,255,.9);transition:transform .3s var(--ease),opacity .3s}
        .hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
        .hamburger.open span:nth-child(2){opacity:0}
        .hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
        .mobile-menu{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;pointer-events:none;transition:opacity .4s var(--ease)}
        .mobile-menu.open{opacity:1;pointer-events:auto}
        .mobile-menu a{font-family:var(--font-heading);font-size:2.5rem;text-transform:uppercase;color:#fff;text-decoration:none;opacity:.7;transition:opacity .3s}
        .mobile-menu a:hover{opacity:1}
        .proj-hero{width:100%;height:75vh;overflow:hidden;position:relative}
        .proj-hero img{width:100%;height:100%;object-fit:cover;display:block}
        .proj-hero .overlay{position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(8,8,8,.75))}
        .proj-hero .text{position:absolute;bottom:6vh;left:3vw;z-index:2}
        .proj-hero .text h1{font-family:var(--font-heading);font-size:clamp(4rem,12vw,12rem);text-transform:uppercase;line-height:.85;color:#fff}
        .proj-hero .text p{font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:.8rem}
        .back{position:absolute;top:7vh;left:3vw;z-index:10;color:rgba(255,255,255,.5);text-decoration:none;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;transition:color .3s}
        .back:hover{color:#fff}
        .content{max-width:1200px;margin:0 auto;padding:8vh 3vw}
        .body-text{max-width:680px;font-size:.9rem;line-height:1.9;color:#b4b4b4;margin-bottom:5rem}
        .body-text p{margin-bottom:1.3rem}
        .body-text strong{color:#fff;font-weight:500}
        .photos{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:5rem}
        .ph{overflow:hidden;cursor:none;position:relative}
        .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease);filter:grayscale(.1)}
        .ph:hover img{transform:scale(1.04);filter:grayscale(0)}
        .ph.wide{grid-column:1/-1}
        .ph.wide img{max-height:60vh}
        .ph .cap{position:absolute;bottom:0;left:0;right:0;padding:1.2rem 1.5rem;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;opacity:0;transition:opacity .4s}
        .ph:hover .cap{opacity:1}
        .cap-t{font-family:var(--font-heading);font-size:1rem;text-transform:uppercase}
        .cap-m{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:.2rem}
        .section-label{color:#fff;font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.5rem);text-transform:uppercase;margin-bottom:1.5rem}
        .next{margin-top:6rem;padding-top:3rem;border-top:1px solid #2a2a2a}
        .next-label{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
        .next a{display:block;font-family:var(--font-heading);font-size:clamp(2rem,6vw,5rem);text-transform:uppercase;color:#fff;text-decoration:none;margin-top:.3rem;transition:color .3s}
        .next a:hover{color:var(--accent)}
        footer{padding:2rem 3vw;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;margin-top:5rem}
        footer a{color:var(--muted);text-decoration:none;transition:color .3s}
        footer a:hover{color:#fff}
        .lb #lb-img{transition:none;width:auto;height:auto;max-width:90vw;max-height:85vh;object-fit:contain;position:relative;z-index:1}
        .lb{position:fixed;inset:0;z-index:9000;background:#000;display:none;align-items:center;justify-content:center;cursor:none;opacity:0;transition:opacity .3s ease}
        .lb.open{display:flex;opacity:1}
        .lb-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(40px) brightness(.4);transform:scale(1.1);transition:background-image .3s ease}
        .lb img{max-width:90vw;max-height:90vh;object-fit:contain;position:relative;z-index:1}
        .lb-controls{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;z-index:2}
        .lb:hover .lb-controls,.lb-controls:focus-within{opacity:1}
        .lb-x{position:absolute;top:2rem;right:2rem;width:40px;height:40px;background:none;border:none;color:rgba(255,255,255,.7);font-size:1.4rem;cursor:none;display:flex;align-items:center;justify-content:center;transition:color .3s}
        .lb-x:hover{color:#fff}
        .lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.6);cursor:none;display:flex;align-items:center;justify-content:center;transition:color .3s;z-index:2;padding:1.5rem}
        .lb-arrow:hover{color:#fff}
        .lb-arrow svg{width:32px;height:32px}
        .lb-prev{left:0}.lb-next{right:0}
        .lb-arrow.hidden{display:none}
        .lb-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;gap:.75rem}
        .lb-dots.hidden{display:none}
        .lb-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.25);cursor:none;transition:background .3s,transform .3s}
        .lb-dot.active{background:#fff;transform:scale(1.4)}
        .lb-counter{position:absolute;top:2rem;left:2rem;color:rgba(255,255,255,.5);font-size:.75rem;letter-spacing:.1em;font-family:'Anton',sans-serif;text-transform:uppercase}
        .lb-caption{position:absolute;bottom:4.5rem;left:50%;transform:translateX(-50%);text-align:center;z-index:2;max-width:80vw}
        .lb-title{font-family:'Anton',Impact,sans-serif;font-size:1.1rem;text-transform:uppercase;color:rgba(255,255,255,.85);letter-spacing:.05em}
        .lb-sub{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:.3rem}
        .reveal{opacity:1;transform:translateY(0)}@media(min-width:769px){.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease)}}.reveal.visible{opacity:1;transform:translateY(0)}
        .reveal.visible{opacity:1;transform:translateY(0)}
        @media(max-width:1024px){.proj-hero img,.proj-hero picture img{object-position:right center}}
        @media(max-width:768px){*{cursor:auto!important}.cursor-blob{display:none!important}.reveal{opacity:1!important;transform:none!important}.ph img{filter:none}.ph:hover img{transform:none;filter:none}.nav-links{display:none}.hamburger{display:flex}.photos{grid-template-columns:1fr}.proj-hero{height:55vh}.proj-hero img{object-position:calc(50% + 100px) calc(50% - 100px)}footer{flex-direction:column;gap:.5rem}.lb-controls{opacity:1}.lb-arrow{padding:1rem}.lb-arrow svg{width:24px;height:24px}}
