:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#5b4f4b;font-synthesis:none;--canvas:#faf8f6;--ink:#1e1b24;--shade-100:#f3f1f1;--shade-200:#e8e4e3;--shade-400:#aba09c;--shade-500:#7c6d67;--shade-600:#5b4f4b;--shade-700:#3f3633;--highlight-solid:#f2c94c;background:#faf8f6;font-family:Inter,system-ui,sans-serif}::selection{background:var(--highlight-solid);color:var(--ink)}::selection{background:var(--highlight-solid);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas);overflow-x:clip}body{background:var(--canvas);min-width:320px;margin:0;overflow-x:clip}.images-loading img:not(.project-card__image),.images-resolving img:not(.project-card__image){transition:filter .65s cubic-bezier(.2,.8,.2,1),opacity .5s,transform .35s cubic-bezier(.2,.8,.2,1)!important}.images-loading img:not(.project-card__image){opacity:.52;filter:blur(16px)!important}.images-resolving img:not(.project-card__image){opacity:1;filter:blur()!important}.images-resolving img[data-reveal]:not(.is-in-view):not(.project-card__image){opacity:.38;filter:blur(18px)!important}img[data-reveal]{filter:blur(18px);opacity:.38;transition:filter .7s cubic-bezier(.2,.8,.2,1),opacity .55s,transform .35s cubic-bezier(.2,.8,.2,1)}img[data-reveal].is-in-view{filter:blur();opacity:1}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.social-icon{width:16px;height:16px;-webkit-mask:var(--social-icon) center / contain no-repeat;-webkit-mask:var(--social-icon) center / contain no-repeat;mask:var(--social-icon) center / contain no-repeat;background:currentColor;flex:0 0 16px;transition:background-color .18s;display:block}main{z-index:2;background:var(--canvas);position:relative;box-shadow:0 28px 52px #1e1b2424}main>.content-shell,main>.resume-shell,main>.projects-landing,main>.case-study{will-change:transform, opacity, filter}main>.case-study{will-change:auto}html.initial-shots:not(.app-ready) main>.content-shell,html.initial-shots:not(.app-ready) main>.resume-shell,html.initial-shots:not(.app-ready) main>.projects-landing,html.initial-shots:not(.app-ready) main>.case-study{animation:.9s ease-in-out both screen-enter}.profile__heading,.profile__bio{will-change:transform, opacity, filter;animation:none}html.initial-shots:not(.app-ready) .profile__heading{animation:.58s ease-in-out 60ms both screen-layer-enter}html.initial-shots:not(.app-ready) .profile__bio{animation:.58s ease-in-out .16s both screen-layer-enter}@keyframes screen-enter{0%{opacity:0;filter:blur(14px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes screen-layer-enter{0%{opacity:0;filter:blur(10px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translate(0,0)}}.portfolio-bottom{will-change:transform, opacity, filter;animation-duration:.52s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.portfolio-bottom--forward{animation-name:portfolio-bottom-enter-forward}.portfolio-bottom--backward{animation-name:portfolio-bottom-enter-backward}.portfolio-bottom--down{animation-name:portfolio-bottom-enter-down}.case-study--forward,.case-study--backward{will-change:auto}.case-study--forward .case-study__hero,.case-study--forward .case-study__rule,.case-study--forward .case-study__content{animation:.58s cubic-bezier(.16,1,.3,1) both case-study-enter-forward}.case-study--backward .case-study__hero,.case-study--backward .case-study__rule,.case-study--backward .case-study__content{animation:.58s cubic-bezier(.16,1,.3,1) both case-study-enter-backward}@keyframes portfolio-bottom-enter-forward{0%{opacity:.45;filter:blur(8px);transform:translate(42px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes portfolio-bottom-enter-backward{0%{opacity:.45;filter:blur(8px);transform:translate(-42px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes portfolio-bottom-enter-down{0%{opacity:.45;filter:blur(8px);transform:translateY(42px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes case-study-enter-forward{0%{opacity:.35;filter:blur(10px);transform:translateY(36px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@keyframes case-study-enter-backward{0%{opacity:.35;filter:blur(10px);transform:translateY(-36px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@media (prefers-reduced-motion:reduce){main>.content-shell,main>.resume-shell,main>.projects-landing,main>.case-study,.portfolio-bottom,.case-study--forward,.case-study--backward,.case-study--forward .case-study__hero,.case-study--forward .case-study__rule,.case-study--forward .case-study__content,.case-study--backward .case-study__hero,.case-study--backward .case-study__rule,.case-study--backward .case-study__content{animation:none}}.content-shell{padding:80px 80px 180px}.projects-main{background:var(--canvas)}.projects-coming-soon{width:min(648px,100% - 48px);min-height:620px;margin:0 auto;padding-top:120px}.projects-coming-soon h1{color:var(--ink);letter-spacing:-.4px;margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1}.projects-landing{flex-direction:column;gap:40px;width:min(1728px,100%);margin:0 auto;padding:80px max(24px,50% - 324px) 120px;display:flex}.projects-landing__profile{flex-direction:column;gap:32px;display:flex}.projects-landing__heading img{object-fit:cover;object-position:center 28%;border:4px solid #fff;border-radius:50%;width:80px;height:80px;box-shadow:0 1px 2px #0000000d}.projects-landing__heading h1{color:var(--ink);letter-spacing:-.4px;margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1}.projects-landing__heading p{color:var(--shade-400);margin:4px 0 0;font-size:14px;font-weight:500;line-height:24px}.projects-landing__bio{color:var(--shade-600);font-size:14px;line-height:24px}.projects-landing__bio p+p{margin-top:16px}.projects-landing__rule{background:var(--shade-200);width:100%;height:1px}.projects-landing__work{flex-direction:column;gap:20px;display:flex}.projects-landing__eyebrow{color:var(--shade-400);margin:0;font-size:14px;line-height:20px}.projects-landing__cards{flex-direction:column;gap:12px;display:flex}.projects-landing__card{background:var(--canvas);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;transition:background .18s,transform .18s;display:flex}.projects-landing__card:hover,.projects-landing__card:focus-visible{background:var(--shade-100);outline:0}.projects-landing__card:active{transform:scale(.995)}.projects-landing__card>img,.projects-landing__placeholder{border:.5px solid var(--shade-200);background:var(--shade-100);object-fit:cover;border-radius:12px;width:100%;height:320px;box-shadow:0 1px 2px #0000000d}.projects-landing__card h2{color:var(--ink);-webkit-text-decoration:underline dotted var(--shade-400);text-decoration:underline dotted var(--shade-400);text-underline-offset:4px;margin:0;font-size:16px;font-weight:600;line-height:28px}.profile{width:min(648px,100%);margin:0 auto 60px}.profile__heading{align-items:center;gap:24px;margin-bottom:32px;display:flex}.profile__portrait{object-fit:cover;object-position:center 28%;border:4px solid #fff;border-radius:50%;width:80px;height:80px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;box-shadow:0 1px 2px #0000000d}html.app-ready .profile__portrait{filter:blur()!important;opacity:1!important}.profile__heading:hover .profile__portrait{transform:rotate(-3deg)translateY(-2px);box-shadow:0 10px 20px #1e1b241a}.profile h1{letter-spacing:-.4px;color:var(--ink);margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1}.profile__role{color:var(--shade-400);margin:4px 0 0;font-size:14px;font-weight:500;line-height:24px}.profile__bio{font-size:14px;line-height:24px}.projects-main .profile__bio,.shots-main .profile__bio,.resume-main .profile__bio{color:var(--shade-600)}.profile__bio p{margin:0}.profile__bio p+p{margin-top:16px}.resume-shell{min-height:2032px;padding:80px 0 180px}.resume-shell .profile{margin-bottom:0}.resume-rule{background:var(--shade-200);width:min(648px,100% - 48px);height:1px;margin:40px auto 0}.resume-layout{align-items:start;width:min(1448px,100% - 48px);margin:39px auto 0;display:grid}.resume-aside{z-index:1;width:280px;color:var(--shade-500);grid-area:1/1;align-self:start;padding-top:16px;position:sticky;top:76px}.resume-aside__group{border-bottom:1px solid var(--shade-200);margin-bottom:20px;padding-bottom:20px}.resume-aside__group h2{color:#6b6577;margin:0 0 8px;font-size:16px;font-weight:600;line-height:28px}.resume-aside__group ul{margin:0;padding-left:21px;font-size:14px;line-height:24px}.resume-aside__group p{color:var(--shade-400);margin:2px 0 0;font-size:14px;line-height:24px}.resume-education{width:fit-content;color:var(--shade-500);align-items:center;gap:8px;font-size:14px;font-weight:500;line-height:24px;text-decoration:none;display:flex}.resume-education img{width:18px;height:18px}.resume-download{gap:8px;display:flex}.resume-download button,.resume-download a{height:32px;color:var(--canvas);letter-spacing:.24px;cursor:pointer;background:#00000052;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;line-height:20px;text-decoration:none;transition:background .16s,color .16s;display:inline-flex}.resume-download button:hover,.resume-download a:hover,.resume-download button:focus-visible,.resume-download a:focus-visible{color:#fff;background:#0000007a;outline:0}.resume-download button:first-child,.resume-download a:first-child{width:32px;padding:6px}.resume-download img{width:18px;height:18px}.resume-download__linkedin img{filter:brightness(0)invert()}.resume-experience{flex-direction:column;grid-area:1/1;justify-self:center;gap:40px;width:688px;display:flex}.experience-card{background:var(--canvas);width:100%;color:var(--shade-600);border-radius:12px;outline:0;flex-direction:column;gap:12px;padding:16px 20px;font-size:14px;line-height:24px;transition:background .18s,box-shadow .18s;display:flex;position:relative}.experience-card:hover,.experience-card:focus-visible{background:var(--shade-100)}.experience-card__company:hover,.experience-card__company:focus-visible{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.experience-card+.experience-card:before{content:"";background:var(--shade-200);pointer-events:none;width:100%;height:1px;position:absolute;top:-21px;left:0}.experience-card__heading{color:var(--shade-600);justify-content:space-between;align-items:center;display:flex}.experience-card__heading>div{white-space:nowrap;align-items:center;gap:4px;font-size:16px;line-height:28px;display:flex}.experience-card__heading strong,.experience-card__company{color:var(--ink);-webkit-text-decoration:underline dotted var(--shade-400);text-decoration:underline dotted var(--shade-400);text-underline-offset:3px;font-weight:600}.experience-card__company-trigger{display:inline-flex;position:relative}.experience-card__company-trigger:focus-within{outline:0}.experience-card__hover-chip{z-index:2;left:calc(var(--company-hover-x) + 14px);top:calc(var(--company-hover-y) + 12px);-webkit-backdrop-filter:blur(12px)saturate(1.15);backdrop-filter:blur(12px)saturate(1.15);min-height:28px;color:var(--shade-100);letter-spacing:.24px;white-space:nowrap;pointer-events:none;background:#00000052;border:.5px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:400;line-height:20px;animation:.2s cubic-bezier(.16,1,.3,1) both company-hover-chip-in;display:inline-flex;position:absolute;box-shadow:inset 0 1px #ffffff1f,0 4px 10px #1e1b2414}@keyframes company-hover-chip-in{0%{opacity:0;transform:translateY(3px)scale(.94)}}.experience-card__heading span{color:var(--shade-400);font-weight:500}.experience-card__heading time{white-space:nowrap}.experience-card__role{color:#9c4e6c;margin:0;font-weight:500}.experience-card__description{margin:0}.experience-card__results{margin-top:4px;padding-top:24px}.experience-card__results>strong{color:var(--shade-600);margin-bottom:16px;font-weight:600;display:block}.experience-card__results ul{margin:0;padding-left:21px}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:1568px;margin:0 auto;display:grid}.project-card{appearance:none;background:var(--shade-100);cursor:pointer;border:0;justify-content:center;align-items:center;height:576px;padding:10px;transition:background .18s,transform .18s;animation:.4s both card-arrive;display:flex;position:relative;overflow:hidden}.project-card:active{transform:scale(.985)}.project-card:before{content:"";background:var(--shot-placeholder) center / cover no-repeat;filter:blur(12px);opacity:1;pointer-events:none;transition:opacity .35s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1.04)}.project-card.is-image-ready:before{opacity:0}.project-card__image{object-fit:cover;opacity:0;transition:opacity .35s,transform .22s;display:block;box-shadow:0 1px 2px #0000000d}.project-card.is-image-ready .project-card__image{opacity:1}@media (prefers-reduced-motion:reduce){.project-card:before,.project-card__image{transition:none}}.is-preview-source{visibility:hidden!important;transition:none!important;transform:none!important}.project-card--mobile .project-card__image.is-preview-returning{transform:translateY(-22px)!important}.project-card--web .project-card__image.is-preview-returning{transform:translateY(-25px)!important}.project-card--mobile .project-card__image,.project-card--mobile:before{border-radius:16px;width:210px;height:466px}.project-card--web .project-card__image,.project-card--web:before{aspect-ratio:440/286;border-radius:8px;width:min(440px,88%)}.project-card.is-hovered{background:var(--shade-200)}.project-card--mobile.is-hovered .project-card__image{transform:translateY(-22px)}.project-card--web.is-hovered .project-card__image{transform:translateY(-25px)}.project-card__type{background:#00000052;border-radius:999px;place-items:center;width:34px;height:30px;display:grid;position:absolute;top:20px;right:20px}.project-card__type img{width:18px;height:18px}.project-card__hint{width:calc(100% - 40px);color:var(--shade-600);white-space:nowrap;text-overflow:ellipsis;opacity:0;font-size:14px;line-height:24px;transition:all .18s;position:absolute;bottom:18px;left:50%;overflow:hidden;transform:translate(-50%,8px)}.project-card.is-hovered .project-card__hint{opacity:1;transform:translate(-50%)}@keyframes card-arrive{0%{opacity:0;transform:translateY(10px)}}.footer{z-index:0;background:var(--ink);height:629px;color:var(--shade-400);padding:40px 24px;position:sticky;bottom:0}.footer__inner{flex-direction:column;gap:60px;width:min(648px,100%);height:549px;margin:auto;display:flex}.footer__top{border-bottom:1px solid #7c6d6738;flex:0 0 190px;justify-content:space-between;align-items:center;height:190px;padding-bottom:40px;display:flex}.listening{align-items:center;gap:24px;padding:0 12px;display:flex}.listening span{font-size:14px;font-weight:500;line-height:24px}.listening p{margin:4px 0 0;font-size:16px;line-height:28px}.listening strong{color:var(--shade-100);font-weight:500}.record-player{flex:none;width:100px;height:92px;position:relative}.record-player__base{width:107px;height:107px;position:absolute;top:-6px;left:-2px}.record-player__disc{width:82px;height:82px;animation:8s linear infinite spin;position:absolute;top:5px;left:8px}.record-player__arm{transform-origin:85% 10%;width:54px;height:54px;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;top:1px;left:50px;transform:rotate(-35deg)}.listening:hover .record-player__arm{transform:rotate(-27deg)}.is-muted .record-player__disc{animation-play-state:paused}.is-muted .record-player__arm{transform:rotate(-48deg)}@keyframes spin{to{transform:rotate(360deg)}}.social-list{border-left:1px solid #7c6d6738;width:160px;padding-left:40px;position:relative}.footer-social-slider__pill{z-index:0;opacity:0;height:36px;transform:translateY(calc(var(--footer-hover-index) * 36px));pointer-events:none;background:#ffffff0a;border:.5px solid #7c6d671f;border-radius:12px;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .12s;position:absolute;top:0;left:40px;right:0;box-shadow:inset 0 1px #ffffff06}.footer-social-slider__pill.is-visible{opacity:1}.social-list a{z-index:1;height:36px;color:var(--shade-400);border-radius:12px;justify-content:space-between;align-items:center;padding:6px 12px;font-size:14px;font-weight:500;line-height:24px;text-decoration:none;transition:color .18s;display:flex;position:relative}.social-list a:hover,.social-list a:focus-visible{color:var(--shade-100);outline:0}.footer__cta{flex:0 0 175px;height:175px}.footer__cta>p{margin:0 0 16px;font-size:18px;font-weight:400;line-height:32px}.footer__cta>a{width:fit-content;height:79px;color:var(--shade-100);letter-spacing:-.64px;font-family:Fraunces,Georgia,serif;font-size:clamp(40px,5vw,64px);font-weight:600;line-height:79px;text-decoration:none;transition:opacity .2s;display:block}.footer__cta>a:hover{opacity:.72}.footer__actions{gap:8px;margin-top:16px;display:flex}.footer__actions button,.footer__actions a{color:#f3f1f1cc;letter-spacing:.24px;cursor:pointer;background:#00000052;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;font-size:12px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.footer__actions button:hover,.footer__actions a:hover{color:#fff;background:#ffffff14}.footer__actions button:active,.footer__actions a:active{transform:translateY(1px)}.footer__actions button.is-copied{animation:.35s copied-pulse}@keyframes copied-pulse{50%{transform:scale(1.06)}}.footer__actions img{width:18px;height:18px}.book-call-icon{background:currentColor;flex:0 0 18px;width:18px;height:18px;display:inline-block;-webkit-mask:url(/assets/icon-calendar.svg) 50%/contain no-repeat;mask:url(/assets/icon-calendar.svg) 50%/contain no-repeat}.footer__actions button{position:relative;overflow:visible}.footer__actions .copy-email{justify-content:center}.copy-email__icon{flex:0 0 18px;place-items:center;width:18px;height:18px;animation:.24s cubic-bezier(.16,1,.3,1) both copy-content-in;display:inline-grid}.copy-email__label{animation:.24s cubic-bezier(.16,1,.3,1) both copy-content-in;display:inline-block}.copy-email__copy-icon{display:block}.check-icon{background:currentColor;flex:0 0 18px;width:18px;height:18px;display:inline-block;-webkit-mask:url(/assets/icon-check.svg) 50%/contain no-repeat;mask:url(/assets/icon-check.svg) 50%/contain no-repeat}.copy-check{display:none}.copy-check.is-visible{display:block}@keyframes copy-content-in{0%{opacity:0;filter:blur(4px);transform:translateY(2px)scale(.94)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.copy-confetti{z-index:2;pointer-events:none;width:1px;height:1px;position:absolute;inset:50% 50% auto}.copy-confetti i{border-radius:var(--confetti-shape);background:var(--confetti-color);opacity:0;width:3px;height:7px;animation:confetti-pop .78s cubic-bezier(.16, 1, .3, 1) var(--confetti-delay) both;will-change:transform, opacity;position:absolute;top:0;left:0;transform:translate(0)rotate(0)scale(.45)}@keyframes confetti-pop{0%{opacity:0;transform:translate(0)rotate(0)scale(.45)}14%{opacity:1}48%{opacity:1;transform:translate(calc(var(--confetti-x) * .82), calc(var(--confetti-y) * .82)) rotate(var(--confetti-rotation)) scale(var(--confetti-scale))}to{opacity:0;transform:translate(var(--confetti-x), calc(var(--confetti-y) + 14px)) rotate(calc(var(--confetti-rotation) + 110deg)) scale(.7)}}.footer__legal{height:64px;color:var(--shade-500);border-top:1px solid #7c6d6738;flex:0 0 64px;justify-content:space-between;padding:40px 12px 0;font-size:14px;line-height:24px;display:flex}.floating-nav{--main-edge-offset:0px;z-index:20;isolation:isolate;pointer-events:none;width:100%;height:96px;transform:translateY(var(--main-edge-offset));will-change:transform;background:linear-gradient(#faf8f600 26.56%,#faf8f631 100%);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 10px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:visible}.floating-nav:before{content:"";z-index:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0% 26.56%,#000 100%);mask-image:linear-gradient(#0000 0% 26.56%,#000 100%)}.floating-nav__capsule{z-index:1;pointer-events:auto;align-items:center;gap:8px;display:flex;position:relative}.floating-nav__toast{z-index:5;-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);color:var(--shade-600);white-space:nowrap;pointer-events:none;background:#ffffffc2;border:.5px solid #ffffffc7;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:500;line-height:20px;animation:.28s cubic-bezier(.16,1,.3,1) both toast-enter;position:absolute;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 12px 18px #1e1b241a,inset 0 1px #ffffffe6}@keyframes toast-enter{0%{opacity:0;transform:translate(-50%)translateY(8px)scale(.96)}}.floating-nav__avatar{object-fit:cover;cursor:pointer;border:3px solid #fff;border-radius:50%;width:48px;height:48px;margin-right:4px;transition:transform .28s cubic-bezier(.16,1,.3,1),filter .28s,box-shadow .28s;box-shadow:0 12px 12px -2.5px #0000000f}.floating-nav__avatar:hover{filter:brightness(1.12)saturate(1.08);transform:scale(1.07);box-shadow:0 0 0 3px #ffffffb3,0 16px 18px -3px #1e1b2429}.floating-nav__avatar:active{transform:scale(.96)}.floating-nav__tabs{border:.5px solid var(--shade-200);background:var(--shade-100);border-radius:999px;width:284px;padding:4px;display:flex;position:relative;box-shadow:0 12px 6px #0000000f,inset 0 1px #ffffff9e}.floating-nav__active-slider{z-index:0;-webkit-backdrop-filter:blur(18px)saturate(1.5);backdrop-filter:blur(18px)saturate(1.5);width:92px;height:40px;transform:translateX(calc(var(--active-index) * 92px));will-change:transform;pointer-events:none;background:linear-gradient(145deg,#ffffffc7,#ffffff7a);border:.5px solid #ffffffd6;border-radius:999px;transition:transform .58s cubic-bezier(.16,1,.3,1),width .3s;position:absolute;top:4px;left:4px;overflow:hidden;box-shadow:0 1px 1px #1e1b240f,inset 0 1px #fffffff2,inset 0 -1px #7c6d6714}.floating-nav__active-slider:after{content:"";opacity:.72;background:linear-gradient(#ffffff9e,#0000);border-radius:999px;height:45%;position:absolute;inset:1px 12px auto}.floating-nav__tabs button{z-index:1;width:92px;height:40px;color:var(--shade-400);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:4px;font-size:14px;font-weight:500;line-height:24px;transition:color .22s,transform .16s;display:flex;position:relative}.floating-nav button{outline:0}.floating-nav button:focus-visible{box-shadow:0 0 0 2px #7c6d6738}.floating-nav__tabs button:hover{color:var(--shade-600)}.floating-nav__tabs button.shots-toggle{transition:color .22s,background-color .22s,transform .16s}.floating-nav__tabs button.shots-toggle:focus-visible,.floating-nav__tabs button.shots-toggle[aria-expanded=true]{background:#ffffff38}.shots-toggle__icon{background:var(--shade-500);transform-origin:50%;flex:0 0 16px;width:16px;height:16px;transition:background-color .18s,transform .24s cubic-bezier(.16,1,.3,1),opacity .2s;display:block;-webkit-mask:url(/assets/nav-active-icon.svg) 50%/contain no-repeat;mask:url(/assets/nav-active-icon.svg) 50%/contain no-repeat}.shots-toggle:hover .shots-toggle__icon,.shots-toggle:focus-visible .shots-toggle__icon{background:var(--shade-600)}.shots-toggle[aria-expanded=true] .shots-toggle__icon{animation:.42s cubic-bezier(.16,1,.3,1) both shots-icon-nudge}@keyframes shots-icon-nudge{0%{opacity:.72;transform:translateY(0)scale(.9)}55%{opacity:1;transform:translateY(1px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-nav__tabs button.is-active{color:var(--shade-600)}.floating-nav__tabs button:active{transform:scale(.96)}.floating-nav__tabs button img{width:16px;height:16px}.floating-nav__icon{border:.5px solid var(--shade-200);cursor:pointer;background:#fff;border-radius:50%;place-items:center;width:48px;height:48px;transition:background .15s;display:grid;position:relative;box-shadow:0 12px 6px #0000000f}.floating-nav__icon:hover,.floating-nav__icon[aria-expanded=true]{background:var(--shade-100)}.floating-nav__icon img{width:24px;height:24px}.has-tooltip:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1d1816;border-radius:999px;padding:2px 6px;font-size:11px;line-height:14px;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)translateY(2px)}.has-tooltip:hover:after,.has-tooltip:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.floating-nav__icon[aria-expanded=true]:after{opacity:0;transform:translate(-50%)translateY(2px)}.floating-nav__social-wrap{position:relative}.floating-nav__socials{z-index:3;transform-origin:100% 100%;will-change:transform, opacity, filter;background:#fff;border-radius:16px;flex-direction:column;gap:2px;width:160px;padding:4px;animation:.34s cubic-bezier(.16,1,.3,1) both menu-enter;display:flex;position:absolute;bottom:58px;right:0;box-shadow:0 12px 6px #0000000f}.popup-slider-menu{isolation:isolate;box-sizing:border-box;gap:2px;padding:4px;position:absolute;overflow:hidden}.popup-hover-slider{z-index:0;opacity:0;height:36px;transform:translateY(calc(var(--popup-hover-index) * 38px));pointer-events:none;background:linear-gradient(145deg,#f3f1f1f5,#f3f1f1c7);border:.5px solid #e8e4e3e0;border-radius:12px;transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .12s;position:absolute;top:4px;left:4px;right:4px;box-shadow:inset 0 1px #fffffff0,0 1px 2px #1e1b240a}.popup-hover-slider.is-visible{opacity:1}.floating-nav__socials a{z-index:1;height:36px;color:var(--shade-400);border-radius:12px;justify-content:space-between;align-items:center;padding:6px 12px;font-size:14px;font-weight:500;line-height:24px;text-decoration:none;transition:color .18s;animation:.3s cubic-bezier(.16,1,.3,1) both popup-item-enter;display:flex;position:relative}.floating-nav__socials a:first-of-type{animation-delay:40ms}.floating-nav__socials a:nth-of-type(2){animation-delay:70ms}.floating-nav__socials a:nth-of-type(3){animation-delay:.1s}.floating-nav__socials a:nth-of-type(4){animation-delay:.13s}.floating-nav__socials a:hover,.floating-nav__socials a:focus-visible{color:var(--shade-600)}.shots-filter-menu{z-index:4;transform-origin:0 100%;background:#fff;border-radius:16px;flex-direction:column;gap:2px;width:160px;padding:4px;animation:.18s cubic-bezier(.2,.8,.2,1) both menu-enter;display:flex;position:absolute;bottom:58px;left:4px;box-shadow:0 12px 6px #0000000f}.shots-filter-menu button{z-index:1;width:100%;height:36px;color:var(--shade-400);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:0 0 36px;justify-content:space-between;align-items:center;padding:6px 12px;font-size:14px;font-weight:500;line-height:24px;animation:.3s cubic-bezier(.16,1,.3,1) both popup-item-enter;display:flex;position:relative}.shots-filter-menu button:first-of-type{animation-delay:40ms}.shots-filter-menu button:nth-of-type(2){animation-delay:70ms}.shots-filter-menu button:nth-of-type(3){animation-delay:.1s}.shots-filter-menu button:nth-of-type(4){animation-delay:.13s}.shots-filter-menu button:nth-of-type(5){animation-delay:.16s}.shots-filter-menu__status{place-items:center;width:18px;height:18px;line-height:18px;display:grid}.filter-check{flex-basis:16px;width:16px;height:16px}.shots-filter-menu button:hover,.shots-filter-menu button:focus-visible,.shots-filter-menu button.is-selected{color:var(--shade-600)}.case-study-main{background:var(--canvas);color:var(--ink)}.case-study{position:relative;overflow:hidden}.case-study__backdrop{z-index:0;pointer-events:none;background:radial-gradient(circle at 60% 28%,#009b4e29,#0000 46%),linear-gradient(135deg,#ecf3edcc,#0000 72%);width:46%;height:860px;position:absolute;top:0;right:0}.case-study__hero,.case-study__section,.case-study__feature,.case-study__closing{z-index:1;width:min(1200px,100% - 48px);margin:0 auto;position:relative}.case-study__eyebrow{border-bottom:1px solid var(--shade-200);color:var(--shade-400);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;padding-bottom:14px;font-size:12px;font-weight:600;line-height:20px;display:flex}.case-study__hero-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:72px;padding-top:86px;display:grid}.case-study__kicker,.case-study__section-kicker{color:#078b4c;letter-spacing:.08em;text-transform:uppercase;margin:0 0 20px;font-size:12px;font-weight:700;line-height:20px}.case-study h1,.case-study h2{letter-spacing:-.045em;font-family:Fraunces,Georgia,serif;font-weight:600}.case-study h1{max-width:580px;color:var(--ink);margin:0;font-size:clamp(56px,8vw,104px);line-height:.91}.case-study__lede{max-width:410px;color:var(--shade-500);margin:32px 0 0;font-size:18px;line-height:30px}.case-study__hero-art{align-items:center;min-height:500px;display:grid;position:relative}.case-study__hero-desktop{border-radius:18px;width:100%;transform:rotate(2deg);box-shadow:0 25px 50px #1e1b2421}.case-study__hero-mobile{border:7px solid #fff;border-radius:22px;width:145px;position:absolute;bottom:-58px;right:-12px;transform:rotate(-6deg);box-shadow:0 18px 34px #1e1b242e}.case-study__meta-grid{grid-template-columns:1fr;gap:28px;display:grid}.case-study__label{color:var(--shade-400);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.case-study__meta-grid p,.case-study__body-copy p,.case-study__intro-copy>p,.case-study__feature-copy>p,.case-study__onboarding-copy>p,.case-study__dashboard-copy>p,.case-study__closing>p{color:var(--shade-500);margin:0;font-size:16px;line-height:28px}.case-study__intro-copy{max-width:690px}.case-study h2{color:var(--ink);margin:0 0 24px;font-size:clamp(38px,5vw,68px);line-height:.98}.case-study__intro-copy h2{max-width:620px}.case-study__feature{grid-template-columns:minmax(0,1fr) minmax(320px,.68fr);gap:96px;width:100%;padding:112px max(24px,50% - 600px);display:grid}.case-study__feature--dark{color:var(--canvas);background:#1e1b24}.case-study__feature--green{color:#f3fbf4;background:#087f49}.case-study__feature--dark h2,.case-study__feature--green h2{color:inherit}.case-study__feature--dark .case-study__section-kicker,.case-study__feature--green .case-study__section-kicker{color:#77dba3}.case-study__feature--dark p,.case-study__feature--green p{color:#f3f1f1ad}.case-study__stat-stack{align-content:end;gap:18px;display:grid}.case-study__stat{border-top:1px solid #f3f1f12e;padding:18px 0}.case-study__stat strong{color:#f3f1f1;margin-bottom:4px;font-family:Fraunces,Georgia,serif;font-size:44px;font-weight:600;line-height:1;display:block}.case-study__stat span{color:#f3f1f194;font-size:13px;line-height:20px}.case-study__section--split{grid-template-columns:.8fr 1.2fr;gap:104px;display:grid}.case-study__sticky-copy{align-self:start;position:sticky;top:90px}.case-study__body-copy{max-width:640px}.case-study__body-copy p+p,.case-study__onboarding-copy p+p,.case-study__dashboard-copy p+p{margin-top:18px}.case-study__figure{margin:50px 0 0}.case-study__figure img{border:1px solid var(--shade-200);border-radius:20px;width:100%;box-shadow:0 18px 36px #1e1b2414}.case-study figure{margin-left:0;margin-right:0}.case-study figcaption{color:var(--shade-400);margin-top:12px;font-size:12px;line-height:20px}.case-study__escrow-card{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:18px;grid-template-columns:auto 1fr auto;align-self:center;align-items:start;gap:16px;padding:22px;display:grid;box-shadow:inset 0 1px #ffffff29}.case-study__escrow-dot{background:#b8f1c9;border-radius:50%;width:12px;height:12px;margin-top:5px;box-shadow:0 0 0 6px #b8f1c91f}.case-study__escrow-card strong{color:#fff;font-size:15px;line-height:22px}.case-study__escrow-card p{margin-top:7px;font-size:13px;line-height:21px}.case-study__escrow-time{color:#b8f1c9;white-space:nowrap;font-size:12px;line-height:20px}.case-study__section--onboarding{grid-template-columns:.8fr 1.2fr;gap:92px;display:grid}.case-study__onboarding-copy{max-width:480px}.case-study__before-after{grid-template-columns:1fr 1fr;align-items:end;gap:24px;display:grid}.case-study__before-after img{border:1px solid var(--shade-200);border-radius:18px;width:100%;box-shadow:0 16px 28px #1e1b2414}.case-study__section--dashboard{border-top:1px solid var(--shade-200);grid-template-columns:.74fr 1.26fr;align-items:center;gap:82px;display:grid}.case-study__dashboard-copy{max-width:430px}.case-study__dashboard-figure img{border:1px solid var(--shade-200);border-radius:22px;width:100%;box-shadow:0 20px 40px #1e1b241a}.case-study__closing{padding-top:112px;padding-bottom:170px}.case-study__closing h2{color:#f3f1f1;max-width:680px}.case-study__closing>p{max-width:610px}.case-study__closing-line{color:#f3f1f185;border-top:1px solid #f3f1f12e;justify-content:space-between;gap:24px;margin-top:84px;padding-top:18px;font-size:12px;line-height:20px;display:flex}.case-study__closing-line a{color:#b8f1c9;text-decoration:none}.case-study__closing-line a:hover{color:#fff}@keyframes menu-enter{0%{opacity:0;filter:blur(5px);transform:translateY(12px)scale(.94)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes popup-item-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.case-study__hero,.case-study__section,.case-study__feature,.case-study__closing{width:calc(100% - 40px)}.case-study__backdrop{opacity:.7;width:100%;height:620px}.case-study__hero{padding:34px 0 84px}.case-study__eyebrow{font-size:10px}.case-study__hero-grid,.case-study__intro,.case-study__section--split,.case-study__section--onboarding,.case-study__section--dashboard,.case-study__feature{grid-template-columns:1fr;gap:48px}.case-study__hero-grid{padding-top:58px}.case-study h1{font-size:clamp(56px,17vw,84px)}.case-study__lede{margin-top:24px;font-size:16px;line-height:26px}.case-study__hero-art{min-height:270px;margin-top:8px}.case-study__hero-mobile{border-width:5px;border-radius:16px;width:104px;bottom:-28px;right:0}.case-study__section,.case-study__feature,.case-study__closing{padding-top:74px;padding-bottom:74px}.case-study__meta-grid{grid-template-columns:repeat(3,1fr);gap:14px}.case-study__meta-grid p{font-size:12px;line-height:19px}.case-study__label{font-size:9px}.case-study h2{font-size:42px}.case-study__feature{padding-left:20px;padding-right:20px}.case-study__feature--dark,.case-study__feature--green{width:100%}.case-study__sticky-copy{position:static}.case-study__before-after{gap:12px}.case-study__before-after figure:first-child{transform:translateY(18px)}.case-study__closing-line{flex-direction:column;margin-top:58px}.case-study__escrow-card{grid-template-columns:auto 1fr}.case-study__escrow-time{grid-column:2}}@media (width<=380px){.scrolled-header__identity>.scrolled-header__crumb:not(.scrolled-header__name),.scrolled-header__identity>.scrolled-header__muted{display:none}}.case-study__intro{gap:40px}.case-study__simple-section{gap:26px;padding:52px 0}.case-study__full-image{width:min(520px,100% - 80px)}@media (width<=700px){.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__before-after,.case-study__closing-line{width:calc(100% - 64px)}.case-study__full-image{width:calc(100% - 80px)}.case-study h1{font-size:36px}.case-study__intro-copy h2,.case-study__simple-section h2{font-size:25px}.case-study__meta-grid p{font-size:10px;line-height:16px}.case-study__section,.case-study__simple-section{padding:44px 0}}.case-study{background:var(--canvas);width:100%}.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__full-image,.case-study__before-after,.case-study__closing-line{width:min(648px,100% - 48px)}.case-study__eyebrow{color:var(--shade-400);font-size:11px;line-height:18px}.case-study__kicker,.case-study__section-kicker{color:var(--shade-400);font-size:11px;font-weight:600;line-height:18px}.case-study__lede{max-width:460px;color:var(--shade-500);margin-top:20px;font-size:14px;line-height:24px}.case-study__hero-image,.case-study__full-image{border-radius:10px}.case-study__meta-grid{grid-template-columns:repeat(3,1fr);gap:16px}.case-study__label{color:var(--shade-400);font-size:10px}.case-study__meta-grid p,.case-study__simple-section>div:last-child p{color:var(--shade-500);font-size:14px;line-height:24px}.case-study__intro-copy h2,.case-study__simple-section h2{letter-spacing:-.035em;max-width:520px;font-size:38px;line-height:1}.case-study__simple-section--last{border-bottom:1px solid var(--shade-200)}.case-study__before-after img{border-radius:10px}.case-study__closing-line{color:var(--shade-400);padding:18px 0 96px;font-size:12px;line-height:20px}@media (width<=700px){.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__full-image,.case-study__before-after,.case-study__closing-line{width:calc(100% - 48px)}.case-study__hero{padding-top:64px}.case-study__hero-copy{padding:52px 0 40px}.case-study h1{font-size:44px}.case-study__meta-grid{gap:12px}.case-study__meta-grid p{font-size:11px;line-height:18px}.case-study__intro-copy h2,.case-study__simple-section h2{font-size:32px}.case-study__simple-section--accent{width:calc(100% - 48px)}.case-study__before-after{gap:10px}}.case-study{background:var(--canvas)}.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__full-image,.case-study__before-after,.case-study__closing-line{width:min(1120px,100% - 48px);margin-left:auto;margin-right:auto}.case-study__eyebrow{letter-spacing:.04em;text-transform:none;font-size:11px}.case-study__hero-copy{max-width:750px;padding:110px 0 82px}.case-study__kicker,.case-study__section-kicker{letter-spacing:.04em;margin-bottom:16px;font-size:11px}.case-study h1{letter-spacing:-.06em;font-size:clamp(62px,9vw,128px);line-height:.88}.case-study__lede{max-width:430px;margin-top:30px;font-size:16px;line-height:26px}.case-study__hero-image{width:100%;box-shadow:none;border-radius:14px;display:block;transform:none}.case-study__intro{border-top:1px solid var(--shade-200);grid-template-columns:.7fr 1.3fr;gap:120px;display:grid}.case-study__meta-grid{gap:24px}.case-study__intro-copy h2,.case-study__simple-section h2{max-width:570px;font-size:clamp(38px,5vw,64px);line-height:.95}.case-study__simple-section{border-top:1px solid var(--shade-200);grid-template-columns:.8fr 1.2fr;gap:120px;padding:120px 0;display:grid}.case-study__simple-section>div:last-child{max-width:550px}.case-study__simple-section>div:last-child p{color:var(--shade-500);margin:0;font-size:16px;line-height:28px}.case-study__simple-section>div:last-child p+p{margin-top:18px}.case-study__simple-section--accent{background:#edf6ef;width:100%;max-width:none;padding-left:max(24px,50% - 560px);padding-right:max(24px,50% - 560px)}.case-study__full-image{box-shadow:none;border-radius:14px;display:block}.case-study__before-after{grid-template-columns:1fr 1fr;gap:24px;padding:120px 0;display:grid}.case-study__before-after figure:first-child{transform:none}.case-study__before-after img{width:100%;box-shadow:none;border-radius:14px;display:block}.case-study__closing-line{border-top:1px solid var(--shade-200);color:var(--shade-400);margin-top:0;padding:18px 0 96px}.case-study__closing-line a{color:var(--shade-500)}@media (width<=700px){.projects-landing{gap:32px;padding:40px 24px 96px}.projects-landing__heading{gap:16px}.projects-landing__heading img{border-width:3px;width:60px;height:60px}.projects-landing__heading h1{font-size:32px}.projects-landing__heading p{font-size:13px;line-height:20px}.projects-landing__bio{font-size:13px;line-height:22px}.projects-landing__card{gap:10px;padding:12px}.projects-landing__card>img,.projects-landing__placeholder{height:220px}.projects-landing__card h2{font-size:14px;line-height:24px}.projects-landing__card p{font-size:13px;line-height:22px}.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__full-image,.case-study__before-after,.case-study__closing-line{width:calc(100% - 32px)}.case-study__hero{padding-top:28px;padding-bottom:64px}.case-study__hero-copy{padding:82px 0 48px}.case-study h1{font-size:clamp(58px,17vw,86px)}.case-study__lede{font-size:15px;line-height:24px}.case-study__section,.case-study__simple-section{grid-template-columns:1fr;gap:40px;padding:68px 0}.case-study__meta-grid{grid-template-columns:repeat(3,1fr);gap:12px}.case-study__meta-grid p{font-size:11px;line-height:17px}.case-study__label{font-size:9px}.case-study__simple-section--accent{width:100%;padding:68px 16px}.case-study__before-after{gap:12px;padding:68px 0}.case-study__closing-line{flex-direction:column;gap:8px;width:calc(100% - 32px);padding-bottom:72px}}@media (width>=701px) and (height<=950px){.has-tooltip:after{padding:2.25px 6.8px;font-size:12.5px;line-height:15.9px;bottom:calc(100% + 8px)}}@media (width>=701px) and (height<=820px){.has-tooltip:after{padding:2.5px 7.5px;font-size:13.75px;line-height:17.5px;bottom:calc(100% + 8.75px)}}.scrolled-header{z-index:60;isolation:isolate;opacity:0;pointer-events:none;background:linear-gradient(#faf8f631 0%,#faf8f600 73.44%);place-items:center;height:60px;transition:opacity .2s,transform .2s;display:grid;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.scrolled-header:before{content:"";z-index:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 26.56%,#0000 100%);mask-image:linear-gradient(#000 0% 26.56%,#0000 100%)}.scrolled-header.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scrolled-header__content{z-index:1;align-items:center;gap:8px;font-size:16px;font-weight:500;line-height:28px;display:flex;position:relative}.scrolled-header__content img{object-fit:cover;border:1.5px solid #fff;border-radius:50%;width:28px;height:28px;box-shadow:0 1px 2px #0000000d}.scrolled-header__muted{color:var(--shade-400)}.scrolled-header a{-webkit-backdrop-filter:blur(12px)saturate(1.15);backdrop-filter:blur(12px)saturate(1.15);color:#f3f1f1;background:#00000052;border:.5px solid #ffffff24;border-radius:999px;justify-content:center;align-items:center;min-height:min(32px,1.85vw,3.13dvh);padding:min(4px,.23vw,.39dvh) min(12px,.69vw,1.17dvh);font-size:clamp(12px,min(.81vw,1.37dvh),14px);font-weight:400;line-height:clamp(20px,min(1.39vw,2.34dvh),24px);text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex;box-shadow:inset 0 1px #ffffff1f,0 4px 10px #1e1b2414}.scrolled-header a:hover,.scrolled-header a:focus-visible{color:#fff;background:#0009;outline:0}.scrolled-header a:active{transform:translateY(1px)}.preview{--preview-motion-duration:.72s;--preview-open-duration:.72s;--preview-motion-easing:cubic-bezier(.4, 0, .2, 1);z-index:50;isolation:isolate;background:0 0;place-items:center;padding:80px 40px;display:grid;position:fixed;inset:0;overflow:auto}.preview__description{z-index:2;width:min(80vw,640px);color:var(--shade-500);text-align:center;pointer-events:none;margin:0;line-height:24px;animation:.46s cubic-bezier(.2,.8,.2,1) .18s both preview-description-in;position:absolute;bottom:24px;left:50%;transform:translate(-50%);font-size:14px!important}.preview.is-closing .preview__description{animation:.28s cubic-bezier(.4,0,.2,1) both preview-description-out}.preview:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);animation:preview-backdrop-in var(--preview-motion-duration) var(--preview-motion-easing) both;will-change:background-color, backdrop-filter;background:#e8e4e3cc;position:fixed;inset:0}.preview.is-closing{pointer-events:none}.preview.is-closing:before{animation:preview-backdrop-out var(--preview-motion-duration) var(--preview-motion-easing) both}.preview.is-closing .preview__layout{animation:none}.preview.is-closing .preview__media>:not(img){opacity:0;transition:opacity .28s}.preview__close{z-index:100;border:.5px solid var(--shade-200);cursor:pointer;background:#00000052;border-radius:50%;place-items:center;width:40px;height:40px;transition:background .15s;display:grid;position:fixed;top:20px;right:20px}.preview__close:hover{background:#0000007a}.preview__close img{width:20px;height:20px}.preview__layout{justify-content:center;align-items:center;gap:100px;width:min-content;max-width:100%;animation:.38s cubic-bezier(.2,.8,.2,1) both preview-arrive;display:flex}.preview__layout.has-shared-origin{animation:none}.preview__layout.has-shared-origin .preview__details{animation:.4s cubic-bezier(.2,.8,.2,1) .34s both preview-details-enter}.preview__layout.has-shared-origin .preview__media>:not(img){animation:.32s .46s both preview-controls-enter}.preview__media{flex-direction:column;flex:none;align-items:center;gap:24px;display:flex;position:relative}.preview__media--carousel{padding-bottom:68px}.preview__media>img,.preview__media>video{object-fit:contain;animation:.28s both media-swap;display:block;box-shadow:0 1px 2px #0000000d}.preview__media>img.preview-image-pending,.preview__media>video.preview-image-pending,.preview__carousel-slide.preview-image-pending{opacity:0;animation:none}.preview__media>img.zoom-from-card,.preview__media>video.zoom-from-card,.preview__carousel-slide.zoom-from-card{z-index:2;transform-origin:0 0;transform:translate(var(--zoom-x), var(--zoom-y)) scale(var(--zoom-scale-x), var(--zoom-scale-y));border-radius:var(--zoom-radius);transition:transform var(--preview-motion-duration) cubic-bezier(.22, 1, .36, 1), border-radius var(--preview-motion-duration) cubic-bezier(.22, 1, .36, 1), box-shadow var(--preview-motion-duration) ease;will-change:transform, border-radius;backface-visibility:hidden;animation:none;position:relative;box-shadow:0 8px 28px #1e1b2414}.preview__media>img.zoom-from-card:not(.is-closing-origin),.preview__media>video.zoom-from-card:not(.is-closing-origin),.preview__carousel-slide.zoom-from-card:not(.is-closing-origin){transition-duration:var(--preview-open-duration)}.preview__media>img.zoom-from-card.is-settled,.preview__media>video.zoom-from-card.is-settled,.preview__carousel-slide.zoom-from-card.is-settled{transform:var(--settled-transform,translate(0, 0) scale(1, 1));border-radius:var(--target-radius);box-shadow:0 1px 2px #0000000d}.preview__carousel-slide.zoom-from-card{transform:translate(calc(-50% + var(--zoom-x)), calc(-50% + var(--zoom-y))) scale(var(--zoom-scale-x), var(--zoom-scale-y));position:absolute;top:50%;left:50%}.preview__carousel-slide.zoom-from-card.is-settled{transform:var(--settled-transform,translate(-50%, -50%) scale(1, 1))}.preview__media--mobile>img,.preview__media--mobile>video{border-radius:32px;width:clamp(240px,19.68vw,340px);height:auto}.preview__media--web>img,.preview__media--web>video{aspect-ratio:20/13;border-radius:20px;width:min(1000px,58vw)}.preview__media--web>video.preview__video--cover{object-fit:cover}.preview__video-loading{z-index:3;pointer-events:none;background:#faf8f633;border-radius:32px;place-items:center;display:grid;position:absolute;inset:0}.preview__media--web .preview__video-loading{border-radius:20px}.preview__video-loading:before{content:"";border:3px solid #ffffff94;border-top-color:var(--shade-600);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite preview-video-spin}@keyframes preview-video-spin{to{transform:rotate(360deg)}}.preview__carousel-stage{--carousel-gap:12px;--carousel-step:332px;--carousel-active-step:344px;isolation:isolate;touch-action:pan-y;flex:none;width:min(100vw,1180px);height:min(74vh,754px);position:relative;overflow:clip visible}.preview__carousel-stage:before,.preview__carousel-stage:after{content:"";z-index:6;pointer-events:none;-webkit-backdrop-filter:blur(14px);width:clamp(28px,9vw,140px);position:absolute;top:0;bottom:0}.preview__carousel-stage:before{background:linear-gradient(90deg,#faf8f694,#faf8f600);left:0;-webkit-mask-image:linear-gradient(90deg,#000 0%,#0000 100%);mask-image:linear-gradient(90deg,#000 0%,#0000 100%)}.preview__carousel-stage:after{background:linear-gradient(270deg,#faf8f694,#faf8f600);right:0;-webkit-mask-image:linear-gradient(270deg,#000 0%,#0000 100%);mask-image:linear-gradient(270deg,#000 0%,#0000 100%)}.preview__carousel-slide{z-index:1;object-fit:contain;object-position:center center;pointer-events:auto;cursor:pointer;touch-action:pan-y;opacity:.6;filter:saturate(.9);--carousel-scale:1;transform-origin:50%;width:clamp(226px,18.52vw,320px);height:auto;max-height:none;transform:translate(calc(-50% + (var(--carousel-step,332px) * var(--carousel-offset,0))), -50%) scale(var(--carousel-scale));will-change:transform, opacity, filter;backface-visibility:hidden;border-radius:32px;transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1),box-shadow .72s cubic-bezier(.16,1,.3,1);display:block;position:absolute;top:50%;left:50%;translate:0;box-shadow:0 1px 2px #0000000d}.preview.is-carousel-preview{padding-inline:0}.preview.is-carousel-preview .preview__layout,.preview.is-carousel-preview .preview__media,.preview.is-carousel-preview .preview__carousel-stage{width:100vw;max-width:none}.preview.is-carousel-preview .preview__carousel-stage{margin-left:calc(50vw - 50%);left:0;transform:none}.preview__carousel-slide.is-offset-0{z-index:4;--carousel-scale:1;opacity:1;filter:none;width:clamp(226px,18.52vw,320px);max-height:min(74vh,754px);transform:translate(-50%,-50%);box-shadow:0 10px 30px #1e1b2414,0 1px 2px #0000000d}.preview__carousel-stage.is-interacted .preview__carousel-slide.is-offset-0{--carousel-scale:1.05}.preview__carousel-slide.is-offset-1{transform:translate(calc(-50% + var(--carousel-active-step)), -50%)}.preview__carousel-slide.is-offset--1{transform:translate(calc(-50% - var(--carousel-active-step)), -50%)}.preview__carousel-slide.is-offset-2{transform:translate(calc(-50% + var(--carousel-active-step) + var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset--2{transform:translate(calc(-50% - var(--carousel-active-step) - var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset-3{transform:translate(calc(-50% + var(--carousel-active-step) + var(--carousel-step) + var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset--3{transform:translate(calc(-50% - var(--carousel-active-step) - var(--carousel-step) - var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset-4{transform:translate(calc(-50% + var(--carousel-active-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset--4{transform:translate(calc(-50% - var(--carousel-active-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset-5{transform:translate(calc(-50% + var(--carousel-active-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset--5{transform:translate(calc(-50% - var(--carousel-active-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset-6{transform:translate(calc(-50% + var(--carousel-active-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step) + var(--carousel-step)), -50%)}.preview__carousel-slide.is-offset--6{transform:translate(calc(-50% - var(--carousel-active-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step) - var(--carousel-step)), -50%)}.preview__carousel-slide[class*=is-offset-]{transform:translate(calc(-50% + var(--carousel-translate-x,0px)), -50%) scale(var(--carousel-scale))}.preview__media--web .preview__carousel-stage{width:min(100vw,1200px);height:min(70vh,650px)}.preview__media--web .preview__carousel-slide{border-radius:20px;width:min(920px,53.5vw);max-height:min(64vh,600px)}.preview__media--web .preview__carousel-slide.is-offset-0{width:min(920px,53.5vw);max-height:min(70vh,650px)}@media (width>=701px){.preview__media--web .preview__carousel-slide{width:min(920px,53.5vw);max-height:min(64vh,600px)}.preview__media--web .preview__carousel-slide.is-offset-0{width:min(920px,53.5vw);max-height:min(70vh,650px)}}.preview__details{width:400px;color:var(--ink);flex:none}.preview__details h2{letter-spacing:-.4px;margin:0 0 12px;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1.05}.preview__details>p:not(.preview__tag){color:var(--shade-500);margin:0;font-size:14px;line-height:24px}.preview__tag{color:#fff;letter-spacing:.24px;text-transform:uppercase;background:#00000052;border-radius:999px;align-items:center;gap:6px;width:fit-content;min-height:32px;margin:0 0 20px;padding:6px 12px 6px 8px;font-size:12px;font-weight:600;line-height:20px;display:inline-flex}.preview__tag img{width:18px;height:18px}.preview__details hr{background:var(--shade-200);border:0;height:1px;margin:20px 0}.preview__actions,.preview__carousel-controls,.preview__video-controls{align-items:center;display:flex}.preview__actions{gap:8px}.preview__actions button,.preview__carousel-controls button,.preview__video-controls button{border:.5px solid var(--shade-200);width:40px;height:40px;color:var(--shade-500);cursor:pointer;background:#fff;border-radius:50%;font-size:18px;box-shadow:0 10px 6px #0000000f}.preview button{outline:0}.preview button:focus-visible{box-shadow:0 0 0 2px #7c6d6738,0 12px 6px #0000000f}.preview__actions button:hover,.preview__carousel-controls button:hover,.preview__video-controls button:hover{background:var(--shade-100)}.preview__actions button:active,.preview__carousel-controls button:active,.preview__video-controls button:active,.preview__close:active,.floating-nav__icon:active{transform:scale(.94)}.preview__actions img{width:24px;height:24px}.preview__actions button{place-items:center;transition:background .15s,transform .15s;display:grid;position:relative}.preview__actions button.is-saved{background:#f4e7ec;box-shadow:0 0 0 1px #9c4e6c2e,0 12px 6px #0000000f}.preview__actions button.is-saved img{transform:scale(1.12)}.preview__feedback{color:#fff;opacity:0;pointer-events:none;background:#1d1816;border-radius:999px;padding:2px 6px;font-size:11px;line-height:14px;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.preview__actions button:hover .preview__feedback,.preview__actions button.is-shared .preview__feedback{opacity:1;transform:translate(-50%)translateY(0)}.preview__video-controls{gap:20px}.preview__video-controls button{place-items:center;display:grid}.pause-icon{border-left:4px solid var(--shade-500);border-right:4px solid var(--shade-500);width:12px;height:16px}.play-icon{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:12px solid var(--shade-500);width:0;height:0;margin-left:3px}.preview__track{cursor:pointer;touch-action:none;background:#ffffffb8;border:0;border-radius:999px;outline:0;width:220px;height:10px;padding:0;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #7c6d670d}.preview__track span{border-radius:inherit;background:#fffffff5;width:0;height:100%;transition:none;display:block}.preview__timestamp{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;background:#1e1b24db;border-radius:6px;padding:3px 6px;font-size:11px;line-height:14px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.preview__track:focus-visible{box-shadow:0 0 0 2px #7c6d6747,inset 0 1px 1px #7c6d670d}.preview__carousel-controls{z-index:7;top:var(--carousel-controls-top,calc(100% + 12px));gap:10px;margin-top:0;transition:top .72s cubic-bezier(.16,1,.3,1);position:absolute;left:50%;transform:translate(-50%)}.preview__carousel-controls .preview__carousel-button{appearance:none;background:#fff;place-items:center;width:32px;height:32px;padding:0;display:grid;position:relative;overflow:visible;box-shadow:0 12px 6px #0000000f}.preview__carousel-controls .preview__carousel-button:hover{background:var(--shade-100)}.preview__carousel-controls .preview__carousel-button:focus-visible{box-shadow:0 0 0 2px #7c6d6738,0 12px 6px #0000000f}.preview__carousel-controls .preview__carousel-button:disabled{background:var(--shade-100);cursor:default;transform:none}.preview__carousel-button .carousel-control-icon{width:20px;height:20px;display:none}.preview__carousel-button .carousel-control-icon--default{display:block}.preview__carousel-button .carousel-control-icon--inactive,.preview__carousel-button .carousel-control-icon--hover,.preview__carousel-button:disabled .carousel-control-icon--default,.preview__carousel-button:disabled .carousel-control-icon--hover{display:none}.preview__carousel-button:disabled .carousel-control-icon--inactive{display:block}.preview__carousel-button:not(:disabled):hover .carousel-control-icon--default{display:none}.preview__carousel-button:not(:disabled):hover .carousel-control-icon--hover{display:block}.preview__dots{border:.5px solid var(--shade-200);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;width:fit-content;min-width:0;height:24px;padding:0 11px;display:flex;box-shadow:0 12px 6px #0000000f,inset 0 1px #ffffffeb}.preview__dots .preview__carousel-dot{appearance:none;width:6px;min-width:6px;height:6px;box-shadow:none;cursor:pointer;background:#d8d2d0;border:0;border-radius:50%;flex:0 0 6px;padding:0;transition:background .24s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1)}.preview__dots .preview__carousel-dot:hover{background:var(--shade-500);transform:scale(1.12)}.preview__dots .preview__carousel-dot:focus-visible{background:var(--shade-500);outline:0;box-shadow:0 0 0 2px #7c6d6738}.preview__dots .preview__carousel-dot.is-active{background:var(--shade-400);transform:scale(1.16)}@keyframes fade-in{0%{opacity:0}}@keyframes preview-backdrop-in{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#e8e4e300}to{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#e8e4e3cc}}@keyframes preview-backdrop-out{0%{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#e8e4e3cc}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#e8e4e300}}@keyframes preview-arrive{0%{opacity:0;transform:translateY(12px)scale(.985)}}@keyframes preview-exit{to{opacity:0;filter:blur(12px)}}@keyframes preview-details-enter{0%{opacity:0;transform:translate(18px)}}@keyframes preview-controls-enter{0%{opacity:0;transform:translateY(8px)}}@keyframes preview-description-in{0%{opacity:0;filter:blur(4px);transform:translate(-50%,10px)}to{opacity:1;filter:blur();transform:translate(-50%)}}@keyframes preview-description-out{0%{opacity:1;filter:blur();transform:translate(-50%)}to{opacity:0;filter:blur(3px);transform:translate(-50%,8px)}}@keyframes media-swap{0%{opacity:.35;transform:scale(.99)}}@keyframes preview-progress{0%{transform:scaleX(.15)}to{transform:scaleX(2.9)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-group(selected-shot){z-index:1000;animation-duration:.72s;animation-timing-function:cubic-bezier(.16,1,.3,1)}::view-transition-image-pair(selected-shot){isolation:auto}::view-transition-old(selected-shot){object-fit:contain;mix-blend-mode:normal;width:100%;height:100%;animation:none}::view-transition-new(selected-shot){object-fit:contain;mix-blend-mode:normal;width:100%;height:100%;animation:none}.preview.is-photos-transition{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#e8e4e3cc}html:has(.preview.is-photos-transition) main{transform-origin:50%;transition:transform .7s cubic-bezier(.16,1,.3,1);transform:scale(.988)}html:has(.preview.is-photos-transition) .footer{transform-origin:50%;transition:transform .7s cubic-bezier(.16,1,.3,1);transform:scale(.988)}@keyframes photos-backdrop-enter{0%{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:#e8e4e300}to{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#e8e4e3cc}}@media (width>=1101px){.scrolled-header{height:min(60px,3.47vw,5.86dvh)}.scrolled-header__content{gap:min(8px,.46vw,.78dvh);font-size:clamp(12.5px,min(.93vw,1.56dvh),16px);line-height:clamp(21px,min(1.62vw,2.73dvh),28px)}.scrolled-header__content img{border-width:min(1.5px,.087vw,.15dvh);width:min(28px,1.62vw,2.73dvh);height:min(28px,1.62vw,2.73dvh)}.scrolled-header a{min-height:min(32px,1.85vw,3.13dvh);padding:min(4px,.23vw,.39dvh) min(12px,.69vw,1.17dvh);font-size:clamp(12px,min(.81vw,1.37dvh),14px);line-height:clamp(20px,min(1.39vw,2.34dvh),24px)}.shots-main .content-shell{padding:min(80px,4.63vw,7.81dvh) min(80px,4.63vw,7.81dvh) min(180px,10.42vw,17.58dvh)}main .profile{width:min(648px,37.5vw,63.28dvh);margin-bottom:min(60px,3.47vw,5.86dvh)}main .profile__heading{gap:min(24px,1.39vw,2.34dvh);margin-bottom:min(32px,1.85vw,3.13dvh)}main .profile__portrait{border-width:min(4px,.23vw,.39dvh);width:min(80px,4.63vw,7.81dvh);height:min(80px,4.63vw,7.81dvh)}main .profile h1{letter-spacing:max(-.4px,-.023vw,-.039dvh);font-size:min(40px,2.31vw,3.91dvh)}main .profile__role{margin-top:min(4px,.23vw,.39dvh);font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}main .profile__bio{font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}main .profile__bio p+p{margin-top:min(16px,.93vw,1.56dvh)}.resume-shell{min-height:min(2032px,117.59vw,198.44dvh);padding:min(80px,4.63vw,7.81dvh) 0 min(180px,10.42vw,17.58dvh)}.resume-rule{width:min(648px,37.5vw,63.28dvh);margin-top:min(40px,2.31vw,3.91dvh)}.resume-layout{width:min(1448px,83.8vw,141.41dvh);margin-top:min(39px,2.26vw,3.81dvh)}.resume-aside{width:min(280px,16.2vw,27.34dvh);padding-top:min(16px,.93vw,1.56dvh);top:min(76px,4.4vw,7.42dvh)}.resume-aside__group{margin-bottom:min(20px,1.16vw,1.95dvh);padding-bottom:min(20px,1.16vw,1.95dvh)}.resume-aside__group h2{margin-bottom:min(8px,.46vw,.78dvh);font-size:clamp(14px,min(.93vw,1.56dvh),16px);line-height:clamp(24px,min(1.62vw,2.73dvh),28px)}.resume-aside__group ul,.resume-aside__group p,.resume-education{font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}.resume-experience{gap:min(40px,2.31vw,3.91dvh);width:min(688px,39.81vw,67.19dvh)}.experience-card{gap:min(12px,.69vw,1.17dvh);padding:min(16px,.93vw,1.56dvh) min(20px,1.16vw,1.95dvh);font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}.experience-card+.experience-card:before{top:max(-21px,-1.22vw,-2.05dvh)}.experience-card__heading>div{font-size:clamp(14px,min(.93vw,1.56dvh),16px);line-height:clamp(24px,min(1.62vw,2.73dvh),28px)}.experience-card__results{padding-top:min(24px,1.39vw,2.34dvh)}.experience-card__results>strong{margin-bottom:min(16px,.93vw,1.56dvh)}.shots-main .project-grid{gap:min(8px,.46vw,.78dvh);max-width:min(1568px,90.74vw,153.13dvh)}.shots-main .project-card{height:min(576px,33.33vw,56.25dvh);padding:min(10px,.58vw,.98dvh)}.shots-main .project-card--mobile .project-card__image,.shots-main .project-card--mobile:before{border-radius:min(16px,.93vw,1.56dvh);width:min(210px,12.15vw,20.51dvh);height:min(466px,26.97vw,45.51dvh)}.shots-main .project-card--web .project-card__image,.shots-main .project-card--web:before{border-radius:min(8px,.46vw,.78dvh);width:min(440px,25.46vw,42.97dvh,88%)}.shots-main .project-card__type{width:min(34px,1.97vw,3.32dvh);height:min(30px,1.74vw,2.93dvh);top:min(20px,1.16vw,1.95dvh);right:min(20px,1.16vw,1.95dvh)}.shots-main .project-card__type img{width:min(18px,1.04vw,1.76dvh);height:min(18px,1.04vw,1.76dvh)}.shots-main .project-card__hint{font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(20px,min(1.39vw,2.34dvh),24px);bottom:min(18px,1.04vw,1.76dvh)}}@media (width>=701px) and (height<=950px){main .floating-nav__capsule{transform-origin:bottom;transform:scale(.88)}}@media (width>=701px) and (height<=820px){main .floating-nav__capsule{transform:scale(.8)}}@media (width<=1100px){.content-shell{padding-inline:32px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.resume-aside{grid-area:1/1;width:auto}.resume-experience{grid-area:1/2;justify-self:stretch;width:100%}.preview__layout{gap:48px}.preview__media--mobile>img,.preview__media--mobile>video{border-radius:26px;width:clamp(220px,26vw,270px);height:auto}.preview__media--mobile .preview__carousel-slide{width:clamp(226px,18.52vw,320px)}.preview__media--mobile .preview__carousel-slide.is-offset-0{width:clamp(226px,18.52vw,320px);max-height:none}.preview__media--mobile .preview__carousel-stage{height:560px;min-height:560px}.preview__media--web>img,.preview__media--web>video{width:min(43vw,520px)}.preview__details{width:320px}}@media (width>=1101px){.preview__media--mobile .preview__carousel-stage{height:clamp(600px,44vw,780px);min-height:600px}}@media (height<=900px) and (width>=701px){.preview{padding-block:40px}.preview__media--mobile>img,.preview__media--mobile>video{border-radius:24px;width:240px;height:auto}.preview__media--mobile .preview__carousel-stage{height:600px;min-height:600px}.preview__carousel-slide{width:240px;transform:translate(calc(-50% + (var(--carousel-step,252px) * var(--carousel-offset,0))), -50%);border-radius:24px}.preview__media--mobile .preview__carousel-slide.is-offset-0{width:240px;max-height:none}}@media (width<=1400px) and (width>=1101px){.resume-aside{width:240px}}@media (width<=700px){.preview{--preview-motion-duration:.82s;--preview-open-duration:1.1s}.preview__carousel-slide{will-change:transform, opacity, filter;transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1),box-shadow .72s cubic-bezier(.16,1,.3,1)}.content-shell{padding:32px 24px 140px}.profile{margin-bottom:32px;padding:0}.profile__heading{gap:20px}.profile__portrait{width:64px;height:64px}.profile h1{font-size:32px}.resume-shell{min-height:3582px;padding:32px 24px 140px}.resume-shell .profile{width:100%;padding:0}.resume-shell .profile__heading{margin-bottom:32px}.resume-rule{width:100%;margin-top:32px}.preview{padding:76px 24px 48px;display:block}.preview.is-carousel-preview{padding-top:clamp(28px,100svh - 568px,64px)}.preview__description{width:calc(100vw - 48px);bottom:18px}.preview__close{width:32px;height:32px;top:20px;right:20px}.preview__close img{width:18px;height:18px}.preview__layout{flex-direction:column;justify-content:center;gap:40px;width:100%;min-height:calc(100dvh - 124px);margin-inline:auto}.preview__media--mobile>img,.preview__media--mobile>video{border-radius:24px;width:min(240px,100vw - 64px);height:auto;max-height:none}.preview__media--mobile .preview__carousel-stage{width:calc(100vw - 48px);height:max(500px,60svh);min-height:500px}.preview__media--carousel{padding-bottom:76px}.preview__media--mobile .preview__carousel-slide{border-radius:24px;width:min(clamp(196px,34svh,224px),100vw - 80px);max-height:none}.preview__media--mobile .preview__carousel-slide.is-offset-0{width:min(clamp(196px,34svh,224px),100vw - 80px);max-height:none}.preview__media--web .preview__carousel-stage{width:calc(100vw - 48px);height:min(68dvh,560px)}.preview__media--web .preview__carousel-slide{border-radius:12px;width:min(294px,100vw - 72px);max-height:min(62dvh,500px)}.preview__media--web .preview__carousel-slide.is-offset-0{width:min(294px,100vw - 72px);max-height:min(62dvh,500px)}.preview__media--web>img,.preview__media--web>video{border-radius:12px;width:min(100%,320px)}.preview__media--vurt>img{width:min(648px,100vw - 16px)}.preview__details{width:100%;max-width:345px}.preview__details h2{font-size:32px}.preview__track{width:min(220px,100vw - 120px)}.preview__video-controls{gap:16px}.preview__carousel-controls{gap:10px}.resume-layout{flex-direction:column;gap:64px;width:100%;margin-top:31px;display:flex}.resume-experience{order:1;width:calc(100% + 24px);margin-left:-12px}.experience-card{border-radius:12px;width:100%;padding:8px 12px}.experience-card+.experience-card:before{width:calc(100% - 24px);left:12px}.experience-card__heading{flex-direction:column;align-items:flex-start;gap:4px}.resume-aside{order:2;width:100%;height:890px;padding-top:0;position:static}.resume-aside:before{content:"";background:var(--shade-200);width:100%;height:1px;margin:-33px 0 31px;display:block}.project-grid{grid-template-columns:1fr;gap:8px}.project-card{height:384px}.project-card--mobile .project-card__image,.project-card--mobile:before{width:144px;height:320px}.project-card--web .project-card__image,.project-card--web:before{aspect-ratio:301/195;width:min(301px,92%)}.project-card.is-hovered .project-card__image{transform:none}.project-card__hint{display:none}.project-card__type{width:27px;height:23px;top:20px;right:20px}.project-card__type img{width:15px;height:15px}.footer{height:619px;padding:40px 24px}.footer__inner{gap:48px;height:539px}.footer__top{flex-direction:column;flex:0 0 252px;align-items:flex-start;gap:32px;height:252px;padding-bottom:32px}.listening{padding:0}.record-player{width:87px;height:80px}.record-player__base{width:93px;height:93px;top:-5px;left:-1px}.record-player__disc{width:71px;height:71px;top:4px;left:7px}.record-player__arm{width:47px;height:47px;top:1px;left:43px}.social-list{border-top:1px solid #7c6d6738;border-left:0;grid-template-rows:repeat(2,36px);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;gap:2px 25px;width:100%;height:105px;padding:32px 0 0;display:grid;position:relative}.social-list:before{content:"";background:#7c6d6738;width:1px;position:absolute;top:32px;bottom:0;left:50%}.footer-social-slider__pill{width:calc(50% - 12.5px);transform:translate(calc(var(--footer-hover-column) * (100% + 25px)), calc(var(--footer-hover-row) * 38px));top:32px;left:0;right:auto}.footer__cta{flex:none;height:auto}.footer__cta>a{letter-spacing:-.4px;white-space:nowrap;max-width:100%;height:48px;font-size:40px;line-height:48px}.footer__legal{flex:auto;height:auto;padding-top:36px}.floating-nav{height:90px;padding:20px 10px}.floating-nav__toast{bottom:80px}.floating-nav__capsule{justify-content:center;gap:0;width:100%}.floating-nav__avatar,.floating-nav__social-wrap,.floating-nav__capsule>.floating-nav__icon{display:none}.floating-nav__tabs{width:273px;min-width:0}.floating-nav__tabs button{width:88px;height:42px;padding:0;font-size:13px;line-height:22px}.floating-nav__active-slider{width:88px;height:42px;transform:translateX(calc(var(--active-index) * 88px))}.shots-filter-menu{bottom:65px;left:4px}.shots-filter-menu button{flex-basis:34px;justify-content:space-between;width:100%;height:34px;padding:6px 12px;font-size:13px;line-height:22px}.shots-filter-menu .popup-hover-slider{height:34px;transform:translateY(calc(var(--popup-hover-index) * 36px))}.scrolled-header{height:56px}.scrolled-header__content{gap:6px;font-size:14px;line-height:24px}.scrolled-header__content img{width:28px;height:28px}.scrolled-header a{min-height:32px;padding:4px 10px;font-size:14px;line-height:24px}}@media (width<=440px){.footer__legal{padding-inline:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.copy-confetti{display:none}}.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__before-after,.case-study__closing-line{width:min(648px,100% - 48px)}.case-study__hero{padding:80px 0 48px}.case-study__hero-copy{padding:48px 0 36px}.case-study h1{font-size:42px;line-height:.98}.case-study__lede{font-size:13px;line-height:22px}.case-study__section{padding:52px 0}.case-study__intro{grid-template-columns:1fr;gap:40px}.case-study__intro-copy h2,.case-study__simple-section h2{font-size:28px;line-height:1.02}.case-study__simple-section{grid-template-columns:1fr;gap:26px;padding:52px 0}.case-study__meta-grid p,.case-study__simple-section>div:last-child p{font-size:13px;line-height:22px}.case-study__hero-image,.case-study__full-image{border-radius:10px;width:min(520px,100%);margin-left:auto;margin-right:auto}.case-study__before-after{gap:12px;padding:52px 0}.case-study__simple-section--accent{background:0 0;width:min(648px,100% - 48px);padding:52px 0}@media (width<=700px){.case-study__hero,.case-study__section,.case-study__simple-section,.case-study__before-after,.case-study__closing-line{width:calc(100% - 48px)}.case-study__hero{padding-top:64px}.case-study h1{font-size:36px}.case-study__intro-copy h2,.case-study__simple-section h2{font-size:25px}.case-study__hero-image,.case-study__full-image{width:calc(100% - 32px)}.case-study__meta-grid p{font-size:10px;line-height:16px}.case-study__section,.case-study__simple-section{padding:44px 0}.case-study__simple-section--accent{width:calc(100% - 48px)}}.case-study__layout{grid-template-columns:220px minmax(0,648px);align-items:start;gap:64px;width:min(960px,100% - 48px);margin:0 auto;display:grid}.case-study__content{min-width:0}.case-study__layout .case-study__toc{border:0;border-bottom:1px solid var(--shade-200);width:220px;margin:0;padding:16px 0 20px;font-size:14px;line-height:24px;display:block;position:sticky;top:76px}.case-study__layout .case-study__toc>span{color:var(--shade-500);margin-bottom:8px;font-weight:600;display:block}.case-study__layout .case-study__toc>div{flex-direction:column;gap:2px;display:flex}.case-study__layout .case-study__toc a{color:var(--shade-400)}.case-study__layout .case-study__toc a:hover,.case-study__layout .case-study__toc a:focus-visible{color:var(--shade-600)}.case-study__content .case-study__section,.case-study__content .case-study__simple-section,.case-study__content .case-study__before-after{width:100%}.case-study__content .case-study__full-image{width:min(520px,100%)}@media (width<=900px) and (width>=701px){.case-study__layout{grid-template-columns:180px minmax(0,1fr);gap:36px}.case-study__layout .case-study__toc{width:180px}}@media (width<=700px){.case-study__layout{width:100%;display:block}.case-study__layout .case-study__toc{border-top:1px solid var(--shade-200);border-bottom:1px solid var(--shade-200);width:calc(100% - 48px);margin:0 auto;padding:18px 0;position:static}.case-study__layout .case-study__toc>div{flex-flow:wrap;gap:4px 14px;display:flex}.case-study__content{width:100%}.case-study__content .case-study__section,.case-study__content .case-study__simple-section,.case-study__content .case-study__before-after{width:calc(100% - 48px)}}.case-study__toc{border-top:1px solid var(--shade-200);border-bottom:1px solid var(--shade-200);width:min(648px,100% - 48px);color:var(--shade-400);align-items:baseline;gap:28px;margin:0 auto;padding:18px 0;font-size:12px;line-height:20px;display:flex}.case-study__lessons-list{gap:10px;margin:0;padding-left:18px;font-size:13px;line-height:22px;display:grid}.case-study__lessons-list li{padding-left:4px}.case-study__toc>span{flex:none}.case-study__toc>div{flex-wrap:wrap;gap:4px 18px;display:flex}.case-study__toc a{color:var(--shade-500);text-decoration:none}.case-study__toc a:hover,.case-study__toc a:focus-visible{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.case-study__section-number{color:var(--shade-400);margin-bottom:10px;font-size:11px;line-height:18px;display:block}.case-study__hero{width:648px;padding:120px 0 40px}.case-study__profile{gap:12px}.case-study__profile h1{letter-spacing:-.01em;width:544px;max-width:544px;font-size:40px;line-height:1.08}.case-study__profile .case-study__lede{max-width:544px;color:var(--shade-400);font-size:14px;font-weight:400;line-height:24px}.case-study__hero-placeholder{border:.5px solid var(--shade-200);background:var(--shade-100);height:320px}.case-study__hero-chips>span{background:var(--shade-100);border:0;border-radius:12px;padding:6px 12px}.case-study__layout{grid-template-columns:240px 648px;gap:160px;width:min(1448px,100% - 280px)}.case-study__layout .case-study__toc{border:0;width:240px;margin-top:0;padding-top:0}.case-study__layout .case-study__toc>span{display:none}.case-study__layout .case-study__toc>div{gap:0}.case-study__layout .case-study__toc a{min-height:40px;color:var(--shade-400);border-radius:12px;align-items:center;padding:8px 12px;font-size:14px;line-height:24px;text-decoration:none;display:flex}.case-study__layout .case-study__toc a:first-child{color:var(--shade-600)}.case-study__content .case-study__intro{border-top:1px solid var(--shade-200)}.case-study__content .case-study__section,.case-study__content .case-study__simple-section{border:0;flex-direction:column;gap:12px;padding:40px 0;display:flex}.case-study__content .case-study__intro{gap:40px;padding-top:40px}.case-study__content .case-study__meta-grid{display:none}.case-study__content .case-study__intro-copy,.case-study__content .case-study__simple-section>div{width:100%;max-width:none}.case-study__content .case-study__simple-section>div:first-child{gap:4px;display:grid}.case-study__content .case-study__section-number{color:var(--shade-400);margin:0;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:20px}.case-study__content .case-study__intro-copy h2,.case-study__content .case-study__simple-section h2{max-width:none;color:var(--shade-600);letter-spacing:0;margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:24px}.case-study__content .case-study__intro-copy p,.case-study__content .case-study__simple-section>div:last-child p{color:var(--shade-600);font-size:14px;line-height:24px}.case-study__content .case-study__full-image{border:.5px solid var(--shade-200);background:var(--shade-100);object-fit:cover;opacity:0;border-radius:12px;width:100%;height:320px;margin:0}.case-study__content .case-study__before-after{display:none}@media (width<=1200px) and (width>=701px){.case-study__layout{grid-template-columns:200px minmax(0,648px);gap:48px;width:calc(100% - 80px)}}@media (width<=700px){.case-study__hero{width:calc(100% - 48px);padding:64px 0 40px}.case-study__profile h1{width:100%;max-width:none;font-size:36px;line-height:1.04}.case-study__profile .case-study__lede{width:100%;font-size:14px;line-height:24px}.case-study__hero-placeholder{aspect-ratio:648/320;height:auto}.case-study__layout .case-study__toc{border-top:1px solid var(--shade-200);border-bottom:1px solid var(--shade-200);width:calc(100% - 48px);margin:0 auto;padding:16px 0}.case-study__layout .case-study__toc>div{flex-wrap:wrap;gap:0 14px;display:flex}.case-study__layout .case-study__toc a{min-height:32px;padding:4px 0;font-size:12px;line-height:20px}.case-study__content .case-study__section,.case-study__content .case-study__simple-section{width:calc(100% - 48px);padding:32px 0}.case-study__content .case-study__intro{padding-top:32px}}.projects-landing{width:100%;max-width:1728px;color:var(--ink);margin:0 auto;padding:80px 0 120px}.projects-landing__profile,.projects-landing__rule{width:min(648px,100% - 48px);margin-inline:auto}.projects-landing__profile{gap:32px;display:grid}.projects-landing__heading{align-items:center;gap:24px;display:flex}.projects-landing__heading img{object-fit:cover;border:4px solid #fff;border-radius:50%;width:80px;height:80px;box-shadow:0 1px 3px #1e1b241f}.projects-landing__heading h1{letter-spacing:-.04em;margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1}.projects-landing__heading p{color:var(--shade-400);margin:8px 0 0;font-size:14px;line-height:20px}.projects-landing__bio{color:var(--shade-500);gap:16px;font-size:14px;line-height:24px;display:grid}.projects-landing__bio p{margin:0}.projects-landing__rule{background:var(--shade-200);height:1px;margin-top:40px}.projects-landing__work{gap:20px;width:min(688px,100% - 48px);margin:40px auto 0;display:grid}.projects-landing__eyebrow{display:none}.projects-landing__card{background:var(--canvas);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;border-radius:12px;gap:12px;padding:16px 20px;text-decoration:none;display:grid}.projects-landing__card:hover,.projects-landing__card:focus-visible{outline:0}.projects-landing__card>img,.projects-landing__placeholder{border:.5px solid var(--shade-200);object-fit:cover;background:var(--shade-100);border-radius:12px;width:100%;height:320px;display:block;box-shadow:0 1px 2px #0000000d}.projects-landing__placeholder{background:var(--shade-100)}.projects-landing__card h2{text-underline-offset:4px;margin:0;font-size:16px;font-weight:600;line-height:28px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.projects-landing__card p{color:var(--shade-500);margin:2px 0 0;font-size:14px;line-height:24px}.case-study__profile{gap:18px;padding:40px 0 36px;display:grid}.case-study__profile h1{max-width:648px;font-size:42px;line-height:1.02}.case-study__profile .case-study__lede{max-width:560px;margin:0}.case-study__date-chip,.case-study__hero-chips>span{border:1px solid var(--shade-200);width:fit-content;color:var(--shade-500);border-radius:999px;padding:5px 10px;font-size:12px;line-height:18px}.case-study__hero-card{gap:16px;display:grid}.case-study__hero-placeholder{background:#f3f1f1;border-radius:12px;width:100%;height:320px;box-shadow:0 14px 30px #1e1b2414}.case-study__hero-chips{gap:8px;display:flex}.scrolled-header__back,.scrolled-header__share{width:28px;height:28px;color:var(--shade-500);cursor:pointer;background:#ffffffb8;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.scrolled-header__back span{font-size:24px;line-height:20px;transform:translateY(-1px)}.scrolled-header__share img{opacity:.7;width:15px;height:15px}@media (width<=700px){.scrolled-header{top:0}.projects-main{min-height:1325px}.projects-landing{padding:40px 0 96px}.projects-landing__profile,.projects-landing__rule{width:calc(100% - 48px)}.projects-landing__profile{gap:28px}.projects-landing__heading img{border-width:3px;width:60px;height:60px}.projects-landing__heading h1{font-size:32px}.projects-landing__heading p{margin-top:5px;font-size:13px}.projects-landing__bio{font-size:13px;line-height:22px}.projects-landing__rule{margin-top:40px}.projects-landing__work{gap:12px;width:calc(100% - 24px);margin-top:40px}.projects-landing__card{gap:12px;padding:8px 12px}.projects-landing__card>img,.projects-landing__placeholder{aspect-ratio:648/320;height:auto}.projects-landing__card h2{font-size:16px;line-height:28px}.projects-landing__card p{font-size:14px;line-height:24px}.case-study__profile{gap:14px;padding:28px 0}.case-study__profile h1{font-size:36px;line-height:1.04}.case-study__profile .case-study__lede{font-size:14px;line-height:23px}.case-study__hero-placeholder{height:206px}.scrolled-header__content{gap:5px;max-width:calc(100% - 24px);font-size:12px}.scrolled-header__back,.scrolled-header__share{width:24px;height:24px}}.case-study__simple-section[id]{scroll-margin-top:80px}@media (width<=700px){.case-study__toc{width:calc(100% - 48px);display:block}.case-study__toc>div{gap:4px 14px;margin-top:10px}}.projects-main{background:var(--canvas);min-height:1520px}.projects-main .projects-landing{flex-direction:column;align-items:center;gap:40px;width:100%;max-width:1728px;min-height:1520px;margin:0 auto;padding:80px 0 120px;display:flex}.projects-main .projects-landing__profile,.projects-main .projects-landing__rule{width:648px;margin:0}.projects-main .projects-landing__profile>.profile{width:100%;margin:0}.projects-main .projects-landing>.portfolio-bottom{flex-direction:column;align-items:center;gap:0;width:100%;display:flex}.resume-shell .portfolio-bottom{margin-top:60px}.projects-main .projects-landing__profile{flex-direction:column;gap:32px;display:flex}.projects-main .projects-landing__heading{align-items:center;gap:24px;display:flex}.projects-main .projects-landing__heading img{object-fit:cover;object-position:center 28%;border:4px solid #fff;border-radius:50%;width:80px;height:80px;box-shadow:0 1px 2px #0000000d}.projects-main .projects-landing__heading>div{flex-direction:column;flex:1;gap:4px;display:flex}.projects-main .projects-landing__heading h1{letter-spacing:-.4px;margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:1}.projects-main .projects-landing__heading p{color:var(--shade-400);margin:4px 0 0;font-size:14px;font-weight:500;line-height:24px}.projects-main .projects-landing__bio{color:var(--shade-600);font-size:14px;line-height:24px;display:block}.projects-main .projects-landing__bio p{margin:0}.projects-main .projects-landing__bio p+p{margin-top:16px}.projects-main .projects-landing__rule{background:var(--shade-200);flex:0 0 1px;height:1px}.projects-main .projects-landing__work{flex-direction:column;gap:20px;width:688px;margin:0;display:flex}.projects-main .projects-landing__card{appearance:none;width:688px;font:inherit;text-align:left;border:0;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.projects-main .projects-landing__card:hover,.projects-main .projects-landing__card:focus-visible{background:var(--shade-100)}.projects-main .projects-landing__card>span:nth-child(2){flex-direction:column;gap:0;display:flex}.projects-main .projects-landing__placeholder{background:var(--shade-100);border:.5px solid var(--shade-200);border-radius:12px;flex:0 0 320px;width:648px;height:320px;box-shadow:0 1px 2px #0000000d}.projects-main .projects-landing__card h2{color:var(--ink);margin:0;font-size:16px;font-weight:600;line-height:28px}.projects-main .projects-landing__card p{color:var(--shade-600);margin:0;font-size:14px;font-weight:400;line-height:24px}.case-study-main{background:var(--canvas)}.case-study-main .case-study{flex-direction:column;align-items:center;gap:40px;width:100%;min-height:6574px;padding:120px 0 180px;display:flex;position:relative;overflow:visible}.case-study-main .case-study__hero{flex-direction:column;gap:32px;width:648px;margin:0;padding:0;display:flex;position:static}.case-study-main .case-study__profile{flex-direction:column;gap:12px;width:544px;margin:0;padding:0;display:flex}.case-study-main .case-study__profile h1{width:544px;max-width:none;color:var(--ink);letter-spacing:-.4px;margin:0;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:600;line-height:normal}.case-study-main .case-study__profile .case-study__lede{width:544px;max-width:none;color:var(--shade-400);margin:0;font-size:14px;font-weight:400;line-height:24px}.case-study-main .case-study__hero-card{flex-direction:column;gap:20px;width:648px;display:flex}.case-study-main .case-study__hero-placeholder,.case-study-main .case-study__placeholder{border:.5px solid var(--shade-200);background:var(--shade-100);border-radius:12px;flex:0 0 320px;width:648px;height:320px;box-shadow:0 1px 2px #0000000d}.case-study-main .case-study__hero-chips{align-items:flex-start;gap:8px;display:flex}.case-study-main .case-study__hero-chips a,.case-study-main .case-study__hero-chips>span{background:var(--shade-100);width:fit-content;color:var(--shade-400);border:0;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;line-height:24px;text-decoration:none;display:flex}.case-study-main .case-study__hero-chips a{transition:background .18s,color .18s}.case-study-main .case-study__hero-chips a:hover,.case-study-main .case-study__hero-chips a:focus-visible{background:var(--shade-200);color:var(--shade-600);outline:0}.case-study-main .case-study__link-icon{display:none}.case-study-main .case-study__hero-chips a:before{content:"";width:20px;height:20px;box-shadow:none;background:currentColor;border-radius:0;flex:0 0 20px;-webkit-mask:url(/assets/icon-globe.svg) 50%/contain no-repeat;mask:url(/assets/icon-globe.svg) 50%/contain no-repeat}.case-study-main .case-study__rule{background:var(--shade-200);flex:0 0 1px;width:648px;height:1px}.case-study-main .case-study__toc{z-index:16;border:0;flex-direction:column;align-items:stretch;gap:0;width:240px;margin:0;padding:0;transition:opacity .24s,top .2s;display:flex;position:fixed;top:140px;left:max(24px,50% - 724px)}.case-study-main .case-study__toc a{width:240px;min-height:36px;color:var(--shade-400);border-radius:12px;align-items:baseline;gap:6px;padding:6px 12px;font-size:14px;font-weight:400;line-height:24px;text-decoration:none;transition:background .28s,color .38s cubic-bezier(.22,1,.36,1);display:flex}.case-study-main .case-study__toc a b{width:16px;color:var(--shade-300);text-align:left;flex:0 0 16px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:24px;transition:color .38s cubic-bezier(.22,1,.36,1)}.case-study-main .case-study__toc a.is-active,.case-study-main .case-study__toc a.is-active b{color:var(--shade-600)}.case-study-main .case-study__toc a:hover,.case-study-main .case-study__toc a:focus-visible{background:var(--shade-100);color:var(--shade-600);outline:0}.case-study-main .case-study__toc a:hover{background:var(--shade-100);color:var(--shade-600)}.case-study-main .case-study__toc--animated{isolation:isolate;overflow:hidden}.case-study-main .case-study__toc--animated .popup-hover-slider{height:var(--toc-row-height,36px);transform:translateY(var(--popup-hover-offset,0px));top:0;left:0;right:0}.case-study-main .case-study__toc--animated a{z-index:1;position:relative}.case-study-main .case-study__toc--animated a:hover,.case-study-main .case-study__toc--animated a:focus-visible{background:0 0}body:has(.scrolled-header.is-visible) .case-study-main .case-study__toc{z-index:16;position:fixed;top:140px}.case-study-main .case-study__content{flex-direction:column;gap:40px;width:648px;margin:0;display:flex}.case-study-main .case-study__entry{flex-direction:column;gap:12px;width:648px;margin:0;padding:0;scroll-margin-top:88px;display:flex}.case-study-main .case-study__entry-heading{flex-direction:column;gap:4px;display:flex}.case-study-main .case-study__entry-heading>span{color:var(--shade-400);letter-spacing:0;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:20px}.case-study-main .case-study__entry h2{color:#1e1b24;letter-spacing:0;margin:0;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:24px}.case-study-main .case-study__entry p,.case-study-main .case-study__entry li{color:var(--shade-600);margin:0;font-size:14px;font-weight:400;line-height:24px}.case-study-main .case-study__entry ul{flex-direction:column;gap:0;margin:0;padding-left:21px;display:flex}.case-study-main .case-study__entry--media .case-study__placeholder{margin-top:0}.vurt-mobile-index,.vurt-mobile-scrollbar{display:none}@media (width<=700px){.projects-main{min-height:1325px}.projects-main .projects-landing{gap:32px;min-height:1325px;padding:32px 0}.projects-main .projects-landing__profile,.projects-main .projects-landing__rule{width:calc(100% - 48px)}.projects-main .projects-landing__profile>.profile{width:100%}.resume-shell .portfolio-bottom{margin-top:32px}.projects-main .projects-landing__profile{gap:32px}.projects-main .projects-landing__heading{gap:20px}.projects-main .projects-landing__heading img{border-width:4px;width:64px;height:64px}.projects-main .projects-landing__heading h1{letter-spacing:-.32px;font-size:32px;line-height:1}.projects-main .projects-landing__heading p{margin-top:4px;font-size:14px;line-height:24px}.projects-main .projects-landing__bio{font-size:14px;line-height:24px}.projects-main .projects-landing__work{gap:20px;width:calc(100% - 24px)}.projects-main .projects-landing__card{gap:12px;width:100%;padding:8px 12px}.projects-main .projects-landing__placeholder{aspect-ratio:648/320;flex-basis:auto;width:100%;height:auto}.projects-main .projects-landing__card h2{font-size:16px;line-height:28px}.projects-main .projects-landing__card p{font-size:14px;line-height:24px}.case-study-main .case-study{align-items:center;gap:32px;min-height:auto;padding:88px 0 140px}.case-study-main .case-study__hero{gap:32px;width:calc(100% - 48px)}.case-study-main .case-study__profile{gap:12px;width:100%}.case-study-main .case-study__profile h1{letter-spacing:-.28px;width:100%;font-size:28px;line-height:normal}.case-study-main .case-study__profile .case-study__lede{width:100%;font-size:14px;line-height:24px}.case-study-main .case-study__hero-card{gap:20px;width:100%}.case-study-main .case-study__hero-placeholder,.case-study-main .case-study__placeholder{aspect-ratio:648/320;flex-basis:auto;width:100%;height:auto}.case-study-main .case-study__rule{width:calc(100% - 48px)}.case-study-main .case-study__toc{display:none}.case-study-main .case-study__content{gap:32px;width:calc(100% - 48px)}.case-study-main .case-study__entry{gap:12px;width:100%}.case-study-main .case-study__entry-heading>span{font-size:13px;line-height:20px}.case-study-main .case-study__entry h2,.case-study-main .case-study__entry p,.case-study-main .case-study__entry li{font-size:14px;line-height:24px}.vurt-mobile-index{z-index:24;pointer-events:none;opacity:0;flex-direction:column;align-items:flex-end;gap:8px;transition:opacity .18s;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.scrolled-header.is-visible~main .vurt-mobile-index{opacity:1}body:has(.scrolled-header.is-visible) .vurt-mobile-index{opacity:1}.vurt-mobile-index>span{border:.5px solid var(--shade-200);color:var(--shade-600);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;line-height:20px;box-shadow:0 12px 12px #00000014}.vurt-mobile-scrollbar,.vurt-mobile-scrollbar>span{display:none}}@media (width>=1101px){.projects-main,.projects-main .projects-landing{min-height:min(1520px,87.96vw,148.44dvh)}.projects-main .projects-landing{gap:min(60px,3.47vw,5.86dvh);padding:min(80px,4.63vw,7.81dvh) 0 min(120px,6.94vw,11.72dvh)}.projects-main .projects-landing__profile,.projects-main .projects-landing__rule{width:min(648px,37.5vw,63.28dvh)}.projects-main .projects-landing__profile{gap:min(32px,1.85vw,3.13dvh)}.projects-main .projects-landing__heading{gap:min(24px,1.39vw,2.34dvh)}.projects-main .projects-landing__heading img{border-width:min(4px,.23vw,.39dvh);width:min(80px,4.63vw,7.81dvh);height:min(80px,4.63vw,7.81dvh)}.projects-main .projects-landing__heading>div{gap:min(4px,.23vw,.39dvh)}.projects-main .projects-landing__heading h1{letter-spacing:max(-.4px,-.023vw,-.039dvh);font-size:min(40px,2.31vw,3.91dvh)}.projects-main .projects-landing__heading p,.projects-main .projects-landing__bio,.projects-main .projects-landing__card p{font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}.projects-main .projects-landing__bio p+p{margin-top:min(16px,.93vw,1.56dvh)}.projects-main .projects-landing__work,.projects-main .projects-landing__card{width:min(688px,39.81vw,67.19dvh)}.projects-main .projects-landing__work{gap:min(20px,1.16vw,1.95dvh)}.projects-main .projects-landing__card{border-radius:min(12px,.69vw,1.17dvh);gap:min(12px,.69vw,1.17dvh);padding:min(16px,.93vw,1.56dvh) min(20px,1.16vw,1.95dvh)}.projects-main .projects-landing__placeholder{border-radius:min(12px,.69vw,1.17dvh);flex-basis:min(320px,18.52vw,31.25dvh);width:min(648px,37.5vw,63.28dvh);height:min(320px,18.52vw,31.25dvh)}.projects-main .projects-landing__card h2{font-size:clamp(14px,min(.93vw,1.56dvh),16px);line-height:clamp(24px,min(1.62vw,2.73dvh),28px)}.case-study-main .case-study{gap:min(40px,2.31vw,3.91dvh);min-height:min(6574px,380.44vw,641.99dvh);padding:min(120px,6.94vw,11.72dvh) 0 min(180px,10.42vw,17.58dvh)}.case-study-main .case-study__hero,.case-study-main .case-study__rule,.case-study-main .case-study__content,.case-study-main .case-study__entry{width:min(648px,37.5vw,63.28dvh)}.case-study-main .case-study__hero{gap:min(32px,1.85vw,3.13dvh)}.case-study-main .case-study__profile{gap:min(12px,.69vw,1.17dvh);width:min(544px,31.48vw,53.13dvh)}.case-study-main .case-study__profile h1,.case-study-main .case-study__profile .case-study__lede{width:min(544px,31.48vw,53.13dvh)}.case-study-main .case-study__profile h1{letter-spacing:max(-.4px,-.023vw,-.039dvh);font-size:min(40px,2.31vw,3.91dvh)}.case-study-main .case-study__profile .case-study__lede,.case-study-main .case-study__hero-chips a,.case-study-main .case-study__hero-chips>span,.case-study-main .case-study__entry h2,.case-study-main .case-study__entry p,.case-study-main .case-study__entry li{font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}.case-study-main .case-study__hero-card{gap:min(20px,1.16vw,1.95dvh);width:min(648px,37.5vw,63.28dvh)}.case-study-main .case-study__hero-placeholder,.case-study-main .case-study__placeholder{border-radius:min(12px,.69vw,1.17dvh);flex-basis:min(320px,18.52vw,31.25dvh);width:min(648px,37.5vw,63.28dvh);height:min(320px,18.52vw,31.25dvh)}.case-study-main .case-study__hero-chips{gap:min(8px,.46vw,.78dvh)}.case-study-main .case-study__hero-chips a,.case-study-main .case-study__hero-chips>span{border-radius:min(12px,.69vw,1.17dvh);padding:min(6px,.35vw,.59dvh) min(12px,.69vw,1.17dvh)}.case-study-main .case-study__hero-chips a:before{width:min(20px,1.16vw,1.95dvh);height:min(20px,1.16vw,1.95dvh);box-shadow:none}.case-study-main .case-study__toc{width:min(240px,13.89vw,23.44dvh);top:min(140px,8.1vw,13.67dvh);left:max(24px,50% - min(724px,41.9vw,70.7dvh))}.case-study-main .case-study__toc a{border-radius:min(12px,.69vw,1.17dvh);gap:min(6px,.35vw,.59dvh);width:min(240px,13.89vw,23.44dvh);min-height:min(36px,2.08vw,3.52dvh);padding:min(6px,.35vw,.59dvh) min(12px,.69vw,1.17dvh);font-size:clamp(12.5px,min(.81vw,1.37dvh),14px);line-height:clamp(21px,min(1.39vw,2.34dvh),24px)}.case-study-main .case-study__toc a b{width:min(16px,.93vw,1.56dvh);font-size:clamp(10.5px,min(.69vw,1.17dvh),12px)}.case-study-main .case-study__content{gap:min(40px,2.31vw,3.91dvh)}.case-study-main .case-study__entry{gap:min(12px,.69vw,1.17dvh)}.case-study-main .case-study__entry-heading{gap:min(4px,.23vw,.39dvh)}.case-study-main .case-study__entry-heading>span{font-size:clamp(12px,min(.81vw,1.37dvh),14px);line-height:clamp(20px,min(1.39vw,2.34dvh),24px)}}@media (width>=701px) and (width<=1100px){.case-study-main .case-study__toc{display:none}.vurt-mobile-index{z-index:24;pointer-events:none;opacity:1;flex-direction:column;align-items:flex-end;gap:8px;transition:opacity .18s;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.vurt-mobile-index>span{border:.5px solid var(--shade-200);color:var(--shade-600);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;line-height:20px;box-shadow:0 12px 12px #00000014}.vurt-mobile-scrollbar,.vurt-mobile-scrollbar>span{display:none}}.scrolled-header__content.is-project{justify-content:space-between;gap:0;width:min(648px,100% - 48px)}.scrolled-header__identity{white-space:nowrap;align-items:center;gap:4px;font-size:16px;font-weight:500;line-height:28px;display:flex}.scrolled-header__identity .scrolled-header__crumb{min-height:auto;box-shadow:none;color:var(--shade-400);font-size:inherit;line-height:inherit;font-weight:inherit;background:0 0;border:0;border-radius:0;padding:0;text-decoration:none;transition:color .16s}.scrolled-header__identity .scrolled-header__crumb:hover,.scrolled-header__identity .scrolled-header__crumb:focus-visible{color:var(--shade-600);background:0 0}.scrolled-header__identity .scrolled-header__current,.scrolled-header__identity .scrolled-header__active{color:var(--shade-600)}.scrolled-header__identity>img{object-fit:cover;border:1.5px solid #fff;border-radius:50%;flex:0 0 28px;width:28px;height:28px;box-shadow:0 1px 2px #0000000d}.scrolled-header__identity>a:not(.scrolled-header__crumb){min-height:32px;margin-left:0;padding:4px 12px;font-size:14px;font-weight:500;line-height:24px}.scrolled-header__back,.scrolled-header__share{cursor:pointer;-webkit-backdrop-filter:blur(12px)saturate(1.15);backdrop-filter:blur(12px)saturate(1.15);color:#f3f1f1cc;background:#00000052;border:.5px solid #ffffff24;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;transition:background .16s,color .16s,transform .16s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff1f,0 4px 10px #1e1b2414}.scrolled-header__share{position:relative}.scrolled-header__back.has-tooltip:after,.scrolled-header__share.has-tooltip:after{padding:clamp(2px,min(.12vw,.2dvh),2px) clamp(5px,min(.35vw,.59dvh),6px);font-size:clamp(10px,min(.64vw,1.08dvh),11px);line-height:clamp(13px,min(.81vw,1.37dvh),14px);top:calc(100% + clamp(5px,min(.4vw,.68dvh),7px));bottom:auto}.scrolled-header__back svg{width:24px;height:24px}.scrolled-header__share svg{width:20px;height:20px}.scrolled-header__back:hover,.scrolled-header__share:hover,.scrolled-header__back:focus-visible,.scrolled-header__share:focus-visible{color:#fff;background:#0009;outline:0}@media (width>=1101px){.scrolled-header__content.is-project{width:min(648px,37.5vw,63.28dvh)}.scrolled-header__identity{gap:min(4px,.23vw,.39dvh);font-size:clamp(12.5px,min(.93vw,1.56dvh),16px);line-height:clamp(21px,min(1.62vw,2.73dvh),28px)}.scrolled-header__identity>img{border-width:min(1.5px,.087vw,.15dvh);flex-basis:min(28px,1.62vw,2.73dvh);width:min(28px,1.62vw,2.73dvh);height:min(28px,1.62vw,2.73dvh)}.scrolled-header__identity>a:not(.scrolled-header__crumb){min-height:min(32px,1.85vw,3.13dvh);padding:min(4px,.23vw,.39dvh) min(12px,.69vw,1.17dvh);font-size:clamp(12px,min(.81vw,1.37dvh),14px);line-height:clamp(20px,min(1.39vw,2.34dvh),24px)}.scrolled-header__back,.scrolled-header__share{flex-basis:min(32px,1.85vw,3.13dvh);width:min(32px,1.85vw,3.13dvh);height:min(32px,1.85vw,3.13dvh)}.scrolled-header__back svg{width:min(24px,1.39vw,2.34dvh);height:min(24px,1.39vw,2.34dvh)}.scrolled-header__share svg{width:min(20px,1.16vw,1.95dvh);height:min(20px,1.16vw,1.95dvh)}}@media (width<=700px){.scrolled-header__content.is-project{width:calc(100% - 32px)}.scrolled-header__identity{gap:4px;font-size:14px;line-height:24px}.scrolled-header__vurt-separator,.scrolled-header__current{display:none}.scrolled-header__identity>img{border-width:1.5px;flex-basis:28px;width:28px;height:28px}.scrolled-header__identity>a:not(.scrolled-header__crumb){min-height:28px;padding:2px 9px;font-size:13px;line-height:24px}.scrolled-header__back,.scrolled-header__share{flex-basis:28px;width:28px;height:28px}.scrolled-header__back svg{width:21px;height:21px}.scrolled-header__share svg{width:18px;height:18px}}.case-study-main .case-study__hero-placeholder{aspect-ratio:648/365;flex-basis:auto;height:auto;overflow:hidden}.case-study-main .case-study__hero-placeholder img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.case-study-main .case-study__placeholder{aspect-ratio:648/365;flex-basis:auto;height:auto;overflow:hidden}.case-study-main .case-study__placeholder img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.case-study-main .case-study__hero-placeholder,.case-study-main .case-study__entry--media .case-study__placeholder{cursor:pointer;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),border-color .24s}.case-study-main .case-study__hero-placeholder:hover,.case-study-main .case-study__entry--media .case-study__placeholder:hover{border-color:#d8d2d0;transform:translateY(-4px);box-shadow:0 8px 20px #1e1b241f}.projects-main .projects-landing__placeholder{overflow:hidden}.projects-main .projects-landing__placeholder img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.projects-main .projects-landing__link{-webkit-text-decoration:underline dotted var(--shade-400);text-decoration:underline dotted var(--shade-400);text-underline-offset:4px;transition:text-decoration-color .18s}.projects-main .projects-landing__link:hover,.projects-main .projects-landing__card:hover .projects-landing__link,.projects-main .projects-landing__card:focus-visible .projects-landing__link{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.projects-main .projects-landing__link,.experience-card__company,.projects-main .projects-landing__card h2.projects-landing__link{font-weight:500}.projects-main .projects-landing__card>span:nth-child(2){gap:8px}.projects-main .projects-landing__card p{color:#aba09c}.projects-main .projects-landing__card{border-radius:20px;padding:12px 8px 8px;position:relative}.projects-main .projects-landing__hover-chip{z-index:5;animation:.2s cubic-bezier(.16,1,.3,1) both projects-hover-chip-in}.projects-main .projects-landing__card.is-shaking{animation:.46s cubic-bezier(.36,.07,.19,.97) both projects-coming-soon-shake}@keyframes projects-hover-chip-in{0%{opacity:0;transform:translateY(3px)scale(.94)}}@keyframes projects-coming-soon-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.projects-main .projects-landing__placeholder{aspect-ratio:648/365;flex-basis:auto;width:100%;height:auto;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1),border-color .4s}.projects-main .projects-landing__card:hover .projects-landing__placeholder,.projects-main .projects-landing__card:focus-visible .projects-landing__placeholder,.projects-main .projects-landing__placeholder.is-preview-returning{border-color:#d8d2d0;transform:translateY(-4px);box-shadow:0 8px 20px #1e1b241f}.preview__media--vurt>img{aspect-ratio:648/365;object-fit:contain;border-radius:12px;width:min(1280px,78vw)}@media (width<=700px){.preview__media--vurt>img{border-radius:12px;width:min(648px,100vw - 16px)}}
