@font-face{font-family:Reddit Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/reddit-sans/regular.ttf)format("truetype")}@font-face{font-family:Reddit Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/reddit-sans/semibold.ttf)format("truetype")}@font-face{font-family:Reddit Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/reddit-sans/bold.ttf)format("truetype")}@font-face{font-family:Reddit Sans;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/reddit-sans/semibold-italic.ttf)format("truetype")}:root{--portfolio-font-family:"Reddit Sans", sans-serif;--portfolio-font-letter-spacing:0px;--portfolio-font-weight-regular:400;--portfolio-font-weight-semibold:600;--portfolio-h1-size:40px;--portfolio-h1-line-height:48px;--portfolio-h2-size:32px;--portfolio-h2-line-height:40px;--portfolio-h3-size:24px;--portfolio-h3-line-height:36px;--portfolio-text-l-size:20px;--portfolio-text-l-line-height:32px;--portfolio-text-m-size:16px;--portfolio-text-m-line-height:24px;--portfolio-text-s-size:14px;--portfolio-text-s-line-height:20px;--portfolio-accent:#822ef6;--portfolio-text-primary:#121417;--portfolio-text-secondary:#696c71;--portfolio-background-page:#f7f5fa;--portfolio-background-surface:#fff;--portfolio-border-default:#f7fafd;--portfolio-text-on-action:#fcfcfa;--portfolio-action-secondary:#6e10ef12;--portfolio-gradient-action:linear-gradient(90deg, #822ef6 19.431%, #a245fc 50.912%, #af4eff 75%);--portfolio-gradient-action-about:linear-gradient(90deg, #822ef6 22%, #9d43f5 65%, #a047e8);--portfolio-gradient-hero:linear-gradient(90deg, #cddae399 22.596%, #e4ebf15c 67.788%, #cddae31f 100%);--portfolio-radius:32px;--portfolio-content-width:1040px}.portfolio-email-feedback{z-index:100;background:var(--portfolio-background-surface);width:max-content;max-width:calc(100vw - 32px);color:var(--portfolio-text-primary);font:400 var(--portfolio-text-m-size) / var(--portfolio-text-m-line-height) var(--portfolio-font-family);border:0;border-radius:20px;align-items:flex-start;gap:12px;padding:8px 8px 8px 12px;display:flex;position:fixed;top:100px;right:20px;box-shadow:0 6px 24px #22133914}.portfolio-email-feedback [role=status]{align-items:center;gap:12px;display:flex}.portfolio-email-feedback [role=status]>svg{color:var(--portfolio-accent)}.portfolio-email-feedback-body{min-width:0;padding-top:8px}.portfolio-email-open{min-height:44px;color:var(--portfolio-text-primary);align-items:center;gap:4px;text-decoration:none;display:inline-flex}.portfolio-email-open:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:2px;border-radius:4px}.portfolio-email-feedback button{background:var(--portfolio-background-page);width:36px;height:36px;color:var(--portfolio-text-primary);cursor:pointer;border:0;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.portfolio-email-feedback button:hover{background:#822ef61a}.portfolio-email-feedback button:focus-visible{outline:2px solid var(--portfolio-accent)}.portfolio-email-selectable{-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;color:var(--portfolio-accent)}.portfolio-page{background:var(--portfolio-background-page);min-height:100vh;color:var(--portfolio-text-primary);font-family:var(--portfolio-font-family);font-size:var(--portfolio-text-m-size);font-weight:var(--portfolio-font-weight-regular);line-height:var(--portfolio-text-m-line-height);letter-spacing:var(--portfolio-font-letter-spacing)}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page button,.portfolio-page a{font-family:inherit}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page p,.portfolio-page figure{margin:0}.portfolio-page a{text-decoration:none}.portfolio-page :focus-visible{outline:3px solid var(--portfolio-accent);outline-offset:4px}.portfolio-page :is(#main-content,#work,#concepts){scroll-margin-top:108px}.portfolio-header{z-index:40;color:var(--portfolio-text-secondary);background:0 0;grid-template:"location brand actions"44px/minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:24px 40px;display:grid;position:sticky;top:0}.portfolio-header-leading{grid-area:location;justify-self:start;align-items:center;gap:12px;display:flex}.portfolio-header.portfolio-header--case-study{grid-template:"location actions"44px/44px minmax(0,1fr)}.portfolio-header--case-study .portfolio-nav{justify-self:end}.portfolio-back-link{border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;transition:background .16s;display:grid}.portfolio-back-link img{max-width:none;display:block}.portfolio-back-link:hover{background:var(--portfolio-background-surface)}.portfolio-back-link:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:3px}.portfolio-location{color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-m-size);font-weight:var(--portfolio-font-weight-regular);line-height:var(--portfolio-text-m-line-height);align-items:center;gap:4px;transition:opacity .16s;display:flex}.portfolio-location img{width:24px;height:24px;padding:1px 4px 2px}.portfolio-wordmark{color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-m-size);font-weight:var(--portfolio-font-weight-regular);line-height:var(--portfolio-text-m-line-height);white-space:nowrap;grid-area:brand;justify-self:center;transition:opacity .16s}.portfolio-header.is-scrolled :is(.portfolio-wordmark,.portfolio-location){opacity:0;visibility:hidden;pointer-events:none}.portfolio-nav{grid-area:actions;justify-self:end;align-items:center;gap:16px;display:flex}.portfolio-nav :is(a,button){background:var(--portfolio-background-surface);min-height:44px;color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-m-size);font-weight:var(--portfolio-font-weight-regular);line-height:var(--portfolio-text-m-line-height);border-radius:100px;justify-content:center;align-items:center;padding:6px 12px;transition:box-shadow .2s;display:inline-flex}.portfolio-nav .portfolio-nav-utility{width:44px;height:44px;font-size:var(--portfolio-text-m-size);line-height:var(--portfolio-text-m-line-height);flex:0 0 44px;padding:0}.portfolio-nav :is(a,button):hover{box-shadow:0 0 0 2px #822ef638}.portfolio-nav img{object-fit:contain;width:18px;height:18px;display:block}.portfolio-nav .portfolio-nav-about{background:var(--portfolio-accent);color:#f8f8f8}.portfolio-nav .portfolio-nav-home,.portfolio-mobile-nav{display:none}.portfolio-mobile-menu{z-index:60;width:224px;max-width:calc(100vw - 40px);max-height:var(--radix-popover-content-available-height);background:var(--portfolio-background-surface);color:var(--portfolio-text-secondary);font-family:var(--portfolio-font-family);font-size:var(--portfolio-text-m-size);line-height:var(--portfolio-text-m-line-height);border:1px solid #696c711a;border-radius:20px;flex-direction:column;gap:4px;padding:8px;display:flex;overflow-y:auto;box-shadow:0 8px 32px #28163c1f}.portfolio-mobile-menu :is(a,button){min-height:44px;color:inherit;font:inherit;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.portfolio-mobile-menu :is(a,button):hover{background:var(--portfolio-background-page)}.portfolio-mobile-menu :is(a,button):focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:-2px}.portfolio-mobile-menu :is(img,svg){object-fit:contain;flex:0 0 18px;width:18px;height:18px}.portfolio-skip-link{z-index:50;background:#fff;border-radius:8px;padding:8px 16px;position:absolute;top:8px;left:16px;transform:translateY(-200%)}.portfolio-skip-link:focus{transform:none}.portfolio-footer{flex-direction:column;gap:32px;width:100%;display:flex}.portfolio-footer--home{max-width:calc(var(--portfolio-content-width) + 88px);margin-inline:auto;padding:48px 44px 64px}.portfolio-contact{border:1px solid var(--portfolio-border-default);border-radius:var(--portfolio-radius);background:var(--portfolio-background-surface);text-align:center;flex-direction:column;align-items:center;gap:24px;padding:32px;display:flex}.portfolio-contact h2{font-size:var(--portfolio-h3-size);font-weight:var(--portfolio-font-weight-semibold);line-height:var(--portfolio-h3-line-height)}.portfolio-contact-copy{color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-l-size);line-height:var(--portfolio-text-l-line-height)}.portfolio-contact-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.portfolio-button{font-size:var(--portfolio-text-m-size);font-weight:var(--portfolio-font-weight-semibold);line-height:var(--portfolio-text-m-line-height);border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:12px 28px;transition:filter .2s;display:inline-flex}.portfolio-button:hover{filter:brightness(.95)}.portfolio-button img{width:16px;height:16px}.portfolio-button-primary{background:var(--portfolio-gradient-action);color:var(--portfolio-text-on-action)}.portfolio-button-secondary{background:var(--portfolio-action-secondary);color:var(--portfolio-accent)}.portfolio-contact-popover{z-index:60;background:var(--portfolio-background-surface);width:296px;max-width:calc(100vw - 32px);color:var(--portfolio-text-primary);font-family:var(--portfolio-font-family);font-size:var(--portfolio-text-m-size);line-height:var(--portfolio-text-m-line-height);border:1px solid #696c711a;border-radius:20px;padding:8px;box-shadow:0 8px 32px #28163c1f}.portfolio-contact-popover-arrow{fill:var(--portfolio-background-surface)}.portfolio-contact-option{width:100%;min-height:48px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}.portfolio-contact-option-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.portfolio-contact-email{font-size:var(--portfolio-text-s-size);line-height:var(--portfolio-text-s-line-height);color:var(--portfolio-text-secondary);overflow-wrap:anywhere}.portfolio-contact-option :is(img,svg){flex:0 0 18px;width:18px;height:18px}.portfolio-contact-linkedin{color:var(--portfolio-text-primary)}.portfolio-contact-linkedin>span{flex:1}.portfolio-contact-option:hover{background:var(--portfolio-background-page)}.portfolio-contact-option:focus-visible{outline:2px solid var(--portfolio-accent);outline-offset:-2px}.portfolio-contact-copy-error{color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-s-size);line-height:var(--portfolio-text-s-line-height);margin:0;padding:8px 12px}.portfolio-contact-copy-error>span{-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;display:block}.portfolio-footer-bottom{flex-direction:column;align-items:center;gap:2px;display:flex}.portfolio-social-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:0 24px;display:flex}.portfolio-social-links a{min-height:44px;color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-s-size);line-height:var(--portfolio-text-s-line-height);text-underline-offset:4px;overflow-wrap:anywhere;justify-content:center;align-items:flex-start;padding:6px 0;display:inline-flex}.portfolio-social-links a:hover{color:var(--portfolio-accent);text-decoration:underline}.portfolio-copyright{color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-s-size);line-height:var(--portfolio-text-s-line-height);text-align:center}.portfolio-footer--about{gap:36px;max-width:1112px}.portfolio-footer--about .portfolio-contact-copy{gap:4px;display:grid}.portfolio-footer--about .portfolio-contact{border:0}.portfolio-footer--about .portfolio-button-primary{background:var(--portfolio-gradient-action-about)}.portfolio-footer--about .portfolio-footer-bottom{padding-top:20px;box-shadow:inset 0 1px #696c7126}@media (width<=900px){.portfolio-header{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"location brand actions";column-gap:12px;padding:20px 24px}.portfolio-wordmark{justify-self:start}.portfolio-location{display:none}.portfolio-footer--home{padding-inline:24px}}@media (width<=640px){.portfolio-page :is(#main-content,#work,#concepts){scroll-margin-top:92px}.portfolio-header{padding:16px max(20px, env(safe-area-inset-right)) 16px max(20px, env(safe-area-inset-left));grid-template:"brand actions"44px/minmax(0,1fr) auto;gap:12px}.portfolio-header--home .portfolio-header-leading{display:none}.portfolio-header--home,.portfolio-header--about{padding-top:12px;padding-bottom:8px}.portfolio-header--about{grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"location brand actions";gap:8px}.portfolio-header .portfolio-wordmark{line-height:var(--portfolio-text-s-line-height);flex-direction:column;justify-self:start;align-items:flex-start;display:flex}.portfolio-header .portfolio-nav{display:none}.portfolio-mobile-nav{grid-area:actions;justify-self:end;align-items:center;gap:8px;display:flex}.portfolio-mobile-nav :is(a,button){min-width:44px;min-height:44px;color:var(--portfolio-text-secondary);font-size:var(--portfolio-text-s-size);font-weight:var(--portfolio-font-weight-regular);line-height:var(--portfolio-text-s-line-height);background:0 0;border:0;border-radius:24px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.portfolio-mobile-nav :is(a,button)>span{background:var(--portfolio-background-surface);border-radius:24px;justify-content:center;align-items:center;min-width:40px;height:40px;display:inline-flex}.portfolio-mobile-nav .portfolio-mobile-about>span{background:var(--portfolio-accent);color:var(--portfolio-text-on-action);padding-inline:14px}.portfolio-mobile-nav :is(a,button):hover>span{box-shadow:0 0 0 2px #822ef638}.portfolio-footer--home{padding:32px 20px}.portfolio-contact{padding:28px 20px}.portfolio-contact-copy{font-size:var(--portfolio-text-m-size);line-height:var(--portfolio-text-m-line-height)}.portfolio-button{padding:12px 20px}}.portfolio-header.is-scrolled{pointer-events:none}.portfolio-header.is-scrolled:before{content:"";z-index:-1;background:var(--portfolio-background-page);position:absolute;inset:0}.portfolio-header.is-scrolled :is(.portfolio-nav,.portfolio-mobile-nav,.portfolio-back-link,.portfolio-skip-link){pointer-events:auto}@media (width<=640px){.portfolio-header.is-scrolled:before{display:none}}.portfolio-header.has-contact-rail:before{display:none}.portfolio-header.has-contact-rail .portfolio-nav{flex-direction:column;gap:12px}@media (width>=1201px){.portfolio-header--case-study .portfolio-nav{top:24px;right:max(16px, env(safe-area-inset-right));grid-area:auto;position:absolute}}@media (width>=1256px){.portfolio-header--home .portfolio-nav,.portfolio-header--about .portfolio-nav{top:24px;right:max(16px, env(safe-area-inset-right));grid-area:auto;position:absolute}}@media (prefers-reduced-motion:reduce){.portfolio-page *,.portfolio-page :before,.portfolio-page :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
