:root{--background:#ffffff;--foreground:#171717}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed}}body,html{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}@media (prefers-color-scheme:dark){html{color-scheme:dark}}:root{--nav-height:72px}.section{padding:80px 0;scroll-margin-top:calc(var(--nav-height) + 24px)}.hero{min-height:60vh;display:grid;place-items:center;background:linear-gradient(135deg,#0d6efd,#6610f2);color:#fff}.section-title{margin-bottom:1.5rem}.navbar-custom{background-color:#000000}.typewriter{font:600 32px/1.2 monospace;color:#fff;background:transparent;display:block;white-space:nowrap}.caret{display:inline-block;width:.12em;margin-left:.1em;background:currentColor;animation:blink .9s step-end infinite}@keyframes blink{50%{opacity:0}}.hero{position:relative;overflow:hidden}.blob-layer{position:absolute;inset:0;z-index:0;pointer-events:none}.snap-section{position:relative;z-index:1}.blob{position:absolute;width:520px;height:520px;border-radius:50%;filter:blur(100px);opacity:.9;animation:blob 6s ease-in-out infinite alternate;translate:var(--x,0) var(--y,0);transition:translate 1.1s cubic-bezier(.22,1,.36,1),opacity .5s ease;will-change:translate,opacity}.b1{background:radial-gradient(35% 35% at 30% 30%,#76f6ff 0 70%,transparent 71%)}.b2{background:radial-gradient(35% 35% at 70% 70%,#8dd3ff 0 70%,transparent 71%)}.b3{background:radial-gradient(35% 35% at 60% 20%,#76f8b0 0 70%,transparent 71%)}.b4{background:radial-gradient(35% 35% at 60% 20%,#8dd3ff 0 70%,transparent 71%)}.b5{background:radial-gradient(35% 35% at 60% 20%,#76f8b0 0 70%,transparent 71%)}.b6{background:radial-gradient(35% 35% at 60% 20%,#8dd3ff 0 70%,transparent 71%)}.b1,.b2,.b3,.b4,.b5,.b6{top:0;left:0}@keyframes blob{0%{transform:translate(0) scale(1);border-radius:60% 40% 30% 70%/60% 30% 70% 40%}to{transform:translate(12px,-10px) scale(1.1);border-radius:40% 60% 60% 40%/50% 60% 30% 60%}}#snap-root[data-scene=intro] .b1{--x:-5vw;--y:-12vh}#snap-root[data-scene=intro] .b2{--x:-15vw;--y:-8vh}#snap-root[data-scene=intro] .b3{--x:0vw;--y:-1vh}#snap-root[data-scene=intro] .b4{--x:80vw;--y:60vh}#snap-root[data-scene=intro] .b5{--x:70vw;--y:85vh}#snap-root[data-scene=intro] .b6{--x:82vw;--y:85vh}#snap-root[data-scene=about] .b1{--x:-5vw;--y:12vh}#snap-root[data-scene=about] .b2{--x:-13vw;--y:15vh}#snap-root[data-scene=about] .b3{--x:-7vw;--y:10vh}#snap-root[data-scene=about] .b4{--x:80vw;--y:40vh}#snap-root[data-scene=about] .b5{--x:78vw;--y:77vh}#snap-root[data-scene=about] .b6{--x:82vw;--y:67vh}#snap-root[data-scene=education] .b1{--x:-5vw;--y:32vh}#snap-root[data-scene=education] .b2{--x:-15vw;--y:28vh}#snap-root[data-scene=education] .b3{--x:-12vw;--y:22vh}#snap-root[data-scene=education] .b4{--x:80vw;--y:22vh}#snap-root[data-scene=education] .b5{--x:80vw;--y:62vh}#snap-root[data-scene=education] .b6{--x:82vw;--y:47vh}#snap-root[data-scene=experience] .b1{--x:-5vw;--y:43vh}#snap-root[data-scene=experience] .b2{--x:-10vw;--y:39vh}#snap-root[data-scene=experience] .b3{--x:-15vw;--y:38vh}#snap-root[data-scene=experience] .b4{--x:75vw;--y:13vh}#snap-root[data-scene=experience] .b5{--x:85vw;--y:48vh}#snap-root[data-scene=experience] .b6{--x:82vw;--y:33vh}#snap-root[data-scene=projects] .b1{--x:-5vw;--y:72vh}#snap-root[data-scene=projects] .b2{--x:-5vw;--y:55vh}#snap-root[data-scene=projects] .b3{--x:-13vw;--y:54vh}#snap-root[data-scene=projects] .b4{--x:65vw;--y:-5vh}#snap-root[data-scene=projects] .b5{--x:78vw;--y:20vh}#snap-root[data-scene=projects] .b6{--x:76vw;--y:-2vh}.navbar-custom{background:transparent;transition:background-color .25s ease,box-shadow .25s ease}.navbar-custom.scrolled{background:#000;box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.navbar-custom.scrolled{background:rgba(0,0,0,.75);-webkit-backdrop-filter:saturate(160%) blur(8px);backdrop-filter:saturate(160%) blur(8px)}}.navbar-custom .navbar-collapse.show{background:rgba(0,0,0,.95)}.snap-container{height:100dvh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-padding-top:var(--nav-h);scroll-behavior:smooth;overscroll-behavior-y:none}.snap-section{min-height:100dvh;scroll-snap-align:start;scroll-snap-stop:always;align-items:stretch;display:flex;align-items:center;justify-content:center}.section-body{flex:1 1;max-height:100dvh;overflow-y:auto}.snap-dark{background:#000}