:root{font-family:DM Sans,sans-serif;color:#252624;background:#fafaf8;font-synthesis:none;font-weight:400;--paper: #fafaf8;--ink: #252624;--muted: #73746f;--line: #ddded8;--green: #72926d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #58824f;outline-offset:6px}button{border:0}h1,h2,h3,h4,p{margin:0}img{max-width:100%;display:block}button svg,a svg{flex-shrink:0}.icon{width:19px;height:19px;vertical-align:middle}.container{width:calc(100% - 160px);max-width:1240px;margin:0 auto}.pill{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:10px 19px;border:1px solid #dedfd9;border-radius:40px;font-size:12px;background:transparent;transition:background .25s,transform .25s,box-shadow .25s;white-space:nowrap}.pill:hover{background:#eaece5;transform:translateY(-2px)}.pill.dark{background:var(--ink);color:#fff;border:1px solid #42433f;box-shadow:0 3px #dddeda,0 4px 10px #0000000d}.pill.dark:hover{background:#414b3e;box-shadow:0 5px 14px #0002}.pill .icon{width:16px;height:16px}.eyebrow{font-size:10px;font-weight:550;letter-spacing:1.8px;display:block}.availability{background:#fff;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:10px;border:1px solid #e9eae5;border-radius:30px;box-shadow:0 3px 9px #00000008;white-space:nowrap}.availability>span,.green-dot{width:6px;height:6px;display:inline-block;background:#62a476;border-radius:50%;box-shadow:0 0 0 3px #62a4760c}.header{height:99px;padding:0 4.3%;display:flex;align-items:center;gap:25px;position:relative;z-index:10}.wordmark{font-family:Manrope,sans-serif;font-size:38px;font-weight:800;line-height:1;letter-spacing:-4px;padding-right:8px}.wordmark span{color:var(--green)}.header nav{display:flex;gap:40px;margin:auto;font-size:12px}.header nav a{position:relative;padding:12px 0}.header nav a:after{content:"";position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav a:hover:after{transform:scaleX(1)}sup{font-size:8px;color:#8b8c86;margin-left:3px;vertical-align:super}.menu-button{display:none}.hero{height:calc(100svh - 99px);min-height:670px;max-height:1100px;position:relative;isolation:isolate;background:var(--paper);overflow:hidden;margin:0 4.3%;border-bottom:1px solid var(--line)}.hero-kicker{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.65px;margin-top:47px;color:#686a63;animation:fade-in .9s both}.hero-name{font-family:Manrope,sans-serif;font-size:9.2vw;letter-spacing:-.065em;line-height:1.22;font-weight:800;white-space:nowrap;margin-top:15px;position:relative;z-index:1;animation:name-enter 1s cubic-bezier(.16,1,.3,1) both}.hero-name>span{font-kerning:none;letter-spacing:-.04em;color:var(--paper);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;margin-right:.15em}.portrait-stage{position:absolute;width:61%;height:78%;bottom:45px;left:19.5%;z-index:2;mix-blend-mode:multiply;--mouse-x: 50%;--mouse-y: 40%;animation:portrait-enter 1.6s .35s cubic-bezier(.16,1,.3,1) both;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 94%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 94%,transparent 100%)}.portrait-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0;pointer-events:none}.portrait-base{filter:grayscale(1)}.portrait-color{clip-path:circle(0 at var(--mouse-x) var(--mouse-y));transition:clip-path .25s ease}.color-active .portrait-color{clip-path:circle(105px at var(--mouse-x) var(--mouse-y))}.portrait-hint{position:absolute;bottom:25px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:7px;letter-spacing:1.2px;opacity:.65;display:flex;align-items:center;gap:8px}.portrait-hint .icon{height:11px;width:11px}.hero-intro{position:absolute;left:1.5%;bottom:155px;z-index:3;animation:fade-up 1s .8s both}.hero-intro .eyebrow{color:#7c7e75;font-size:9px;letter-spacing:1.4px;margin-bottom:16px}.hero-intro h2{font-family:Manrope,sans-serif;font-size:clamp(23px,2.15vw,33px);font-weight:600;line-height:1.3;letter-spacing:-1.2px}.hero-intro p{font-size:12px;color:#71726e;line-height:1.8;margin:15px 0 23px}.hero-socials{position:absolute;bottom:163px;right:1%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;z-index:3;animation:fade-up 1s 1s both}.hero-socials .pill{min-width:121px;justify-content:flex-start;background:#fafaf89c;font-size:11px;padding:10px 14px;min-height:37px}.social-arrow{margin-left:auto;opacity:0;transform:translate(-3px,3px);transition:.2s}.social-link:hover .social-arrow{opacity:1;transform:translate(0)}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:space-between;z-index:4;font-size:8px;letter-spacing:1.3px;background:var(--paper)}.hero-bottom a{display:flex;align-items:center;gap:10px}.hero-bottom a .icon{width:12px;height:12px;animation:nudge 2s infinite}.hero-bottom>span{color:#81837c}.section{padding:115px 0 90px}.section-title{text-align:center;position:relative}.section-title .ghost-title{position:absolute;left:0;right:0;top:-41px;font-family:Manrope,sans-serif;font-size:clamp(70px,10.5vw,153px);font-weight:800;letter-spacing:6px;line-height:1;color:#eeefea;z-index:-1}.section-title .eyebrow{color:var(--muted);margin-bottom:23px}.section-title h2{font-family:Manrope,sans-serif;font-size:48px;font-weight:500;letter-spacing:-2.5px;line-height:1.15}.section-title h2 span{font-weight:650}.section-title h2 sup{font-family:DM Sans,sans-serif;vertical-align:top;font-size:10px;letter-spacing:0;display:inline-block;margin:7px 0 0 10px}.section-title>p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:17px}.work-toolbar{display:flex;align-items:center;justify-content:space-between;margin:57px 0 32px}.filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filters button{padding:10px 16px;font-size:11px;border-radius:30px;background:transparent;transition:background .2s}.filters button:hover{background:#eeefe9}.filters button.active{background:var(--ink);color:#fff}.filters button span{font-size:8px;margin-left:6px;opacity:.5}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px 32px}.project-card{min-width:0}.project-open{padding:0;background:none;display:block;width:100%;text-align:left}.project-art{height:auto;aspect-ratio:1.5;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center;border:1px solid #00000003}.sage{--art-bg: #e2e9dd;--accent: #799878;--accent-light: #edf3e9;background:var(--art-bg)}.peach{--art-bg: #eee1d7;--accent: #cd9773;--accent-light: #f8efe7;background:var(--art-bg)}.lilac{--art-bg: #e6e3ed;--accent: #9787b4;--accent-light: #f3f0f9;background:var(--art-bg)}.blue{--art-bg: #dfe5ec;--accent: #7c97bd;--accent-light: #edf2f8;background:var(--art-bg)}.sand{--art-bg: #e9e3d6;--accent: #9e8b65;--accent-light: #f7f2e8;background:var(--art-bg)}.project-type{position:absolute;top:19px;left:22px;font-size:7px;letter-spacing:1.25px;font-weight:550;color:#565a52;z-index:2}.mockup-position{width:85%;transform:perspective(1000px) rotateY(-7deg) rotateX(5deg) rotate(-3deg) translateY(13px);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.project-card:nth-child(2n) .mockup-position{transform:perspective(1000px) rotateY(7deg) rotateX(5deg) rotate(3deg) translateY(13px)}.project-open:hover .mockup-position{transform:perspective(1000px) rotateY(0) rotateX(0) rotate(0) translateY(5px) scale(1.04)}.mock-browser{container-type:inline-size;position:relative;width:100%;aspect-ratio:1.57;border-radius:5px;background:#fff;box-shadow:0 18px 35px #33332228,0 1px 2px #0001;overflow:hidden;font-size:9px}.mock-nav{height:17%;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid #0000000a;font-size:1.6cqw}.mock-nav>b{font-size:3cqw;letter-spacing:-.1cqw}.mock-nav i{font-style:normal;background:var(--accent-light);padding:5px;border-radius:4px}.care-ui{background:#fcfdf8}.care-body{padding:6%;position:relative;height:73%;overflow:hidden}.micro-label{font-size:1.25cqw;letter-spacing:.25cqw;display:block}.care-body h3{font-family:Manrope,sans-serif;font-size:6.5cqw;font-weight:500;line-height:1.2;letter-spacing:-.3cqw;margin-top:4%}.care-body h3 span{color:var(--accent)}.care-body p{font-size:1.5cqw;line-height:1.7;margin-top:3%;color:#73796b}.mock-button{display:inline-block;font-size:1.45cqw;background:var(--accent);color:#fff;border-radius:3px;padding:2% 3%;white-space:nowrap}.care-body>.mock-button{margin-top:4%}.care-orbit{width:40%;aspect-ratio:1;position:absolute;right:-1%;top:15%;border:1px solid #81927355;border-radius:50%;padding:12px;background:#e0e7d75c}.orbit-inner{height:100%;border-radius:50%;border:1px solid #81927388;display:flex;align-items:center;justify-content:center;font-size:22cqw;color:#8a9e76;background:radial-gradient(ellipse at center,#bacda7,#e2e8d94d 68%)}.care-bottom{height:10%;padding:0 6%;font-size:1.4cqw;display:flex;justify-content:space-between;align-items:center;background:#edf1e7}.dashboard-ui{display:flex}.mock-sidebar{width:22%;padding:5% 3%;border-right:1px solid #efefef;display:flex;flex-direction:column;gap:7%;background:#fcfcfc;position:relative}.mock-sidebar>b{font-size:2.4cqw;white-space:nowrap;letter-spacing:-.1cqw;margin-bottom:15%}.mock-sidebar>b span{font-size:2cqw}.side-item{font-size:1.65cqw;white-space:nowrap;color:#848480}.side-item.active{background:var(--accent-light);color:#28292a;padding:7px 5px;margin-left:-5px;border-radius:3px}.mock-profile{position:absolute;bottom:5%;display:flex;align-items:center;gap:7px;font-size:2cqw}.mock-profile span{font-size:1.5cqw}.mock-profile small{font-size:1.3cqw;color:#999}.mock-main{width:78%;padding:3% 4%}.mock-topline{display:flex;align-items:center;justify-content:space-between;font-size:1.35cqw;color:#8a8a8a;padding-bottom:5%;border-bottom:1px solid #eee}.mock-topline b{padding:3px 5px;background:var(--accent-light);border-radius:50%;color:var(--accent)}.mock-welcome{display:flex;align-items:center;justify-content:space-between;margin:6% 0 5%;gap:5px}.mock-welcome h3{font-size:2.25cqw;letter-spacing:-.08cqw;font-weight:600}.mock-welcome p{font-size:1.4cqw;color:#92928e;margin-top:5px}.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mock-stats>div{padding:10% 8%;border:1px solid #e8e8e5;border-radius:4px}.mock-stats small{font-size:1.4cqw;color:#83837d;display:block}.mock-stats strong{font-size:3.4cqw;display:inline-block;margin-top:8%;font-weight:600;letter-spacing:-.2cqw}.mock-stats em{font-size:1.1cqw;color:#678567;font-style:normal;margin-left:5px}.mock-chart{margin-top:5%;border:1px solid #e8e8e5;border-radius:4px;padding:5%}.mock-chart>div:first-child{display:flex;justify-content:space-between;font-size:1.5cqw}.mock-chart>div>span{font-size:1.25cqw;color:#aaa}.chart-bars{height:12cqw;display:flex;align-items:flex-end;justify-content:space-between;gap:3%;padding-top:4%;background:repeating-linear-gradient(0deg,transparent,transparent 24%,#eee 25%)}.chart-bars i{width:5%;background:var(--accent);border-radius:2px 2px 0 0;opacity:.7}.chart-bars i:nth-child(2n){opacity:1}.chart-axis{display:flex;justify-content:space-between;margin-top:5%;font-size:1.2cqw;color:#aaa}.mock-table{display:flex;justify-content:space-between;margin-top:5%;font-size:1.5cqw}.mock-table span{font-size:1.2cqw;color:#aaa}.cafe-ui{background:#f9f5eb;padding-bottom:10%;color:#56432a}.cafe-ui>.micro-label,.old-portfolio>.micro-label{margin:8% 7% 3%}.cafe-ui h3,.old-portfolio h3{font-family:Georgia,serif;font-size:7cqw;font-weight:400;margin-left:7%;line-height:1.1}.cafe-ui>.mock-button,.old-portfolio>.mock-button{margin:5% 7%}.coffee-cup{position:absolute;right:7%;top:32%;font-size:15cqw}.old-portfolio{background:#242924;color:#fff}.old-portfolio h3{font-size:8cqw;font-family:Manrope,sans-serif}.old-portfolio em{color:#adbc9c}.project-hover{position:absolute;right:20px;bottom:22px;display:flex;align-items:center;gap:15px;border-radius:30px;background:#fff;padding:12px 16px;font-size:10px;opacity:0;transform:translateY(10px);transition:.3s;box-shadow:0 4px 12px #0001}.project-open:hover .project-hover,.project-open:focus-visible .project-hover{opacity:1;transform:translateY(0)}.preview-caption{position:absolute;bottom:9px;left:15px;font-size:7px;letter-spacing:.6px;color:#51564d}.project-heading{display:flex;align-items:center;justify-content:space-between;margin:19px 0 7px}.project-heading h3{font-size:21px;font-weight:500;letter-spacing:-.6px}.project-heading>.icon{width:20px;height:20px;transition:transform .2s}.project-open:hover .project-heading>.icon{transform:translate(3px,-3px)}.project-open>p{font-size:12px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.tags>span{border:1px solid #dedfd8;border-radius:30px;font-size:9px;padding:6px 11px;color:#666960}.tags>.company-tag{margin-left:auto;color:#7e8178;border-color:transparent}.work-projects-cta{display:flex;justify-content:center;margin-top:42px}.work-end{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:53px;font-size:11px;color:var(--muted)}.work-end>a{color:var(--ink);display:flex;align-items:center;gap:10px}.cloud-section{background-image:url(/assets/clouds-DHjuyJXF.jpg);background-position:center;background-size:cover}.services{padding:90px 0 100px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:21px;color:var(--muted)}.section-heading h2{font-family:Manrope,sans-serif;font-size:41px;font-weight:500;letter-spacing:-2px}.section-heading>p{font-size:12px;color:var(--muted);line-height:1.7}.service-item{border-bottom:1px solid #bfc2b9;transition:background .35s,color .35s,border-radius .35s}.service-toggle{display:flex;gap:25px;align-items:center;padding:29px 24px;width:100%;text-align:left;background:transparent}.service-toggle>span:nth-child(2){font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-1px;font-weight:450}.service-number{font-size:10px;color:#92968a;align-self:center}.service-toggle>.icon{width:27px;height:27px;margin-left:auto;transition:transform .3s}.service-item.is-open{background:#272925;color:#fff;border-radius:5px;box-shadow:0 5px 14px #0002;border-color:transparent;margin-bottom:8px}.is-open .service-toggle{padding-bottom:18px}.is-open .service-toggle>.icon{transform:rotate(90deg)}.service-content{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;padding:0 70px 30px}.service-content[hidden]{display:none}.service-content p{font-size:12px;color:#bcbfb4;line-height:1.9;max-width:430px}.service-tags{display:flex;gap:18px;margin-top:20px;flex-wrap:wrap}.service-tags span{font-size:9px;color:#dadfd2}.service-code{transform:rotate(-7deg);background:#eef0e8;color:#65795b;box-shadow:0 7px 15px #0003;width:215px;margin:-75px 35px -6px auto;padding:17px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1.6;border-radius:2px}.service-code>b{font-size:53px;letter-spacing:-5px;font-weight:500;line-height:1.6}.service-code>span{font-size:7px;color:#727a68;letter-spacing:.2px}.experience{background:#252723;color:#eeefe9;padding:90px 0 0;position:relative;overflow:hidden}.experience:before{content:"EXPERIENCE";font-family:Manrope,sans-serif;position:absolute;top:-29px;left:5%;font-size:14.1vw;font-weight:800;letter-spacing:-8px;color:#ffffff03;pointer-events:none}.experience .section-heading{margin-bottom:43px}.experience .section-heading h2{font-size:41px}.experience .section-heading .eyebrow,.experience .section-heading>p{color:#a6ad9d}.experience-row{display:grid;grid-template-columns:45px 1fr 210px;gap:20px;padding:36px 0;border-top:1px solid #ffffff21}.experience-index{font-size:11px;color:#737b68;padding-top:4px}.experience-row h3{font-size:21px;font-weight:450;letter-spacing:-.3px}.experience-row h3>span{color:#9da493;font-size:14px}.experience-row h4{font-size:13px;font-weight:400;color:#b2b9a9;margin-top:10px}.experience-row p{font-size:11px;max-width:450px;line-height:1.9;color:#959d8d;margin-top:14px}.experience-date{display:flex;flex-direction:column;justify-content:center;gap:13px;align-items:flex-end;font-size:11px;color:#acb2a4}.current{font-size:8px;letter-spacing:1px;color:#bfceb1;display:flex;gap:7px;align-items:center}.current>i{width:5px;height:5px;border-radius:50%;background:#a2ba8a}.education-row{border-top:1px solid #ffffff21;padding:36px 0;display:flex;justify-content:space-between;align-items:center}.education-row .eyebrow{font-size:8px;color:#89977e;margin-bottom:13px}.education-row h3{font-size:17px;font-weight:400}.education-row p{font-size:11px;color:#929c86;margin-top:11px}.education-row p>span{margin-left:20px}.education-row .pill{color:#e0e5da;border-color:#ffffff35;font-size:11px}.education-row .pill:hover{background:#3b4136}.community{border-top:1px solid #ffffff21;display:flex;gap:40px;padding:27px 0 40px;align-items:flex-start}.community>span{font-size:8px;letter-spacing:1.1px;color:#909a85;white-space:nowrap;margin-top:4px}.community p{font-size:10px;line-height:1.9;color:#9ba68f;max-width:700px}.contact{padding:66px 4.3% 42px}.contact-panel{padding:62px 5% 28px;background:#fafaf89c;border:1px solid #ffffffd9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-align:center;border-radius:5px}.contact-panel>.availability{margin-bottom:37px}.contact-panel>.eyebrow{font-size:9px;letter-spacing:1.7px;color:#8a8e83;margin-bottom:20px}.contact-panel h2{font-family:Manrope,sans-serif;font-size:clamp(32px,4.4vw,64px);font-weight:550;letter-spacing:-2.8px;line-height:1.18}.contact-panel h2>span{color:#77856b}.contact-panel>p{font-size:12px;line-height:1.9;color:#767c6e;margin:23px 0}.contact-button{min-height:46px}.email-link{display:block;width:fit-content;margin:19px auto 0;font-size:10px;color:#7d8274}.email-link:hover{text-decoration:underline}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:75px;border-top:1px solid #dce0d4;padding-top:25px;gap:15px}.signature{display:flex;align-items:center;gap:9px;font-size:10px}.signature img{width:27px;height:27px;border-radius:50%;object-fit:cover;object-position:top;background:#e4e7dd;mix-blend-mode:multiply}.contact-socials{display:flex;gap:12px}.contact-socials .pill{font-size:10px;min-height:33px;padding:8px 12px;background:#fff8}.contact-socials .social-arrow{display:none}.back-top{font-size:9px;display:flex;align-items:center;gap:8px}.back-top>.icon{transform:rotate(180deg);width:13px;height:13px}.footer{display:flex;justify-content:space-between;gap:20px;padding:22px 4.3%;font-size:8px;letter-spacing:.4px;background:#f3f4ef;color:#7b8072}.footer>span:last-child{display:flex;align-items:center;gap:8px;letter-spacing:1px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--delay, 0ms),transform .8s var(--delay, 0ms)}.reveal.visible{opacity:1;transform:translateY(0)}.skip-link{position:fixed;top:-70px;left:20px;z-index:100;background:#252723;color:#fff;padding:15px}.skip-link:focus{top:10px}.dialog-open{overflow:hidden}.project-dialog{padding:0;border:0;border-radius:10px;max-width:760px;width:calc(100% - 36px);max-height:90svh;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #0005;overflow-y:auto}.project-dialog::backdrop{background:#151b16b3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.dialog-close{position:sticky;top:17px;float:right;margin:17px 17px -59px 0;z-index:3;background:#fff;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;box-shadow:0 2px 9px #0001}.dialog-art{padding:45px 15%;position:relative}.dialog-copy{padding:35px 40px 40px}.dialog-copy .eyebrow{font-size:9px;color:var(--muted)}.dialog-copy h2{font-family:Manrope,sans-serif;font-size:35px;letter-spacing:-1.5px;margin:12px 0}.dialog-copy>p{font-size:14px;line-height:1.8;color:#73796c}.company-credit{display:block;font-size:11px;color:#7d8a73;margin-bottom:16px}.dialog-copy h3{font-size:15px;font-weight:500;margin-top:25px}.dialog-copy ul{padding-left:20px;color:#73796c;font-size:13px;line-height:1.8}.dialog-copy li{padding:4px 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px;align-items:center}.repo-note{font-size:11px;color:#858d7c;flex-basis:100%;margin-bottom:3px}.projects-page{padding:40px 0 100px}.back-link{font-size:12px;color:#777f6d}.projects-page .section-title{text-align:left;margin-top:70px}.projects-page .section-title h1{font-family:Manrope,sans-serif;font-size:clamp(65px,8vw,112px);letter-spacing:-6px;line-height:1.08;font-weight:750}.outline-text{color:var(--paper);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.projects-page .section-title>p{font-size:14px;margin-top:28px}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px;margin-top:50px}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:10px 13px;border-radius:30px}.search-box>.icon{width:15px;height:15px;color:#818777}.search-box>input{width:150px;border:0;background:none;font-size:11px;outline:0}.search-box:focus-within{border-color:var(--green)}.results-count{font-size:10px;color:#848b7b;margin:22px 0}.empty-state{text-align:center;padding:90px 20px}.empty-state h2{font-size:30px;letter-spacing:-1px}.empty-state p{color:var(--muted);font-size:13px;margin:15px 0 25px}[hidden]{display:none!important}@keyframes portrait-enter{0%{transform:translateY(75%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes name-enter{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-up{0%{transform:translateY(15px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes nudge{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media(min-width:1600px){.hero-name{font-size:9.2vw}.hero-intro{bottom:175px}.portrait-stage{width:57%;left:21.5%}.hero-socials{bottom:180px}}@media(max-width:1100px){.container{width:calc(100% - 90px)}.header{gap:15px}.header nav{gap:25px}.header-status .availability{font-size:9px}.hero-intro{bottom:130px;left:0}.hero-intro h2{font-size:26px}.hero-intro p{font-size:11px}.hero-socials{right:0;bottom:135px}.hero{min-height:630px}.portrait-stage{width:68%;left:16%;height:76%}.hero-name{font-size:9.1vw}.hero-kicker{font-size:8px}.hero-bottom{font-size:7px}.service-toggle>span:nth-child(2){font-size:27px}.service-code{margin-right:0;width:180px}.service-content{padding-left:63px;padding-right:40px}.section-title h2{font-size:43px}.project-art{aspect-ratio:1.4}.contact-panel{padding-left:4%;padding-right:4%}.contact-socials{gap:6px}.archive-toolbar{flex-wrap:wrap}}@media(max-width:760px){.container{width:calc(100% - 40px)}.header{height:78px;padding:0 20px;gap:15px}.wordmark{font-size:33px}.header-status{margin-right:auto}.header-status .availability{font-size:9px;padding:7px 9px}.header-cta{display:none}.menu-button{display:grid;place-items:center;background:transparent;width:40px;height:40px}.header nav{display:none;position:absolute;top:70px;left:20px;right:20px;padding:20px;background:#fafaf8fa;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 22px #0001;gap:8px}.menu-open nav{display:flex;flex-direction:column}.header nav a{padding:12px}.hero{margin:0 20px;height:calc(100svh - 78px);min-height:690px;max-height:940px}.hero-kicker{margin-top:24px;font-size:7px;letter-spacing:.8px}.hero-kicker span:last-child{font-size:6px}.hero-name{font-size:clamp(40px,10.85vw,81px);line-height:1.1;white-space:normal;letter-spacing:-.07em;margin-top:24px;display:flex;flex-direction:column;align-items:center}.hero-name>span{font-size:1.5em;line-height:1.05;margin-right:0;-webkit-text-stroke:2px var(--ink)}.portrait-stage{width:100%;left:0;height:62%;bottom:125px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 68%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 68%,transparent 100%)}.portrait-stage>img{object-fit:cover;object-position:50% 0}.portrait-hint{display:none}.hero-intro{bottom:75px;left:0}.hero-intro .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:9px}.hero-intro h2{font-size:24px;line-height:1.2;letter-spacing:-.9px}.hero-intro p{font-size:10px;line-height:1.7;margin:11px 0 15px;max-width:215px}.hero-intro .pill{font-size:10px;min-height:38px;padding:9px 13px;gap:8px}.hero-socials{bottom:85px;gap:8px}.hero-socials .pill{min-width:0;font-size:0;padding:9px;min-height:35px;gap:0;background:#fafaf8b3}.hero-socials .pill>.icon{width:16px;height:16px}.hero-socials .social-arrow{display:none}.hero-bottom{height:43px;font-size:6px;letter-spacing:.7px}.hero-bottom>span:last-child{display:none}.hero-bottom a{gap:6px}.section{padding:88px 0 64px}.section-title .ghost-title{font-size:14vw;letter-spacing:1px;top:-23px}.section-title .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:20px}.section-title h2{font-size:33px;letter-spacing:-1.7px}.section-title h2 sup{font-size:8px;margin-left:5px}.section-title>p{font-size:11px;margin-top:13px}.work-toolbar{margin:35px 0 25px;gap:18px;flex-wrap:wrap}.filters{gap:3px}.filters button{font-size:10px;padding:9px 12px}.work-toolbar>.pill{font-size:10px;min-height:34px;padding:8px 12px}.project-grid{gap:32px 18px}.project-art{aspect-ratio:1.12}.project-type{top:13px;left:12px;font-size:5px;letter-spacing:.7px}.mockup-position{width:92%}.project-heading{margin-top:13px;gap:7px}.project-heading h3{font-size:17px;letter-spacing:-.5px}.project-heading>.icon{width:16px;height:16px}.project-open>p{font-size:10px;line-height:1.6}.tags{gap:4px;margin-top:11px}.tags>span{font-size:7px;padding:5px 7px}.tags>.company-tag{display:none}.preview-caption{font-size:5px;bottom:7px;left:10px}.project-hover{padding:9px;bottom:15px;right:12px;font-size:9px}.project-hover>.icon{width:14px;height:14px}.work-end{font-size:10px;gap:15px;margin-top:33px;align-items:center}.work-end>span{max-width:150px;line-height:1.7}.work-end>a{font-size:10px;gap:4px}.work-end>a>.icon{width:15px;height:15px}.services{padding:65px 0}.section-heading{margin-bottom:30px;gap:20px}.section-heading .eyebrow{font-size:8px;margin-bottom:14px;letter-spacing:1px}.section-heading h2,.experience .section-heading h2{font-size:30px;letter-spacing:-1.5px}.section-heading>p{font-size:10px}.service-toggle{padding:25px 13px;gap:12px}.service-toggle>span:nth-child(2){font-size:23px;letter-spacing:-1px}.service-number{font-size:8px}.service-toggle>.icon{width:21px;height:21px}.service-content{display:block;padding:0 38px 26px}.service-content p{font-size:11px}.service-tags{gap:12px}.service-tags span{font-size:8px}.service-code{display:none}.experience{padding-top:65px}.experience-row{grid-template-columns:20px 1fr;gap:12px;padding:28px 0}.experience-row h3{font-size:19px}.experience-row h4{font-size:12px}.experience-row p{font-size:11px;max-width:100%}.experience-date{grid-column:2;align-items:flex-start;gap:8px;font-size:10px;flex-direction:row;justify-content:space-between}.experience-index{font-size:9px}.education-row{gap:22px;flex-wrap:wrap;padding:28px 0}.education-row h3{font-size:16px}.education-row p{font-size:10px}.education-row p>span{display:block;margin:7px 0 0}.education-row .pill{font-size:10px;min-height:36px;padding:8px 13px}.community{gap:15px;flex-direction:column;padding:25px 0 32px}.community p{font-size:10px}.contact{padding:30px 15px}.contact-panel{padding:43px 18px 22px}.contact-panel>.availability{font-size:9px;margin-bottom:28px}.contact-panel>.eyebrow{font-size:7px;margin-bottom:16px}.contact-panel h2{font-size:clamp(25px,5.6vw,43px);letter-spacing:-1.1px}.contact-panel>p{font-size:11px;margin:20px 0}.contact-button{font-size:11px;min-height:40px}.email-link{font-size:9px}.contact-bottom{margin-top:40px;flex-wrap:wrap;gap:20px;justify-content:center}.contact-socials{order:3;width:100%;justify-content:center;gap:8px}.contact-socials .pill{padding:8px 10px;font-size:9px;gap:7px}.contact-socials .pill .icon{width:13px;height:13px}.signature{font-size:9px;margin-right:auto}.back-top{font-size:8px}.footer{padding:20px;gap:13px;flex-wrap:wrap;font-size:7px}.footer>span:nth-child(2){display:none}.projects-page{padding:25px 0 70px}.projects-page .section-title{margin-top:50px}.projects-page .section-title h1{font-size:64px;letter-spacing:-4px}.projects-page .section-title>p{font-size:12px}.archive-toolbar{margin-top:35px;gap:15px;padding-top:20px}.archive-toolbar .filters{gap:3px}.archive-toolbar .filters button{font-size:9px;padding:9px 10px}.search-box,.search-box input{width:100%}.dialog-copy{padding:27px 24px}.dialog-copy h2{font-size:29px}.dialog-copy>p{font-size:12px}.dialog-copy li{font-size:11px}.dialog-art{padding:40px 9% 28px}.dialog-actions .pill{font-size:10px;min-height:38px}.dialog-copy .eyebrow{font-size:8px}}@media(max-width:480px){.project-grid{grid-template-columns:1fr;gap:34px}.project-art{aspect-ratio:1.45}.mockup-position{width:84%}.project-type{font-size:7px;top:17px;left:18px}.project-heading h3{font-size:20px}.project-open>p{font-size:11px}.tags>span{font-size:8px;padding:6px 10px}.tags>.company-tag{display:block}.preview-caption{font-size:6px}.project-heading{margin-top:17px}.hero-intro h2{font-size:23px}.service-toggle>span:nth-child(2){font-size:21px}.section-heading>p{max-width:115px;font-size:9px}.hero-kicker span:last-child{display:none}.hero-kicker{justify-content:center}.projects-page .section-title h1{font-size:59px}.work-toolbar{gap:15px}.work-toolbar .filters{width:100%}.work-toolbar>.pill{margin-left:auto}.color-active .portrait-color{clip-path:circle(75px at var(--mouse-x) var(--mouse-y))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}.reveal{opacity:1;transform:none}.portrait-stage{animation:none}.project-open:hover .mockup-position{transform:none}}
