:root{--accent-pink:#ffc2ef;--selection-bg:#E2FFAF;--selection-fg:#3A3632;--framer-link-hover-text-color:#3A3632;--framer-link-hover-text-background-color:#E2FFAF;--measure:75ch;--case-study-media-gap:32px}::selection{background-color:var(--selection-bg);color:var(--selection-fg)}::-moz-selection{background-color:var(--selection-bg);color:var(--selection-fg)}@media (hover:hover) and (pointer:fine){.intro-lines__link:hover,.intro-lines__link[data-hovered=true],a.framer-text:hover,span.framer-text[data-nested-link]:hover{color:var(--selection-fg);background-color:var(--selection-bg)}}#main p{max-width:min(100%,var(--measure))}#svg-templates{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.reveal-word{display:inline-block;opacity:.001;transform:translateY(10px);will-change:transform,opacity}.reveal-word.is-in{opacity:1;transform:translateY(0);transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:reduce){.reveal-word{opacity:1;transform:none;transition:none}}:root{--text-scale:1}@media (min-width:1480px){:root{--text-scale:1.1}}#main{--framer-font-size-scale:var(--text-scale)}.click-spark{position:relative;width:100%}.click-spark__canvas{position:fixed;inset:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:99980}@media (prefers-reduced-motion:reduce){.click-spark__canvas{display:none}}#main [data-framer-component-type=Text]{--font-size:calc(var(--framer-font-size) * var(--text-scale))}@media (min-width:1480px){.who-line .block{--hero-size:calc(18px * var(--text-scale));--hero-fs:calc(18 * var(--text-scale));--copy-size:calc(14px * var(--text-scale))}.who-line .intro-lines__badge-hint{font-size:calc(10pt * var(--text-scale))}}@media (min-width:810px) and (max-width:1279.98px){.framer-TE0xJ .framer-a9nbwi{padding-top:78px}}@media (max-width:809.98px){.framer-TE0xJ .framer-a9nbwi{padding-top:191px}}.framer-TE0xJ .framer-a9nbwi{overflow:visible;position:relative;z-index:20;padding-bottom:84px}.who-line{position:relative;z-index:20;--who-line-headroom:40pt;padding-top:var(--who-line-headroom);margin-top:calc(-1 * var(--who-line-headroom) - 12px)}.who-line .block__hero{max-width:min(920px,var(--who-line-max,920px))}.framer-TE0xJ .framer-a9nbwi,.who-line,.who-line .block,.who-line .block__hero,.who-line .intro-lines,.who-line .intro-lines__line,.who-line .intro-lines__previously,.who-line .line,.who-line .rest{pointer-events:none}.who-line .intro-lines__link,.who-line .line--sub,.who-line .line__text,.who-line .lockup{pointer-events:auto}.who-line .intro-lines__line,.who-line .line--sub{width:max-content;max-width:100%}.who-line .line__trail[hidden]{display:inline-flex;visibility:hidden}.side-nav__label{white-space:nowrap}.side-nav__item{color:rgb(var(--fg-rgb)/var(--nav-alpha,.35));transition:color .2s ease,padding-left .2s ease}.side-nav__item:focus-visible,.side-nav__item:hover{color:rgb(var(--fg-rgb)/.8)}:root[data-theme=dark] .side-nav__item:not([data-active=true]):not(:hover):not(:focus-visible){color:rgb(var(--fg-rgb)/.31)}.side-nav__rails{flex-direction:row;gap:34px}.side-nav__rail,.side-nav__rails{display:flex;align-items:flex-start}.side-nav__rail{flex-direction:column;gap:4px;padding:0;background:transparent}.side-nav__rail--sub{padding-left:0;margin-top:0;animation:side-nav-sub-in .22s cubic-bezier(.23,1,.32,1) both}@keyframes side-nav-sub-in{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}@media (prefers-reduced-motion:reduce){.side-nav__rail--sub{animation:none}}.side-nav__clip{display:block;overflow:hidden}.side-nav--gated .side-nav__clip{padding:14px 10px;margin:-14px -10px}.side-nav--gated .side-nav__label{opacity:0;transform:translateY(120%);filter:blur(16px);will-change:transform,opacity,filter;transition:opacity .18s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1),filter .2s cubic-bezier(.23,1,.32,1)}.side-nav--gated.is-visible .side-nav__label{opacity:1;transform:translateY(0);filter:blur(0);transition:opacity .28s cubic-bezier(.23,1,.32,1),transform .26s cubic-bezier(.23,1,.32,1),filter .3s cubic-bezier(.23,1,.32,1);transition-delay:calc(var(--nav-i, 0) * 50ms)}.side-nav--gated.is-exiting .side-nav__clip{overflow:visible}.side-nav--gated.is-exiting .side-nav__label{opacity:0;transform:translateY(0);filter:blur(14px);transition:opacity .18s cubic-bezier(.23,1,.32,1),filter .22s cubic-bezier(.23,1,.32,1);transition-delay:calc((4 - var(--nav-i, 0)) * 40ms)}@media (prefers-reduced-motion:reduce){.side-nav--gated .side-nav__label,.side-nav--gated.is-exiting .side-nav__label,.side-nav--gated.is-visible .side-nav__label{transform:none;filter:none;transition:opacity .16s ease;transition-delay:0s}}.camera-reel{container-type:inline-size;width:100%}.camera-reel__panel{position:relative;width:100%;height:calc((100cqw - 20px) / 3 * 1.5083);background:#f5f5f5;overflow:hidden}.camera-reel__stage{position:absolute;top:50%;left:var(--reel-left,0);transform-origin:left center;transform:translateY(-50%) scale(var(--reel-scale,1))}.camera-reel__item{position:absolute;top:0;left:0;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.23,1,.32,1),opacity .12s ease;will-change:transform,opacity}.camera-reel__image{display:block;width:100%;height:100%;object-fit:contain;transition:transform .11s cubic-bezier(.23,1,.32,1)}.camera-reel__item:active .camera-reel__image{transform:scale(.97)}@media (hover:hover) and (pointer:fine){.camera-reel__item:not([aria-pressed=true]):hover{opacity:.35!important}}.camera-reel__item:focus-visible{outline:2px solid var(--selection-fg);outline-offset:4px;border-radius:4px}.camera-reel__gallery{position:absolute;top:0;bottom:0;left:var(--gallery-left,209px);right:31.25pt;overflow:hidden;pointer-events:none;scrollbar-width:none;z-index:2}.camera-reel__gallery::-webkit-scrollbar{display:none}.camera-reel__wall{position:absolute;inset:0;display:flex;gap:10px;align-items:flex-start;overflow:hidden}.camera-reel__runway{display:none}.camera-reel__gallery-col{flex:1 1;min-width:0;overflow:hidden}.camera-reel__strip{display:flex;flex-direction:column;gap:10px;will-change:transform}.camera-reel__photo{display:block;width:100%;height:auto;opacity:0;animation:reel-photo-in .32s cubic-bezier(.23,1,.32,1) forwards}@keyframes reel-photo-in{to{opacity:1}}@media (prefers-reduced-motion:reduce){.camera-reel__photo{animation-duration:.2s}}.camera-reel__gallery-fade{height:5vh;isolation:isolate;overflow:hidden;pointer-events:none;z-index:3}.camera-reel__collage,.camera-reel__gallery-fade{position:absolute;left:var(--gallery-left,209px);right:31.25pt;bottom:0}.camera-reel__collage{top:0;display:flex;align-items:center;justify-content:center;container-type:size;z-index:2}.camera-reel__collage-stage{position:relative;width:calc(min(100cqw, 100cqh * var(--collage-ar)) * var(--collage-scale, .6));aspect-ratio:var(--collage-ar)}.camera-reel__collage-card{position:absolute;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.camera-reel__collage-card.is-dragging{cursor:-webkit-grabbing;cursor:grabbing}.camera-reel__collage-card-inner{position:absolute;inset:0;overflow:hidden;transform:rotate(var(--card-rotate,0deg));transition:transform .2s cubic-bezier(.23,1,.32,1),filter .2s ease;animation:collage-card-in .42s cubic-bezier(.23,1,.32,1) backwards}.camera-reel__collage-card.is-dragging .camera-reel__collage-card-inner{transform:rotate(var(--card-rotate,0deg)) scale(1.04);filter:drop-shadow(0 14px 26px rgba(0,0,0,.22));transition-duration:.14s}@keyframes collage-card-in{0%{opacity:0;transform:rotate(var(--card-rotate,0deg)) scale(.93) translateY(3%);filter:blur(7px)}to{opacity:1;transform:rotate(var(--card-rotate,0deg)) scale(1) translateY(0);filter:blur(0)}}.camera-reel__collage-photo{display:block;width:100%;height:100%;object-fit:cover}@keyframes collage-card-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.camera-reel__collage-card-inner{animation-name:collage-card-fade;animation-duration:.2s;transition:none}}.camera-reel__fade{display:none}.camera-reel__stage{--reel-fade:calc(60px / var(--reel-scale, 1));-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--reel-fade));mask-image:linear-gradient(to right,transparent 0,#000 var(--reel-fade));-webkit-mask-size:4000px 100%;mask-size:4000px 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:calc(var(--reel-left, 0px) / var(--reel-scale, 1) * -1) 0;mask-position:calc(var(--reel-left, 0px) / var(--reel-scale, 1) * -1) 0}:root[data-theme=dark] .camera-reel__panel{background:rgb(255 255 255/.07);border:.5pt solid rgb(255 255 255/.12);box-sizing:border-box}@media (prefers-reduced-motion:reduce){.camera-reel__image,.camera-reel__item{transition:opacity .18s ease}}.my-photos{container-type:inline-size;width:100%}.my-photos__panel{width:100%;height:calc((100cqw - 20px) / 3 * 1.5083);background:#f2f2f2;overflow:hidden}.my-photos__image{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.starry-backdrop{width:100%;height:100%;background:transparent!important}.footer_reveal{overflow:hidden;background:#181818;position:relative;z-index:10}.footer_reveal,.footer_reveal-image{display:block;width:100%}:root[data-theme=dark] .footer_reveal{background-color:var(--page-bg);background-image:var(--page-bg-gradient);background-attachment:fixed}:root[data-theme=dark] .footer_stage{background:transparent}:root[data-theme=dark] .footer_dots{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 60%);mask-image:linear-gradient(180deg,transparent 0,#000 60%)}.footer_stage{--footer-pad:40px;position:relative;width:100%;height:372px;color:#fff;font-family:Switzer,Switzer Placeholder,sans-serif;font-weight:400;background:#181818;overflow:hidden}.footer_resume{position:absolute;left:calc(25px - .6%);bottom:calc(-68px + 3%);width:111.72px;height:auto;padding:0;border:0;background:none;transform:rotate(-15deg) scale(1);transform-origin:bottom left;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:transform .2s cubic-bezier(.23,1,.32,1)}.footer_resume img{display:block;width:100%;height:auto;pointer-events:none}@media (hover:hover) and (pointer:fine){.footer_resume:hover{transform:rotate(-15deg) scale(1.1)}}.footer_resume:active{transform:rotate(-15deg) scale(.97);transition-duration:.12s}@media (hover:none),(pointer:coarse){.footer_resume{cursor:pointer}}@media (prefers-reduced-motion:reduce){.footer_resume{transition:none}.footer_resume:active,.footer_resume:hover{transform:rotate(-15deg) scale(1)}}.footer_curious{position:absolute;left:var(--footer-pad);top:calc(var(--footer-pad) * 1.2);margin:0;width:max-content;white-space:nowrap;font-size:calc(18px * var(--text-scale, 1));line-height:1.25;margin-top:calc(-2.25px * var(--text-scale, 1) / 2)}.footer_build{--s:var(--text-scale,1);position:relative;display:inline-block;width:calc(40 * var(--s) * 1px);height:1em;vertical-align:-.08em}.footer_build__b,.footer_build__ild{position:absolute;bottom:0;margin:0;font:inherit;line-height:1;color:#fff;white-space:nowrap}.footer_build__b{left:0}.footer_build__ild{left:calc(21 * var(--s) * 1px)}.footer_build__u{position:absolute;left:calc(9 * var(--s) * 1px);bottom:calc(.2em - 1px);display:flex;flex-direction:column;gap:calc(1.4 * var(--s) * 1px);width:calc(13 * var(--s) * 1px);height:calc(9.946 * var(--s) * 1px);overflow:hidden;transform:scale(.9);transform-origin:bottom center;-webkit-mask-image:url(/who-line/assets/u-mask.svg);mask-image:url(/who-line/assets/u-mask.svg);-webkit-mask-size:calc(8.572 * var(--s) * 1px) calc(9.946 * var(--s) * 1px);mask-size:calc(8.572 * var(--s) * 1px) calc(9.946 * var(--s) * 1px);-webkit-mask-position:calc(2 * var(--s) * 1px) 0;mask-position:calc(2 * var(--s) * 1px) 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.footer_build__u>span{display:block;flex:0 0 calc(1.4 * var(--s) * 1px);width:calc(18.2 * var(--s) * 1px);background:#fff}.footer_feather{margin-left:6px;vertical-align:calc(-.2em + 3px)}.footer_feather,.footer_heart{display:inline-block;color:#fff}.footer_heart{width:calc(11.667px * var(--text-scale, 1));height:calc(10px * var(--text-scale, 1));margin-left:4px;vertical-align:.05em}.footer_heart svg{display:block;width:100%;height:100%}.footer_heart .heart-trim__pen{transition:stroke-dashoffset .9s cubic-bezier(.23,1,.32,1) .12s}.footer_stage[data-revealed=true] .footer_heart .heart-trim__pen{stroke-dashoffset:0}@media (prefers-reduced-motion:reduce){.footer_heart .heart-trim__pen{stroke-dashoffset:0;transition:none}}.footer_credit{position:absolute;left:var(--footer-pad);top:calc(var(--footer-pad) * 1.2 + 45px * var(--text-scale, 1) + 16px);margin:0;display:flex;flex-direction:column;width:max-content;font-size:calc(1rem * .78 * var(--text-scale, 1));line-height:1.4;color:rgba(255,255,255,.8)}.footer_credit-line{display:block;white-space:nowrap}.footer_credit-line:last-child{margin-top:calc(.4em + 4px);color:rgb(255 255 255/.5)}.footer_credit-mark{display:inline-block;height:1.056em;width:auto;vertical-align:-.176em;margin:0 .08em}.footer_book_pin{position:absolute;left:0;top:0;width:100%;height:372px;pointer-events:none}@media (max-width:809.98px){.footer_book_pin{height:326px}}.footer_book{position:absolute;left:50%;top:50%;width:179.785px;height:233.163px;margin-left:-89.893px;margin-top:-116.581px;pointer-events:none}.guestbook_layer{position:fixed;inset:0;z-index:11;pointer-events:none}.guestbook_layer[data-open=true]{z-index:2147483000}.guestbook_backdrop{position:absolute;inset:0;background:rgba(16,16,16,.45);pointer-events:auto}.guestbook_frame{display:block;background:transparent;color-scheme:light;transition:opacity .22s ease}.guestbook_close,.guestbook_frame{position:absolute;border:0;pointer-events:auto}.guestbook_close{top:24px;right:24px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.9);color:#101010;font-family:Switzer,sans-serif;font-size:13px;cursor:pointer;transition:transform .16s ease-out,background .16s ease}.guestbook_close:hover{background:#fff}.guestbook_close:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){.guestbook_frame{transition:none}}.footer_socials{position:absolute;right:var(--footer-pad);left:auto;bottom:calc(var(--footer-pad) * 1.14);display:flex;align-items:center;gap:0;margin:-9.12px -6.84px;padding:0;list-style:none}.footer_socials li{position:relative;padding:9.12px 6.84px}@font-face{font-family:Ugly Dave;src:url(/guestbook/Assets/Fonts/ugly-dave/ugly-dave.woff2) format("woff2"),url(/guestbook/Assets/Fonts/ugly-dave/ugly-dave.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}.footer_icon_label{position:absolute;left:50%;bottom:calc(100% - 9.12px + 8pt);font-family:Ugly Dave,cursive,sans-serif;font-size:14pt;line-height:1;color:#fff;white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(-50%) translateY(4px) scale(.95);transform-origin:bottom center;transition:opacity .12s ease,transform .12s cubic-bezier(.23,1,.32,1)}.footer_icon_label[data-icon=linkedin]{color:#3182ff}.footer_icon_label[data-icon=resume]{color:var(--accent-pink)}.footer_icon_label[data-icon=email]{color:#3dd5ff}.footer_icon_label[data-icon=instagram]{background:linear-gradient(274.0764471549394deg,rgb(115,0,228) 4.9445%,rgb(227,0,164) 47.498%,rgb(255,183,99) 98.282%);-webkit-background-clip:text;background-clip:text;color:transparent}@media (hover:hover) and (pointer:fine){.footer_socials li:focus-within .footer_icon_label,.footer_socials li:hover .footer_icon_label{opacity:1;transform:translateX(-50%) translateY(0) scale(1);transition:opacity .18s ease,transform .18s cubic-bezier(.23,1,.32,1)}}@media (prefers-reduced-motion:reduce){.footer_icon_label{transform:translateX(-50%);transition:opacity .12s ease}.footer_socials li:focus-within .footer_icon_label,.footer_socials li:hover .footer_icon_label{transform:translateX(-50%)}}.footer_socials .footer_icon,.footer_socials li>a,.footer_socials li>span[role=img]{display:block;line-height:0}.footer_icon{display:block;width:50.16px;height:50.16px;background:#fff;mask-image:var(--icon);-webkit-mask-image:var(--icon);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;transition:background .2s ease,opacity .2s ease}.footer_icon[data-icon=linkedin]{--icon:url(/assets/footer/linkedin.png)}.footer_icon[data-icon=x]{--icon:url(/assets/footer/x.png)}.footer_icon[data-icon=resume]{--icon:url(/assets/footer/resume.png)}.footer_icon[data-icon=instagram]{--icon:url(/assets/footer/instagram.png)}.footer_icon[data-icon=email]{--icon:url(/assets/footer/email.png)}.footer_socials li:active .footer_icon[data-icon=linkedin],.footer_socials li:focus-within .footer_icon[data-icon=linkedin]{background:#3182ff}.footer_socials li:active .footer_icon[data-icon=instagram],.footer_socials li:focus-within .footer_icon[data-icon=instagram]{background:linear-gradient(184.0764471549394deg,rgb(115,0,228) 4.9445%,rgb(227,0,164) 47.498%,rgb(255,183,99) 98.282%)}.footer_socials li:active .footer_icon[data-icon=resume],.footer_socials li:focus-within .footer_icon[data-icon=resume]{background:var(--accent-pink)}.footer_socials li:active .footer_icon[data-icon=email],.footer_socials li:focus-within .footer_icon[data-icon=email]{background:#3dd5ff}.footer_socials li:active .footer_icon[data-icon=x],.footer_socials li:focus-within .footer_icon[data-icon=x]{--icon:url(/assets/footer/x-hover.png)}.footer_socials li:active .footer_icon{transform:scale(.94)}.footer_icon{transition:background .2s ease,opacity .2s ease,transform .16s ease-out}@media (hover:hover) and (pointer:fine){.footer_socials li:hover .footer_icon[data-icon=linkedin]{background:#3182ff}.footer_socials li:hover .footer_icon[data-icon=instagram]{background:linear-gradient(184.0764471549394deg,rgb(115,0,228) 4.9445%,rgb(227,0,164) 47.498%,rgb(255,183,99) 98.282%)}.footer_socials li:hover .footer_icon[data-icon=resume]{background:var(--accent-pink)}.footer_socials li:hover .footer_icon[data-icon=email]{background:#3dd5ff}.footer_socials li:hover .footer_icon[data-icon=x]{--icon:url(/assets/footer/x-hover.png)}}.footer_socials a:focus-visible .footer_icon[data-icon=linkedin]{background:#3182ff}@media (max-width:809.98px){.footer_stage{--footer-pad:32px;height:326px}}@media (min-width:810px){.framer-TE0xJ .framer-mxkekt{padding-right:40px}}.project-grid{display:flex;align-items:flex-start;gap:15.75px;width:100%}.project-grid__col{flex:1 1;min-width:0;gap:36px}.project-card,.project-grid__col{display:flex;flex-direction:column}.project-card{gap:calc(10px + 4pt);text-decoration:none;color:inherit;container-type:inline-size}.project-card__thumb{position:relative;width:100%;overflow:hidden;background:#f2f2f2}.project-card__media{display:block;width:100%;height:100%;object-fit:cover}.project-card__media--placeholder{background:#e6e6e6}.project-card__media--tiktok{box-sizing:border-box;padding:0;background:#fafafa}.project-card__media--tiktok,.project-card__tiktok-stage{position:relative;width:100%;height:100%;overflow:hidden}.project-card__media--tiktok .tiktok-bento{width:100%;height:100%;max-height:none;aspect-ratio:unset}.tiktok-loop{position:absolute;inset:0;background:#fafafa}.tiktok-loop__logo{position:absolute;top:50%;left:50%;width:14%;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform,opacity;--mark-pos:translate(-50%,-50%)}.tiktok-loop__logo[data-state=hidden]{opacity:0;transform:var(--mark-pos) scale(.92);transition:none}.tiktok-loop__logo[data-state=start]{opacity:1;transform:var(--mark-pos) scale(.92);transition:none}.tiktok-loop__logo[data-state=on]{opacity:1;transform:var(--mark-pos) scale(1);transition:transform .7s cubic-bezier(.23,1,.32,1)}.tiktok-loop__logo[data-state=out]{opacity:0;transform:var(--mark-pos) scale(1);transition:opacity .18s ease-out}.tiktok-loop__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease-out}.tiktok-loop__video[data-on=true]{opacity:1}@media (prefers-reduced-motion:reduce){.tiktok-loop__logo[data-state]{transition:none}}.project-card__media--tiktok .pixel-blast-container{position:absolute;inset:0;z-index:1;pointer-events:none}@media (prefers-reduced-motion:reduce){.project-card__media--tiktok .pixel-blast-container{display:none}}.copy-email-pill{position:fixed;top:0;left:0;z-index:99990;pointer-events:none;will-change:transform;transform:translate3d(-200px,-200px,0)}.copy-email-pill__body{--ease-out:cubic-bezier(0.23,1,0.32,1);interpolate-size:allow-keywords;display:flex;align-items:center;justify-content:flex-start;box-sizing:content-box;height:36px;width:36px;padding:0;overflow:hidden;border-radius:8px;color:#3A3632;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:14px;font-weight:400;letter-spacing:-.1px;line-height:1;text-align:left;white-space:nowrap;background-color:hsl(33 22% 28%/.45);opacity:0;transform:scale(.94);transform-origin:0 50%;transition:width 80ms var(--ease-out),padding 80ms var(--ease-out),transform 80ms var(--ease-out),background-color .14s ease,opacity .14s ease}.copy-email-pill--guestbook .copy-email-pill__body{background:#fff;color:#DF3EAB}.copy-email-pill--guestbook .copy-email-pill__icon,.copy-email-pill--guestbook .copy-email-pill__label{color:#DF3EAB}.copy-email-pill.is-on .copy-email-pill__body{width:max-content;padding:0 12px;background-color:var(--selection-bg);opacity:1;transform:scale(1);transition:width .15s var(--ease-out),padding .15s var(--ease-out),transform .15s var(--ease-out),background-color .28s ease,opacity .2s ease}.copy-email-pill--invert .copy-email-pill__body{color:#000}.copy-email-pill--invert.is-on .copy-email-pill__body{background-color:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.1)}.copy-email-pill--guestbook.is-on .copy-email-pill__body{
  /* !important so no later rule, theme override or load order can put the
     shared green back — this pill is white on every page, in both themes. */background-color:#fff!important;color:#DF3EAB!important}.copy-email-pill__label{display:block;flex-shrink:0}.copy-email-pill__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:14px;height:14px;margin-right:6px;color:inherit}.copy-email-pill__icon--end{margin-right:0;margin-left:6px}.copy-email-pill__icon svg,.copy-email-pill__icon>div{display:block;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.copy-email-pill{display:none!important}}.framer-TE0xJ .framer-igw7h1.logo-hover{width:62px;aspect-ratio:373/192;height:auto}@media (min-width:810px) and (max-width:1279.98px){.framer-TE0xJ .framer-igw7h1.logo-hover{width:50px}}@media (max-width:809.98px){.framer-TE0xJ .framer-igw7h1.logo-hover{width:45px}}.logo-hover__face,.logo-hover__stage{position:absolute;inset:0}.logo-hover__face{width:100%;height:100%;margin:0;transition:opacity .38s cubic-bezier(.19,1,.22,1)}html:not([data-theme=dark]) .logo-hover__face--word img{filter:brightness(0)}.logo-hover__face--avatar{--avatar-offset:translate(calc(-50% - 6px),-50%);inset:auto;top:50%;left:50%;width:auto;height:105%;aspect-ratio:1/1;transform:var(--avatar-offset) scale(.92);opacity:0;display:block;border-radius:50%;object-fit:cover;background:#ece9e6;pointer-events:none;-webkit-user-drag:none;transition:opacity .38s cubic-bezier(.19,1,.22,1),transform .38s cubic-bezier(.19,1,.22,1)}@media (hover:hover) and (pointer:fine){.framer-igw7h1.logo-hover:hover .logo-hover__face--word{opacity:0}.framer-igw7h1.logo-hover:hover .logo-hover__face--avatar{opacity:1;transform:var(--avatar-offset) scale(1)}}.project-card__caption{display:flex;flex-direction:column;gap:calc(2px + 4pt)}.project-card__line{display:flex;align-items:baseline;justify-content:space-between;gap:16px}@container (max-width: 620px){.project-card__line{flex-direction:column;align-items:flex-start;gap:4px}.project-card__title{width:100%}}.project-card__title{margin:0;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc((18px - 2pt) * var(--text-scale, 1));line-height:1.4;font-weight:400;letter-spacing:-.01em;color:rgb(0,0,0)}.project-card__brand{opacity:.6}.project-card__context{flex:0 0 auto;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc((10px + 2pt) * var(--text-scale, 1));line-height:1.2;color:rgba(0,0,0,.5)}@media (max-width:809.98px){.project-grid{grid-template-columns:minmax(0,1fr);row-gap:32px}}@property --reveal-progress{syntax:"<length>";inherits:false;initial-value:0}:root{--reveal-feather:160px;--reveal-duration:260ms}::view-transition{background-color:var(--vt-from-bg,transparent)}::view-transition-old(root){animation:theme-defocus var(--reveal-duration) cubic-bezier(0,0,.2,1) forwards}::view-transition-new(root){-webkit-mask-image:radial-gradient(circle at var(--reveal-x,50%) var(--reveal-y,50%),#000 calc(var(--reveal-progress) - var(--reveal-feather)),transparent var(--reveal-progress));mask-image:radial-gradient(circle at var(--reveal-x,50%) var(--reveal-y,50%),#000 calc(var(--reveal-progress) - var(--reveal-feather)),transparent var(--reveal-progress));animation:theme-reveal var(--reveal-duration) cubic-bezier(.65,0,.35,1) forwards}@keyframes theme-reveal{0%{--reveal-progress:0px;opacity:.5}to{--reveal-progress:var(--reveal-r,150vmax);opacity:1}}@keyframes theme-defocus{0%{filter:blur(0)}to{filter:blur(4px)}}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation:none;mask-image:none;-webkit-mask-image:none}}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left;display:flex;flex-flow:row;align-items:center;justify-content:flex-start;gap:4px;width:min-content;height:min-content}.casestudy-theme-toggle{z-index:20;position:fixed;bottom:60px;left:40px;width:min-content;height:min-content}.theme-toggle__icon{position:relative;width:calc(11.7px * var(--text-scale, 1));height:calc(11.7px * var(--text-scale, 1));display:inline-flex;align-items:center;justify-content:center;color:var(--page-fg,rgb(0,0,0))}.theme-toggle__icon svg,.theme-toggle__icon>div{display:block;width:100%;height:100%}.theme-toggle__label{font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc(12px * var(--text-scale, 1));line-height:calc(16.5px * var(--text-scale, 1));color:var(--page-fg,rgb(0,0,0));white-space:nowrap;flex-shrink:0}.bottom-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:min-content}.local-time{cursor:default}.casestudy-theme-toggle .theme-toggle__label{display:none}.casestudy-theme-toggle .theme-toggle__icon{width:calc(14.04px * var(--text-scale, 1));height:calc(14.04px * var(--text-scale, 1))}.local-time .theme-toggle__label{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:root{color-scheme:light;--page-bg:#ffffff;--page-fg:#000000;--fg-rgb:0 0 0}:root[data-theme=dark]{color-scheme:dark;--page-bg:#00091a;--page-bg-gradient:linear-gradient(180deg,#00091a 0%,#00102d 50%,#202245);--page-fg:#f2f2f2;--fg-rgb:242 242 242}:root[data-theme=dark] .who-line{--ink:var(--page-fg)}:root[data-theme=dark] .who-line .intro-lines__badge-hint,:root[data-theme=dark] .who-line .intro-lines__copy,:root[data-theme=dark] .who-line .intro-lines__line,:root[data-theme=dark] .who-line .intro-lines__link{color:rgb(var(--fg-rgb)/.6)}:root[data-theme=dark] .who-line .intro-lines__link[data-hovered=true]{color:#3A3632;background-color:var(--selection-bg)}:root[data-theme=dark] .who-line .lockup__veil{background:linear-gradient(180deg,rgba(0,9,26,0) 0,#00091a)}:root[data-theme=dark] .who-line .lockup--design .font-tool path{fill:#fff}:root[data-theme=dark] .who-line .lockup--build .icon--dev img{filter:brightness(0) invert(1)}:root,:root body{background-color:var(--page-bg)}:root[data-theme=dark],:root[data-theme=dark] body{background-color:var(--page-bg);background-image:var(--page-bg-gradient);background-attachment:fixed}:root[data-theme=dark] .framer-TE0xJ.framer-107qx1e,:root[data-theme=dark] .framer-TE0xJ.framer-1hrb06j,:root[data-theme=dark] .framer-TE0xJ.framer-1q647kq,:root[data-theme=dark] .framer-TE0xJ.framer-iogvpj,:root[data-theme=dark] .framer-TE0xJ.framer-qjggom{background-color:transparent}:root[data-theme=dark] .casestudy-root,:root[data-theme=dark] .framer-pR67w .framer-1i2nfrz,:root[data-theme=dark] .framer-pR67w.framer-psrovs{background:transparent;background-color:transparent;color:var(--page-fg)}:root[data-theme=dark] .casestudy-root .framer-text,:root[data-theme=dark] .casestudy-root [data-framer-component-type=Text],:root[data-theme=dark] .framer-pR67w .framer-text{--framer-text-color:var(--page-fg)!important;color:var(--page-fg)!important}:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0, 0, 0, 0.8)"],:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0,0,0,0.8)"]{color:rgb(var(--fg-rgb)/.8)!important}:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0, 0, 0, 0.4)"],:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0, 0, 0, 0.6)"],:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0,0,0,0.4)"],:root[data-theme=dark] .framer-pR67w .framer-text[style*="rgba(0,0,0,0.6)"]{color:rgb(var(--fg-rgb)/.6)!important}:root[data-theme=dark] .framer-pR67w .framer-107fbv6,:root[data-theme=dark] .framer-pR67w .framer-1e12s7x,:root[data-theme=dark] .framer-pR67w .framer-1owjcv7,:root[data-theme=dark] .framer-pR67w .framer-1uckkl2,:root[data-theme=dark] .framer-pR67w .framer-1vatj0o,:root[data-theme=dark] .framer-pR67w .framer-2jf91k,:root[data-theme=dark] .framer-pR67w .framer-byw6q3,:root[data-theme=dark] .framer-pR67w .framer-m2b86n,:root[data-theme=dark] .hl-frame,:root[data-theme=dark] .other-designs-stage,:root[data-theme=dark] .other-designs-stage__video,:root[data-theme=dark] .reach-out__field{background-color:rgb(255 255 255/.07)}:root[data-theme=dark] .framer-1dexa0q-container button{color:var(--page-fg)}:root[data-theme=dark] .framer-1sfw5kb{color:rgb(255 255 255/.8)}:root[data-theme=dark] .framer-1sfw5kb .framer-text{color:inherit!important;--framer-text-color:currentColor!important}:root[data-theme=dark] .framer-1sfw5kb .framer-wxuqll{filter:none;opacity:1;background-image:none!important;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7'%3E%3Cpath fill='%23000' d='M0.804 2.706 L0.468 3.042 L0.133 2.706 L0.468 2.372 Z M8.866 6.502 C8.876 6.676 8.787 6.842 8.637 6.932 C8.486 7.022 8.299 7.022 8.149 6.932 C7.998 6.842 7.91 6.676 7.919 6.502 Z M2.838 5.413 L0.468 3.042 L1.139 2.371 L3.51 4.742 Z M0.468 2.372 L2.838 0 L3.51 0.671 L1.137 3.041 L0.467 2.369 Z M0.804 2.232 L5.546 2.232 L5.546 3.18 L0.804 3.18 Z M8.866 5.552 L8.866 6.502 L7.919 6.502 L7.919 5.552 Z M5.546 2.232 C7.379 2.232 8.866 3.719 8.866 5.552 L7.919 5.552 C7.919 4.923 7.668 4.32 7.223 3.875 C6.778 3.43 6.175 3.18 5.546 3.18 Z'/%3E%3C/svg%3E");-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 7'%3E%3Cpath fill='%23000' d='M0.804 2.706 L0.468 3.042 L0.133 2.706 L0.468 2.372 Z M8.866 6.502 C8.876 6.676 8.787 6.842 8.637 6.932 C8.486 7.022 8.299 7.022 8.149 6.932 C7.998 6.842 7.91 6.676 7.919 6.502 Z M2.838 5.413 L0.468 3.042 L1.139 2.371 L3.51 4.742 Z M0.468 2.372 L2.838 0 L3.51 0.671 L1.137 3.041 L0.467 2.369 Z M0.804 2.232 L5.546 2.232 L5.546 3.18 L0.804 3.18 Z M8.866 5.552 L8.866 6.502 L7.919 6.502 L7.919 5.552 Z M5.546 2.232 C7.379 2.232 8.866 3.719 8.866 5.552 L7.919 5.552 C7.919 4.923 7.668 4.32 7.223 3.875 C6.778 3.43 6.175 3.18 5.546 3.18 Z'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat}:root[data-theme=dark] .reach-out__rule{border-top-color:rgb(255 255 255/.2)}:root[data-theme=dark] #main [data-framer-component-type=Text]{--framer-text-color:var(--page-fg)}:root[data-theme=dark] .project-card__title,:root[data-theme=dark] .who-line{color:var(--page-fg)}:root[data-theme=dark] .project-card__context{color:rgba(242,242,242,.5)}:root[data-theme=dark] .framer-text{--framer-text-color:var(--page-fg);color:var(--page-fg)}:root[data-theme=dark] .framer-text[style*="rgba(0, 0, 0, 0.8)"],:root[data-theme=dark] .past-experiences-framer p[style*="rgba(0, 0, 0, 0.8)"]{color:rgb(var(--fg-rgb)/.8)}:root[data-theme=dark] .framer-text[style*="rgba(0, 0, 0, 0.6)"]{color:rgb(var(--fg-rgb)/.6)}:root[data-theme=dark] .experience-panel p,:root[data-theme=dark] .experience-row p,:root[data-theme=dark] .past-experiences-framer p{color:var(--page-fg)!important}:root[data-theme=dark] .experience-panel p[style*="0.8"],:root[data-theme=dark] .experience-row p[style*="0.8"],:root[data-theme=dark] .past-experiences-framer p[style*="0.8"]{color:rgb(var(--fg-rgb)/.8)!important}:root[data-theme=dark] [data-framer-name=Direction]{color:rgb(var(--fg-rgb)/.6)}.framer-g8prM .framer-qf6rtx{width:100%;height:1px;flex-shrink:0;background:linear-gradient(90deg,rgb(var(--fg-rgb)/.12) 0,rgb(var(--fg-rgb)/.06) 60%,transparent 100%)}.framer-g8prM .framer-qf6rtx svg{display:none}:root[data-theme=dark] .framer-g8prM .framer-qf6rtx{height:.5px;background:rgb(255 255 255/.1)}.row-divider{width:100%;height:1px;flex-shrink:0;background:rgb(var(--fg-rgb)/.07)}:root[data-theme=dark] .row-divider{height:.5px;background:rgb(255 255 255/.06)}.past-experiences-framer .experience-row{transition:opacity .26s cubic-bezier(.23,1,.32,1);opacity:1}.past-experiences-framer .experience-split__list.is-focusing .experience-row{opacity:.34}.past-experiences-framer .experience-split__list.is-focusing .experience-row.is-active,.past-experiences-framer .experience-split__list.is-focusing .experience-row[aria-current=true]{opacity:1}@media (hover:hover) and (pointer:fine){.past-experiences-framer .experience-split__list.is-focusing .experience-row:hover{opacity:1}}@media (prefers-reduced-motion:reduce){.past-experiences-framer .experience-row{transition:none}}.experience-row__sub{margin:0;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc(clamp(10px, 1.3vw, 12px) * var(--text-scale, 1));font-weight:400;line-height:140%;color:rgba(0,0,0,.45);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .experience-row__sub{color:rgb(var(--fg-rgb)/.45)!important}.experience-row__mark{flex-shrink:0;box-sizing:border-box;width:calc((clamp(12px, 1.5vw, 14px) * var(--text-scale, 1) * 1.4) + 3px + (clamp(10px, 1.3vw, 12px) * var(--text-scale, 1) * 1.4));height:calc((clamp(12px, 1.5vw, 14px) * var(--text-scale, 1) * 1.4) + 3px + (clamp(10px, 1.3vw, 12px) * var(--text-scale, 1) * 1.4));border-radius:8px;overflow:hidden}.experience-row__mark>img{display:block;width:100%;height:100%;object-fit:cover}.experience-row__mark--accd{background:#fafafa;display:grid;place-items:center;overflow:hidden}.experience-row__mark--accd:after{content:"";width:58%;height:58%;border-radius:50%;background:rgb(255,93,0)}:root[data-theme=dark] .experience-row__mark--accd{background:rgb(255 255 255/.07)}.experience-row__date{margin:0;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc(clamp(10px, 1.3vw, 12px) * var(--text-scale, 1));line-height:140%;color:rgba(0,0,0,.35);white-space:nowrap;flex-shrink:0}:root[data-theme=dark] .experience-row__date{color:rgb(var(--fg-rgb)/.35)!important}:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .framer-q9vgl8,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .theme-toggle,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj a{opacity:1!important;color:rgb(255 255 255/.8);transition:color .2s ease}:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .framer-q9vgl8:focus-visible,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .framer-q9vgl8:hover,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .framer-q9vgl8[data-active=true],:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .theme-toggle:focus-visible,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .theme-toggle:hover,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj a:focus-visible,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj a:hover,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj a[data-active=true]{color:rgb(255 255 255/.9)}:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .framer-text,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .theme-toggle__icon,:root[data-theme=dark] .framer-avs2fy .framer-18ll6rj .theme-toggle__label{color:inherit;--framer-text-color:currentColor}:root[data-theme=dark] .framer-avs2fy svg [stroke]{stroke:currentColor}:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle,:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle__icon,:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle__label{color:rgb(255 255 255/.8)}:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle{opacity:1!important;transition:color .2s ease}:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle:focus-visible,:root[data-theme=dark] .casestudy-theme-toggle .theme-toggle:hover{color:rgb(255 255 255/.9)}:root[data-theme=dark] .casestudy-theme-toggle svg [stroke]{stroke:currentColor}:root[data-theme=dark] .framer-1bj2ubo-container button{color:var(--page-fg)}@media (max-width:809.98px){.project-grid{flex-direction:column;align-items:stretch;gap:36px}.project-grid__col{display:contents}.project-card{order:var(--card-order,0)}}:root[data-theme=dark] .project-card__media--placeholder{background:#2a2a2a}:root[data-theme=dark] .project-card__media--tiktok{background:#fafafa}html.js .framer-TE0xJ .framer-mxkekt>*{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.23,1,.32,1),transform .7s cubic-bezier(.23,1,.32,1)}html.js .framer-TE0xJ .framer-mxkekt>.in-view{opacity:1;transform:none}html.js .project-grid .project-card{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.23,1,.32,1),transform .6s cubic-bezier(.23,1,.32,1);transition-delay:calc(var(--card-index, 0) * 90ms);will-change:transform,opacity}html.js .framer-TE0xJ .framer-mxkekt>.in-view .project-grid .project-card{opacity:1;transform:translateY(0)}.project-grid__col .project-card:first-child{--card-index:0}.project-grid__col .project-card:nth-child(2){--card-index:1}.project-grid__col .project-card:nth-child(3){--card-index:2}@media (prefers-reduced-motion:reduce){html.js .framer-TE0xJ .framer-mxkekt>*,html.js .project-grid .project-card{opacity:1;transform:none;transition:none;transition-delay:0s;will-change:auto}}.past-experiences-framer{container-type:inline-size}.past-experiences-framer .portfolio-stage{height:calc(50svh + 20cqw)!important;aspect-ratio:auto!important}.portfolio-stage__detail,.portfolio-stage__overview{transform-origin:center center;will-change:opacity,transform,filter}.portfolio-stage__overview{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;visibility:hidden;transform:scale(.985);filter:blur(2px);transition:opacity .21s cubic-bezier(.23,1,.32,1),transform .21s cubic-bezier(.23,1,.32,1),filter .17s ease,visibility 0s linear .21s}.portfolio-stage.is-overview .portfolio-stage__overview{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);filter:blur(0);transition:opacity .23s cubic-bezier(.23,1,.32,1),transform .23s cubic-bezier(.23,1,.32,1),filter .18s ease,visibility 0s linear 0s}.portfolio-stage__detail{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;pointer-events:none;transform:scale(.985);filter:blur(2px);transition:opacity .19s cubic-bezier(.23,1,.32,1),transform .19s cubic-bezier(.23,1,.32,1),filter .15s ease,visibility 0s linear .19s}.portfolio-stage.is-detail .portfolio-stage__detail{z-index:2;opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);filter:blur(0);transition:opacity .11s cubic-bezier(.23,1,.32,1),transform .11s cubic-bezier(.23,1,.32,1),filter 90ms ease,visibility 0s linear 0s}.portfolio-stage.is-detail .portfolio-stage__overview{z-index:1}.experience-split__stage:has(.portfolio-stage.is-overview) .asset-caption,.portfolio-stage.is-overview .asset-caption{opacity:0;visibility:hidden;transition:opacity .28s cubic-bezier(.23,1,.32,1),visibility 0s linear .28s}.experience-split__stage:has(.portfolio-stage.is-detail) .asset-caption,.portfolio-stage.is-detail~.asset-caption{transition:opacity .22s cubic-bezier(.23,1,.32,1),visibility 0s linear 0s}.portfolio-overview-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;-webkit-user-drag:none}.portfolio-card-img{filter:none!important;image-rendering:auto}.portfolio-flip-card__face{transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.portfolio-flip-card__face--front{transform:translateZ(1px)}.portfolio-flip-card__face--back{transform:rotateY(180deg) translateZ(1px)}.portfolio-flip-card{filter:drop-shadow(0 10px 18px rgba(0,0,0,.12))}@media (prefers-reduced-motion:reduce){.portfolio-stage.is-detail .portfolio-stage__detail,.portfolio-stage.is-overview .portfolio-stage__overview,.portfolio-stage__detail,.portfolio-stage__overview{transition:none;filter:none;transform:none}}.experience-split{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-rows:auto auto!important;grid-column-gap:28px!important;column-gap:28px!important;grid-row-gap:28px!important;row-gap:28px!important;width:100%!important;align-items:stretch!important;overflow:visible!important;position:relative!important}.experience-split__title{grid-column:1!important;grid-row:1!important}.experience-split__list-wrap{grid-column:1!important;grid-row:2!important;position:relative!important}.experience-split__list,.experience-split__list-wrap{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:visible!important}.experience-split__list{position:relative;flex:1 1 auto;gap:0;padding:0 2px;box-sizing:border-box}.experience-row-slot{flex:1 1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start}.experience-row-slot .experience-row{flex:1 1 auto;width:100%;height:100%;min-height:0;box-sizing:border-box;align-items:flex-start;padding-top:16px;padding-bottom:16px}.experience-breakdown-hint{position:fixed!important;right:auto!important;bottom:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:16px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:rgba(0,0,0,.55)!important;opacity:0;visibility:hidden;pointer-events:none!important;z-index:40!important;white-space:nowrap!important;width:max-content!important;height:auto!important;max-width:none!important;clip:auto!important;-webkit-clip-path:none!important;clip-path:none!important}.experience-breakdown-hint.is-placed{visibility:visible!important}.experience-breakdown-hint__copy{position:relative!important;transform:rotate(-16deg)!important;font-family:Caveat,cursive!important;font-size:calc(clamp(12px, 1.95vw, 18px) * var(--text-scale, 1))!important;line-height:1.15!important;text-align:right!important}.experience-breakdown-hint__copy,.experience-breakdown-hint__copy p{color:inherit!important;opacity:1!important;visibility:visible!important}.experience-breakdown-hint__copy p{margin:0!important;font:inherit!important}.experience-breakdown-hint__arrow{width:28px!important;height:25px!important;display:block!important;flex:none!important;opacity:.85!important;visibility:visible!important;transform:translate(4px) rotate(-8deg)!important;filter:none!important}.framer-TE0xJ .framer-15kcm7d-container,.framer-TE0xJ .framer-1yawfb4,.framer-TE0xJ .framer-5p485b,.framer-TE0xJ .framer-gb3rqp,.framer-TE0xJ .framer-lpkssc,.framer-TE0xJ .framer-mxkekt,.past-experiences-framer,.past-experiences-framer .experience-panel,.past-experiences-framer .experience-split,.past-experiences-framer .experience-split__list,.past-experiences-framer .experience-split__list-wrap,.past-experiences-framer>div{overflow:visible!important}.experience-split__stage{grid-column:2!important;grid-row:2!important;position:relative;display:flex;flex-direction:column;align-self:stretch;min-width:0;min-height:0}.experience-split__stage .portfolio-stage{width:100%!important;flex:1 1 auto;height:100%!important;min-height:0;aspect-ratio:unset!important}.past-experiences-framer .asset-caption{position:absolute;top:100%;left:0;right:0;margin:8px 0 0;width:100%;max-width:none;text-align:center;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:14px;line-height:154%;color:rgba(0,0,0,.6);pointer-events:none;transition:opacity .18s cubic-bezier(.23,1,.32,1)}:root[data-theme=dark] .past-experiences-framer .asset-caption{color:rgba(255,255,255,.6)}.experience-flip-hint{position:absolute;top:100%;left:0;right:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;margin-top:10px;pointer-events:none;color:#000;font-family:Caveat,cursive;font-size:calc(clamp(13px, 1.7vw, 17px) * var(--text-scale, 1));line-height:1.15;text-align:left}.experience-flip-hint p{margin:0;transform:rotate(-6deg) translateY(4px);white-space:nowrap}.experience-flip-hint .direction-hint-arrow{width:18px;height:auto;display:block;flex-shrink:0;opacity:.9;transform:rotate(-12deg) translateY(2px);filter:none}@media (max-width:809.98px){.experience-split{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:20px!important}.experience-split__list,.experience-split__list-wrap,.experience-split__stage,.experience-split__title{grid-column:auto!important;grid-row:auto!important}.experience-breakdown-hint{position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;align-items:center!important;align-self:flex-start!important;gap:10px!important;margin-bottom:8px!important;opacity:1!important;visibility:visible!important}.experience-breakdown-hint__copy{transform:rotate(-8deg)!important;text-align:left!important}.experience-split__stage .portfolio-stage{flex:none;height:auto!important;aspect-ratio:920/477!important}.experience-flip-hint{position:relative;top:auto;left:auto;right:auto;margin-top:8px}}:root[data-theme=dark] .past-experiences-framer .portfolio-stage{border:.5pt solid rgb(255 255 255/.12);box-sizing:border-box}:root[data-theme=dark] .experience-breakdown-hint,:root[data-theme=dark] .experience-breakdown-hint__copy,:root[data-theme=dark] .past-experiences-framer .direction-hint,:root[data-theme=dark] .past-experiences-framer .direction-hint-copy,:root[data-theme=dark] .past-experiences-framer .direction-hint-copy p,:root[data-theme=dark] .past-experiences-framer .experience-flip-hint,:root[data-theme=dark] .past-experiences-framer .experience-flip-hint p{color:rgba(255,255,255,.7)!important}:root[data-theme=dark] .experience-breakdown-hint__arrow{filter:invert(1)}@media (min-width:1400px){.past-experiences-framer .portfolio-stage{height:calc((50svh + 20cqw) * .7)!important}.experience-split__stage .portfolio-stage{height:auto!important;aspect-ratio:unset!important}}.framer-TE0xJ .framer-jjzfrt-container,.framer-TE0xJ .framer-jjzfrt-container video{height:auto!important;aspect-ratio:1700/1080!important;object-fit:contain}.playground-vault-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column-gap:15.75px;column-gap:15.75px;grid-row-gap:28px;row-gap:28px;align-items:start;width:100%}.framer-TE0xJ .playground-vault-row>.framer-1y0yjav{display:contents}.playground-vault-row .framer-1i32gb2{grid-column:1;grid-row:1}.playground-vault-row a.framer-1q5icqq{grid-column:1;grid-row:2;min-width:0}.framer-TE0xJ .playground-vault-row>.framer-1gh0mvh{grid-column:2;grid-row:2;width:auto;min-width:0;align-items:stretch;justify-content:flex-start;place-content:unset}@media (max-width:809.98px){.playground-vault-row{grid-template-columns:minmax(0,1fr)}.framer-TE0xJ .playground-vault-row>.framer-1gh0mvh,.playground-vault-row .framer-1i32gb2,.playground-vault-row a.framer-1q5icqq{grid-column:1;grid-row:auto}}.framer-TE0xJ .framer-1fwqk1w,.framer-TE0xJ .framer-1qsawwe{gap:15.75px}@media (min-width:810px){.framer-TE0xJ .framer-1fwqk1w{height:min-content;align-items:stretch}.framer-TE0xJ .framer-1arud5a{height:auto}.framer-TE0xJ .framer-aeu8rz-container{position:absolute;inset:0;flex:none;width:100%;height:100%}.framer-TE0xJ .framer-aeu8rz-container video{width:100%;height:100%;object-fit:cover;aspect-ratio:auto!important}}.framer-TE0xJ .framer-21asa9{gap:6px}.framer-TE0xJ .framer-18ll6rj{gap:60px}@media (min-width:1600px){.framer-TE0xJ .framer-mxkekt{padding-left:482px}}#main .framer-styles-preset-12321e8{--framer-font-weight:400;--framer-font-size:20px}@media (min-width:1600px){.framer-pR67w.framer-psrovs .framer-1vatj0o{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.framer-pR67w.framer-psrovs .framer-1vatj0o{background-color:transparent;padding:0;column-gap:8pt;row-gap:8pt}.framer-pR67w.framer-psrovs .framer-1e12s7x,.framer-pR67w.framer-psrovs .framer-1uckkl2,.framer-pR67w.framer-psrovs .framer-2jf91k,.framer-pR67w.framer-psrovs .framer-m2b86n{background-color:#fafafa;border-radius:0;padding:24px}.impact-stat__value{display:grid;grid-template-columns:auto 1fr;grid-column-gap:2pt;column-gap:2pt;grid-row-gap:4pt;row-gap:4pt;align-items:center;justify-items:start}.impact-stat__icon{grid-column:1;grid-row:2;color:rgb(0,0,0);opacity:.8;padding:2pt;display:flex;align-items:center;justify-content:center}.impact-stat__value>div:not(.impact-stat__icon):not(.impact-stat__label){grid-column:1/-1;grid-row:1;min-width:0}.impact-stat__label{grid-column:2;grid-row:2}.impact-stats{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.impact-stats .framer-1vatj0o{width:100%}.impact-stats .impact-stat__value>div:not(.impact-stat__icon):not(.impact-stat__label){overflow:visible;white-space:nowrap;word-break:normal;overflow-wrap:normal}.impact-stats .impact-stat__value>div:not(.impact-stat__icon):not(.impact-stat__label) p{display:inline-block;white-space:nowrap;overflow:visible;padding:.4em .45em;margin:-.4em -.45em;filter:blur(6px);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:filter .32s ease}.impact-stats.is-unlocked .impact-stat__value>div:not(.impact-stat__icon):not(.impact-stat__label) p{filter:none;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;pointer-events:auto}@media (prefers-reduced-motion:reduce){.impact-stats .impact-stat__value>div:not(.impact-stat__icon):not(.impact-stat__label) p{transition:none}}[data-sonner-toaster].site-toaster{position:fixed!important;top:auto!important;bottom:24px!important;left:0!important;right:0!important;width:auto!important;max-width:none!important;height:0!important;transform:none!important;pointer-events:none;--width:max-content!important;--border-radius:24px;--ease-out:cubic-bezier(0.23,1,0.32,1);transition:none!important}.site-toast[data-sonner-toast]{position:absolute!important;left:50%!important;right:auto!important;top:auto!important;bottom:0!important;margin:0!important;transform:translateX(-50%) var(--y)!important;transition:transform .24s var(--ease-out,cubic-bezier(.23,1,.32,1)),opacity .24s var(--ease-out,cubic-bezier(.23,1,.32,1))!important}.site-toast[data-sonner-toast][data-replay=true]{transform:translateX(-50%) translateY(100%)!important;opacity:0!important;transition:none!important}.site-toast[data-sonner-toast][data-removed=true]{transition-duration:.18s!important}.site-toast[data-sonner-toast][data-styled=true]{width:max-content!important;max-width:calc(100vw - 48px)!important;padding:10px 16px!important;border-radius:24px!important;justify-content:center;align-items:center;pointer-events:auto;overflow-wrap:normal;white-space:nowrap;font-family:Switzer,Switzer Placeholder,sans-serif!important;font-size:14px!important;font-weight:400!important;letter-spacing:-.1px!important}.site-toast[data-sonner-toast][data-styled=true] [data-content]{flex:0 0 auto;min-width:max-content;width:max-content}.site-toast[data-sonner-toast][data-styled=true] [data-title]{white-space:nowrap;text-align:center}@media (max-width:600px){[data-sonner-toaster].site-toaster{left:0!important;right:0!important;width:auto!important;height:0!important;transform:none!important}[data-sonner-toaster].site-toaster [data-sonner-toast]{left:50%!important;right:auto!important;width:max-content!important;transform:translateX(-50%) var(--y)!important}}.site-toast__icon{display:block;width:1.15em;height:1.15em;flex-shrink:0}@media (prefers-reduced-motion:reduce){.site-toast[data-sonner-toast]{transition:opacity .2s ease!important;transform:translateX(-50%)!important}}.lemon8-highlight{position:relative;z-index:0;display:inline-block;white-space:nowrap;color:inherit;text-decoration:none;cursor:pointer}.lemon8-highlight:before{content:"";position:absolute;left:0;right:0;bottom:.02em;height:calc(.2em + 2px);background-image:url(/assets/images/lemon8-highlight-stroke.svg);background-repeat:no-repeat;background-size:100% 100%;z-index:-1}.hand-strike{position:relative;top:2pt;z-index:0;display:inline-block;white-space:nowrap;color:inherit}.hand-strike:before{content:"";position:absolute;left:-2%;right:-2%;top:40%;height:.42em;transform:translateY(-50%);background-image:url(/assets/images/hand-strike-stroke.svg);background-repeat:no-repeat;background-size:100% 100%;z-index:-1}.hmw-break-desktop{display:none}@media (min-width:1200px){.hmw-break-desktop{display:block}}.framer-TE0xJ .framer-1pt38fk.about-duo-host{height:auto;overflow:visible;align-items:stretch;gap:28px}.about-heading__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;display:inline;font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;cursor:pointer;text-decoration:none;transition:color .15s ease}.about-heading__link:focus-visible{outline:2px solid rgb(var(--fg-rgb,0 0 0)/.35);outline-offset:2px;border-radius:2px}.about-heading__email-cluster{display:inline;white-space:nowrap}@media (hover:hover) and (pointer:fine){.about-heading__link--linkedin:hover{color:#3182ff}.about-heading__link--email:hover{color:#3dd5ff}}.framer-TE0xJ .framer-1y0yjav{gap:28px}.about-duo{display:flex;flex-direction:row;align-items:flex-start;gap:15.75px;width:100%}.framer-TE0xJ .about-duo>.about-duo__cell{flex:1 1;width:auto;min-width:0}:root[data-theme=dark] .about-envelope__card{background:rgb(255 255 255/.07)!important;background-color:rgb(255 255 255/.07)!important;border:.5pt solid rgb(255 255 255/.12)!important;box-sizing:border-box}:root[data-theme=dark] iframe[title="About Cherry — envelope"],:root[data-theme=dark] iframe[title^=Lanyard]{background:transparent!important;color-scheme:dark}:root[data-theme=dark] .asb-board{background:rgb(255 255 255/.07)!important;background-color:rgb(255 255 255/.07)!important;border:.5pt solid rgb(255 255 255/.12)!important;box-sizing:border-box}@media (max-width:809.98px){.about-duo{flex-direction:column;align-items:stretch}}.top-blur{--top-blur-h:64px;position:fixed;top:0;left:0;right:0;height:var(--top-blur-h);z-index:8;isolation:isolate;overflow:hidden;pointer-events:none;display:none}@media (max-width:1199.98px){.top-blur{display:block}}.top-blur__wash{position:absolute;inset:0;background:linear-gradient(to bottom,var(--page-bg,#ffffff) 0,rgb(from var(--page-bg,#ffffff) r g b/.987) 8.1%,rgb(from var(--page-bg,#ffffff) r g b/.951) 15.5%,rgb(from var(--page-bg,#ffffff) r g b/.896) 22.5%,rgb(from var(--page-bg,#ffffff) r g b/.825) 29%,rgb(from var(--page-bg,#ffffff) r g b/.741) 35.3%,rgb(from var(--page-bg,#ffffff) r g b/.648) 41.2%,rgb(from var(--page-bg,#ffffff) r g b/.55) 47.1%,rgb(from var(--page-bg,#ffffff) r g b/.45) 52.9%,rgb(from var(--page-bg,#ffffff) r g b/.352) 58.8%,rgb(from var(--page-bg,#ffffff) r g b/.259) 64.7%,rgb(from var(--page-bg,#ffffff) r g b/.175) 71%,rgb(from var(--page-bg,#ffffff) r g b/.104) 77.5%,rgb(from var(--page-bg,#ffffff) r g b/.049) 84.5%,rgb(from var(--page-bg,#ffffff) r g b/.013) 91.9%,rgb(from var(--page-bg,#ffffff) r g b/0) 100%)}.top-blur__layer{position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}body:has(.casestudy-root) .top-blur{--top-blur-h:72px}@media (max-width:1199.98px){.casestudy-theme-toggle.hidden-kbwdhd{display:flex!important;position:fixed;top:20px;right:24px;bottom:auto;left:auto;z-index:20}}.mobile-menu{display:none}@media (max-width:1199.98px){.mobile-menu{display:block}}.mobile-menu__trigger{position:fixed;top:18px;right:20px;z-index:40;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;background:none;color:var(--page-fg,#000);cursor:pointer;-webkit-tap-highlight-color:transparent}.mobile-menu__scrim{position:fixed;inset:0;z-index:38;background:rgb(from var(--page-bg,#fff) r g b/.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.mobile-menu__panel{position:fixed;top:62px;right:20px;z-index:39;min-width:180px;display:flex;flex-direction:column;gap:14px;padding:16px 18px;border-radius:16px;background:var(--page-bg,#fff);box-shadow:0 18px 48px -12px rgb(0 0 0/.22),0 0 0 1px rgb(from var(--page-fg,#000) r g b/.08);transform-origin:top right}.mobile-menu__group{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.mobile-menu__group+.mobile-menu__group{padding-top:14px;border-top:1px solid rgb(from var(--page-fg,#000) r g b/.08)}.mobile-menu__item{display:flex;align-items:center;padding:2px 0;border:0;background:none;color:var(--page-fg,#000);font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc(1rem * .86 * var(--text-scale, 1));line-height:1.4;text-decoration:none;cursor:pointer;opacity:.75;transition:opacity .16s ease}.mobile-menu__item:focus-visible,.mobile-menu__item:hover{opacity:1}@media (max-width:1199.98px){.experience-breakdown-hint,.experience-breakdown-hint__arrow,.experience-split__stage{display:none!important}

  /* !important to beat the base `.experience-split { display: grid !important }`
     — without it the list stayed locked in the grid's left column. */.experience-split{display:block!important}.experience-split__list,.experience-split__list-wrap{width:100%!important;max-width:none!important}.framer-ljs9x1{display:flex;flex-direction:column;align-items:stretch;gap:12px}.framer-ljs9x1>.framer-1fwqk1w,.framer-ljs9x1>.framer-1qsawwe{display:contents}.framer-ljs9x1 .framer-xkd640{order:1}.framer-ljs9x1 .framer-18crjnu{order:2}.framer-ljs9x1 .framer-1arud5a{order:3}.framer-ljs9x1 .framer-146wvo3{order:4}.framer-ljs9x1 .framer-146wvo3,.framer-ljs9x1 .framer-18crjnu,.framer-ljs9x1 .framer-1arud5a,.framer-ljs9x1 .framer-xkd640{width:100%;max-width:none}.framer-ljs9x1 .framer-1arud5a{margin-top:28px}.framer-ljs9x1 .framer-1arud5a,.framer-ljs9x1 .framer-1hpor4a-container,.framer-ljs9x1 .framer-aeu8rz-container,.framer-ljs9x1 .framer-xkd640{height:auto;min-height:0}.framer-ljs9x1 video{height:auto}.footer_book_pin,.footer_stage{height:435px}.footer_book{width:131px;height:170px;margin-left:-65.5px;top:50%;margin-top:-85px;top:190px;margin-top:0}.footer_resume{width:68px;bottom:-26px;left:calc(25px - 3%)}.footer_socials{top:auto;bottom:18px}.footer_icon{width:34px;height:34px}}:root[data-theme=dark] .framer-a0q182 svg,:root[data-theme=dark] .framer-a0q182 svg use,:root[data-theme=dark] .playground-vault-row .framer-1tw4k1q{color:#fff;fill:#fff}@media (max-width:1199.98px){.tiktok-media-trio__side{display:grid;grid-template-columns:1fr 1fr;align-items:start;grid-gap:12px;gap:12px}.tiktok-media-trio__side .tiktok-media{width:100%;min-width:0}.tiktok-media-pair{grid-template-columns:1fr 1fr;gap:12px}.tiktok-media-pair .tiktok-media-col{min-width:0}.loom-stack{padding-right:0!important}.loom-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.loom-table{min-width:560px}.framer-27g1vn{grid-template-columns:1fr 1fr!important;gap:24px 20px}}@media (max-width:1199.98px){body:has(.casestudy-root) .mobile-menu{display:none}}@media (max-width:1199.98px){.grumble-symptoms{grid-template-columns:1fr!important;gap:12px}.grumble-symptom{width:100%;min-width:0}.framer-ljs9x1 .framer-1arud5a,.framer-ljs9x1 .framer-aeu8rz-container{aspect-ratio:1704/1080;width:100%;height:auto}.framer-ljs9x1 .framer-aeu8rz-container video{aspect-ratio:1704/1080!important;width:100%;height:100%;object-fit:cover}.experience-row{gap:8px!important;align-items:flex-start}.experience-row>div:first-child{flex:1 1;min-width:0}.experience-row__date{flex:0 0 auto;margin:0;white-space:nowrap;text-align:right;line-height:140%}.who-line,.who-line #rest,.who-line .block,.who-line .line{width:100%;max-width:100%;min-width:0}.who-line .line--sub{width:100%;white-space:normal;overflow-wrap:break-word}.experience-panel,.experience-row,.experience-row-slot,.experience-split,.experience-split__list,.experience-split__list-wrap{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.grumble-stat-card__number,.grumble-stat-card__number span{font-size:32px!important}.experience-row__date,.experience-row__sub,.footer_credit-line,.grumble-reel__time,.project-card__context{font-size:max(10px,1em)}}.casestudy-theme-toggle{transition:opacity .22s cubic-bezier(.23,1,.32,1)}.casestudy-theme-toggle[data-at-footer=true]{opacity:0;pointer-events:none}.other-designs{width:100%;margin-top:72px;display:flex;flex-direction:column;gap:24px}.other-designs__title{margin:0;font-family:Switzer,Switzer Placeholder,sans-serif;font-size:calc(18px * var(--text-scale, 1));font-weight:400;letter-spacing:-.01em;line-height:140%;color:var(--page-fg,#000)}.other-designs__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;width:100%}.other-design{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fafafa;border-radius:0;padding:8%;box-sizing:border-box}.other-design__flip img,.other-design__still,.other-design__video{position:absolute;inset:8%;width:auto;height:auto;max-width:84%;max-height:84%;margin:auto;object-fit:contain;display:block}.other-design__flip{position:absolute;inset:0}.other-design__flip img{transition:opacity .14s linear}@media (prefers-reduced-motion:reduce){.other-design__flip img{transition:none}}:root[data-theme=dark] .other-design{background:rgb(255 255 255/.04);box-shadow:inset 0 0 0 1px rgb(255 255 255/.08)}:root[data-theme=dark] .other-designs__title{color:rgb(242 242 242/.88)}@media (max-width:1199.98px){.other-designs{margin-top:48px}.other-designs__grid{grid-template-columns:repeat(2,1fr);gap:12px}}.framer-TE0xJ .framer-a9nbwi{padding-bottom:20px}.who-line .intro-lines{margin-top:-4px}.who-line .intro-lines__line{font-size:calc(1em - 1px)}.loom-disclaimer{margin:10px 0 0;max-width:var(--measure,100%);font-family:Switzer,Switzer Placeholder,sans-serif;font-size:14px;line-height:150%;color:rgb(0 0 0/.4)}:root[data-theme=dark] .casestudy-root .loom-disclaimer{color:rgb(var(--fg-rgb)/.45)!important}