@font-face{font-family:ABC Areal Variable;src:url(/assets/ABCAreal_2026-09-14-074527_mlsx/ABC%20Areal/WOFF2/ABCArealVariable.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:ABC Areal;src:url(/assets/ABCAreal_2026-09-14-074527_mlsx/ABC%20Areal/WOFF2/ABCAreal-Regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:ABC Areal;src:url(/assets/ABCAreal_2026-09-14-074527_mlsx/ABC%20Areal/WOFF2/ABCAreal-Medium.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{--sky:#80cdf3;--sky-soft:#a6dff8;--paper:#fff;--ink:#29292b;--muted:#8c8f9d;--line:#e9eaf1;--column-width:352px;--page-gutter:max(24px,calc((100vw - var(--column-width))/2));--preview-width:418px;font-family:ABC Areal,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}body{display:flex;align-items:center;margin:0;background:var(--paper);font-size:15px;font-weight:400;line-height:24px}button,input,a{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #8c8f9d;outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:8px 12px;color:#fff;background:#111;text-decoration:none;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.portfolio-shell{display:flex;flex-direction:column;width:var(--column-width);height:min(100dvh,988px);margin:0 auto;padding:70px 0 59px}.profile-top{flex:0 0 auto}.signature{position:relative;display:block;width:196px;height:69px;margin-bottom:15px;padding:0;border:0;background:transparent;cursor:pointer}.signature img{position:absolute;display:block;height:auto;pointer-events:none}.signature-wordmark{top:22.4%;left:0;width:81.2%}.signature-handwriting{top:0;left:-14%;width:100%;transform:translateY(0);transition:transform .22s ease-in-out}.signature:focus-visible .signature-handwriting{transform:translateY(-6px)}p{margin:0;color:var(--muted)}.intro-greeting{color:var(--ink)}.intro-copy p+p{margin-top:20px}.brand-link,.text-link,.word-easter{color:var(--ink);font-weight:400;text-decoration:none}.brand-link{position:relative;display:inline-block;white-space:nowrap}.brand-label,.word-easter,.friend-prompt{position:relative;overflow:visible}.brand-label{display:inline-block;vertical-align:baseline}.brand-link,.text-link,.word-easter,.friend-prompt{font-family:ABC Areal Variable,ABC Areal,sans-serif;font-weight:400;vertical-align:baseline;transition:font-weight .28s cubic-bezier(.2,.7,.2,1)}.brand-link:is(:focus-visible,.is-tap-active),.text-link:is(:focus-visible,.is-tap-active),.word-easter:is(:focus-visible,.is-tap-active),.friend-prompt:is(:focus-visible,.is-tap-active),.personal-wrap.is-visible>.word-easter{font-weight:500}.link-shimmer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.link-shimmer:after{content:"";position:absolute;inset:-20% -24px;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.55) 40%,rgba(255,255,255,.55) 60%,transparent 60%);opacity:0;transform:translate3d(-65%,0,0);pointer-events:none}.brand-link:is(:focus-visible,.is-tap-active) .link-shimmer:after,.text-link:is(:focus-visible,.is-tap-active) .link-shimmer:after,.word-easter:is(:focus-visible,.is-tap-active) .link-shimmer:after,.friend-prompt:is(:focus-visible,.is-tap-active) .link-shimmer:after,.personal-wrap.is-visible>.word-easter .link-shimmer:after{will-change:transform;animation:link-shimmer .8s cubic-bezier(.25,.45,.4,1) 1}@keyframes link-shimmer{0%{transform:translate3d(-65%,0,0);opacity:1}to{transform:translate3d(65%,0,0);opacity:1}}.brand-icon{position:absolute;top:50%;left:calc(100% + 5px);display:grid;place-items:center;width:22px;height:22px;border-radius:5px;color:#242426;background:transparent;font-size:12px;font-weight:500;opacity:0;transform:translate(-4px,-50%) scale(.84);transition:opacity .2s,transform .24s cubic-bezier(.2,.7,.2,1)}.brand-link:is(:focus-visible,.is-tap-active) .brand-icon{opacity:1;transform:translateY(-50%) scale(1)}.work-section{display:flex;flex-direction:column;flex:1 1 0;min-height:0;margin-top:56px}.project-navigation{position:relative;flex:0 0 auto;width:100%}.project-name-pill{position:absolute;z-index:5;left:0;top:0;padding:5px 10px;border:1px solid #eeeeef;border-radius:999px;color:#19191b;background:#fff;font-size:13px;font-weight:400;line-height:18px;white-space:nowrap;opacity:0;visibility:hidden;transform:translate(-50%,calc(-100% - 7px)) translateY(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.project-name-pill.is-visible{opacity:1;visibility:visible;transform:translate(-50%,calc(-100% - 7px));transition-delay:0s}.project-index{position:relative;display:flex;align-items:center;gap:12px;width:100%;height:24px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:none;touch-action:pan-x;scrollbar-width:none;--leading-mask:#000;mask-image:linear-gradient(to right,var(--leading-mask) 0%,#000 24px,#000 calc(100% - 32px),transparent 100%);-webkit-mask-image:linear-gradient(to right,var(--leading-mask) 0%,#000 24px,#000 calc(100% - 32px),transparent 100%)}.project-index.is-scrolled{--leading-mask:transparent}.project-index.is-dragging{cursor:grabbing;user-select:none}.project-index::-webkit-scrollbar,.project-carousel::-webkit-scrollbar{display:none}.project-index:after{content:"";flex:0 0 36px}.project-group{display:flex;flex:0 0 auto;align-items:center;gap:6px}.project-mark{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;padding:0;border:0;border-radius:6px;background:#f5f5f5;color:#19191b;font-size:13px;font-weight:500;cursor:pointer}.project-mark.has-icon{background:transparent}.project-mark{text-decoration:none}.project-mark img,.brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.project-ticks{display:flex;align-items:flex-start}.preview-tick{display:grid;align-items:start;justify-items:center;width:9px;height:24px;padding:7px 0 0;border:0;background:transparent;cursor:pointer}.preview-tick span{display:block;width:2px;height:10px;border-radius:3px;background:#d8d8d8;transition:height .22s ease,background .22s ease}.preview-tick[data-distance="2"] span{background:#b4b4b8}.preview-tick[data-distance="1"] span{background:#919196}.preview-tick.is-active span{height:16px;background:#555558}.preview-tick:not(.is-active):hover span{background:#8c8c90}.project-carousel{position:relative;display:flex;flex:1 1 0;min-height:0;align-items:flex-start;gap:18px;width:100vw;margin-top:32px;margin-left:calc(0px - var(--page-gutter));padding-left:var(--page-gutter);padding-right:max(0px,calc(100vw - var(--page-gutter) - var(--rendered-preview-width,var(--preview-width))));overflow-x:auto;overflow-y:hidden;overscroll-behavior:none;touch-action:pan-x;scrollbar-width:none;cursor:default}.project-preview{flex:0 0 auto;height:100%;max-height:calc(var(--preview-width) * 411 / 418);width:auto;aspect-ratio:418/411}.project-preview.is-project-start{margin-left:54px}.preview-link{display:block;width:100%;height:100%;border-radius:12px;text-decoration:none}.preview-link .preview-surface{cursor:pointer}.preview-surface{width:100%;height:100%;border:1px solid var(--line);border-radius:12px;background:#fafafa;cursor:default;overflow:hidden}.preview-video{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;transition:transform .35s ease}.preview-video::-webkit-media-controls{display:none!important}.preview-video::-webkit-media-controls-start-playback-button{display:none!important}.preview-surface--video{position:relative}.preview-video-card{position:relative;width:100%;height:100%}.preview-poster{display:block;position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.preview-surface--video.is-playing .preview-poster{display:none}.preview-loading-shine{display:none;position:absolute;inset:0;z-index:2;overflow:hidden;border-radius:inherit;pointer-events:none}.preview-surface--video.is-loading .preview-loading-shine{display:block}.preview-play-button{position:absolute;z-index:4;left:0;top:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:14px;background:transparent;color:#fff;cursor:pointer;transition:transform .18s ease}.preview-play-button:before{content:"";position:absolute;inset:8px;border-radius:6px;background:#000}.preview-play-button .preview-play-shine{inset:8px;border-radius:6px}.preview-play-button .preview-play-shine:after{width:14px;height:84px;margin:-42px 0 0 -7px}.preview-play-button:focus-visible .preview-play-shine:after{animation:portrait-shimmer .62s cubic-bezier(.22,.5,.45,1) .08s 1}.preview-play-button svg{position:relative}.preview-play-button[hidden]{display:none}.preview-play-button:disabled{cursor:wait;opacity:.65}.preview-play-button:focus-visible{outline-offset:5px}.preview-loading-shine:before,.preview-loading-shine:after{content:"";position:absolute;left:50%;top:50%;width:20%;height:180%;background:linear-gradient(to right,transparent,rgba(255,255,255,.08) 25%,rgba(255,255,255,.24) 50%,rgba(255,255,255,.08) 75%,transparent);opacity:0;animation:preview-loading-shimmer 4s cubic-bezier(.22,.5,.45,1) infinite}.preview-loading-shine:after{animation-delay:.72s}@keyframes preview-loading-shimmer{0%{transform:translate(-50%,-50%) translate3d(calc(0px - var(--preview-width)),var(--preview-width),0) rotate(-45deg);opacity:0}1.875%,13.5%{opacity:1}15.75%,to{transform:translate(-50%,-50%) translate3d(var(--preview-width),calc(0px - var(--preview-width)),0) rotate(-45deg);opacity:0}}@media(prefers-reduced-motion:reduce){.preview-loading-shine{display:none!important}}@media(hover:hover)and (pointer:fine){.preview-surface:where(.is-playing):hover .preview-video{transform:scale(1.035)}.preview-play-button:not(:disabled):hover{transform:scale(1.06)}.preview-play-button:not(:disabled):hover .preview-play-shine:after{animation:portrait-shimmer .62s cubic-bezier(.22,.5,.45,1) .08s 1}}@media(prefers-reduced-motion:reduce){.preview-video,.preview-poster{transition:none}}.personal-card{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:20px;margin-top:65px}.portrait{display:block;position:relative;z-index:1;flex:0 0 37px;width:37px;height:44px;padding:0;border:0;border-radius:7px;background:transparent;perspective:450px;touch-action:manipulation;cursor:pointer}.portrait-motion{display:block;width:100%;height:100%;transform-style:preserve-3d}.portrait-spin{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:7px;transform-origin:center;backface-visibility:visible}.portrait img{display:block;width:100%;height:100%;object-fit:cover}.portrait-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.portrait-shine:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:110px;margin:-55px 0 0 -9px;background:linear-gradient(to right,transparent,rgba(255,255,255,.6) 35%,rgba(255,255,255,.6) 65%,transparent);opacity:0;transform:translate3d(-50px,50px,0) rotate(-45deg)}.portrait-spin.is-shimmering>.portrait-shine:after{animation:portrait-shimmer .62s cubic-bezier(.22,.5,.45,1) .08s 1}.portrait.is-spinning .portrait-spin{will-change:transform;animation:portrait-turn .78s cubic-bezier(.333333,.666667,.666667,1)}@keyframes portrait-turn{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes portrait-shimmer{0%{transform:translate3d(-50px,50px,0) rotate(-45deg);opacity:0}12%{opacity:1}88%{opacity:1}to{transform:translate3d(50px,-50px,0) rotate(-45deg);opacity:0}}.personal-copy{min-width:0}.personal-note{color:var(--muted)}.footer-secondary{transition:color .18s ease}.personal-card:has(.personal-wrap.is-visible) .footer-secondary{color:var(--muted)}.footer-secondary .text-link{transition:color .18s ease,font-weight .28s cubic-bezier(.2,.7,.2,1)}.personal-card:has(.personal-wrap.is-visible) .footer-secondary .text-link{color:var(--muted)}.personal-card:has(.personal-wrap.is-visible) .footer-secondary .brand-label{color:inherit}.email-copy{padding:0;border:0;background:transparent;cursor:pointer}.email-copy.is-copied .link-text{color:transparent;background:linear-gradient(to top right,#8ee2fd,#57d1fa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.word-easter{padding:0;border:0;background:transparent;cursor:default}.personal-wrap{position:relative;display:inline-block}.personal-popover{cursor:default;isolation:isolate;position:absolute;z-index:10;left:50%;bottom:calc(100% - 2px);display:grid;justify-items:center;gap:10px;width:max-content;padding:4px 4px 2px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,6px) scale(.98);transform-origin:50% 100%;transition:opacity .18s ease,transform .22s ease,visibility 0s linear .22s}.personal-wrap.is-visible .personal-popover{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) scale(1);transition-delay:0s}.personal-popover:after{content:"";position:absolute;inset:auto 0 -4px;height:6px}.friend-prompt{padding:0;border:0;color:var(--ink);background:transparent;font-size:14px;font-weight:400;line-height:20px;text-decoration:none;white-space:nowrap;cursor:pointer}.fc-card-image{display:block;width:88px;height:82px;object-fit:contain;pointer-events:none}.friendly-stages{position:relative;width:var(--stage-width,132px);height:26px;transition:width .24s cubic-bezier(.2,.7,.2,1)}.friendly-stages>.friend-prompt,.friendly-stages>.handle-form,.friendly-stages>.handle-success{position:absolute;top:3px;left:50%;width:max-content;max-width:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px);transition:opacity .18s ease,transform .26s cubic-bezier(.2,.7,.2,1),font-weight .28s cubic-bezier(.2,.7,.2,1),visibility 0s linear .26s}.friendly-stages[data-stage=editing]>.friend-prompt,.friendly-stages[data-stage=sent]>.friend-prompt,.friendly-stages[data-stage=sent]>.handle-form{transform:translate(-50%,-12px)}.personal-wrap.is-visible .friendly-stages[data-stage=prompt]>.friend-prompt,.personal-wrap.is-visible .friendly-stages[data-stage=editing]>.handle-form,.personal-wrap.is-visible .friendly-stages[data-stage=sent]>.handle-success{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%);transition-delay:0s}.handle-form{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;height:20px}.handle-field{position:relative;display:block;height:20px;flex:0 0 auto;width:var(--field-width,60px);min-width:16px;max-width:none;overflow:visible;font-size:14px;font-weight:400;line-height:20px}.handle-measure{position:absolute;display:block;width:max-content;visibility:hidden;white-space:pre;pointer-events:none}.handle-form input{cursor:text;position:absolute;inset:0;width:100%;min-width:0;padding:0 3px;-webkit-appearance:none;appearance:none;border:0;border-radius:0;outline:none;color:var(--ink);background:transparent;font-size:14px;font-weight:400;line-height:20px}.handle-form input::placeholder{color:#b0b2be}.cancel-handle{display:grid;place-items:center;flex:0 0 auto;width:16px;height:20px;margin-right:2px;padding:0;overflow:hidden;border:0;color:#b0b2be;background:transparent;opacity:1;transform:translate(0);cursor:pointer;transition:width .18s ease,margin-right .18s ease,opacity .14s ease,transform .18s ease}.send-slot{position:relative;flex:0 0 auto;width:0;height:20px;overflow:visible;transition:width .18s ease}.send-handle{position:absolute;top:0;left:1px;isolation:isolate;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:50%;color:#fff;background:#111;cursor:pointer;opacity:0;transform:translate(-6px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,background .18s ease}.send-handle:hover{background:#000}.send-handle svg{display:block}.handle-form.has-value .cancel-handle{width:0;margin-right:0;opacity:0;transform:translate(-6px);pointer-events:none}.handle-form.has-value .send-slot{width:22px}.handle-form.has-value .send-handle{opacity:1;transform:translate(0);pointer-events:auto}.handle-success{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:14px;font-weight:400;line-height:20px;white-space:nowrap}.success-message{color:var(--ink)}.success-check{display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;color:#fff;background:linear-gradient(to top right,#8ee2fd,#57d1fa)}.success-check svg{display:block}.handle-error{max-width:156px;color:#b44747;font-size:12px;line-height:16px;text-align:center}.personal-popover [hidden]{display:none}@media(min-width:760px)and (max-height:760px){.portfolio-shell{padding-top:22px;padding-bottom:18px}.signature{width:160px;height:56px;margin-bottom:10px}.intro-copy p+p{margin-top:16px}.work-section{margin-top:24px}.project-carousel{margin-top:20px}.personal-card{margin-top:24px}}@media(min-width:760px)and (max-height:540px){.portfolio-shell{padding-top:14px;padding-bottom:10px}.signature{width:128px;height:45px;margin-bottom:8px}.intro-copy p+p{margin-top:8px}.work-section{margin-top:16px}.project-carousel{margin-top:12px}.personal-card{margin-top:16px}}@media(hover:hover){.signature:hover .signature-handwriting{transform:translateY(-6px)}.brand-link:hover,.text-link:hover,.word-easter:hover,.friend-prompt:hover{font-weight:500}.brand-link:hover .link-shimmer:after,.text-link:hover .link-shimmer:after,.word-easter:hover .link-shimmer:after,.friend-prompt:hover .link-shimmer:after{will-change:transform;animation:link-shimmer .8s cubic-bezier(.25,.45,.4,1) 1}.brand-link:hover .brand-icon{opacity:1;transform:translateY(-50%) scale(1)}}@media(max-width:759px),(hover:none)and (pointer:coarse){:root{--column-width:min(352px, calc(100vw - 48px) );--preview-width:min(418px, calc(100vw - 48px) )}html{height:auto;min-height:100%;overflow-x:clip;overflow-y:auto;overscroll-behavior:none}body{display:block;height:auto;min-height:100svh;overflow-x:clip;overflow-y:visible;overscroll-behavior:none}.portfolio-shell{height:auto;min-height:100svh;padding:48px 0 calc(48px + env(safe-area-inset-bottom,0px))}.signature{width:196px;height:69px;margin-bottom:20px}.intro-copy p+p{margin-top:20px}.work-section{display:block;flex:none;margin-top:56px}.project-carousel{flex:none;height:calc(var(--preview-width) * 411 / 418);margin-top:32px;touch-action:pan-x;overscroll-behavior:contain}.project-index{touch-action:pan-x;overscroll-behavior:contain}.project-preview{flex:0 0 var(--preview-width);width:var(--preview-width);height:100%;max-height:none}.personal-card{margin-top:64px;gap:16px}.handle-field,.handle-form input{font-size:16px;line-height:24px}.handle-field,.handle-form{height:24px}.friendly-stages{height:30px}}@media(prefers-reduced-motion:reduce){.signature-handwriting{transform:none!important}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
