@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(../media/f813d0b748b050e0-s.eb60fb62.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(../media/dcd150d580a10316-s.edc4ba47.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(../media/d261779aa92de579-s.d355e0bf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(../media/24ce79ed121239f3-s.8b1cf68a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:900;font-stretch:100%;font-display:swap;src:url(../media/f141b5b7abe57afc-s.p.0de3c900.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_sans_2cde5b4c-module__BERIYG__className{font-family:Nunito Sans,Nunito Sans Fallback;font-style:normal}.nunito_sans_2cde5b4c-module__BERIYG__variable{--font-nunito-sans:"Nunito Sans","Nunito Sans Fallback"}
:root{--background:#fff;--foreground:#000;--gray-light:#f5f5f5;--gray-medium:#666;--gray-dark:#333;--font-sans:"Nunito Sans",sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}html,body{height:100%}button{font-family:var(--font-sans)}.app-shell{flex-direction:row;width:100%;min-height:100vh;display:flex}.right-panel{background-color:#fff;border-radius:0;flex-direction:column;flex:1;align-items:flex-end;gap:24px;min-width:0;padding:24px;display:flex}.card{color:#666;text-align:center;contain:layout;background:rgba(0,0,0,.04);border-radius:28px;justify-content:center;align-items:center;height:max(420px,min(40vw,692px));padding:40px;font-size:14px;display:flex;position:relative}.card-full{width:100%;max-width:1240px}.card-row{gap:24px;width:100%;max-width:1240px;display:flex}.card-half{flex:1;width:100%;min-width:0}.left-panel{flex-direction:column;flex:0 0 max(480px,min(34vw,604px));min-width:360px;max-width:604px;height:100vh;padding:32px 40px;transition:flex-basis .3s;display:flex;position:-webkit-sticky;position:sticky;top:0}.left-panel .lp-header-row{align-items:center;gap:20px;display:flex}.left-panel .lp-content{justify-content:top;flex-direction:column;flex:1;min-height:0;padding-top:80px;display:flex;position:relative}.left-panel .lp-content>*{min-height:0}@media (max-height:800px){.left-panel .lp-content{padding-top:40px}.resume-section{scrollbar-width:none;max-height:calc(100vh - 240px);padding-right:12px;overflow-y:auto}.resume-section:hover{scrollbar-width:thin}.resume-section::-webkit-scrollbar{width:0;height:0}.resume-section:hover::-webkit-scrollbar{width:6px}.resume-section:hover::-webkit-scrollbar-track{background:0 0}.resume-section:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:999px}.resume-section:after{content:"";pointer-events:none;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.92),#fff);flex-shrink:0;height:52px;display:block;position:-webkit-sticky;position:sticky;bottom:0}}.left-panel .lp-footer{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.mobile-footer{display:none}.left-panel .lp-footer-copy{color:rgba(0,0,0,.5);font-size:14px}.left-panel .lp-footer-label{margin-right:8px}.left-panel .lp-footer-social{align-items:center;display:flex}.left-panel .lp-footer-buttons{gap:0;display:flex}.left-panel .social-button{cursor:pointer;opacity:.64;background:0 0;border:none;border-radius:20px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.left-panel .social-button:hover{opacity:1;background:rgba(0,0,0,.05)}.left-panel .social-button:active{opacity:1;background:rgba(0,0,0,.08)}.logo-button{cursor:pointer;background:#000;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.logo-button:hover{transition:transform .2s cubic-bezier(.4,0,.2,1);transform:scale(1.05)}.logo-button:active{transition:transform .1s cubic-bezier(.4,0,.2,1);transform:scale(.98)}.left-panel .lp-nav{gap:0;margin-left:-4px;display:flex}.left-panel .lp-nav button{font-size:15px;line-height:20px}.left-panel .lp-tab{color:rgba(0,0,0,.54);cursor:pointer;background:0 0;border:none;border-radius:18px;height:36px;padding:0 12px;font-weight:500;transition:color .1s,transform .1s;position:relative}.left-panel .lp-tab:before{content:"";z-index:-1;background:rgba(0,0,0,.04);border-radius:50%;width:0;height:0;transition:all .1s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.left-panel .lp-tab:hover{color:#000}.left-panel .lp-tab:hover:before{border-radius:18px;width:100%;height:100%}.left-panel .lp-tab:active{transform:scale(.96)}.left-panel .lp-tab.is-active{color:#000}.intro-section{flex-direction:column;gap:32px;display:flex}.top-content{flex-direction:column;justify-content:center;gap:32px;padding-bottom:20px;display:flex}.greeting-title{align-items:center;gap:6px;display:inline-flex}.greeting-hand{transform-origin:50%;width:32px;height:32px;transition:transform var(--hand-rest-duration,.25s)ease;cursor:grab;transform:translateY(-2px)rotate(-32deg)}.greeting-hand-wrapper{--hand-burst-duration:1.2s;--hand-splash-duration:.36s;--hand-hover-duration:.28s;--hand-active-duration:.2s;--hand-rest-duration:.25s;justify-content:center;align-items:center;display:inline-flex;position:relative}.greeting-hand-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.greeting-hand-splash{opacity:0;pointer-events:none;z-index:-1;background:rgba(255,206,86,.6);border-radius:50%;width:52px;height:52px;position:absolute;top:60%;left:54%;transform:translate(-50%,-50%)scale(.9)}.greeting-hand-splash--active{animation:greeting-hand-splash var(--hand-splash-duration,.36s)ease-out forwards}.greeting-hand-particle{opacity:0;width:20px;height:20px;transform:translate(-50%,-50%)translate(var(--start-dx,0px),var(--start-dy,0px))scale(1)rotate(var(--start-rot,0deg));position:absolute}.greeting-hand-burst--active .greeting-hand-particle{animation:greeting-hand-pop var(--hand-burst-duration,1ms)ease-out forwards;animation-delay:var(--delay,0s)}@keyframes greeting-hand-pop{0%{opacity:0;transform:translate(-50%,-50%)translate(var(--start-dx,0px),var(--start-dy,0px))scale(.6)rotate(var(--start-rot,0deg))}30%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)translate(var(--dx,0px),var(--dy,-24px))scale(.9)rotate(var(--end-rot,0deg))}}@keyframes greeting-hand-splash{0%{opacity:.8;transform:translate(-50%,calc(-50% - 10px))scale(.4)}70%{opacity:.2;transform:translate(-50%,calc(-50% - 10px))scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 10px))scale(1.18)}}.greeting-hand:hover{transition-duration:var(--hand-hover-duration,var(--hand-rest-duration,.25s));transform:translateY(-5px)translate(3px)rotate(-10deg)scale(1.1)}.greeting-hand:active{cursor:grabbing;transition-duration:var(--hand-active-duration,var(--hand-rest-duration,.25s));transform:translateY(-6px)translate(3px)rotate(-9deg)scale(1.25)}.intro-heading{letter-spacing:-1%;font-size:22px;line-height:30px}.intro-heading-strong{color:#000;margin-bottom:6px;font-weight:700}.intro-hero{letter-spacing:-1.6%;font-size:42px;font-weight:800;line-height:42px}.intro-hero-spacing{color:#000;margin-bottom:12px}.cta-section{align-items:center;gap:16px;display:flex}.trusted-by{flex-direction:column;gap:4px;display:flex;position:relative}.trusted-by-text{color:rgba(0,0,0,.5);font-size:14px}.trusted-logo{width:32px;height:32px}.trusted-logos{white-space:nowrap;width:100%;padding:0;position:relative;overflow:hidden}.trusted-logos:before,.trusted-logos:after{content:"";pointer-events:none;z-index:2;width:max(12px,min(10vw,32px));position:absolute;top:0;bottom:0}.trusted-logos:before{background:linear-gradient(90deg,#fff,rgba(255,255,255,0));left:0}.trusted-logos:after{background:linear-gradient(270deg,#fff,rgba(255,255,255,0));right:0}.logos-slide{align-items:center;gap:28px;animation:200s linear infinite scroll-logos;display:inline-flex}.trusted-logos img{opacity:.4;width:auto;height:32px;transition:opacity .3s}@keyframes scroll-logos{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes logos-fade{0%,.8%{opacity:0}2%,98%{opacity:1}99.2%,to{opacity:0}}.cta-button{color:#fff;cursor:pointer;background-color:#000;border:none;border-radius:32px;outline:none;justify-content:center;align-items:center;width:auto;max-width:-moz-fit-content;max-width:fit-content;padding:16px 24px;font-size:18px;font-weight:600;line-height:20px;text-decoration:none;transition:background-color .2s,transform .1s;display:inline-flex}.cta-button:active{transform:scale(.96)}.cta-button:hover{background-color:#1f2937}.lottie-button{position:relative;overflow:hidden}.lottie-button .cta-button__label{z-index:1;position:relative}.teaser-cta{transition:transform .1s linear;position:relative;overflow:hidden}.teaser-cta.is-hovered{transform:scale(1.03)}.teaser-cta .cta-label{z-index:1;position:relative}.cta-lottie{pointer-events:none;opacity:0;transition:opacity .5s;position:absolute}.cta-lottie--primary{width:160%;height:160%;top:-30%;bottom:-30%;left:-30%;right:-30%}.cta-lottie--teaser{width:180%;height:180%;top:-40%;bottom:-40%;left:-40%;right:-40%}.lottie-button:hover .cta-lottie{opacity:1}.lottie-button:focus-visible .cta-lottie{opacity:1}.cta-email-wrapper{will-change:transform;align-items:center;display:flex;position:relative}.cta-email__label{z-index:1;position:relative}.cta-email{color:rgba(0,0,0,.8);cursor:pointer;white-space:nowrap;overflow:show;text-overflow:ellipsis;background-color:rgba(0,0,0,.035);border:none;border-radius:32px;align-items:center;max-width:238px;padding:16px 22px;font-size:18px;font-weight:500;line-height:20px;transition:background-color .24s cubic-bezier(.4,0,.2,1),color .24s cubic-bezier(.4,0,.2,1);display:inline-block}.cta-email-wrapper:hover .cta-email{padding-right:52px;overflow:hidden}.cta-email:hover{color:#000;background-color:rgba(0,0,0,.06)}.copy-wrapper{opacity:0;pointer-events:none;z-index:2;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:absolute;right:0;transform:scale(.9)}.cta-email-wrapper:hover .copy-wrapper{opacity:1;pointer-events:all;transform:scale(1)}.copy-btn{opacity:.6;cursor:pointer;background-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:opacity .2s;display:flex}.copy-btn:hover{opacity:1;background-color:rgba(0,0,0,.04)}.copy-btn:active{transition:transform .1s;transform:scale(1)}.tooltip-wrapper{display:inline-block;position:relative}.copy-tooltip{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:rgba(0,0,0,.9);border-radius:12px;padding:6px 10px;font-size:13px;font-weight:500;line-height:19px;transition:opacity .2s,transform .2s;position:absolute;left:50%;transform:translate(-50%)translateY(0)}.copy-wrapper .copy-tooltip{bottom:56px}.copy-wrapper:hover .copy-tooltip{opacity:1;transition-delay:.2s;transform:translate(-50%)translateY(-2px)}.tooltip-wrapper .copy-tooltip{bottom:48px;transform:translate(-46%)translateY(-2px)}.tooltip-wrapper:hover .copy-tooltip{opacity:1;transition-delay:.2s;transform:translate(-46%)translateY(-2px)}.greeting-hand-click-tooltip{bottom:56px}.greeting-hand-click-tooltip.is-visible{opacity:1;transform:translate(-50%)translateY(-4px)}.greeting-hand-tooltip{transition:opacity .4s,transform .4s;bottom:52px;transform:translate(-50%)translateY(10px)}.greeting-hand-tooltip.is-visible{opacity:1;transform:translate(-50%)translateY(0)}.greeting-hand-tooltip.is-leaving{opacity:0;transform:translate(-50%)translateY(-40px)}.hand-tooltip{color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:rgba(0,0,0,.9);border-radius:12px;padding:6px 10px;font-size:13px;font-weight:500;line-height:19px;transition:opacity .4s,transform .4s;position:absolute;left:50%;transform:translate(-50%)translateY(0)}.cta-download{color:rgba(0,0,0,.85);transform-origin:50%;background:rgba(0,0,0,.035);border:none;border-radius:28px;align-self:flex-start;align-items:center;gap:8px;padding:16px 22px 16px 18px;font-size:18px;font-weight:500;line-height:20px;text-decoration:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background-color .24s,color .24s,box-shadow .24s,border-color .24s;display:inline-flex;transform:translateY(0)scale(1)}.cta-download svg{width:18px;height:18px}.cta-download:hover{color:rgba(0,0,0,.95);background:rgba(0,0,0,.06);transform:translateY(-1px)scale(1.03)}.cta-download:active{transform:translateY(0)scale(.98)}.about-section{flex-direction:column;display:flex}.about-copy{flex-direction:column;gap:16px;display:flex}.about-text{color:#000;font-size:18px;line-height:24px}.about-gallery{align-items:flex-end;margin-top:40px;margin-left:4px;display:flex}.intro-subtext{color:#000;max-width:480px;font-size:18px;line-height:24px}.about-photo{z-index:1;width:92px;height:92px;position:relative}.about-photo-frame{background:#f7f7f7;border-radius:20px;outline:4px solid #fff;width:92px;height:92px;transition:width .18s,height .18s,border-radius .18s,box-shadow .18s,transform .18s;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px rgba(0,0,0,.12)}.about-photo-frame img,.about-photo img{object-fit:cover;width:100%;height:100%;display:block}.about-photo--1 .about-photo-frame{transform:translate(-50%)rotate(-7.86deg)translateY(1px)}.about-photo--2 .about-photo-frame{transform:translate(-40%)rotate(3.4deg)translateY(0)}.about-photo--3 .about-photo-frame{transform:translate(-60%)rotate(-6.53deg)translateY(-1px)}.about-photo--4 .about-photo-frame{transform:translate(-50%)rotate(4.49deg)translateY(1px)}.about-photo--2{z-index:2;margin-left:-20px}.about-photo--3{z-index:3;margin-left:0}.about-photo--4{z-index:4;margin-left:-20px}.about-photo:hover{z-index:10}.about-photo:hover .about-photo-frame{cursor:pointer;border-radius:28px;width:132px;height:152px;box-shadow:-10px 10px 30px rgba(0,0,0,.1)}.about-photo--1 .about-photo-frame:hover{transform:translate(-50%)rotate(-3deg)translateY(15%)}.about-photo--2 .about-photo-frame:hover{transform:translate(-50%)rotate(2deg)translateY(15%)}.about-photo--3 .about-photo-frame:hover{transform:translate(-50%)rotate(-3deg)translateY(15%)}.about-photo--4 .about-photo-frame:hover{transform:translate(-50%)rotate(3deg)translateY(15%)}.about-photo--2:hover .about-photo-frame{transform:translate(-40%)rotate(0)translateY(13%)}.about-photo--3:hover .about-photo-frame{transform:translate(-60%)rotate(0)translateY(13%)}.about-tooltip{color:#000;opacity:0;pointer-events:none;white-space:nowrap;background:#fff;border-radius:16px;align-items:center;gap:8px;padding:10px 14px;transition:opacity .16s,transform .16s;display:inline-flex;position:absolute;top:calc(100% + 40px);left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 14px 34px rgba(0,0,0,.06)}.about-photo--1 .about-tooltip{left:54%;transform:translate(-50%)translateY(6px)}.about-photo--1:hover .about-tooltip{transform:translate(-88px)translateY(0)}.about-photo--2 .about-tooltip{left:65%;transform:translate(-50%)translateY(6px)}.about-photo--2:hover .about-tooltip{transform:translate(0)translateY(0)}.about-photo--3 .about-tooltip{left:38%;transform:translate(-50%)translateY(6px)}.about-photo--3:hover .about-tooltip{transform:translate(0)translateY(0)}.about-tooltip-icon{color:rgba(0,0,0,.8);background:rgba(0,0,0,.06);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.about-tooltip-text{color:rgba(0,0,0,.8);font-size:14px;font-weight:300;line-height:18px}.about-photo:hover .about-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.about-section{overflow:visible}.resume-section{flex-direction:column;gap:0;min-height:0;display:flex;position:relative}.section-title{margin-bottom:24px;font-size:32px;font-weight:800;line-height:32px}.resume-list{margin-top:12px;position:relative}.resume-row{gap:12px;margin-bottom:32px;padding-left:4px;display:flex}.resume-logo{opacity:.9;flex:0 0 28px;width:28px;height:28px;margin-top:5px;overflow:hidden}.resume-logo img{object-fit:contain;width:100%;height:100%;display:block}.resume-body{flex:auto}.resume-date{color:rgba(0,0,0,.6);margin-bottom:3px;font-size:14px;font-weight:400;line-height:20px}.resume-title{color:#000;margin-bottom:4px;font-size:18px;font-weight:600;line-height:20px}.resume-desc{color:rgba(0,0,0,.8);font-size:16px;font-weight:300;line-height:20px}.resume-summary{color:#000;margin-top:32px;font-size:16px;font-weight:300;line-height:20px}.teaser-card{box-sizing:border-box;background:#fafafa;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:100%;padding:40px;display:flex;position:relative;overflow:hidden}.card.teaser-card-wrapper{align-items:stretch;padding:0}.card.teaser-card-wrapper .teaser-card{border-radius:inherit;width:100%;height:100%}.teaser-images{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}.teaser-img{will-change:auto;filter:drop-shadow(0 24px 64px rgba(0,0,0,.08));transition:none;position:absolute}.teaser-content{z-index:10;text-align:center;box-sizing:border-box;width:100%;padding:40px;position:relative}.teaser-title{letter-spacing:-.01em;text-align:center;color:#000;margin-bottom:24px;font-size:40px;font-weight:800;line-height:40px}.teaser-text{color:rgba(0,0,0,.7);margin-top:32px;margin-bottom:-4px;font-size:14px;line-height:14px}.teaser-card .cta-email-wrapper{align-items:center;max-width:238px;margin:0 auto;display:flex;position:relative}.teaser-card .cta-email{color:rgba(0,0,0,.8);cursor:pointer;white-space:nowrap;overflow:show;text-overflow:ellipsis;background-color:transparent;border:none;border-radius:32px;align-items:center;max-width:238px;padding:16px 22px;font-size:18px;font-weight:500;line-height:20px;transition:background-color .2s;display:inline-block}.teaser-card .cta-email-wrapper:hover .cta-email{padding-right:52px;overflow:hidden}.landing-container{cursor:pointer;border-radius:20px;outline:.5px solid rgba(0,0,0,.04);flex-direction:column;width:max(400px,min(50vw,800px));height:max(234px,min(29.25vw,468px));transition:transform .2s;display:flex;position:relative;overflow:hidden;transform:scale(1);box-shadow:0 12px 80px rgba(0,0,0,.06)}.landing-container:hover{transition:transform .3s;transform:scale(1.02)}.portfolio-image{object-fit:cover;object-position:top;width:100%;height:auto}.portfolio-footer{letter-spacing:-.1px;color:rgba(0,0,0,.4);align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;bottom:max(1px,min(2vw,24px));left:50%;transform:translate(-50%)}.portfolio-icon{opacity:.76;width:20px;height:20px}.portfolio-label{color:rgba(0,0,0,.5);font-size:12px;font-weight:500}.mobile-container{justify-content:space-between;align-items:center;width:max(400px,min(50vw,800px));height:max(234px,min(32vw,520px));display:flex;position:relative}.mobile-container-single{justify-content:center;align-items:center;width:max(400px,min(50vw,800px));height:max(234px,min(32vw,520px));display:flex;position:relative}.mobile-box{cursor:pointer;background:0 0;border-radius:max(12px,min(3vw,28px));outline:.5px solid rgba(0,0,0,.04);flex-direction:column;flex:0 auto;width:auto;min-width:0;height:100%;transition:transform .2s;display:flex;overflow:hidden;transform:scale(1);box-shadow:0 12px 80px rgba(0,0,0,.06)}.mobile-box:hover{transition:transform .3s;transform:scale(1.02)}.mobile-box img{object-fit:contain;width:auto;height:100%;display:block}.modal-backdrop{z-index:1000;background-color:rgba(0,0,0,.7);justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{cursor:default;pointer-events:none;justify-content:center;align-items:center;width:calc(100vw - 40px);height:calc(100vh - 40px);padding:20px;animation:.2s ease-out scaleIn;display:flex;position:relative}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.modal-close{color:#fff;cursor:pointer;z-index:1001;pointer-events:auto;opacity:.78;background:rgba(0,0,0,.7);border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background-color .2s,transform .1s;display:flex;position:fixed;top:20px;right:20px}.modal-close:hover{opacity:.96;background:rgba(0,0,0,.9)}.modal-close:active{transform:scale(.96)}.modal-image{object-fit:contain;pointer-events:auto;width:auto;max-width:100%;height:auto;max-height:100%;transition:transform .3s ease-out;animation:.2s ease-out imageSlideIn}@keyframes imageSlideIn{0%{transform:scale(.9),translateX(20px),translateY(20px);opacity:.5}to{transform:scale(1),translateX(0),translateY(0);opacity:1}}@media (max-width:1023px){.app-shell{background:linear-gradient(#fff 0%,rgba(0,0,0,.05) 50%,#fff 100%);flex-direction:column}.left-panel{flex:none;width:100%;max-width:100%;height:auto;padding:32px 24px;position:relative}.left-panel .lp-header{padding:0}.left-panel .lp-nav{flex-wrap:wrap}.left-panel .lp-tab:before{opacity:0;transition:width .1s cubic-bezier(.4,0,.2,1),height .1s cubic-bezier(.4,0,.2,1),border-radius .1s cubic-bezier(.4,0,.2,1),opacity 1s}.left-panel .lp-tab:active{color:#000;transform:scale(.96)}.left-panel .lp-tab:active:before{opacity:1;border-radius:18px;width:100%;height:100%;transition:width .1s cubic-bezier(.4,0,.2,1),height .1s cubic-bezier(.4,0,.2,1),border-radius .1s cubic-bezier(.4,0,.2,1),opacity}.left-panel .lp-content{padding:64px 0 0}.left-panel .lp-footer{display:none}.right-panel{background:0 0;flex:1;gap:48px;margin-top:40px;padding:0}.card{color:#666;text-align:center;background:0 0;border-radius:0;flex-direction:column;justify-content:flex-start;align-items:center;height:auto;min-height:auto;padding:0;font-size:14px;display:flex;position:relative;overflow:visible}.landing-container{aspect-ratio:16/9;border-radius:16px;outline:.5px solid rgba(0,0,0,.1);flex-direction:column;width:calc(100% - 48px);height:auto;margin-bottom:16px;margin-left:24px;margin-right:24px;display:flex;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.05)}.landing-container:hover{transform:scale(1)}.mobile-container{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;gap:24px;width:100vw;max-width:100vw;height:auto;margin:0 0 16px 49px;padding:1px 48px 1px 24px;overflow-x:auto;overflow-y:visible}.mobile-box:hover{transform:scale(1)}.mobile-container-single{justify-content:center;width:100%;max-width:100%;height:auto;margin-bottom:16px;overflow:visible}.portfolio-footer{justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex;position:relative;bottom:auto;left:auto;transform:none}.mobile-box{width:auto;min-width:auto;height:400px;box-shadow:0 8px 40px rgba(0,0,0,.08);box-shadow:none;scroll-snap-align:start;border-radius:16px;outline:.5px solid rgba(0,0,0,.2);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.mobile-box img{object-fit:contain;width:auto;height:100%;display:block}.mobile-container::-webkit-scrollbar{display:none}.mobile-container{-ms-overflow-style:none;scrollbar-width:none}.intro-heading{font-size:20px;line-height:28px}.intro-hero{letter-spacing:-20px;font-size:40px;line-height:36px}.intro-subtext{color:#000;max-width:428px;font-size:18px;line-height:24px}.section-title{letter-spacing:-.3px;margin-bottom:16px;font-size:32px;font-weight:800;line-height:32px}.cta-section{align-items:center;gap:12px;width:100%;display:flex}.cta-button{flex-shrink:0;padding:14px 20px;font-size:16px}.cta-email-wrapper{flex:0 auto;align-items:center;min-width:0;max-width:100%;display:flex;position:relative}.cta-email{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:0;max-width:100%;padding:14px 50px 14px 16px;font-size:16px;overflow:hidden}.cta-email-wrapper:hover .cta-email{color:rgba(0,0,0,.8);background-color:rgba(0,0,0,.035);padding-right:50px;overflow:hidden}.cta-email:hover{color:rgba(0,0,0,.8);background-color:rgba(0,0,0,.035)}.copy-btn{transition:transform .2s,opacity .2s,background-color .2s}.copy-btn:hover{opacity:.6;background-color:transparent}.copy-btn:active{background-color:rgba(0,0,0,.08);transform:scale(.9)}.cta-email-wrapper .copy-wrapper{opacity:1;pointer-events:all}.left-panel .social-button{width:36px;height:36px}.portfolio-footer{font-size:11px;bottom:16px}.portfolio-icon{width:16px;height:16px}.card-row{flex-direction:column;padding-left:24px;padding-right:24px}.card-half{width:100%;padding:0}.teaser-card{background:rgba(0,0,0,.04);border-radius:28px;flex-direction:column;order:2;justify-content:center;align-items:center;min-height:520px;padding-top:20px;display:flex;overflow:hidden}.card-half:not(.teaser-card){order:1}.teaser-title{letter-spacing:-.01em;text-align:center;color:#000;margin-bottom:24px;font-size:32px;font-weight:800;line-height:32px}.teaser-text{color:rgba(0,0,0,.7);margin-top:32px;margin-bottom:-4px;font-size:14px;line-height:14px}.teaser-card .cta-email-wrapper{flex:0 auto;align-items:center;min-width:0;max-width:100%;margin-left:16px;display:flex;position:relative}.teaser-card .cta-email{text-overflow:ellipsis;white-space:nowrap;width:auto;min-width:0;max-width:100%;padding:14px 50px 14px 16px;font-size:16px;overflow:hidden}.teaser-card .cta-email-wrapper:hover .cta-email{color:rgba(0,0,0,.8);background-color:rgba(0,0,0,.035);padding-right:50px;overflow:hidden}.teaser-card .cta-email:hover{color:rgba(0,0,0,.8);background-color:rgba(0,0,0,.035)}.teaser-card .copy-btn{transition:transform .2s,opacity .2s,background-color .2s}.teaser-card .copy-btn:hover{opacity:.6;background-color:transparent}.teaser-card .copy-btn:active{background-color:rgba(0,0,0,.08);transform:scale(.9)}.teaser-card .cta-email-wrapper .copy-wrapper{opacity:1;pointer-events:all}.mobile-footer{justify-content:space-between;align-items:center;width:100%;min-height:60px;margin-top:auto;padding:24px;display:flex}.mobile-footer-buttons{opacity:.8;align-items:center;gap:16px;padding-top:6px;display:flex}.mobile-footer-copy{color:rgba(0,0,0,.5);font-size:14px}}
