@font-face{font-family:Cabinet Grotesk;src:url(/fonts/cabinet-grotesk-variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:block}@font-face{font-family:Medula;src:url(/fonts/medula-one-latin.woff2) format("woff2");font-weight:400;font-display:block}:root{color-scheme:dark;--bg: #08090b;--surface: #151619;--text: #f0efed;--muted: #b4b4ba;--line: #ffffff20;--ease: cubic-bezier(.22, 1, .36, 1);--width: 1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}html,body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:Cabinet Grotesk,Helvetica Neue,Arial,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:#ded8e6;color:#08090b}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:none;border:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e7e1ed;outline-offset:7px}img{max-width:100%;display:block}svg{width:24px;height:24px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}button:active,.pill-link:active{transform:scale(.97)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}main{position:relative;z-index:2;outline:none;transition:opacity .3s ease}main.is-leaving{opacity:0}main.route-preparing{visibility:hidden}main.is-arriving{animation:page-arrive .78s var(--ease) both}@keyframes page-arrive{0%{opacity:0}to{opacity:1}}.page-content,.site-footer{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.site-header{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:26px 48px;gap:28px;transition:padding .3s,background .3s}.site-header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#08090bd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;transition:opacity .3s ease}.site-header.scrolled{padding-block:13px}.site-header.scrolled:before{opacity:1}.identity{display:flex;align-items:center;min-width:48px;min-height:44px}.monogram{font-family:Medula,serif;font-size:49px;line-height:1;letter-spacing:-2px}.site-header nav{display:flex;align-items:center;gap:40px}.site-header nav a{position:relative;display:flex;align-items:center;min-height:44px;font-size:19px;color:var(--text)}.site-header nav a:after,.footer-links a:after{content:"";position:absolute;height:1px;inset:auto 0 4px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.site-header nav a:hover:after,.site-header nav a[aria-current]:after,.footer-links a:hover:after,.footer-links a:focus-visible:after,.footer-links a[aria-current=page]:after{transform:scaleX(1);transform-origin:left}.site-header nav a>span{display:block;transition:transform .25s ease}.site-header nav a:hover>span{transform:translateY(-2px)}.menu-toggle,.mobile-menu-top,.mobile-menu-bottom,.menu-scrim{display:none}.skip-link{position:fixed;z-index:100;left:20px;top:-80px;padding:12px;background:var(--text);color:var(--bg)}.skip-link:focus{top:12px}.starfield{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.96;transition:opacity .6s,transform 1.2s var(--ease);transform-origin:50% 40%}.star-layer{position:absolute;inset:0 -100px -900px;background-repeat:repeat;background-size:900px 900px}.stars-far{background-image:url(/assets/sky/stars-far.svg)}.stars-near{background-image:url(/assets/sky/stars-near.svg);background-position:170px 120px}.scroll-star-canvas{position:absolute;inset:0;width:100%;height:100%}@media(hover:none)and (pointer:coarse){.starfield{bottom:auto;height:100lvh}}.scroll-stars-ready .star-layer{display:none}.in-transit .starfield{opacity:1;transform:none}.home-intro{text-align:center;min-height:82svh;padding:112px 0 36px;display:flex;flex-direction:column;justify-content:center}.home-intro h1{font-size:clamp(70px,10.4vw,156px);line-height:1.1;letter-spacing:-.045em;white-space:nowrap}.name-line{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.07em;margin-bottom:-.07em}.name-line{overflow:visible}.name-anchor{display:inline-block}.name-char{display:inline-block;animation:name-form 1.35s var(--ease) both;animation-delay:calc(80ms + var(--char) * 29ms);animation-play-state:paused}.animated-title .name-char{animation-play-state:running}@keyframes name-form{0%{opacity:0;transform:translateY(65%)}68%{opacity:1}to{opacity:1;transform:none}}.hero-details{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-top:34px}.hero-details p:first-child{font-size:30px;letter-spacing:-.035em}.hero-details p:last-child:not(:first-child){font-size:21px;color:var(--muted)}@keyframes details-enter{0%{opacity:0}to{opacity:1}}.work-card{margin:0 0 90px}.project-visual{--project-radius: 26px;position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1.85;border-radius:var(--project-radius);overflow:hidden;clip-path:inset(0 round var(--project-radius));isolation:isolate;background:#141218 center/cover}.project-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.94}@media(min-width:801px)and (hover:hover)and (pointer:fine)and (prefers-reduced-motion:no-preference){.project-parallax .project-background{top:-66px;bottom:auto;height:calc(100% + 132px);transform:translate3d(0,calc(var(--project-parallax, 0) * 60px),0)}.project-parallax .project-image{translate:0 calc(var(--project-parallax, 0) * -24px)}}.film-grain{position:absolute;inset:0;pointer-events:none;z-index:-1;background:url(/images/noise-light.webp) repeat;opacity:.06;mix-blend-mode:soft-light}.project-visual:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,#0005,#0003 60%,#0005)}.project-image{width:74%;overflow:hidden;border:1px solid rgb(255 255 255 / 14%);border-radius:16px;box-shadow:0 25px 65px #0005;transition:transform .75s var(--ease);transform:translateZ(0)}.project-image img{width:100%;height:auto;object-fit:contain}.project-image--wide img{aspect-ratio:16 / 9;object-fit:cover}.project-visual:hover .project-image{transform:translate3d(0,-5px,0) scale(1.035)}.work-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:23px 0 0}.work-caption h3{font-size:35px;line-height:1.2;letter-spacing:-.045em}.work-caption p{font-size:18px;color:var(--muted)}.work-caption h3 a{display:inline-block;transition:transform .25s ease}.work-caption h3 a:hover{transform:translate(4px)}.work-section,.case-hero,.all-work{width:min(100%,1040px);margin-inline:auto}.selected-stack{display:block}.all-work{display:flex;justify-content:flex-end;margin:10px 0 40px}.large-link{display:flex;align-items:center;gap:60px;font-size:45px;letter-spacing:-.045em}.large-link span{transition:transform .25s ease}.large-link:hover span{transform:translate(5px,-5px)}.pill-link{display:inline-flex;align-items:center;justify-content:center;gap:30px;border:1px solid #ffffff40;border-radius:5px;padding:16px 25px;font-size:18px;transition:background .2s,color .2s,transform .15s}.pill-link:hover{background:var(--text);color:var(--bg)}.pill-link:disabled{opacity:.5;cursor:wait}.text-link{display:inline-block;padding:12px 0;font-size:18px}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.page-intro{padding:180px 0 80px}.page-intro h1{font-size:clamp(62px,8vw,128px);line-height:1.05;letter-spacing:-.045em}.page-intro>p{color:var(--muted);font-size:23px;max-width:760px;margin-top:30px}.all-projects{display:block}.all-projects .work-card{margin:0 0 100px}.site-footer{width:100%;max-width:none;margin:100px 0 0;padding:0;border-radius:0;overflow:hidden;background:#0000005c;border:0}.footer-shell{width:min(1180px,calc(100% - 112px));margin:auto}.footer-contact-row{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:40px 0 28px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 28px}.footer-links a{position:relative;display:flex;align-items:center;min-height:44px;color:var(--muted);font-size:17px;text-decoration:none;transition:color .2s}.footer-links a:hover,.footer-links a:focus-visible,.footer-links a[aria-current=page]{color:var(--text)}.footer-links a[href="/contact/"]{padding:9px 23px;border-radius:12px;background:#f5f5f3;color:#080808;transition:background .2s,transform .2s}.footer-links a[href="/contact/"]:after{display:none}.footer-links a[href="/contact/"]:hover{background:#fff;transform:translateY(-2px)}.footer-wordmark{display:block;width:fit-content;margin:0;letter-spacing:-.055em;color:var(--text)}.footer-wordmark:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;color:var(--muted);font-size:14px}.footer-bottom p{margin:0}.footer-socials{display:flex;gap:6px}.footer-socials a{--social-color: #f0f6fc;--social-a: #6e7681;--social-b: #c9d1d9;--social-c: var(--social-a);position:relative;isolation:isolate;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;transition:color .45s var(--ease)}.footer-socials a[aria-label=LinkedIn]{--social-color: #70b5f9;--social-a: #0a66c2;--social-b: #378fe9}.footer-socials a[aria-label=Instagram]{--social-color: #ff72bc;--social-a: #feda75;--social-b: #8134af;--social-c: #dd2a7b}.footer-socials a[aria-label=Threads]{--social-color: #fff;--social-a: #616161;--social-b: #f5f5f5}.footer-socials a:before,.footer-socials a:after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .45s ease,transform .65s var(--ease)}.footer-socials a:before{z-index:-1;inset:1px;border-radius:13px;background:radial-gradient(ellipse at 20% 90%,color-mix(in srgb,var(--social-a) 60%,transparent),transparent 70%),radial-gradient(ellipse at 85% 10%,color-mix(in srgb,var(--social-b) 55%,transparent),transparent 70%),linear-gradient(145deg,color-mix(in srgb,var(--social-c) 18%,transparent),#ffffff02);transform:translateY(5px) scale(.82) rotate(-8deg)}.footer-socials a:after{inset:auto 9px 3px;height:1px;background:linear-gradient(90deg,transparent,var(--social-color),transparent);transform:translateY(3px) scaleX(.3)}.footer-socials svg{width:20px;height:20px;transition:transform .65s var(--ease)}.footer-socials a:focus-visible{color:var(--social-color)}.footer-socials a:focus-visible:before,.footer-socials a:focus-visible:after{opacity:1;transform:none}.footer-socials a:focus-visible svg{transform:translateY(-2px) scale(1.08)}@media(hover:hover){.footer-socials a:hover{color:var(--social-color)}.footer-socials a:hover:before,.footer-socials a:hover:after{opacity:1;transform:none}.footer-socials a:hover svg{transform:translateY(-2px) scale(1.08)}}@media(prefers-reduced-motion:reduce){.footer-socials a,.footer-socials a:before,.footer-socials a:after,.footer-socials svg{transition:none}}@media(max-width:900px){.footer-shell{width:calc(100% - 64px)}.footer-links{gap:8px 20px}}@media(max-width:600px){.site-footer{margin-top:72px}.footer-shell{width:calc(100% - 48px)}.footer-contact-row{align-items:flex-start;flex-direction:column;gap:20px;padding:32px 0 12px}.footer-links{width:100%;justify-content:space-between;gap:8px}.footer-links a{font-size:16px}.footer-links a[href="/contact/"]{padding-inline:16px}.footer-bottom{align-items:flex-start;flex-direction:column-reverse;gap:16px;padding-bottom:32px;font-size:13px}.footer-socials{margin-left:-12px}}.copy-email{padding:6px 0;color:var(--muted);font-size:16px;text-align:left}.copy-email:hover{color:var(--text)}.underlined-link{border-bottom:1px solid #ffffff50;padding:6px 0;transition:border-color .2s}.underlined-link:hover{border-color:var(--text)}.about-page{max-width:1120px}.about-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.about-intro h1{font-size:clamp(65px,8vw,112px)}.about-intro>p{max-width:360px;font-size:22px;padding-bottom:8px}.portrait-strip{display:grid;grid-template-columns:.72fr 1fr .72fr;gap:38px;align-items:center;padding:10px 18px 35px}.portrait-strip figure{margin:0}.portrait-strip img{width:100%;object-fit:cover;border-radius:14px}.portrait-main img{aspect-ratio:.84;object-position:center}.portrait-note img{aspect-ratio:.9}.portrait-offline{transform:rotate(-5deg);margin-top:65px!important}.portrait-director{transform:rotate(5deg)}.portrait-strip figcaption{margin-top:16px;font-size:17px;line-height:1.4;color:#c4c3cb}.bio-story{display:grid;grid-template-columns:1fr;gap:36px;max-width:820px;margin-inline:auto;padding:100px 0 0}.bio-story h2{font-size:clamp(36px,4.2vw,54px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}.bio-story h2 br{display:none}.bio-copy p{font-size:26px;line-height:1.5;color:#c9c9d1;margin:0 0 28px;text-wrap:pretty}.bio-copy p:first-of-type{color:var(--text)}.bio-copy p:last-child{margin-bottom:0}.bio-copy h3{font-size:22px;font-weight:650;line-height:1.3;letter-spacing:-.02em;margin:0 0 12px}.bio-copy p+h3{margin-top:52px}.bio-copy a{color:var(--text);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff50}.about-journey{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding:40px 0 25px}.about-journey h3{font-size:28px;letter-spacing:-.04em;line-height:1.2;margin-bottom:20px}.about-journey p{font-size:19px;color:var(--muted);line-height:1.65}.about-links{display:flex;gap:36px;max-width:820px;margin-inline:auto;padding-top:36px;font-size:20px;flex-wrap:wrap}.toolkit-row{display:grid;grid-template-columns:1fr 1.5fr;gap:60px;padding:45px 0;border-top:1px solid var(--line)}.toolkit-row h2{font-size:32px;letter-spacing:-.035em}.toolkit-row p{color:var(--muted);line-height:1.8;font-size:24px;max-width:650px}.toolkit-row:last-of-type{margin-bottom:50px}.contact-page{max-width:1160px}.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;padding:190px 0 35px;align-items:start}.contact-details h1{font-size:clamp(60px,6.7vw,100px);line-height:1.02;letter-spacing:-.06em}.contact-details>p{color:#bfc1cf;font-size:23px;line-height:1.5;margin:30px 0 55px}.contact-person{display:flex;align-items:center;gap:17px}.contact-person img{width:64px;height:64px;border-radius:50%;object-fit:cover}.contact-person>div{display:flex;flex-direction:column;gap:3px}.contact-person span{color:var(--muted);font-size:16px}.contact-person a{font-size:21px;letter-spacing:-.025em}.contact-details>.copy-email{margin:14px 0 0 81px}.contact-paper{padding:40px 38px 30px;border-radius:0;border:0;background:#00000052;box-shadow:0 24px 70px #0002}.contact-paper h2{font-size:29px;letter-spacing:-.035em;margin-bottom:40px}.contact-paper .form-row{gap:24px}.contact-paper label{font-size:17px;color:#e0e2eb;margin-bottom:4px}.contact-paper input,.contact-paper textarea{font-size:19px;border-color:#bfc8ef35;padding:12px 0 15px;margin-bottom:32px}.contact-paper input::placeholder,.contact-paper textarea::placeholder{color:#8c93a5;opacity:1}.contact-paper input:focus,.contact-paper textarea:focus{outline:none;border-color:#d6daf2}.contact-paper textarea{min-height:140px}.form-field:focus-within label{color:#fff}.form-send{display:flex;align-items:center;justify-content:space-between;gap:18px}.send-button{background:#ececf2;color:#10121b;border-radius:12px;font-size:18px;padding:16px 25px;transition:background .2s,transform .2s}.send-button:hover{background:#fff;transform:translateY(-2px)}.send-button:disabled{opacity:.6;cursor:wait;transform:none}.form-smile{width:48px;height:48px;flex:0 0 48px;margin-left:auto;color:#ececf2;transform:rotate(-9deg)}#form-status:empty{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}label{display:block;font-size:18px;margin-bottom:8px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #ffffff45;padding:12px 0 16px;background:transparent;color:var(--text);border-radius:0;outline-offset:4px;margin-bottom:38px;resize:vertical;font-size:20px}input:focus,textarea:focus{border-color:#eee}.honeypot{display:none}#form-status{font-size:18px;color:var(--muted);margin-top:25px}#form-status a{text-decoration:underline}.back-link{display:inline-block;margin-top:150px;font-size:18px;color:var(--muted)}.back-link:hover{color:#fff}.back-link+.page-intro{padding-top:40px;padding-bottom:65px}.case-hero .project-visual{aspect-ratio:1.85}.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;border-bottom:1px solid var(--line);padding:50px 0}.case-meta h2{font-size:18px;color:var(--muted);margin-bottom:12px}.case-meta p{font-size:20px}.case-story{max-width:1150px;margin:70px auto}.story-row{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:35px 0}.story-row h2{font-size:30px;letter-spacing:-.04em}.story-row p{color:var(--muted);font-size:21px;line-height:1.7;max-width:62ch}.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.gallery-image{padding:0;border-radius:8px;overflow:hidden;cursor:zoom-in}.gallery-image img{width:100%;height:auto}.case-actions{display:flex;align-items:center;justify-content:center;gap:45px;margin-top:70px;font-size:19px}.case-actions .kofi-support{gap:10px;background:#394958;color:#fff;border-color:#6d8497}.case-actions .kofi-support:hover,.case-actions .kofi-support:focus-visible{background:#4b6376;color:#fff}.kofi-support img{width:28px;height:23px;object-fit:contain;flex-shrink:0}.case-trailer h2{margin:50px 0 25px;font-size:36px;letter-spacing:-.04em}.case-trailer video,.case-trailer iframe{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:8px}.video-preview{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#08090b}.video-preview>img{width:100%;height:100%;object-fit:cover}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:48px;border-radius:12px;background:#151619ed;color:#fff;transition:background .2s}.video-play svg{width:32px;height:32px}.video-preview:hover .video-play,.video-preview:focus-visible .video-play{background:#d80000}.image-dialog{border:0;background:#101114;padding:12px;border-radius:10px;max-width:92vw;max-height:90vh;overflow:visible}.image-dialog::backdrop{background:#000e;backdrop-filter:blur(16px)}.image-dialog>img{max-width:86vw;max-height:80vh;object-fit:contain}.dialog-close{position:absolute;right:10px;top:10px;border-radius:50%;width:46px;height:46px;background:#15151ce8;font-size:30px;line-height:1}.reveal{transition:opacity .45s ease}.js-motion .reveal:not(.revealed){opacity:0;transition:none}.work-card.reveal .project-image{transition:transform 1.1s var(--ease),opacity .7s ease}.js-motion .work-card.reveal:not(.revealed) .project-image{transform:translateY(5%) scale(.94);opacity:0}.work-card.reveal.revealed .project-visual:hover .project-image{transform:translate3d(0,-5px,0) scale(1.035)}.page-intro.reveal{transition:opacity .6s ease,clip-path .9s var(--ease)}.js-motion .page-intro.reveal:not(.revealed){clip-path:inset(0 0 22% 0)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.motion-paused *,.motion-paused *:before,.motion-paused *:after,.document-hidden *,.document-hidden *:before,.document-hidden *:after,.motion-offscreen{animation-play-state:paused!important}.motion-paused .name-char,.motion-paused .hero-details{animation:none}@media(min-width:1800px){.home-intro h1{font-size:156px}}@media(max-width:1050px){.site-header{padding-inline:32px}.hero-details p:first-child{font-size:27px}.work-caption h3{font-size:30px}.work-caption p{font-size:17px}.case-meta{gap:30px}.page-intro h1{font-size:9vw}.story-row{gap:40px}.story-row p{font-size:19px}}@media(max-width:600px){.site-header{padding:18px}.site-header.scrolled{padding:10px 18px}.monogram{font-size:43px}.menu-toggle{display:flex;width:46px;height:46px;flex-direction:column;gap:7px;align-items:center;justify-content:center;z-index:2}.menu-toggle span{width:24px;height:1px;background:#fff;transition:transform .4s var(--ease)}.menu-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-header nav{visibility:hidden;pointer-events:none;position:fixed;inset:0 0 0 auto;width:100vw;height:100dvh;display:flex;align-items:stretch;justify-content:center;flex-direction:column;gap:0;background:#080808f5;border-left:1px solid #ffffff0a;padding:110px 28px 145px;transform:translate(104%);border-radius:32px 0 0 32px;transition:none;overflow-y:auto;overscroll-behavior:contain}.menu-animated .site-header nav{transition:transform .7s var(--ease),border-radius .7s var(--ease),visibility .7s}.menu-open .site-header:before{opacity:0;-webkit-backdrop-filter:none;backdrop-filter:none}.menu-open .site-header nav{visibility:visible;pointer-events:auto;transform:translate(0);border-radius:0}.site-header nav>a,.site-header nav>a.mobile-home{display:block;flex-shrink:0;font-size:clamp(40px,12.5vw,58px);line-height:1.2;letter-spacing:-.055em;padding:7px 0;overflow:hidden}.site-header nav>a>span{transform:translateY(125%) rotate(5deg);transform-origin:left center;transition:transform .65s var(--ease)}.menu-open .site-header nav>a>span{transform:none}.menu-open .site-header nav>a:nth-of-type(1)>span{transition-delay:.16s}.menu-open .site-header nav>a:nth-of-type(2)>span{transition-delay:.21s}.menu-open .site-header nav>a:nth-of-type(3)>span{transition-delay:.26s}.menu-open .site-header nav>a:nth-of-type(4)>span{transition-delay:.31s}.site-header nav a:after{display:none}.site-header nav>a[aria-current]{color:#929399}.site-header nav>a[aria-current]:before{content:"";position:absolute;width:16px;height:16px;background:currentColor;right:2px;top:calc(50% - 8px);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 0C18 11 21 14 32 16C21 18 18 21 16 32C14 21 11 18 0 16C11 14 14 11 16 0Z'/%3E%3C/svg%3E") center / contain no-repeat;pointer-events:none;animation:name-spark-turn 4s linear infinite paused}.menu-open .site-header nav>a[aria-current]:before{animation-play-state:running}.mobile-menu-top,.mobile-menu-bottom{display:flex}.mobile-menu-top{position:absolute;top:100px;left:28px;flex-direction:column;gap:2px;font-size:17px;line-height:1.4;opacity:0;transition:opacity .3s}.mobile-menu-top span:last-child{color:var(--muted)}.mobile-menu-bottom{position:absolute;bottom:max(38px,env(safe-area-inset-bottom));left:28px;right:28px;flex-direction:column;gap:20px;opacity:0;transition:opacity .3s}.mobile-menu-bottom>div{display:flex;gap:28px}.site-header .mobile-menu-bottom a{font-size:17px;min-height:30px;padding:0}.mobile-menu-bottom>div a{color:var(--muted)}.menu-open .mobile-menu-top,.menu-open .mobile-menu-bottom{opacity:1;transition-delay:.35s}.menu-scrim{display:block;position:fixed;inset:0;z-index:25;background:#0008;opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}.menu-open .menu-scrim{opacity:1;visibility:visible}.menu-toggle{border:0;border-radius:0;background:transparent}.home-intro h1{font-size:17vw;line-height:1;letter-spacing:-.045em;white-space:normal}.name-line{display:block;width:fit-content}.hero-details{align-items:flex-start;flex-direction:column;gap:5px;margin-top:26px}.hero-details p:first-child{font-size:23px;letter-spacing:-.035em}.hero-details p:last-child:not(:first-child){font-size:18px}.project-visual{aspect-ratio:1.35;--project-radius: 20px}.project-image{width:84%;border-radius:12px}.work-caption{padding-top:18px;align-items:flex-start;flex-direction:column;gap:5px}.work-caption h3{font-size:29px}.work-caption p{font-size:17px}.work-card{margin-bottom:52px}.all-work{margin:10px 0 0;justify-content:flex-start}.large-link{font-size:35px;gap:50px}.pill-link{font-size:18px;padding:14px 20px}.page-intro{padding-top:145px;padding-bottom:50px}.page-intro h1{font-size:clamp(54px,13.5vw,80px);letter-spacing:-.045em;overflow-wrap:normal}.page-intro>p{font-size:20px;margin-top:25px}.toolkit-row{grid-template-columns:1fr;gap:18px;padding:30px 0}.toolkit-row h2{font-size:29px}.toolkit-row p{font-size:21px}.form-row{grid-template-columns:1fr;gap:0}label{font-size:18px}input,textarea{font-size:20px}.back-link{margin-top:125px;font-size:17px}.back-link+.page-intro{padding-top:30px}.case-hero .project-visual{aspect-ratio:1.15}.case-meta{grid-template-columns:1fr;gap:28px;padding:35px 0}.case-meta h2{margin-bottom:6px}.case-meta p{font-size:19px}.case-story{margin:30px 0}.story-row{grid-template-columns:1fr;gap:15px;padding:25px 0}.story-row h2{font-size:27px}.story-row p{font-size:19px}.case-gallery{grid-template-columns:1fr;gap:20px}.case-actions{gap:25px;flex-direction:column;margin-top:40px}.image-dialog{padding:5px}.image-dialog>img{max-width:86vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal:not(.revealed){opacity:1;transform:none;clip-path:none}.js-motion .work-card.reveal:not(.revealed) .project-image{opacity:1;transform:none}.in-transit .starfield,.project-visual:hover .project-image,.work-card.reveal.revealed .project-visual:hover .project-image{transform:none}}@media(prefers-reduced-motion:reduce){.scroll-star-canvas{display:none}.scroll-stars-ready .star-layer{display:block}}@media(max-width:600px){.all-projects .work-card{margin-bottom:64px}.project-image{width:86%}.home-intro h1{font-size:16.8vw}}@media(max-width:600px)and (max-height:640px){.site-header nav{justify-content:flex-start;padding-top:125px;padding-bottom:110px}.mobile-menu-top{top:75px;font-size:14px}.site-header nav>a,.site-header nav>a.mobile-home{font-size:36px;padding:3px 0}.mobile-menu-bottom{bottom:16px;gap:8px}}.name-ready .name-char{animation:none}@media(prefers-reduced-motion:reduce){.name-char{transform:none!important;translate:none!important;rotate:none!important;filter:none!important}}@media(min-width:601px){.name-line+.name-line{margin-left:.14em}}main[data-page=projects] .page-intro{max-width:1040px;margin-inline:auto}.motion-paused .name-char{transform:none!important;translate:none!important;rotate:none!important;filter:none!important}.space-atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}.nebula{position:absolute;width:140vw;height:140vh;will-change:transform,opacity}.nebula-violet{left:-55%;top:-35%;background:radial-gradient(ellipse,color-mix(in srgb,var(--space-a) 38%,transparent),color-mix(in srgb,var(--space-a) 13%,transparent) 38%,transparent 68%);animation:nebula-violet 24s ease-in-out infinite alternate}.nebula-blue{right:-50%;top:-45%;background:radial-gradient(ellipse,color-mix(in srgb,var(--space-b) 44%,transparent),color-mix(in srgb,var(--space-b) 14%,transparent) 40%,transparent 68%);animation:nebula-blue 31s -12s ease-in-out infinite alternate}.nebula-teal{left:-30%;bottom:-70%;background:radial-gradient(ellipse,color-mix(in srgb,var(--space-c) 29%,transparent),color-mix(in srgb,var(--space-c) 12%,transparent) 42%,transparent 68%);animation:nebula-teal 20s -5s ease-in-out infinite alternate}@keyframes nebula-violet{0%{transform:translate3d(-8%,4%,0) rotate(-15deg) scale(.85);opacity:.35}45%{opacity:.9}to{transform:translate3d(32%,24%,0) rotate(20deg) scale(1.25);opacity:.55}}@keyframes nebula-blue{0%{transform:translate3d(12%,-8%,0) rotate(10deg) scale(1.12);opacity:.9}55%{opacity:.3}to{transform:translate3d(-30%,30%,0) rotate(-25deg) scale(.9);opacity:.8}}@keyframes nebula-teal{0%{transform:translate3d(-13%,12%,0) scale(.85);opacity:.25}50%{opacity:.8}to{transform:translate3d(30%,-28%,0) scale(1.2);opacity:.5}}.large-link{font-size:28px;border-bottom:1px solid #ffffff50;padding-bottom:7px}@media(max-width:1050px){.about-journey{gap:30px}.contact-layout{gap:40px}}@media(max-width:900px){.contact-layout{grid-template-columns:1fr;max-width:650px;margin:auto;padding-top:150px;gap:45px}.contact-details h1{font-size:85px}.contact-details>p{margin-bottom:30px}.about-intro{display:block}.about-intro>p{max-width:500px}.portrait-strip{gap:25px}.bio-story{grid-template-columns:1fr;gap:30px}.bio-story h2 br{display:none}}@media(max-width:600px){.about-intro{padding-bottom:35px}.about-intro h1{font-size:65px}.about-intro>p{font-size:20px;margin-top:25px}.portrait-strip{grid-template-columns:1fr 1fr;gap:35px 22px;padding:10px 12px}.portrait-main{grid-column:1 / -1;grid-row:1;width:82%;margin-inline:auto!important}.portrait-main img{aspect-ratio:.95}.portrait-note img{aspect-ratio:.87;border-radius:10px}.portrait-offline{margin-top:0!important}.portrait-director{margin-top:20px!important}.portrait-strip figcaption{font-size:15px;margin-top:10px}.bio-story{padding:65px 0 20px;gap:25px}.bio-story h2{font-size:34px}.bio-copy p,.bio-copy p:first-of-type{font-size:19px;line-height:1.65}.about-journey{grid-template-columns:1fr;gap:32px;padding-top:25px}.about-journey h3{font-size:27px;margin-bottom:12px}.about-journey p{font-size:18px}.about-links{font-size:18px;gap:22px;padding-top:15px}.contact-layout{padding-top:140px;gap:38px}.contact-details h1{font-size:64px}.contact-details>p{font-size:20px;margin:22px 0 28px}.contact-person{gap:13px}.contact-person img{width:52px;height:52px}.contact-person span{font-size:15px}.contact-person a{font-size:19px}.contact-details>.copy-email{margin-left:65px}.contact-paper{padding:28px 23px 25px;border-radius:0}.contact-paper h2{font-size:27px;margin-bottom:30px}.contact-paper .form-row{grid-template-columns:1fr;gap:0}.form-send{gap:14px}.send-button{padding:15px 22px}.form-smile{width:44px;height:44px;flex-basis:44px}.large-link{font-size:25px}}@media(max-width:600px)and (max-height:500px){.site-header nav{padding:85px 28px 25px}.mobile-menu-top{display:none}.mobile-menu-bottom{position:static;margin-top:30px;flex-shrink:0}}.portrait-strip img{height:auto}.title-word{display:inline-block;white-space:nowrap}.page-intro.reveal:has(.animated-title){clip-path:none!important}@media(max-width:1050px){.page-content{width:calc(100% - 64px)}}@media(max-width:600px){.page-content{width:calc(100% - 36px)}}.site-header nav>.nav-home{display:flex}@media(min-width:601px){.site-header nav>.nav-contact{background:#f5f5f3;color:#080808;border-radius:12px;padding:9px 23px;transition:background .2s,transform .2s}.site-header nav>.nav-contact:after{display:none}.site-header nav>.nav-contact:hover{background:#fff;transform:translateY(-2px)}.site-header nav>.nav-contact:hover>span{transform:none}}.back-to-top{position:fixed;z-index:25;bottom:24px;right:24px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffff24;border-radius:50%;background:#08090b;color:var(--text);isolation:isolate;opacity:0;visibility:hidden;transform:translate3d(0,14px,0);transition:opacity .3s,transform .3s,visibility .3s,color .2s}.back-to-top:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:#fff;opacity:0;pointer-events:none;transition:opacity .2s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateZ(0)}.back-to-top:focus-visible{color:#080808}.back-to-top:focus-visible:before{opacity:1}@media(hover:hover){.back-to-top:hover{color:#080808}.back-to-top:hover:before{opacity:1}}.menu-open .back-to-top{visibility:hidden;opacity:0}@media(max-width:600px){.back-to-top{bottom:18px;right:16px;width:44px;height:44px}}@media(max-width:600px){.site-header .identity{position:relative;z-index:2}.site-header .menu-socials{display:flex;gap:12px;margin-left:-10px}.site-header .menu-socials a,.site-header .menu-socials button{width:44px;height:44px;min-height:44px;padding:10px;display:grid;place-items:center;color:var(--muted);border-radius:0}.site-header .menu-socials a:hover,.site-header .menu-socials button:hover{color:#fff}.site-header .menu-socials svg{width:22px;height:22px}}.js-motion main:not(.sequence-ready) .hero-details,.js-motion main:not(.sequence-ready) .page-intro>:not(h1),.js-motion main:not(.sequence-ready) .contact-details>:not(h1){opacity:0}.intro-step{transition:opacity .35s ease}.motion-paused .reveal,.motion-paused .reveal .project-image{opacity:1!important;transform:none!important;clip-path:none!important}@media(prefers-reduced-motion:reduce){.js-motion main:not(.sequence-ready) .hero-details,.js-motion main:not(.sequence-ready) .page-intro>:not(h1),.js-motion main:not(.sequence-ready) .contact-details>:not(h1){opacity:1}}:is(.name-star-i,.name-star-j){position:relative}:is(.name-star-i,.name-star-j) .name-spark{position:absolute;width:.18em;height:.18em;top:calc((1lh - 1em)/2 + .1em);left:calc(50% + .033em - .09em);pointer-events:none;transform-origin:center;animation:name-spark-turn 4s linear infinite}@keyframes name-spark-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){:is(.name-star-i,.name-star-j) .name-spark{animation:none}}.about-greeting{display:inline-block;white-space:nowrap}.about-title-spark{display:inline-block;width:.3em;height:.3em;margin:.14em 0 0 .16em;vertical-align:top;transform-origin:center;animation:name-spark-turn 4s linear infinite,details-enter .6s .15s both}.about-typewriter .type-word,.bio-typewriter .type-word{white-space:nowrap}.js-motion .about-typewriter.revealed .type-char,.js-motion .bio-typewriter.revealed .type-char{animation:intro-letter-in .24s ease-out both;animation-delay:calc(var(--letter) * 18ms)}@keyframes intro-letter-in{0%{opacity:0}to{opacity:1}}.motion-paused .about-typewriter .type-char,.motion-paused .bio-typewriter .type-char{animation:none!important}.page-intro.about-intro{min-height:82svh;padding:112px 0 64px;align-items:center}.about-intro>p{margin-top:0}.portrait-strip figure{--photo-tilt: 0deg;animation:portrait-drift 9s ease-in-out infinite;animation-play-state:paused}.portrait-strip figure.revealed{animation-play-state:running}.portrait-strip .portrait-offline{--photo-tilt: -5deg;animation-duration:11s;animation-delay:-2s}.portrait-strip .portrait-director{--photo-tilt: 5deg;animation-duration:10s;animation-delay:-5s}@keyframes portrait-drift{0%,to{transform:translate3d(-3px,0,0) rotate(var(--photo-tilt))}50%{transform:translate3d(5px,-10px,0) rotate(calc(var(--photo-tilt) + 1deg))}}@media(max-width:900px){.page-intro.about-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0}.about-intro>p{margin-top:26px}}.portrait-strip figure.reveal{transition:opacity 1.2s ease}.portrait-strip figure img{transform:translateY(0) scale(1);transition:transform 1.45s cubic-bezier(.16,1,.3,1)}.js-motion .portrait-strip figure:not(.revealed) img{transform:translateY(24px) scale(.965);transition:none}.scroll-word{display:inline-block;white-space:nowrap}.motion-paused .scroll-letter{opacity:1!important}.motion-paused .portrait-strip figure img{transform:none!important}@media(max-width:600px){.page-intro.about-intro{min-height:0;padding:136px 0 38px;justify-content:flex-start}.about-intro h1{font-size:clamp(52px,13.5vw,72px);line-height:1.06}.about-intro>p{max-width:34ch;margin-top:24px;padding-bottom:0;font-size:18px;line-height:1.55;text-wrap:pretty}.about-page .portrait-strip{padding:0;gap:26px 16px;align-items:start}.about-page .portrait-strip figure{margin:0!important;width:100%;animation-name:portrait-drift-mobile}.about-page .portrait-main img{aspect-ratio:1.08;object-position:center 38%}.about-page .portrait-note img{aspect-ratio:.9}.about-page .portrait-strip img{border-radius:12px}.about-page .portrait-strip figcaption{margin-top:12px;font-size:14px;line-height:1.45;letter-spacing:-.01em}.about-page .bio-story{padding:64px 0 24px;gap:24px}.about-page .bio-story h2{max-width:18ch;font-size:clamp(32px,8.5vw,38px);line-height:1.12}.about-page .bio-copy p{font-size:20px;line-height:1.55;margin-bottom:24px}.about-page .bio-copy h3{font-size:20px;margin-bottom:10px}.about-page .bio-copy p+h3{margin-top:40px}.about-page .bio-copy p:last-child{margin-bottom:0}.about-page .about-journey{gap:32px;padding-top:16px}.about-page .about-links{flex-direction:column;align-items:flex-start;gap:20px;padding-top:24px}}@keyframes portrait-drift-mobile{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.scroll-letter{opacity:1!important}.js-motion .portrait-strip figure img{transform:none!important}}.about-journey .type-word{white-space:nowrap}.js-motion .about-journey.revealed .type-char{animation:intro-letter-in .24s ease-out both;animation-delay:var(--letter-delay)}.js-motion .about-journey.revealed p .type-char{animation-delay:calc(.56s + var(--letter-delay))}.motion-paused .about-journey .type-char{animation:none!important}:is(.about-links,.all-work) .underlined-link{position:relative;border-bottom:0}:is(.about-links,.all-work) .underlined-link:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:#ffffff50;transform-origin:left center;transition:background .2s}:is(.about-links,.all-work) .underlined-link:hover:after,:is(.about-links,.all-work) .underlined-link:focus-visible:after{background:var(--text)}:is(.about-links,.all-work) .type-word{white-space:nowrap}.js-motion :is(.about-links,.all-work).revealed .type-char{animation:intro-letter-in .24s ease-out both;animation-delay:var(--letter-delay)}.js-motion :is(.about-links,.all-work).revealed .underlined-link:after{animation:link-underline-in .45s cubic-bezier(.22,1,.36,1) .56s both}@keyframes link-underline-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.motion-paused :is(.about-links,.all-work) .type-char,.motion-paused :is(.about-links,.all-work) .underlined-link:after{animation:none!important}.hero-role .type-word{white-space:nowrap}.js-motion .hero-role.revealed .type-char{animation:intro-letter-in .24s ease-out both;animation-delay:calc(var(--letter) * 18ms)}.motion-paused .hero-role .type-char{animation:none!important}.home-intro .hero-details{justify-content:center;align-items:center}@media(max-width:600px){.home-intro .name-line{margin-inline:auto}}.project-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:19px}.project-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #ffffff2b;border-radius:12px;background:#ffffff04;font-size:16px;line-height:1.4;transition:background .2s,border-color .2s,color .2s}.project-actions a:hover,.project-actions a:focus-visible{background:var(--text);border-color:var(--text);color:#08090b}.work-caption{align-items:center;flex-wrap:wrap}.work-caption .project-actions{margin:0 0 0 auto;flex-shrink:0}.project-actions .project-primary,.case-actions .case-primary{background:var(--text);border-color:var(--text);color:#08090b}.project-actions .project-primary:hover,.case-actions .case-primary:hover{background:#dcdce2;border-color:#dcdce2}.case-actions{gap:14px;flex-wrap:wrap}.case-actions .pill-link{border-radius:12px;min-height:48px;padding:13px 23px}.case-page .type-word{white-space:nowrap}.js-motion .case-page .case-type.revealed .type-char,.js-motion .case-page .story-row.revealed .case-type .type-char,.js-motion .case-page .case-meta.revealed .case-type .type-char,.js-motion .case-page .case-trailer.revealed .case-type .type-char{animation:intro-letter-in .24s ease-out both;animation-delay:var(--letter-delay)}.js-motion .case-meta.revealed p{animation:details-enter .5s .3s both}.case-page .scroll-copy{color:var(--text)}.case-page .case-hero.reveal,.case-page .gallery-image.reveal{transition:opacity 1s ease}.case-page .case-hero .project-image,.case-page .gallery-image img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.js-motion .case-page .case-hero:not(.revealed) .project-image{transform:translateY(20px) scale(.97)}.js-motion .case-page .gallery-image:not(.revealed) img{transform:scale(1.04)}.case-page .gallery-image{border-radius:16px}.js-motion .case-actions.revealed .pill-link{animation:case-action-in .45s both}.js-motion .case-actions.revealed .pill-link+.pill-link{animation-delay:70ms}@keyframes case-action-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.motion-paused .case-page .type-char,.motion-paused .case-page .case-meta p,.motion-paused .case-actions .pill-link{animation:none!important}.motion-paused .case-page .gallery-image img{transform:none!important}@media(max-width:700px){.work-caption{align-items:flex-start;flex-direction:column;gap:16px}.work-caption .project-actions{margin:0}.project-actions{gap:10px}.project-actions a{font-size:15px;padding-inline:15px}}@media(prefers-reduced-motion:reduce){.js-motion .case-page .case-hero .project-image,.js-motion .case-page .gallery-image img{transform:none}}.project-tags{position:absolute;bottom:14px;left:50%;width:min(74%,620px);overflow:hidden;padding:9px 0;border-radius:8px;background:#0000006b;color:#f1f0ef;font-size:14px;line-height:1.4;opacity:0;transform:translate(-50%,8px);transition:opacity .3s ease,transform .45s var(--ease);pointer-events:none}.project-tags-track{display:flex;width:max-content;min-width:200%;animation:project-tags-drift 22s linear infinite paused}.project-tags-group{display:flex;align-items:center;gap:28px;padding:0 14px;flex:1 0 auto;justify-content:space-around}.project-tags-group>span{white-space:nowrap}.work-card:is(:hover,:focus-within) .project-tags{opacity:1;transform:translate(-50%)}.work-card:is(:hover,:focus-within) .project-tags-track{animation-play-state:running}@keyframes project-tags-drift{to{transform:translate(-50%)}}.all-work .large-link span{transform:none}.motion-paused .project-tags-track{animation:none!important}@media(hover:none),(prefers-reduced-motion:reduce){.project-tags{opacity:1;transform:translate(-50%)}.project-tags-track{width:100%;min-width:0;animation:none}.project-tags-group{width:100%;flex-wrap:wrap;justify-content:center;gap:4px 16px}.project-tags-group+.project-tags-group{display:none}}.motion-paused .project-tags-track{width:100%;min-width:0}.motion-paused .project-tags-group{width:100%;flex-wrap:wrap;justify-content:center;gap:4px 16px}.motion-paused .project-tags-group+.project-tags-group{display:none}@media(max-width:600px){.project-tags{bottom:10px;width:90%;padding:6px 0;font-size:11px}}.skill-name{display:inline;border:0;padding:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.skill-name:is(:hover,:focus-visible,.skill-active){color:var(--text);text-decoration-color:#fff6}.skill-preview{position:fixed;z-index:60;width:min(248px,calc(100vw - 32px));padding:18px;border:0;border-radius:0;background:#00000059;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:none;color:var(--text);opacity:0;visibility:hidden;transform:translateY(8px) scale(.96) rotate(-2deg);transform-origin:center bottom;transition:opacity .2s,transform .35s var(--ease),visibility .2s;pointer-events:none}.skill-preview.is-visible{opacity:1;visibility:visible;transform:none;pointer-events:auto}.skill-preview-art{display:grid;place-items:center;height:108px;margin:-6px -6px 16px;border-radius:0;background:none}.skill-preview-art img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 8px 14px #0004);transition:transform .5s var(--ease);transform:translateY(5px) rotate(-8deg) scale(.9)}.skill-preview.is-visible img{transform:none}.skill-preview strong{display:block;font-size:21px;font-weight:500;letter-spacing:-.035em}.skill-preview p{margin-top:6px;font-size:15px;line-height:1.5;color:#b7b8c0}.cv-download{transition:opacity .45s ease,background .2s ease,border-color .2s ease,color .2s ease,transform .25s var(--ease);background:var(--text);color:#08090b;border-color:var(--text);border-radius:12px;min-height:48px;padding:13px 23px}.cv-download:hover{background:#fff;border-color:#fff;transform:translateY(-2px)}@media(max-width:600px){.menu-open .site-header nav>a:nth-of-type(5)>span{transition-delay:.36s}}.motion-paused .skill-preview,.motion-paused .skill-preview img{transition:none}@media(min-width:601px)and (max-width:800px){.site-header nav{gap:22px}.site-header nav>a{font-size:17px}.site-header nav>.nav-contact{padding-inline:17px}}.monogram{position:relative;display:inline-flex;align-items:baseline}.monogram-s,.monogram-m{display:inline-block;transform-origin:center 65%}.monogram-star{position:absolute;left:.35em;top:.35em;width:.28em;height:.28em;opacity:0;transform:scale(0);pointer-events:none}.logo-playing .monogram-s{animation:logo-nudge 2s var(--ease) both}.logo-playing .monogram-m{animation:logo-move 2s var(--ease) both}.logo-playing .monogram-star{animation:logo-star 2s ease-in-out both}@keyframes logo-nudge{0%,8%,to{transform:none}18%,24%{transform:translate(.06em) rotate(-4deg)}40%,85%{transform:none}}@keyframes logo-move{0%,14%,to{transform:none}30%{transform:translate(.49em) rotate(3deg)}42%,73%{transform:translate(.46em)}}@keyframes logo-star{0%,23%{opacity:0;transform:scale(0) rotate(-90deg)}37%{opacity:1;transform:scale(1) rotate(0)}70%{opacity:1;transform:scale(1) rotate(270deg)}84%,to{opacity:0;transform:scale(0) rotate(360deg)}}.skill-preview.is-visible{transition:left .42s var(--ease),top .42s var(--ease),opacity .2s,transform .35s var(--ease),visibility .2s}.skill-preview p{min-height:4.5em}.name-star-j .j-stem{display:inline-block;clip-path:inset(.32em -.12em -.3em)}@property --skill-color{syntax: "<color>"; inherits: true; initial-value: #61dafb;}.skill-preview{isolation:isolate;overflow:hidden;transition:--skill-color .5s ease,opacity .2s,transform .35s var(--ease),visibility .2s}.skill-preview:before{content:"";position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 38% 23%,color-mix(in srgb,var(--skill-color) 14%,transparent),transparent 49%),radial-gradient(ellipse at 91% 60%,color-mix(in srgb,var(--skill-color) 5%,transparent),transparent 58%);filter:blur(24px)}.skill-preview.is-visible{transition:left .42s var(--ease),top .42s var(--ease),--skill-color .5s ease,opacity .2s,transform .35s var(--ease),visibility .2s}.motion-paused .skill-preview.is-visible{transition:none}.case-page>.page-content{width:min(1040px,calc(100% - 96px))}.case-page .case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 42px}.case-page .case-gallery>:first-child:not(:nth-last-child(2)){grid-column:1 / -1}.case-page .gallery-image{display:block;border:0;background:transparent}.case-page .gallery-image img{display:block;width:100%;height:auto}.case-page .case-story{width:100%;max-width:none;margin-inline:0}.case-page .case-actions{justify-content:flex-start}@media(max-width:600px){.case-page>.page-content{width:calc(100% - 36px)}.case-page .case-gallery{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.case-page .case-actions{align-items:flex-start}}@property --space-a{syntax: "<color>"; inherits: true; initial-value: #49317d;}@property --space-b{syntax: "<color>"; inherits: true; initial-value: #164f79;}@property --space-c{syntax: "<color>"; inherits: true; initial-value: #175852;}body{transition:--space-a 1.2s ease,--space-b 1.2s ease,--space-c 1.2s ease}body[data-space-theme=blue]{--space-a: #194e9d;--space-b: #146999;--space-c: #243d83}body[data-space-theme=violet]{--space-a: #60339b;--space-b: #3b2378;--space-c: #6b3d91}body[data-space-theme=silver]{--space-a: #394958;--space-b: #3b6069;--space-c: #495660}body[data-space-theme=pink]{--space-a: #8d254f;--space-b: #65254c;--space-c: #922641}body[data-space-theme=cobalt]{--space-a: #244ba3;--space-b: #2167ad;--space-c: #273b88}html.viewer-open,html.viewer-open body{overflow:hidden}.image-dialog{position:fixed;inset:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:transparent;overflow:hidden}.image-dialog::backdrop{background:transparent;backdrop-filter:none}.image-dialog:before{content:"";position:fixed;inset:0;background:#000000db;opacity:0;transition:opacity .45s ease;pointer-events:none}.image-dialog.is-viewing:before{opacity:1}.image-dialog>img{position:fixed;max-width:none;max-height:none;object-fit:contain;border-radius:4px;transform-origin:top left}.image-dialog .dialog-close{position:fixed;z-index:2;top:16px;right:24px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;opacity:0;transition:opacity .25s ease}.image-dialog svg{width:24px;height:24px}.viewer-controls{position:fixed;z-index:2;bottom:18px;left:50%;display:flex;align-items:center;gap:18px;transform:translate(-50%);opacity:0;transition:opacity .25s ease}.viewer-controls button{display:grid;place-items:center;width:44px;height:44px;border:0;padding:0;color:#fff;background:transparent}.viewer-controls button[hidden]{display:none}.viewer-count{min-width:48px;text-align:center;color:#d5d5d9;font-size:15px}.image-dialog.is-viewing .dialog-close,.image-dialog.is-viewing .viewer-controls{opacity:1}@media(max-width:600px){.image-dialog .dialog-close{right:10px}}.case-page>.page-content{position:relative;z-index:1}body{position:relative}.case-planets{position:absolute;inset:0 0 auto;overflow:hidden;pointer-events:none;z-index:1}.case-planets[hidden]{display:none}.case-planet{position:absolute;display:block;width:var(--planet-size);aspect-ratio:1;opacity:.65;animation:planet-drift var(--orbit-time, 18s) ease-in-out infinite alternate}.case-planet i{position:absolute;inset:0;display:block;border-radius:50%;background:radial-gradient(circle at 28% 24%,color-mix(in srgb,var(--space-b) 70%,#cad2e2),var(--space-a) 40%,#080a12 79%);box-shadow:inset -4px -2px 5px #000a}.planet-ringed{--planet-size: 22px;right:12%;top:205px;rotate:-25deg}.planet-ringed:before,.planet-ringed:after{content:"";position:absolute;inset:32% -38%;border:1px solid color-mix(in srgb,var(--space-b) 65%,#b9bbd3);border-radius:50%;opacity:.65}.planet-ringed:after{clip-path:inset(50% 0 0)}.planet-moon{--planet-size: 17px;left:5%;top:53%;--orbit-time: 23s;animation-delay:-7s;opacity:.45}.planet-distant{--planet-size: 11px;right:7%;top:85%;--orbit-time: 27s;animation-delay:-13s;opacity:.4}@keyframes planet-drift{0%{translate:-3px -4px}to{translate:4px 5px}}@media(max-width:600px){.planet-ringed{right:12%;top:105px;--planet-size: 16px}.planet-moon{left:3px;--planet-size: 12px}.planet-distant{right:4px;--planet-size: 8px}}.motion-paused .case-planet{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.case-planet{animation:none}}.case-page .page-intro h1{letter-spacing:-.055em}.work-caption h3{letter-spacing:-.035em}.project-name-word{white-space:nowrap}.work-caption :is(.name-star-i,.name-star-j){display:inline-block}.case-page .page-intro h1.project-title-single-line{font-size:min(112px,8.5vw);white-space:nowrap}.footer-brand{--signature-size: clamp(28px, 2.6vw, 36px);--signature-logo-size: calc(var(--signature-size) * 2.65);display:flex;align-items:center;gap:calc(var(--signature-size) * .4);padding-right:0;width:fit-content}.footer-logo{display:flex;flex:none;align-items:center}.footer-logo .monogram{font-size:var(--signature-logo-size);line-height:.76;letter-spacing:-.04em}.footer-brand .footer-wordmark{font-size:var(--signature-size);line-height:1.02}.footer-name-motion{flex:none}.footer-brand.color-sweep :is(.monogram-s,.monogram-m,.name-char){animation:footer-color-sweep 2s ease-in-out both;animation-delay:var(--sweep-delay, 0ms)}@keyframes footer-color-sweep{0%,to{color:var(--text)}28%{color:color-mix(in srgb,var(--space-a) 50%,#fff)}50%{color:color-mix(in srgb,var(--space-b) 50%,#fff)}72%{color:color-mix(in srgb,var(--space-c) 50%,#fff)}}@media(min-width:601px)and (max-width:1050px){.footer-brand{--signature-size: clamp(28px, 3.2vw, 35px)}}@media(max-width:600px){.footer-brand{--signature-size: 30px}}.motion-paused .footer-brand *{animation:none!important}@media(prefers-reduced-motion:reduce){.footer-brand *{animation:none!important}}
