@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2)format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2)format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2)format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff)format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2)format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff)format("woff")}*{box-sizing:border-box;margin:0;padding:0}body{color:#f0f0f0;cursor:auto;background-color:#070707;font-family:Space Grotesk,sans-serif;overflow-x:hidden}body.has-custom-cursor{cursor:none}html.skip-intro .preloader{display:none}.preloader.is-done{visibility:hidden;pointer-events:none}body:before{content:"";opacity:.04;z-index:9999;pointer-events:none;background-image:url("data:image/svg+xml;utf8,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noiseFilter\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noiseFilter)\"/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;top:0;left:0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#070707}::-webkit-scrollbar-thumb{background:#333;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#555}.preloader{z-index:99999;background-color:#000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.counter{color:#fff;letter-spacing:-2px;z-index:2;font-size:5vw;font-weight:700}#intro-video{object-fit:cover;opacity:0;z-index:1;filter:contrast(1.2)brightness(.85);width:100%;height:100%;position:absolute;top:0;left:0}.preloader-skip{z-index:3;color:#888;letter-spacing:6px;cursor:pointer;text-transform:uppercase;background:0 0;border:none;font-family:inherit;font-size:.75rem;font-weight:500;position:absolute;bottom:40px}.cursor-dot{pointer-events:none;z-index:10000;mix-blend-mode:difference;background-color:#fff;border-radius:50%;width:12px;height:12px;transition:width .3s,height .3s,opacity .3s;position:fixed;transform:translate(-50%,-50%)}.cursor-dot.hovered{width:80px;height:80px}.navbar,.navbar-mini{cursor:auto}.navbar a,.navbar-mini a{cursor:pointer}.nav-left{align-items:center;gap:12px;display:flex}.nav-avatar{outline-offset:2px;background-color:#1a1a1a;border-radius:50%;outline:1px solid #ffffff1f;flex-shrink:0;width:42px;height:42px;position:relative;overflow:visible}.nav-avatar img{object-fit:cover;object-position:center;border-radius:50%;width:42px;height:42px;display:block}.online-dot{background-color:#1db954;border:2px solid #111;border-radius:50%;flex-shrink:0;width:12px;height:12px;position:absolute;bottom:0;right:0}.nav-logo{letter-spacing:-.2px;font-size:1rem;font-weight:500}.full-navbar{z-index:9000;background:#111;border:1px solid #ffffff14;border-radius:50px;justify-content:space-between;align-items:center;width:95%;max-width:1400px;padding:10px 24px 10px 10px;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)translateY(0);box-shadow:0 10px 30px #00000080}.full-navbar.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(-20px)}.nav-links-wrapper{align-items:center;gap:24px;display:flex}.nav-center{gap:2.5rem;display:flex}.nav-center a{color:#ddd;font-size:.9rem;font-weight:400;text-decoration:none;transition:color .3s}.nav-center a:hover{color:#fff}.nav-divider{background-color:#ffffff26;width:1px;height:20px}.nav-right{align-items:center;gap:15px;display:flex}.social-icon{color:#c8c8c8;justify-content:center;align-items:center;text-decoration:none;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),color .3s;display:flex}.social-icon svg{fill:currentColor;width:22px;height:22px}.social-icon:hover{color:#1db954;transform:translateY(-5px)scale(1.15)rotate(6deg)}.hamburger-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:none}.mini-dots{gap:6px;display:flex}.mini-dots .dot{opacity:.3;background-color:#1db954;border-radius:50%;width:6px;height:6px;animation:1.2s infinite pulseDot}.mini-dots .dot:first-child{animation-delay:0s}.mini-dots .dot:nth-child(2){animation-delay:.2s}.mini-dots .dot:nth-child(3){animation-delay:.4s}@keyframes pulseDot{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3);box-shadow:0 0 8px #1db95480}}.navbar-mini{z-index:9001;opacity:0;pointer-events:none;cursor:pointer;background:#111;border:1px solid #ffffff14;border-radius:50px;justify-content:space-between;align-items:center;width:400px;max-width:90%;padding:10px 20px 10px 10px;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 10px 30px #00000080}.navbar-mini.visible{opacity:1;pointer-events:all;transform:translate(-50%)translateY(0)}.mobile-nav-panel{z-index:9005;opacity:0;pointer-events:none;cursor:auto;background:#151515;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;width:90%;max-width:400px;padding:20px 24px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:none;position:fixed;top:16px;left:50%;transform:translate(-50%)translateY(-20px);box-shadow:0 20px 40px #000c}.mobile-nav-panel.active{opacity:1;pointer-events:all;transform:translate(-50%)translateY(0)}.mobile-nav-header{justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.mobile-nav-links{flex-direction:column;gap:25px;padding:10px 0 25px;display:flex}.mobile-link{color:#f0f0f0;font-size:1.1rem;font-weight:400;text-decoration:none;transition:color .3s}.mobile-link:hover{color:#1db954}.mobile-nav-socials{border-top:1px solid #ffffff0d;gap:20px;padding-top:25px;display:flex}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex;position:relative}.hero-title{letter-spacing:-4px;color:#fff;flex-direction:column;align-items:center;font-size:9vw;font-weight:700;line-height:.9;display:flex}.hero-subtitle{color:#888;letter-spacing:2px;text-transform:uppercase;margin-top:2rem;font-size:1.2rem}.code-line{align-items:baseline;display:inline-flex;position:relative}.music-wrapper{width:.16em;height:.16em;margin-left:.05em;display:inline-block;position:relative}.music-dot{transform-origin:50%;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;bottom:0;left:0}.music-dot svg{fill:#000;opacity:0;width:24px;height:24px;transition:opacity .3s;position:absolute}.music-wrapper:hover .music-dot{background:#fff;width:60px;height:60px;bottom:-15px;left:-20px}.music-wrapper:hover .music-dot svg.icon-play{opacity:1}.music-dot.playing{background:#111;border:2px solid #1db954;width:60px;height:60px;animation:4s linear infinite spinRecord;bottom:-15px;left:-20px}.music-dot.playing svg.icon-play{opacity:0!important}.music-dot.playing:hover svg.icon-pause{opacity:1;fill:#1db954}@keyframes spinRecord{to{transform:rotate(360deg)}}.scroll-indicator{opacity:.6;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:40px}.scroll-text{letter-spacing:6px;color:#888;font-size:.75rem;font-weight:500}.scroll-line{background-color:#ffffff26;width:1px;height:50px;position:relative;overflow:hidden}.scroll-dot{background-color:#fff;width:100%;height:12px;animation:2s cubic-bezier(.65,0,.35,1) infinite scrollDown;position:absolute;top:-15px}@keyframes scrollDown{0%{top:-15px}to{top:50px}}.manifesto{text-align:center;justify-content:center;align-items:center;height:100vh;display:flex}.manifesto-text{color:#fff;letter-spacing:-2px;font-size:5vw;font-weight:500;line-height:1.1}.word{opacity:.1;display:inline-block;transform:translateY(20px)}.work-stage{flex-direction:column;gap:22vh;width:100%;padding:18vh 8vw 22vh;display:flex}.work-piece{width:100%;max-width:1400px;margin:0 auto}.work-still{background:#111;border-radius:8px;width:100%;height:68vh;min-height:400px;position:relative;overflow:hidden}.work-still-link{width:100%;height:100%;display:block;overflow:hidden}.work-still .project-image{object-fit:cover;object-position:top center;filter:brightness(.94);width:100%;height:100%;transition:transform 1.4s cubic-bezier(.165,.84,.44,1),filter .8s}.work-still:hover .project-image{filter:brightness(1.05);transform:scale(1.04)}.work-copy{z-index:2;pointer-events:none;background:linear-gradient(#07070700 0%,#07070738 42%,#070707c7 100%);padding:4.5rem 2.2rem 1.8rem;position:absolute;bottom:0;left:0;right:0}.work-copy a,.work-copy .work-links{pointer-events:auto}.work-kind,.work-tech{letter-spacing:3px;text-transform:uppercase;color:#888;font-size:.75rem}.work-name-link{margin:.45rem 0 .35rem;text-decoration:none;display:inline-block}.work-name{color:#fff;letter-spacing:-2px;font-size:clamp(2.6rem,6vw,5.5rem);font-weight:700;line-height:.92}.work-links{gap:1.8rem;margin-top:1.1rem;display:flex}.work-links a{color:#ddd;letter-spacing:2px;text-transform:uppercase;font-size:.8rem;text-decoration:none;transition:color .3s}.work-links a:hover{color:#1db954}.site-footer{cursor:auto;background-color:#030303;border-top:1px solid #ffffff0d;flex-direction:column;gap:3rem;padding:5.5vw 10vw 2.4vw;display:flex}.site-footer a{cursor:pointer}.footer-top{grid-template-columns:1fr 1fr 2fr;align-items:start;gap:2rem;display:grid}.footer-col{flex-direction:column;gap:1.1rem;display:flex}.footer-heading{color:#555;letter-spacing:2px;text-transform:uppercase;margin-bottom:.35rem;font-size:.8rem}.footer-col a{color:#ccc;white-space:nowrap;width:fit-content;font-size:1.1rem;text-decoration:none;transition:color .3s}.footer-col a:hover{color:#fff}.footer-col.say-hello{padding-left:3cm}.say-hello .footer-email{color:#fff;letter-spacing:-1px;font-size:2.5rem;font-weight:500;text-decoration:none}.status-indicator{color:#888;align-items:center;gap:10px;margin-top:4px;font-size:.9rem;display:flex}.status-indicator .status-dot{background-color:#1db954;border-radius:50%;width:8px;height:8px}.contact-form{flex-direction:column;gap:12px;max-width:420px;margin-top:6px;display:flex}.contact-form input,.contact-form textarea{color:#f0f0f0;resize:vertical;background:0 0;border:none;border-bottom:1px solid #ffffff1f;outline:none;padding:10px 0;font-family:inherit;font-size:1rem}.contact-form button{color:#1db954;letter-spacing:1px;text-align:left;cursor:pointer;background:0 0;border:none;width:fit-content;padding:8px 0;font-family:inherit;font-size:1rem;font-weight:500}.contact-form button:disabled{opacity:.5;cursor:default}.contact-status{color:#888;min-height:1.2em;font-size:.9rem}.contact-status.is-ok{color:#1db954}.contact-status.is-err{color:#888}.footer-bottom{color:#666;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-top:1.4rem;font-size:.85rem;display:flex}.back-to-top{color:#aaa;text-transform:uppercase;letter-spacing:1px;text-decoration:none;transition:color .3s}.back-to-top:hover{color:#fff}.cv-takeover{z-index:10000;pointer-events:none;-webkit-overflow-scrolling:touch;background-color:#030303;flex-direction:column;width:100vw;height:100vh;padding:4vw 6vw;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translateY(100%);cursor:auto!important}.cv-takeover.active{pointer-events:all}.cv-takeover *,.cv-takeover a,.cv-takeover button{cursor:auto!important}.cv-takeover a:hover,.cv-takeover button:hover{cursor:pointer!important}.cv-takeover-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:4vw;padding-bottom:1.5vw;display:flex}.cv-download{color:#1db954;letter-spacing:2px;font-size:1rem;font-weight:600;text-decoration:none;transition:color .3s}.cv-download:hover{color:#fff}.cv-close{color:#aaa;letter-spacing:2px;background:0 0;border:none;font-size:1rem;font-weight:500;transition:color .3s}.cv-close:hover{color:#fff}.cv-layout{grid-template-columns:1fr 1.2fr;gap:6vw;padding-bottom:5vw;display:grid}.cv-title-area{height:fit-content;position:sticky;top:40px}.cv-huge-name{letter-spacing:-4px;color:#fff;margin-bottom:1.5rem;font-size:8vw;font-weight:700;line-height:.85}.cv-role{color:#777;letter-spacing:2px;font-size:1.2rem;line-height:1.5}.cv-contact-info{color:#888;letter-spacing:1px;margin-top:25px;font-size:1rem;line-height:1.8}.cv-details-area{flex-direction:column;gap:4vw;padding-top:1vw;display:flex}.cv-block h3{color:#555;letter-spacing:4px;border-bottom:1px solid #ffffff1a;margin-bottom:25px;padding-bottom:15px;font-size:.85rem}.cv-entry{margin-bottom:30px}.cv-date{color:#1db954;letter-spacing:1px;font-family:monospace;font-size:.9rem}.cv-entry h4{color:#fff;letter-spacing:-.5px;margin:8px 0;font-size:1.6rem;font-weight:500}.cv-entry p{color:#bbb;font-size:1rem;line-height:1.6}.cv-skills{color:#ddd;font-size:1.15rem;line-height:1.8}@media (width<=768px){.cursor-dot{display:none}body{cursor:auto}.hero-title{letter-spacing:-2px;font-size:15vw}.hero-subtitle{padding:0 15px;font-size:.9rem}.manifesto-text{font-size:7.5vw}.full-navbar{display:none}.navbar-mini{opacity:1;pointer-events:all;cursor:auto;transform:translate(-50%)translateY(0)}.mini-dots{display:none!important}.hamburger-btn{display:flex!important}.mobile-nav-panel{display:flex}.work-stage{gap:14vh;padding:12vh 6vw 16vh}.work-still{height:58vh;min-height:280px}.work-copy{padding:4rem 1.2rem 1.4rem}.footer-top{text-align:left;grid-template-columns:1fr 1fr;gap:30px;display:grid}.footer-col{align-items:flex-start}.footer-col.say-hello{grid-column:1/-1;margin-top:8px;padding-left:0}.say-hello .footer-email{font-size:1.6rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.cv-layout{grid-template-columns:1fr;gap:40px}.cv-title-area{text-align:left;position:static}.cv-huge-name{font-size:18vw}.project-caption{bottom:16px;left:16px;right:16px}}.nav-brand{color:inherit;text-decoration:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.case-page{min-height:100vh;padding:140px 10vw 8vw}.case-kicker{color:#555;letter-spacing:2px;text-transform:uppercase;margin-bottom:1.5rem;font-size:.8rem}.case-title{letter-spacing:-3px;color:#fff;font-size:8vw;font-weight:700;line-height:.9}.case-lead{color:#aaa;max-width:720px;margin-top:1.5rem;font-size:1.3rem;line-height:1.5}.case-actions{align-items:center;gap:2rem;margin:2.5rem 0 3rem;display:flex}.case-live,.case-back{color:#fff;letter-spacing:1px;text-decoration:none}.case-live{color:#1db954;font-weight:600}.case-frame{background:#111;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;width:100%;height:auto;display:flex;overflow:hidden}.case-frame img{object-fit:cover;object-position:center top;width:100%;height:52vh}.case-grid{grid-template-columns:1fr 1fr;gap:3rem 4rem;margin-top:4rem;display:grid}.case-grid h2{color:#555;letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem}.case-grid p{color:#bbb;font-size:1.05rem;line-height:1.7}@media (width<=768px){.case-title{font-size:14vw}.case-grid{grid-template-columns:1fr}.case-frame img{height:32vh}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body *{visibility:hidden}.cv-takeover,.cv-takeover *{visibility:visible}.cv-takeover{color:#000!important;background:#fff!important;width:auto!important;height:auto!important;position:static!important;overflow:visible!important;transform:none!important}.cv-close,.cv-download,.preloader,.cursor-dot,.navbar,.navbar-mini{display:none!important}}
