:root{font-family:Space Grotesk,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#ffffffde;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--mouse-x: 50vw;--mouse-y: 50vh}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100vh;width:100vw;overflow:hidden}body{display:flex;align-items:center;justify-content:center}#root{width:100vw;height:100vh}h1{font-size:3.2em;line-height:1.1;color:#ffffffe6;margin:0}p{color:#ffffffb3}.app-container{position:relative;width:100vw;height:100vh;background-color:#0a0a0a;overflow:hidden}.app-container:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 800px 600px at top left,rgba(0,100,50,.35) 0%,transparent 100%),radial-gradient(ellipse 800px 600px at bottom right,rgba(0,100,50,.35) 0%,transparent 100%);pointer-events:none;z-index:1;opacity:0;animation:fadeInGlows .8s ease 0s forwards}.grid-background{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(255,255,255,.01) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}.grid-background:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(300px circle at var(--mouse-x) var(--mouse-y),rgba(0,0,0,1) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,0) 70%);mask-image:radial-gradient(300px circle at var(--mouse-x) var(--mouse-y),rgba(0,0,0,1) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,0) 70%);transition:opacity .18s ease,transform .18s ease}.content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100vh;text-align:left;padding:6rem 8rem;--addr-row-height: 48px;width:100%;box-sizing:border-box}.content h1{font-family:Space Grotesk,monospace;font-size:5rem;font-weight:700;line-height:.85;letter-spacing:.08em;background:linear-gradient(135deg,#fffffff2,#ffffff80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:1}.name-row{display:inline-flex;align-items:center;gap:.6rem}.title-block{opacity:0;animation:fadeInHeadings .6s ease .5s forwards;display:inline-block}.audio-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:#fff;padding:.3rem;font-size:1rem;cursor:pointer}.audio-btn.playing{background:#64c8641f;border-color:#64c86447}.content .subtitle{font-family:Space Grotesk,monospace;font-size:1rem;color:#fff9;max-width:800px;line-height:1.4;letter-spacing:.03em;margin:0;margin-top:1.5rem;margin-bottom:.2rem;opacity:0;animation:fadeInContent .6s ease 1.25s forwards}.content .subtitle a{color:#ffffffb3;cursor:pointer}.content .subtitle a:hover{text-decoration:underline}.flags-block{margin-top:1.2rem;display:flex;align-items:center;gap:1.5rem}.flags{display:flex;gap:.5rem}.flag-btn{background:transparent;border:1px solid rgba(255,255,255,0);color:#fff;font-size:1.4rem;padding:.3rem .45rem;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background-color .15s ease}.flag-btn:hover{transform:translateY(-2px);border-color:#fff3}.flag-btn.active{background-color:#fff0;border-color:#fff3}.flag-btn svg{display:block;width:28px;height:20px}.addresses{min-width:320px}.address{background:#ffffff05;padding:.6rem .9rem;color:#fff9;margin-top:.6rem}.animate-in-left{animation:inFromLeft .36s ease both}.animate-in-right{animation:inFromRight .36s ease both}@keyframes inFromLeft{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes inFromRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.inline-row{display:flex;align-items:center;gap:1rem;margin-top:1.2rem;height:var(--addr-row-height);opacity:0;animation:fadeInContent .6s ease 1.25s forwards}.addr-box{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff0;transition:flex-basis .32s cubic-bezier(.2,.9,.2,1),padding .32s cubic-bezier(.2,.9,.2,1),opacity .22s ease,transform .22s ease;color:#ffffffe6;height:var(--addr-row-height);box-sizing:border-box;padding:0 .6rem}.addr-text{font-size:.95rem;color:#fff9;line-height:var(--addr-row-height);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.addr-box.collapsed{flex-basis:0;padding:0;opacity:0;visibility:hidden;pointer-events:none}.addr-box.expanded{flex-basis:420px;padding:.3rem .6rem;opacity:1}@keyframes fadeInGlows{0%{opacity:0}to{opacity:1}}@keyframes fadeInHeadings{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInContent{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.navigation{position:fixed;right:1rem;top:0;bottom:0;margin:auto 2.5rem;height:fit-content;z-index:100;display:flex;flex-direction:column;gap:2rem;opacity:0;animation:fadeInFromRight .6s ease 1.75s forwards}.nav-item-container{position:relative;display:flex;align-items:center;justify-content:flex-end}.nav-btn{width:64px;height:64px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-btn:hover{background:#ffffff1a;color:#ffffffe6;border-color:#fff3;transform:scale(1.1)}.nav-btn.active{background:#64c86426;border-color:#64c8644d;color:#fffffff2}.nav-btn:focus{outline:none;box-shadow:0 0 0 3px #50c88c33}.nav-label{position:absolute;right:5rem;background:#ffffff0a;color:#fff;padding:.4rem .8rem;border-radius:0;font-size:.9rem;font-weight:500;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);animation:slideInFromRight .2s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInFromRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.sections-container{transition:transform .8s cubic-bezier(.25,.46,.45,.94);height:100vh;overflow:hidden}.section{height:100vh;width:100vw;position:relative;display:flex;align-items:center;justify-content:flex-start}.section .content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:100vh;text-align:left;padding:6rem 8rem;--addr-row-height: 48px}.experience-section .content h2,.projects-section .content h2,.contact-section .content h2{font-family:Space Grotesk,monospace;font-size:3rem;font-weight:700;color:#ffffffe6;margin-bottom:1rem}.experience-section .content p,.projects-section .content p,.contact-section .content p{font-family:Space Grotesk,monospace;font-size:1.2rem;color:#fff9}@media (max-width: 768px){.navigation{position:fixed;bottom:2rem;top:auto;left:50%;right:auto;transform:translate(-50%);margin:0;height:auto;flex-direction:row;gap:1rem;justify-content:center;animation:fadeInFromBottom .6s ease 1.75s forwards}.nav-btn{width:48px;height:48px}.nav-label,.flags-block,.inline-row{display:none}.content{padding:6rem 2rem 4rem;justify-content:flex-start}.section .content{padding:6rem 2rem 4rem}.content h1{font-size:3.5rem;line-height:.9}.experience-section .content h2,.projects-section .content h2,.contact-section .content h2{font-size:2.2rem}.content .subtitle{font-size:.9rem;margin-top:1rem}.inline-row{flex-direction:column;gap:1rem;height:auto;align-items:flex-start}.addr-box{height:auto;min-height:2.5rem}.addr-box.expanded{flex-basis:auto;width:100%}.addr-text{line-height:1.4;white-space:normal}.flag-btn svg{width:24px;height:16px}.audio-btn{width:32px;height:32px}.name-row{gap:.4rem}.grid-background{background-size:24px 24px}.grid-background:before{background-size:24px 24px}}@media (max-width: 480px){.content,.section .content{padding:5rem 1.5rem 3rem}.content h1{font-size:2.8rem}.navigation{bottom:1.5rem;gap:.8rem}.nav-btn{width:44px;height:44px}}@keyframes fadeInFromBottom{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
