.bg-shapes{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.shape-group{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.shape{position:absolute}.s0-a{width:420px;height:380px;background:rgba(22,163,74,.12);border-radius:42% 58% 65% 35%/38% 52% 48% 62%;top:-100px;right:-120px}.s0-b{width:300px;height:340px;background:rgba(37,99,235,.09);border-radius:60% 40% 32% 68%/55% 30% 70% 45%;top:220px;left:-80px}.s0-c{width:260px;height:280px;background:rgba(22,163,74,.08);border-radius:50% 50% 28% 72%/48% 68% 32% 52%;bottom:10%;right:-40px}.s1-a{width:380px;height:320px;background:rgba(37,99,235,.1);border-radius:55% 45% 38% 62%/48% 60% 40% 52%;top:-80px;left:-80px}.s1-b{width:300px;height:280px;background:rgba(22,163,74,.1);border-radius:35% 65% 58% 42%/52% 38% 62% 48%;bottom:-50px;right:-50px}.s1-c{width:200px;height:240px;background:rgba(37,99,235,.07);border-radius:48% 52% 65% 35%/40% 55% 45% 60%;top:35%;right:6%}.s2-a{width:460px;height:380px;background:rgba(22,163,74,.09);border-radius:62% 38% 45% 55%/50% 42% 58% 50%;bottom:-80px;left:-100px}.s2-b{width:260px;height:300px;background:rgba(37,99,235,.08);border-radius:40% 60% 55% 45%/60% 35% 65% 40%;top:-60px;right:12%}.s2-c{width:180px;height:200px;background:rgba(22,163,74,.1);border-radius:52% 48% 38% 62%/45% 58% 42% 55%;top:12%;left:6%}.s3-a{width:350px;height:380px;background:rgba(37,99,235,.1);border-radius:45% 55% 62% 38%/55% 48% 52% 45%;top:10%;right:-60px}.s3-b{width:380px;height:320px;background:rgba(22,163,74,.09);border-radius:58% 42% 35% 65%/42% 62% 38% 58%;bottom:-60px;left:-60px}.s3-c{width:220px;height:200px;background:rgba(37,99,235,.07);border-radius:38% 62% 52% 48%/60% 42% 58% 40%;top:-30px;left:32%}.neu-raised{background:var(--bg);box-shadow:var(--neu-raised)}.neu-inset{background:var(--bg);box-shadow:var(--neu-inset)}.nav-wrap{position:fixed;top:0;width:100%;display:flex;justify-content:center;padding:20px 0;z-index:100;transition:padding .3s ease}.nav-wrap--scrolled{padding:12px 0}.nav{display:flex;align-items:center;gap:28px;padding:12px 32px;border-radius:99px;background:var(--bg);box-shadow:var(--neu-raised)}.nav a,.nav button{position:relative;color:var(--text-muted);text-decoration:none;background:transparent;border:none;cursor:pointer;font-size:.95rem;padding:0;box-shadow:inset 0 0 0 transparent;transition:color var(--duration) ease,box-shadow var(--duration) ease}.nav a:not(.nav-text-link){padding:5px 24px;border-radius:99px}.nav a:not(.nav-text-link):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--gradient-fill-strong);opacity:0;pointer-events:none;z-index:-1;transition:opacity var(--duration) ease}.nav a:not(.nav-text-link):hover:after{opacity:1}.nav a:not(.nav-text-link):hover{box-shadow:var(--neu-inset)}.nav a:hover,.nav button:hover{color:var(--green)}.nav-text-link{font-size:.88rem;letter-spacing:.03em;position:relative;border-radius:99px;box-shadow:inset 0 0 0 transparent;transition:color var(--duration) ease,box-shadow var(--duration) ease}.nav .nav-text-link{padding:6px 14px}.nav-text-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:99px;background:var(--gradient-fill-strong);opacity:0;pointer-events:none;z-index:-1;transition:opacity var(--duration) ease}.nav-text-link:hover:after{opacity:1}.nav-text-link:hover{color:var(--green);box-shadow:var(--neu-inset)}.page-wrap{position:relative;z-index:1;padding-top:100px}.page-section{display:flex;align-items:center;justify-content:center;padding:48px}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;padding-top:20px}.hero-name{position:relative;font-size:clamp(3rem,8vw,5.2rem);font-weight:700;line-height:1.1;cursor:default}.name-base{display:block;color:var(--text)}.name-gradient{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:linear-gradient(135deg,var(--text) 45%,var(--green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:0;animation:name-green-in 1.2s ease .7s forwards}@keyframes name-green-in{to{opacity:1}}.hero-summary{width:min(640px,100%);font-size:1.1rem;color:var(--text-muted);line-height:1.75;min-height:3.85rem;text-align:left}.hero-summary.typing-active:after{content:"|";color:var(--green);margin-left:1px;animation:cursor-blink 1.1s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.stats-section{display:flex;gap:20px;width:100%;max-width:1060px;align-items:stretch}.stat-card-wrap{flex:1;transition:flex-grow var(--duration) ease}.stat-card-wrap:hover{flex-grow:1.1}.stat-card{width:100%;height:100%;min-height:160px;border-radius:24px;padding:36px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--bg);position:relative;overflow:hidden;cursor:default;box-shadow:var(--shadow-card-raised);transition:box-shadow var(--duration) ease}.stat-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--gradient-fill-subtle);opacity:0;transition:opacity var(--duration) ease}.stat-card-wrap:hover .stat-card{box-shadow:inset 4px 4px 10px var(--shadow-dark),inset -4px -4px 10px var(--shadow-light)}.stat-card-wrap:hover .stat-card:before{opacity:1}.stat-card-front{display:flex;flex-direction:column;align-items:center;gap:10px;position:absolute;top:0;right:0;bottom:0;left:0;justify-content:center;z-index:2;transition:opacity .3s ease .2s}.stat-desc{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;font-size:.86rem;font-weight:500;color:var(--text);line-height:1.65;text-align:center;text-shadow:0 1px 0 var(--highlight-strong);opacity:0;z-index:1;transition:opacity .25s ease}.stat-card-wrap:hover .stat-card-front{opacity:0;z-index:1;transition:opacity .25s ease}.stat-card-wrap:hover .stat-desc{opacity:1;z-index:2;transition:opacity .3s ease .2s}.stat-card-wrap:hover .stat-value,.stat-card-wrap:hover .stat-label{color:var(--green)}.stat-value{font-size:2.6rem;font-weight:700;color:var(--green);line-height:1;transition:color var(--duration) ease}.stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;transition:color var(--duration) ease}.section{display:flex;flex-direction:column;gap:20px;max-width:1060px;width:100%}.section-title{font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--green);font-weight:600}.timeline{position:relative;display:flex;flex-direction:column;gap:20px;width:100%}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:6px;transform:translate(-50%);border-radius:3px;background:var(--bg);box-shadow:inset 3px 3px 6px var(--shadow-dark),inset -3px -3px 6px var(--shadow-light)}.timeline-item{position:relative;display:flex;align-items:center}.timeline-item:nth-child(2n){flex-direction:row-reverse}.timeline-card{width:calc(50% - 36px);border-radius:20px;padding:20px 24px;background:var(--bg);box-shadow:var(--shadow-card-raised)}.timeline-card,.timeline-item:nth-child(odd) .timeline-card{text-align:center}.timeline-node{width:72px;flex-shrink:0;display:flex;justify-content:center;align-items:center;position:relative;z-index:1}.timeline-dot{width:26px;height:26px;border-radius:50%;background:var(--bg);box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light);display:flex;align-items:center;justify-content:center;cursor:default;transition:box-shadow .35s ease,transform .35s ease}.timeline-dot:hover{transform:scale(1.3);box-shadow:4px 4px 10px var(--shadow-dark),-4px -4px 10px var(--shadow-light),0 0 14px #16a34a59}.timeline-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #16a34a80;transition:width .35s ease,height .35s ease,box-shadow .35s ease}.timeline-dot:hover:after{width:14px;height:14px;box-shadow:0 0 14px #16a34ab3}.timeline-spacer{width:calc(50% - 36px)}.timeline-role{font-size:1rem;font-weight:600;color:var(--text);letter-spacing:.01em}.timeline-company{font-size:.83rem;color:var(--green);font-weight:500;margin-top:3px}.timeline-dates{font-size:.75rem;color:var(--text-muted);margin-top:3px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.skill-group{border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:14px;background:var(--bg);box-shadow:var(--shadow-card-raised)}.skill-category{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:600}.skill-pills{display:flex;flex-wrap:wrap;gap:8px}.pill{border-radius:99px;padding:5px 13px;font-size:.76rem;color:var(--text-muted);letter-spacing:.02em;background:var(--bg);box-shadow:3px 3px 8px var(--shadow-dark),-3px -3px 8px var(--shadow-light);position:relative;overflow:hidden;transition:color var(--duration) ease,box-shadow var(--duration) ease,letter-spacing var(--duration) ease;cursor:default}.pill:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--gradient-fill-subtle);opacity:0;transition:opacity var(--duration) ease}.pill:hover{color:var(--green);box-shadow:var(--shadow-press-sm);letter-spacing:.05em}.pill:hover:before{opacity:1}.theme-toggle{position:fixed;bottom:28px;right:28px;z-index:100;width:60px;height:30px;border-radius:99px;border:none;cursor:pointer;background:var(--bg);box-shadow:var(--neu-raised);padding:0;transition:box-shadow var(--duration) ease}.theme-toggle-thumb{position:absolute;top:5px;left:5px;width:20px;height:20px;border-radius:50%;background:var(--green);box-shadow:2px 2px 6px #00000040;transform:translate(30px);transition:transform var(--duration) ease,background var(--duration) ease}.theme-toggle--dark .theme-toggle-thumb{transform:translate(0);background:var(--blue)}.contact-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;animation:fade-in .25s ease}.contact-card{border-radius:28px;padding:40px;width:100%;max-width:460px;position:relative;animation:slide-up .3s ease}.contact-title{font-size:1.3rem;font-weight:600;color:var(--text);margin-bottom:24px;text-align:center}.close-btn{position:absolute;top:16px;right:20px;background:var(--green);border:none;color:#fff;font-size:1rem;cursor:pointer;line-height:1;padding:8px 12px;border-radius:99px;box-shadow:var(--shadow-btn-raised-green);transition:box-shadow var(--duration) ease,filter var(--duration) ease}.close-btn:hover{box-shadow:none;filter:brightness(.88)}.close-btn:active{box-shadow:var(--shadow-btn-pressed-green);transition:none}form{display:flex;flex-direction:column;gap:10px}form label{font-size:.73rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}form input,form textarea{background:var(--bg);box-shadow:var(--neu-inset);border:1px solid var(--border);border-radius:12px;padding:11px 14px;color:var(--text);outline:none;width:100%;transition:box-shadow .2s ease}form input:focus,form textarea:focus{box-shadow:var(--neu-inset),0 0 0 2px #16a34a4d;border-color:transparent}form textarea{resize:vertical;min-height:120px;max-height:300px}.send-btn{margin-top:10px;padding:12px;border-radius:99px;border:none;cursor:pointer;font-size:.92rem;font-weight:600;letter-spacing:.04em;color:#fff;background:var(--green);box-shadow:var(--shadow-btn-raised-green);transition:box-shadow var(--duration) ease}.send-btn:hover{box-shadow:none;filter:brightness(.88)}.send-btn:active{box-shadow:var(--shadow-btn-pressed-green);transition:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-out{animation:fade-out .4s ease forwards}@keyframes fade-out{to{opacity:0}}@media (max-width: 700px){.content{padding:100px 20px 60px;gap:56px}.page-section{padding:32px 20px}.stats-section{flex-wrap:wrap}.stat-card-wrap{flex:1 1 calc(50% - 10px)}.hero-summary{text-align:center}.timeline{gap:0}.timeline:before{left:50%;transform:translate(-50%)}.timeline-item,.timeline-item:nth-child(2n){flex-direction:column;align-items:center}.timeline-node{width:auto;padding:12px 0}.timeline-item:last-child .timeline-node{display:none}.timeline-card{width:100%}.timeline-card,.timeline-item:nth-child(odd) .timeline-card{text-align:center}.timeline-spacer{display:none}.contact-card{margin:16px;padding:28px 22px}}@media (max-width: 400px){.stats-section{grid-template-columns:1fr 1fr;gap:12px}.stat-card{padding:20px 10px}.stat-value{font-size:1.7rem}}:root{--duration: .4s;--highlight-strong: rgba(255, 255, 255, .9);--highlight-subtle: rgba(255, 255, 255, .55);--shadow-card-raised: 10px 10px 26px var(--shadow-dark), -10px -10px 26px var(--shadow-light), inset 0 1px 0 var(--highlight-strong), inset 1px 0 0 var(--highlight-subtle), inset 0 -2px 0 var(--shadow-dark), inset -2px 0 0 var(--shadow-dark);--shadow-btn-raised: 6px 6px 14px var(--shadow-dark), -6px -6px 14px var(--shadow-light), inset 0 1px 0 var(--highlight-strong), inset 1px 0 0 var(--highlight-subtle), inset 0px 0px 0px transparent, inset 0px 0px 0px transparent;--shadow-btn-pressed: 0px 0px 0px transparent, 0px 0px 0px transparent, inset 0 0px 0px transparent, inset 0px 0px 0px transparent, inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light);--shadow-btn-raised-green: 6px 6px 14px rgba(0, 0, 0, .28), -6px -6px 14px rgba(255, 255, 255, .18), inset 0 1px 0 rgba(255, 255, 255, .28), inset 1px 0 0 rgba(255, 255, 255, .14), inset 0px 0px 0px transparent, inset 0px 0px 0px transparent;--shadow-btn-pressed-green: 0px 0px 0px transparent, 0px 0px 0px transparent, inset 0 0px 0px transparent, inset 0px 0px 0px transparent, inset 3px 3px 8px rgba(0, 0, 0, .45), inset -3px -3px 8px rgba(255, 255, 255, .22);--overlay-bg: rgba(226, 232, 240, .7);--shadow-press-sm: inset 2px 2px 6px var(--shadow-dark), inset -2px -2px 6px var(--shadow-light);--gradient-fill-strong: linear-gradient(135deg, rgba(22, 163, 74, .32) 0%, rgba(37, 99, 235, .22) 100%);--gradient-fill-subtle: linear-gradient(135deg, rgba(22, 163, 74, .18) 0%, rgba(37, 99, 235, .12) 100%)}html[data-theme=dark]{--bg: #1e2933;--shadow-dark: #16202c;--shadow-light: #233040;--text: #e2e8f0;--text-muted: #94a3b8;--highlight-strong: rgba(255, 255, 255, .02);--highlight-subtle: rgba(255, 255, 255, .01);--green: var(--blue);--shadow-btn-raised-green: 6px 6px 14px rgba(0, 0, 0, .35), -6px -6px 14px rgba(255, 255, 255, .06), inset 0 1px 0 rgba(255, 255, 255, .08), inset 1px 0 0 rgba(255, 255, 255, .04), inset 0px 0px 0px transparent, inset 0px 0px 0px transparent;--overlay-bg: rgba(30, 41, 51, .7)}:root{--bg: #e2e8f0;--shadow-dark: #d1d6de;--shadow-light: #f0f4f8;--neu-raised: 5px 5px 12px var(--shadow-dark), -5px -5px 12px var(--shadow-light);--neu-inset: inset 3px 3px 8px var(--shadow-dark), inset -3px -3px 8px var(--shadow-light);--green: #16a34a;--blue: #2563eb;--text: #1e2a3a;--text-muted: #64748b}*,*:before,*:after{box-sizing:border-box;margin:0}*:not(code){font-family:Aller,sans-serif}html,body{background-color:var(--bg);min-height:100vh;transition:background-color .5s ease,color .5s ease}body{line-height:1.6;-webkit-font-smoothing:antialiased;color:var(--text)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}.disable-scroll{overflow:hidden}
