@import url(https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&family=Roboto:wght@300;400;500;700;900&display=swap);html{color-scheme:light;scroll-behavior:smooth}:root{--white-100:#fff;--green-100:#3ddc84;--gold:#f0a500;--blue-400:#1565c0;--blue-300:#2196f3;--blue-200:#90caf9;--blue-100:#90caf91f;--gray-500:#1f2428;--gray-400:#24292e;--gray-300:#2d333b;--gray-200:#3f4244;--gray-100:#a8b2bc}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;font-family:Roboto,sans-serif;margin:0;padding:0}.flex-container{display:flex;min-height:100vh;overflow-x:hidden;position:relative}.main-container{background-color:var(--gray-400);margin-left:17.5rem;overflow-x:hidden;width:calc(100vw - 17.5rem)}.main-wrapper{align-items:center;display:flex;min-height:calc(100vh - 76px);overflow-x:hidden}h1{color:var(--white-100)}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:var(--gray-500);color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hamburger-menu{display:none}@media screen and (max-width:1150px){.main-container{margin-left:auto;width:100vw}.hamburger-menu{background-color:var(--gray-500);border:none;cursor:pointer;display:block;height:30px;outline:none;position:fixed;right:10px;top:41px;z-index:1000}.line-1,.line-2,.line-3{background-color:var(--white-100);height:2px;margin:7px;transition:all .3s;width:30px}.line-1.active{transform:rotate(-45deg) translate(-7px,7px)}.line-2.active{opacity:0}.line-3.active{transform:rotate(45deg) translate(-5.5px,-6px)}}.title-bar{background-color:var(--gray-500);border-bottom:1px solid var(--gray-300);color:var(--white-100);font-size:13px;height:40px;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:20}.title-bar,.title-name{align-items:center;display:flex}.title-name{gap:6px}.title-btn{align-items:center;display:flex;gap:10px;left:10px;position:absolute}.close,.maximize,.minimize{border-radius:50%;height:12px;width:12px}.close{background-color:#bf616a}.minimize{background-color:#ebcb8b}.maximize{background-color:#a3be8c}.navbar{background-color:var(--gray-500);border-bottom:1px solid var(--gray-300);height:52px;justify-content:space-between;left:0;padding:0 2.5rem;position:fixed;right:0;top:40px;width:100%;z-index:10}.navbar,.navbar-links{align-items:center;display:flex}.navbar-links{gap:.25rem}.nav-link{background:none;border:none;color:var(--gray-100);cursor:pointer;font-family:Roboto,sans-serif;font-size:14px;letter-spacing:.3px;padding:.4rem 1rem;position:relative;transition:color .2s}.nav-link:after{background-color:var(--blue-200);bottom:0;content:"";height:2px;left:1rem;position:absolute;right:1rem;transform:scaleX(0);transition:transform .2s ease}.nav-link.active,.nav-link:hover{color:var(--white-100)}.nav-link.active:after{transform:scaleX(1)}.navbar-actions{align-items:center;display:flex;gap:1rem}.lang-toggle{background:none;border:1px solid var(--gray-200);border-radius:4px;color:var(--gray-100);cursor:pointer;font-family:Roboto,sans-serif;font-size:12px;letter-spacing:.5px;padding:.3rem .65rem;transition:color .2s,border-color .2s}.lang-toggle:hover{border-color:var(--blue-200);color:var(--white-100)}.navbar-hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:4px}.navbar-hamburger span{background-color:var(--white-100);border-radius:2px;display:block;height:2px;transition:all .25s ease;width:22px}.navbar-hamburger.open span:first-child{transform:translateY(7px) rotate(45deg)}.navbar-hamburger.open span:nth-child(2){opacity:0}.navbar-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.navbar-mobile-menu{background-color:var(--gray-500);border-bottom:1px solid var(--gray-300);display:none;flex-direction:column;left:0;padding:.5rem 0;position:absolute;right:0;top:52px;z-index:9}.mobile-nav-link{background:none;border:none;color:var(--gray-100);cursor:pointer;font-family:Roboto,sans-serif;font-size:14px;padding:.75rem 2rem;text-align:left;transition:background-color .2s,color .2s}.mobile-nav-link.active,.mobile-nav-link:hover{background-color:var(--gray-400);color:var(--white-100)}.mobile-lang{margin:.5rem 2rem;width:-moz-fit-content;width:fit-content}@media screen and (max-width:768px){.navbar-actions,.navbar-links{display:none}.navbar-hamburger,.navbar-mobile-menu{display:flex}}.hero-inner{display:flex;flex-direction:column;gap:3.5rem;margin:0 auto;max-width:1100px;width:100%}.hero-top{align-items:center;display:flex;gap:5rem}.hero-left{flex:1 1}.hero-iam{color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.6rem;font-weight:300;margin-bottom:.2rem}.hero-name{color:var(--white-100);font-family:Roboto,sans-serif;font-size:4rem;font-weight:900;line-height:1.05;margin-bottom:.6rem}.hero-name-underline{background-color:var(--gold);border-radius:2px;height:3px;margin-bottom:1.5rem;width:80px}.hero-role{align-items:center;color:var(--blue-200);display:flex;font-family:Fira Code,monospace;font-size:1.25rem;font-style:italic;font-weight:400;gap:.15rem;margin-bottom:2.25rem;min-height:2rem}.hero-role:after{animation:blink 1s step-start infinite;color:var(--blue-200);content:"|";font-style:normal;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-intro{color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.1rem;line-height:1.55;margin-bottom:2.5rem;margin-top:5rem;max-width:460px}.hero-right{align-items:center;display:flex;flex-shrink:0;justify-content:center;position:relative}.hero-right:before{background:radial-gradient(ellipse at center,#3ddc8438 0,#3ddc8414 45%,#0000 70%);content:"";inset:-50px;pointer-events:none;position:absolute;z-index:0}.hero-polaroid{background:#f0ebe0;box-shadow:0 4px 10px #00000073,0 10px 28px #00000040;display:inline-block;padding:10px 10px 52px;position:relative;transform:rotate(-1.5deg);z-index:1}.hero-polaroid:before{background:#b49e708c;border-radius:2px;content:"";height:22px;left:50%;position:absolute;top:-13px;transform:translateX(-50%);width:66px}.hero-image{border-radius:0;display:block;height:340px;object-fit:cover;object-position:top;position:relative;width:320px;z-index:1}.hero-companies{align-items:flex-start;border-top:1px solid var(--gray-300);display:flex;flex-direction:column;gap:1.25rem;max-width:460px;padding-top:1.5rem}.companies-label{color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.72rem;letter-spacing:1px;text-transform:uppercase}.hero-companies .marquee-wrapper{width:460px}.marquee-wrapper{mask-image:linear-gradient(90deg,#0000 0,#000 10%,#000 90%,#0000);-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10%,#000 90%,#0000);max-width:100%;overflow:hidden;width:100%}.marquee-wrapper:hover .marquee-track{animation-play-state:paused}.marquee-track{animation:marquee 22s linear infinite;display:flex;gap:1rem;width:max-content}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(calc(-50% - .5rem))}}.company-chip{align-items:center;background-color:var(--gray-300);border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;outline:none;padding:.55rem .9rem;transition:border-color .2s,transform .15s;white-space:nowrap}.company-chip:hover{border-color:var(--gold);transform:translateY(-2px)}.company-logo-badge{align-items:center;background:#ffffffed;border-radius:5px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.company-logo-img{display:block;max-height:100%;max-width:100%;object-fit:contain}@media screen and (max-width:1000px){.hero-top{flex-direction:column-reverse;gap:2.5rem;text-align:center}.hero-name{font-size:3rem}.hero-name-underline{margin:0 auto 1.25rem}.hero-role{justify-content:center}.hero-image{height:210px;width:200px}.hero-polaroid{padding:8px 8px 40px}.hero-intro,.hero-tagline{max-width:100%}.hero-cv-wrapper{width:100%}.btn-hero-cv{justify-content:center;width:100%}.hero-companies{gap:1rem}}@media screen and (max-width:480px){.hero-name{font-size:2.25rem}.hero-stats{gap:1.5rem}}.exp-inner{margin:0 auto;max-width:1100px;width:100%}.pipeline-window{background:#0d1117;border:1px solid #30363d;border-radius:12px;box-shadow:0 0 0 1px #ffffff08,0 24px 64px #000000a6,0 8px 24px #00000073;overflow:hidden}.pipeline-window-header{align-items:center;background:#21262d;border-bottom:1px solid #30363d;display:flex;gap:.75rem;padding:.65rem 1.25rem;-webkit-user-select:none;user-select:none}.pipeline-traffic-lights{display:flex;gap:.42rem}.tl-dot{border-radius:50%;height:12px;width:12px}.tl-dot--red{background:#ff5f57}.tl-dot--yellow{background:#ffbd2e}.tl-dot--green{background:#28c840}.pipeline-window-title{color:var(--gray-100);flex:1 1;font-family:Fira Code,monospace;font-size:.75rem;letter-spacing:.3px;text-align:center}.pipeline-status-badge{align-items:center;background:#3ddc841a;border:1px solid #3ddc8440;border-radius:20px;color:#3ddc84;display:flex;font-family:Fira Code,monospace;font-size:.65rem;gap:.3rem;padding:.15rem .55rem}.pipeline-status-dot{animation:status-pulse 2.5s ease-in-out infinite;background:#3ddc84;border-radius:50%;height:6px;width:6px}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.35}}.pipeline-toolbar{align-items:center;background:#161b22;border-bottom:1px solid #30363d;color:var(--gray-100);display:flex;font-family:Fira Code,monospace;font-size:.62rem;gap:.75rem;padding:.42rem 1.25rem}.ptb-sep{color:#30363d}.ptb-val{color:var(--blue-200)}.exp-header{margin-bottom:3rem;text-align:left}.pipeline-lane-header{align-items:center;background:#161b22;border-bottom:1px solid #30363d;border-top:1px solid #30363d;display:flex;gap:.75rem;padding:.4rem 1.25rem}.pipeline-lane-label{color:var(--gold);font-family:Fira Code,monospace;font-size:.62rem;letter-spacing:.3px}.sm-scroll{cursor:grab;overflow-x:auto;overflow-y:visible;padding:1rem 0 2rem;scrollbar-color:var(--blue-200) #ffffff0a;scrollbar-width:thin}.sm-scroll::-webkit-scrollbar{height:3px}.sm-scroll::-webkit-scrollbar-track{background:#ffffff0a}.sm-scroll::-webkit-scrollbar-thumb{background:var(--blue-200);border-radius:2px}.sm-scroll--parallel{cursor:default;padding:.5rem 0 1.25rem}.sm-scroll--parallel .sm-track{gap:1.5rem}.sm-track{flex-direction:row;gap:0;min-width:max-content;padding:2.5rem 3rem}.sm-initial,.sm-track{align-items:center;display:flex}.sm-initial{flex-shrink:0}.sm-initial-dot{background:var(--blue-200);border-radius:50%;box-shadow:0 0 0 3px #90caf926;flex-shrink:0;height:14px;width:14px}.sm-arrow{align-items:center;display:flex;flex-shrink:0}.sm-arrow-line{background:#90caf947;height:1.5px;width:32px}.sm-arrowhead{border-color:#0000 #0000 #0000 #90caf947;border-style:solid;border-width:4px 0 4px 7px;flex-shrink:0;height:0;width:0}.sm-transition{flex-shrink:0;gap:.3rem}.sm-state-wrap,.sm-transition{align-items:center;display:flex;flex-direction:column}.sm-state-wrap{animation:sm-enter .5s ease both;animation-delay:calc(var(--idx)*.1s);padding-top:28px;position:relative}.sm-year-badge{background:#0d1117e6;border:1px solid #90caf947;border-radius:20px;color:var(--blue-200);font-family:Fira Code,monospace;font-size:.7rem;font-weight:700;left:50%;letter-spacing:.4px;padding:.18rem .6rem;position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.sm-year-badge--current{background:#0d1117f2;border-color:#f0a50066;color:var(--gold)}@keyframes sm-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.sm-state{background:#161b22;border:1px solid #30363d;border-radius:10px;border-top:3px solid #90caf980;box-shadow:0 2px 12px #0006;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1rem 1.1rem;position:relative;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s;width:210px}.sm-state:hover{border-color:#90caf973;border-top-color:var(--blue-200);box-shadow:0 10px 32px #0000008c;transform:translateY(-5px)}.sm-state--current{background:#f0a5000a;border-color:#f0a50040;border-top-color:var(--gold);box-shadow:0 0 0 1px #f0a50014,0 4px 20px #f0a5001a}.sm-state--sabbatical{background:hsla(0,0%,100%,.015);border:1px dashed #a8b2bc47;border-top:3px dashed #a8b2bc38;box-shadow:none;opacity:.65}.sm-state--sabbatical:hover{background:#ffffff08;border-color:#a8b2bc66 #a8b2bc73 #a8b2bc73;box-shadow:0 8px 24px #0000004d;opacity:.85;transform:translateY(-5px)}.sm-state--sabbatical .sm-name{color:var(--gray-100)}.sm-state--sabbatical .sm-role{color:var(--gray-100);opacity:.7}.sm-state--sabbatical .sm-years{color:#a8b2bc73}.sm-logo--sabbatical{background:#a8b2bc0f;border-color:#a8b2bc2e}.sm-sabbatical-icon{font-size:1rem;opacity:.45}.sm-sabbatical-icon--lg{font-size:1.5rem;opacity:.5}.sm-state--parallel{border-top-color:#f0a50066}.sm-state--parallel:hover{border-top-color:var(--gold)}.sm-state--current:hover{border-color:#f0a50073;border-top-color:var(--gold);box-shadow:0 0 0 2px #f0a5001a,0 12px 32px #f0a5002e}.sm-card-top{align-items:flex-start;display:flex;gap:.6rem}.sm-logo{align-items:center;background:#fff;border:1px solid #90caf933;border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.sm-state--current .sm-logo{border-color:#f0a50059}.sm-logo-img{height:100%;object-fit:cover;width:100%}.sm-logo-initials{color:var(--blue-200);font-family:Roboto,sans-serif;font-size:.9rem;font-weight:700;line-height:1}.sm-logo-initials--lg{font-size:1.4rem}.sm-card-title{display:flex;flex:1 1;flex-direction:column;gap:.12rem;min-width:0}.sm-name{color:var(--white-100);font-family:Roboto,sans-serif;font-size:.8rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-state--current .sm-name{color:var(--gold)}.sm-client{color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.65rem}.sm-status-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.58rem;font-weight:700;height:18px;justify-content:center;width:18px}.sm-status-icon--done{background:#3ddc841a;border:1.5px solid #3ddc8459;color:#3ddc84}.sm-status-icon--running{background:#0000;border:1.5px solid #f0a50059;position:relative}.sm-status-icon--running:after{animation:pipeline-spin .85s linear infinite;border-bottom:2px solid #0000;border-left:2px solid #0000;border-radius:50%;border-right:2px solid #f0a50073;border-top:2px solid #0000;border-top-color:var(--gold);content:"";height:9px;position:absolute;width:9px}@keyframes pipeline-spin{to{transform:rotate(1turn)}}.sm-card-body{border-top:1px solid #ffffff0f;display:flex;flex-direction:column;gap:.2rem;padding-top:.65rem}.sm-role{color:var(--blue-200);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.7rem;line-height:1.3}.sm-tags{display:flex;flex-wrap:wrap;gap:.3rem}.sm-tag{border-radius:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.4px;padding:.12rem .4rem;text-transform:uppercase}.sm-tag--tech{background:#539bf51f;border:1px solid #539bf533;color:var(--blue-200)}.sm-tag--context{background:#f0a5001a;border:1px solid #f0a50033;color:var(--gold)}.sm-tag--domain{background:#3ddc8414;border:1px solid #3ddc8426;color:var(--green-100)}.sm-final{flex-shrink:0;padding-left:4px}.sm-final,.sm-final-outer{align-items:center;display:flex}.sm-final-outer{border:2px solid var(--gold);border-radius:50%;box-shadow:0 0 8px #f0a50040;height:18px;justify-content:center;width:18px}.sm-final-inner{background:var(--gold);border-radius:50%;height:9px;width:9px}.sm-overlay{align-items:center;animation:sm-fade .18s ease;background:#000000bf;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:200}@keyframes sm-fade{0%{opacity:0}to{opacity:1}}.sm-detail{animation:sm-rise .22s ease;background:#161b22;border:1px solid #30363d;border-radius:16px;max-width:540px;padding:2rem;position:relative;width:100%}@keyframes sm-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sm-detail-close{align-items:center;background:#ffffff12;border:none;border-radius:50%;color:var(--gray-100);cursor:pointer;display:flex;font-size:.72rem;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .15s,color .15s;width:30px}.sm-detail-close:hover{background:#ffffff24;color:var(--white-100)}.sm-detail-header{align-items:flex-start;display:flex;gap:1.25rem;margin-bottom:1.25rem}.sm-detail-logo{align-items:center;background:#fff;border:2px solid var(--blue-200);border-radius:50%;display:flex;flex-shrink:0;height:52px;justify-content:center;overflow:hidden;width:52px}.sm-detail-logo img{height:68%;object-fit:contain;width:68%}.sm-detail-meta{display:flex;flex-direction:column;gap:.25rem}.exp-company-block{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.exp-company{color:var(--white-100);font-family:Roboto,sans-serif;font-size:1.05rem;font-weight:700}.exp-client{color:var(--gray-100);font-size:.9rem}.exp-badge,.exp-client{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.exp-badge{border-radius:20px;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.15rem .55rem;text-transform:uppercase}.current-badge{background-color:#f0a50026;border:1px solid #f0a5004d;color:var(--gold)}.exp-period{color:var(--gray-100);font-size:.8rem}.exp-period,.exp-role{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.exp-role{color:var(--blue-200);font-size:.88rem;margin:0}.exp-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.exp-tag{border-radius:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.2rem .6rem;text-transform:uppercase}.exp-tag--tech{background-color:#539bf51f;border:1px solid #539bf540;color:var(--blue-200)}.exp-tag--context{background-color:#f0a5001a;border:1px solid #f0a50040;color:var(--gold)}.exp-tag--domain{background-color:#3ddc8414;border:1px solid #3ddc8433;color:var(--green-100)}.exp-highlights{border-top:1px solid #ffffff12;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:1rem 0 0}.exp-highlights li{color:var(--white-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.88rem;line-height:1.6;padding-left:1.1rem;position:relative}.exp-highlights li:before{color:var(--gold);content:"▸";font-size:.72rem;left:0;position:absolute;top:.22rem}@keyframes card-pulse{0%{box-shadow:0 0 0 0 #58a6ff80}50%{box-shadow:0 0 0 8px #58a6ff00}to{box-shadow:0 0 0 0 #58a6ff00}}.exp-card--highlighted>.sm-state{animation:card-pulse .8s ease-out 2}@media screen and (max-width:600px){.sm-track{padding:1.5rem}.sm-state{padding:.9rem;width:175px}.sm-logo{height:32px;width:32px}.sm-arrow-line{width:18px}.sm-detail{padding:1.5rem}.pipeline-toolbar{font-size:.58rem;gap:.5rem}}.about-inner{gap:2.5rem;margin:0 auto;max-width:1100px;width:100%}.about-header,.about-inner{display:flex;flex-direction:column}.heading-accent{color:inherit}.bento-card{background:#fff;border:none;border-radius:16px;box-shadow:0 2px 4px #00000014,0 8px 20px #00000012}.about-selection{display:flex;flex-direction:column;gap:1rem;margin-bottom:32px;margin-right:32px;position:relative}.selection-frame-group{bottom:-30px;left:-15px;pointer-events:none;position:absolute;right:-30px;top:-15px;z-index:2}.about-selection-frame{border:1.5px dashed #1565c080;border-radius:6px;inset:0;position:absolute}.frame-corner{border-color:var(--blue-400);border-style:solid;height:10px;pointer-events:none;position:absolute;width:10px}.fc-tl{border-width:2px 0 0 2px;left:-5px;top:-5px}.fc-tr{border-width:2px 2px 0 0;right:-5px;top:-5px}.fc-bl{border-width:0 0 2px 2px;bottom:-5px;left:-5px}.selection-cursor{bottom:-20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));pointer-events:none;position:absolute;right:-14px}.bento-photo-bio{display:flex;padding:0;position:relative}.about-photo-wrapper{border-radius:16px 0 0 16px;flex-shrink:0;overflow:hidden;position:relative;width:240px}.about-photo{display:block;height:100%;object-fit:cover;object-position:top;width:100%}.bento-bio-text{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;min-width:0;padding:1.75rem 2rem 0}.about-paragraph{color:#4a5568;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.85}.about-highlight{color:var(--blue-400);font-weight:600}.bio-companies{border-top:1px solid #00000012;display:flex;flex-direction:column;gap:.85rem;overflow:hidden;padding:1.25rem 0 1.75rem}.bio-companies .companies-label{color:#9ca3af;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.65rem;letter-spacing:1px;text-transform:uppercase}.bio-companies .company-chip{background-color:#f5f5f5;border-color:#0000;box-shadow:0 1px 3px #00000014;padding:.35rem .5rem}.bio-companies .company-chip:hover{border-color:var(--blue-400);box-shadow:0 2px 8px #0000001f}.bio-companies .company-logo-badge{border-radius:4px;height:42px;width:42px}.bio-skills{display:flex;flex-wrap:wrap;gap:.6rem}.bio-skill-chip{align-items:center;background:#1565c012;border:1px solid #1565c026;border-radius:999px;color:#1f2428;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;font-weight:500;gap:.45rem;padding:.35rem .85rem;transition:background .15s,border-color .15s}.bio-skill-chip:hover{background:#1565c01f;border-color:var(--blue-400)}.bio-skill-icon{color:var(--blue-400);flex-shrink:0;font-size:.82rem}@media screen and (max-width:860px){.bento-photo-bio{flex-direction:column}.about-photo-wrapper{border-radius:16px 16px 0 0;height:220px;width:100%}.about-photo{object-position:center 30%}.selection-frame-group{bottom:-20px;left:-10px;right:-20px;top:-10px}.about-selection{margin-bottom:22px;margin-right:22px}}.proj-inner{margin:0 auto;max-width:1100px;width:100%}.proj-header{margin-bottom:3.5rem;text-align:left}.proj-stage{display:flex;justify-content:center}.proj-device{align-items:stretch;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#ffffff8c;border:1px solid #ffffffbf;border-radius:44px;box-shadow:0 4px 16px #00000014,0 16px 48px #0000001a;display:flex;gap:16px;padding:20px}.phone-shell{background:linear-gradient(170deg,#2c2c30,#18181c 60%,#111114);border-radius:36px;box-shadow:inset 0 0 0 1px #ffffff17,inset 1px 0 0 #ffffff0a,inset -1px 0 0 #ffffff0a;flex-shrink:0;height:580px;position:relative;width:272px}.phone-btn{border-radius:2px;position:absolute}.phone-btn--vol-up{top:116px}.phone-btn--vol-down,.phone-btn--vol-up{background:linear-gradient(90deg,#252525,#444);border-radius:2px 0 0 2px;height:34px;left:-3px;width:3px}.phone-btn--vol-down{top:162px}.phone-btn--power{background:linear-gradient(270deg,#252525,#444);border-radius:0 2px 2px 0;height:58px;right:-3px;top:136px;width:3px}.phone-screen{border-radius:28px;inset:8px;overflow:hidden}.phone-punch-hole,.phone-screen{background:#000;position:absolute}.phone-punch-hole{border-radius:50%;box-shadow:0 0 0 1.5px #ffffff12;height:13px;left:50%;top:13px;transform:translateX(-50%);width:13px;z-index:20}.phone-status{align-items:center;display:flex;height:40px;justify-content:space-between;left:0;padding:0 18px;pointer-events:none;position:absolute;right:0;top:0;z-index:15}.phone-time{color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.3px}.phone-status-icons{align-items:center;color:#fff;display:flex;gap:5px}.phone-home{display:flex;flex-direction:column;inset:0;padding-top:40px;position:absolute;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s cubic-bezier(.4,0,.2,1);z-index:1}.phone-home--behind{opacity:0;pointer-events:none;transform:scale(.9)}.phone-wallpaper{background:linear-gradient(160deg,#0a1628,#0d1b3e 40%,#12082b);inset:0;position:absolute;z-index:0}.app-grid{grid-gap:18px 28px;display:grid;gap:18px 28px;grid-template-columns:repeat(2,62px);margin:auto;padding-bottom:54px;position:relative;z-index:1}.app-icon-btn{background:none;border:none;cursor:pointer;flex-direction:column;gap:6px;padding:0}.app-icon,.app-icon-btn{align-items:center;display:flex}.app-icon{border-radius:18px;box-shadow:0 4px 16px #00000080,inset 0 1px 0 #ffffff26;height:62px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease;width:62px}.app-icon-btn:hover .app-icon{transform:scale(1.08)}.app-icon-btn:active .app-icon{transform:scale(.94)}.app-glyph{font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:1.75rem;line-height:1}.app-label{color:#ffffffe0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6rem;font-weight:500;max-width:72px;overflow:hidden;text-align:center;text-overflow:ellipsis;text-shadow:0 1px 4px #000c;white-space:nowrap}.android-nav{align-items:center;background:#000000b3;border-top:1px solid #ffffff0d;bottom:0;display:flex;height:44px;justify-content:space-evenly;left:0;pointer-events:none;position:absolute;right:0;z-index:2}.android-nav--app{flex-shrink:0;pointer-events:auto;position:relative}.android-nav-btn{align-items:center;background:none;border:none;border-radius:8px;color:#fff9;cursor:pointer;display:flex;justify-content:center;padding:8px 14px;transition:background .15s}.android-nav-btn:hover{background:#ffffff14}.android-nav-btn:active{background:#ffffff26}.android-nav-btn--recents{cursor:default}.android-nav-btn--recents:active,.android-nav-btn--recents:hover{background:none}.android-nav-icon{color:#fff9;flex-shrink:0}.android-nav-home{border:1.8px solid #fff9;border-radius:50%;height:20px;width:20px}.android-nav-recents{border:1.8px solid #fff9;border-radius:3px;height:16px;width:16px}.phone-app{animation:app-enter .3s cubic-bezier(.4,0,.2,1);background:#111;display:flex;flex-direction:column;inset:0;padding-top:40px;position:absolute;z-index:2}@keyframes app-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}.phone-app--exiting{animation:app-exit .28s cubic-bezier(.4,0,.2,1) forwards}@keyframes app-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}.phone-app-body{flex:1 1;overflow:hidden;position:relative}.phone-app-media{background:#000;height:100%;object-fit:contain;width:100%}.phone-app-placeholder{align-items:center;display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center;width:100%}.phone-placeholder-glyph{filter:drop-shadow(0 4px 16px rgba(0,0,0,.5));font-size:3.5rem;line-height:1}.phone-placeholder-label{color:#ffffffe6;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;font-weight:700}.phone-placeholder-hint{color:#ffffff73;font-family:Fira Code,monospace;font-size:.65rem;letter-spacing:.3px}.proj-panel{background:#fff;border-radius:28px;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;overflow-y:auto;scrollbar-width:none;width:272px}.proj-panel .proj-hint{align-items:center;color:#00000040;display:flex;flex:1 1;flex-direction:column;gap:.75rem;justify-content:center;padding:2rem}.proj-panel .proj-hint-arrow{animation:hint-pulse 2s ease-in-out infinite;font-size:1.8rem}.proj-panel .proj-hint p{font-family:Fira Code,monospace;font-size:.78rem;letter-spacing:.3px}@keyframes play-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.play-listing{animation:play-enter .25s ease;display:flex;flex-direction:column}.play-header{align-items:flex-start;display:flex;gap:.9rem;padding:1.25rem 1.25rem 1rem}.play-icon{align-items:center;border-radius:16px;box-shadow:0 2px 8px #0003;display:flex;flex-shrink:0;font-size:1.9rem;height:64px;justify-content:center;width:64px}.play-title-block{display:flex;flex-direction:column;gap:.2rem;padding-top:.1rem}.play-app-name{color:#202124;font-family:Roboto,sans-serif;font-size:1rem;font-weight:700;line-height:1.2;margin:0}.play-developer{color:#01875f;font-family:Roboto,sans-serif;font-size:.78rem;font-weight:500}.play-category{color:#5f6368;font-family:Roboto,sans-serif;font-size:.72rem}.play-divider{background:#f1f3f4;height:1px;margin:0 1.25rem}.play-install-btn{background:#01875f;border:none;border-radius:50px;color:#fff;cursor:pointer;display:block;font-family:Roboto,sans-serif;font-size:.88rem;font-weight:600;letter-spacing:.25px;margin:.9rem 1.25rem;padding:.6rem 0;text-align:center;text-decoration:none;transition:background .15s}.play-install-btn:hover{background:#017550}.play-about{display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1.25rem .75rem}.play-about-label{color:#202124;font-weight:700}.play-about-label,.play-about-text{font-family:Roboto,sans-serif;font-size:.8rem}.play-about-text{color:#5f6368;line-height:1.55;margin:0}.play-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.25rem .9rem}.play-chip{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:50px;color:#1b5e20;font-size:.68rem;font-weight:500;letter-spacing:.2px;padding:.25rem .65rem}.play-chip,.play-source-link{font-family:Roboto,sans-serif}.play-source-link{align-items:center;color:#5f6368;display:flex;font-size:.78rem;gap:.45rem;padding:.75rem 1.25rem;text-decoration:none;transition:color .15s}.play-source-link:hover{color:#202124}.proj-hint{align-items:center;color:#ffffff40;display:flex;flex-direction:column;gap:.75rem;text-align:center}.proj-hint-arrow{animation:hint-pulse 2s ease-in-out infinite;font-size:1.8rem}@keyframes hint-pulse{0%,to{opacity:.25;transform:translateX(0)}50%{opacity:.5;transform:translateX(-6px)}}.proj-hint p{font-family:Fira Code,monospace;font-size:.78rem;letter-spacing:.3px}@media screen and (max-width:720px){.proj-device{align-items:center;border-radius:28px;flex-direction:column;gap:16px;padding:16px}.proj-panel{max-height:360px;overflow-y:auto;width:272px}.play-chips{justify-content:center}.play-listing{text-align:center}.play-header{justify-content:center}}.test-section{display:flex;flex-direction:column;gap:2.5rem;width:100%}.test-header{margin:0 auto;max-width:1100px;padding:0 2rem;width:100%}.test-marquee-outer{display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding:.5rem 0}.test-marquee-row{overflow-x:clip}@keyframes marquee-left{0%{transform:translateX(0)}to{transform:translateX(-25%)}}@keyframes marquee-right{0%{transform:translateX(-25%)}to{transform:translateX(0)}}.test-marquee-track{animation:marquee-left 38s linear infinite;display:flex;gap:1rem;padding:6px 0 12px;width:max-content}.test-marquee-track--reverse{animation:marquee-right 42s linear infinite}.test-marquee-track--reverse:hover,.test-marquee-track:hover{animation-play-state:paused}.test-card{background:#fff;border:none;border-radius:12px;box-shadow:0 1px 1px 0 #00000024,0 2px 1px -1px #0000001f,0 1px 3px 0 #0003;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:.75rem;padding:1.25rem;transition:box-shadow .25s ease,transform .25s ease;-webkit-user-select:none;user-select:none;width:280px}.test-card:hover{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f;transform:translateY(-3px)}.test-card--accent{background:#eef4ff}.test-card-label{color:#aaa;font-family:Fira Code,monospace;font-size:.65rem;letter-spacing:.4px}.test-card-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#2c2c2c;display:-webkit-box;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8rem;line-height:1.6;margin:0;overflow:hidden}.test-card-text strong{color:#1a1a2e;font-weight:700}.test-card-footer{border-top:1px solid #0000000f;gap:.6rem;padding-top:.65rem}.test-avatar,.test-card-footer{align-items:center;display:flex}.test-avatar{border-radius:50%;color:#fff;flex-shrink:0;font-family:Roboto,sans-serif;font-size:.7rem;font-weight:700;height:36px;justify-content:center;width:36px}.test-card-author{display:flex;flex:1 1;flex-direction:column;gap:.08rem;min-width:0}.test-card-name{color:#1f2428;font-family:Roboto,sans-serif;font-size:.78rem;font-weight:700}.test-card-name,.test-card-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-card-role{color:#999;font-family:Fira Code,monospace;font-size:.65rem;letter-spacing:.2px}.test-card-quote-mark{align-self:flex-end;color:#90caf973;flex-shrink:0;font-family:Georgia,serif;font-size:2.4rem;font-weight:700;line-height:1;margin-bottom:-4px}.test-modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0000008c;display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:100}.test-modal{background:#fff;border-radius:16px;box-shadow:0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f,0 11px 15px -7px #0003;max-width:480px;padding:2rem 2rem 1.75rem;position:relative;width:100%}.test-modal-close{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.6rem;line-height:1;padding:.2rem .4rem;position:absolute;right:1rem;top:.85rem;transition:color .15s}.test-modal-close:hover{color:#333}.test-modal-quote{color:#90caf980;display:block;font-family:Georgia,serif;font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.test-modal-text{color:#2c2c2c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.92rem;line-height:1.75;margin:0 0 1.5rem}.test-modal-text strong{color:#1a1a2e;font-weight:700}.test-modal-footer{align-items:center;border-top:1px solid #0000000f;display:flex;gap:.6rem;padding-top:1rem}.contact-inner{margin:0 auto;max-width:860px;width:100%}.contact-header{margin-bottom:3rem}.contact-email{margin-bottom:2rem}.contact-email-link{align-items:center;border-bottom:1px solid #90caf959;color:var(--blue-200);display:inline-flex;font-family:Fira Code,monospace;font-size:1.1rem;gap:.5rem;padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s}.contact-email-link:hover{border-color:var(--blue-200);color:var(--white-100)}.contact-cv{display:flex;flex-direction:column;gap:1rem}.contact-cv-label{color:var(--gray-100);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem}.cv-wrapper{display:inline-block;position:relative}.btn-cv{align-items:center;background-color:var(--blue-300);border:none;border-radius:6px;color:var(--white-100);cursor:pointer;display:inline-flex;font-family:Roboto,sans-serif;font-size:.9rem;font-weight:500;gap:.5rem;height:46px;outline:none;padding:0 1.5rem;transition:background-color .2s}.btn-cv:hover{background-color:var(--blue-400)}.chevron{margin-left:.1rem;transition:transform .2s ease}.chevron.open{transform:rotate(180deg)}.cv-dropdown{background-color:var(--gray-300);border:1px solid var(--gray-200);border-radius:6px;left:0;min-width:100%;overflow:hidden;position:absolute;top:calc(100% + 4px);z-index:20}.cv-dropdown a{align-items:center;color:var(--white-100);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.9rem;gap:.5rem;padding:.65rem 1rem;text-decoration:none;transition:background-color .2s}.cv-dropdown a:hover{background-color:var(--gray-200)}@media screen and (max-width:600px){.btn-cv,.cv-wrapper{width:100%}.btn-cv{justify-content:center}}.landing-main{background-color:#f0ebe0;background-image:radial-gradient(circle,#00000014 1.5px,#0000 0);background-size:28px 28px;padding-top:92px}.landing-section{align-items:center;display:flex;justify-content:center;padding:4rem 2rem}.hero-section{align-items:flex-start;background-color:var(--gray-400);background-repeat:repeat;background-size:auto;border-radius:0 0 52px 52px;box-shadow:0 8px 32px #00000080;min-height:0;overflow:hidden;padding-bottom:6rem;padding-top:5rem;position:relative;z-index:5}.hero-section:before{background:#24292ed1;content:"";inset:0;position:absolute;z-index:0}#about,.hero-section>*{position:relative;z-index:1}#about{margin-top:-52px;padding-top:calc(5rem + 52px)}#about,#experience,#projects{min-height:0}#testimonials{padding:4rem 0 3rem}#contact,#testimonials{min-height:0;overflow:hidden}#contact{background-color:var(--gray-400);background-repeat:repeat;background-size:auto;border-radius:52px 52px 0 0;box-shadow:0 -8px 32px #00000080;padding-bottom:5rem;padding-top:5rem;position:relative}#contact:before{background:#24292ed1;content:"";inset:0;position:absolute;z-index:0}#contact>*{position:relative;z-index:1}.section-tag{color:var(--blue-200);display:block;font-family:Fira Code,monospace;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem}.section-heading{background-image:linear-gradient(var(--blue-200),var(--blue-200));background-position:0 100%;background-repeat:no-repeat;background-size:52px 3px;color:var(--white-100);font-family:Roboto,sans-serif;font-size:2.5rem;font-weight:700;line-height:1.1;padding-bottom:.75rem}#about .section-tag,#experience .section-tag,#projects .section-tag,#testimonials .section-tag{color:var(--blue-400)}#about .section-heading,#experience .section-heading,#projects .section-heading,#testimonials .section-heading{background-image:linear-gradient(var(--blue-400),var(--blue-400));color:#1f2428}#contact .section-heading:after{animation:blink-cursor 1s step-start infinite;color:inherit;content:"|";font-size:inherit;font-weight:inherit;margin-left:3px}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@media screen and (max-width:560px){.section-heading{font-size:1.9rem}}
/*# sourceMappingURL=main.ca33bdd8.css.map*/