:root{--bg: #0d0d18;--bg-secondary: #13131f;--text: #e8e8f4;--text-muted: #8888aa;--link: #38bdf8;--link-alt: #7dd3fc;--navbar-bg: rgba(13, 13, 24, 0.55);--navbar-sticky-bg: rgba(13, 13, 24, 0.92);--navbar-border: rgba(255, 255, 255, 0.06);--footer-bg: rgba(0, 0, 0, 0.25);--footer-border: rgba(255, 255, 255, 0.06);--copyright-border: rgba(255, 255, 255, 0.05);--section-title-text: #e8e8f4;--splash-subtitle: rgba(232, 232, 244, 0.65);--profile-inner-bg: #0d0d18;--drawer-bg: rgba(13, 13, 24, 0.97);--icon-bg: rgba(255, 255, 255, 0.06);--icon-border: rgba(255, 255, 255, 0.1);--section-bg: #191926;--section-text: #dde1f5;--section-h3: #b0b8e0;--skill-card-bg: rgba(56, 189, 248, 0.05);--skill-card-border: rgba(56, 189, 248, 0.12);--skill-name-color: #c8cfee;--timeline-card-bg: #1e1e30;--timeline-card-text: #dde1f5;--timeline-card-border:rgba(255, 255, 255, 0.07);--timeline-arrow-bg: #1e1e30;--timeline-h5-color: #38bdf8}@keyframes fadeInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes imageReveal{from{opacity:0;filter:blur(20px) var(--img-shadow);transform:scale(.7)}to{opacity:1;filter:blur(0px) var(--img-shadow);transform:scale(1)}}@keyframes float{0%, 100%{transform:translateY(0px)}50%{transform:translateY(-12px)}}@keyframes floatSlow{0%, 100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes glowPulse{0%, 100%{filter:drop-shadow(0 0 8px rgba(56,189,248,.3))}50%{filter:drop-shadow(0 0 22px rgba(56,189,248,.7))}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.95)}100%{opacity:1;transform:scale(1)}}@keyframes slideDown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}100%{transform:scale(4);opacity:0}}@keyframes typewriter{from{width:0}to{width:100%}}@keyframes blink{0%, 100%{border-color:rgba(0,0,0,0)}50%{border-color:#38bdf8}}body{animation:pageFadeIn .4s ease forwards}@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}.reveal{opacity:0;transform:translateY(36px);transition:opacity .65s cubic-bezier(.22, 1, .36, 1),transform .65s cubic-bezier(.22, 1, .36, 1);}.reveal.revealed{opacity:1;transform:none}.reveal.reveal--left{transform:translateX(-40px)}.reveal.reveal--left.revealed{transform:none}.reveal.reveal--right{transform:translateX(40px)}.reveal.reveal--right.revealed{transform:none}.reveal.reveal--scale{transform:scale(.88)}.reveal.reveal--scale.revealed{transform:none}.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}.reveal.delay-4{transition-delay:.32s}.reveal.delay-5{transition-delay:.4s}.reveal.delay-6{transition-delay:.48s}.reveal.delay-7{transition-delay:.56s}.reveal.delay-8{transition-delay:.64s}.reveal.delay-9{transition-delay:.72s}.reveal.delay-10{transition-delay:.8s}.reveal.delay-11{transition-delay:.88s}.reveal.delay-12{transition-delay:.96s}.hello-picture{opacity:0;animation:imageReveal 2s cubic-bezier(.22, 1, .36, 1) forwards,floatSlow 6s ease-in-out 2s infinite}.im-picture{opacity:0;animation:imageReveal 2s cubic-bezier(.22, 1, .36, 1) .3s forwards,float 4s ease-in-out 2.3s infinite}.sg-picture{opacity:0;animation:imageReveal 2s cubic-bezier(.22, 1, .36, 1) .15s forwards,floatSlow 7s ease-in-out 2.15s infinite}.gradient-text-animate{background:linear-gradient(270deg, #38bdf8, #818cf8, #a78bfa, #38bdf8);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;animation:gradientShift 5s ease infinite}body>header>nav{animation:slideDown .5s cubic-bezier(.22, 1, .36, 1) forwards}.profile-picture{animation:scaleIn .7s cubic-bezier(.34, 1.56, .64, 1) .1s both}.splash h1{animation:fadeInUp .7s ease .3s both}.splash h2{animation:fadeInUp .7s ease .45s both}.splash .below-arrow-link{animation:fadeInUp .7s ease .7s both}.chat-toggle{animation:bounceIn .8s cubic-bezier(.34, 1.56, .64, 1) 1.5s both}.chat-panel.is-open{animation:fadeInUp .3s cubic-bezier(.22, 1, .36, 1) forwards}.button,.chat-send-btn,.chat-suggestion-btn,.chat-form-submit{position:relative;overflow:hidden}.button::after,.chat-send-btn::after,.chat-suggestion-btn::after,.chat-form-submit::after{content:"";position:absolute;inset:0;background:radial-gradient(circle, rgba(255,255,255,.25) 0%, rgba(0,0,0,0) 70%);transform:scale(0);opacity:0;border-radius:inherit;transition:transform .4s ease,opacity .4s ease;pointer-events:none}.button:active::after,.chat-send-btn:active::after,.chat-suggestion-btn:active::after,.chat-form-submit:active::after{transform:scale(4);opacity:0;transition:0s}.skill{opacity:0;transform:scale(.88) translateY(20px);transition:opacity .5s ease,transform .5s cubic-bezier(.34, 1.2, .64, 1),background .3s ease,border-color .3s ease,box-shadow .3s ease}.skill.revealed{opacity:1;transform:none}.card{opacity:0;transform:translateY(32px);transition:opacity .55s ease,transform .55s cubic-bezier(.22, 1, .36, 1),box-shadow .3s ease,border-color .3s ease}.card.revealed{opacity:1;transform:none}.vertical-timeline-element{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s cubic-bezier(.22, 1, .36, 1)}.vertical-timeline-element:nth-child(even){transform:translateX(30px)}.vertical-timeline-element.revealed{opacity:1;transform:none}.contact-item{opacity:0;transform:translateX(-20px);transition:opacity .5s ease,transform .5s cubic-bezier(.22, 1, .36, 1),border-color .2s ease}.contact-item.revealed{opacity:1;transform:none}.section-title h2{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s cubic-bezier(.22, 1, .36, 1)}.section-title h2.revealed{opacity:1;transform:none}.splash2 .has-tooltip{opacity:0;animation:fadeInUp .5s cubic-bezier(.34, 1.4, .64, 1) forwards}.splash2 .has-tooltip:nth-child(1){animation-delay:.27s}.splash2 .has-tooltip:nth-child(2){animation-delay:.34s}.splash2 .has-tooltip:nth-child(3){animation-delay:.41s}.splash2 .has-tooltip:nth-child(4){animation-delay:.48s}.splash2 .has-tooltip:nth-child(5){animation-delay:.55s}.splash2 .has-tooltip:nth-child(6){animation-delay:.62s}.splash2 .has-tooltip:nth-child(7){animation-delay:.69s}.splash2 .has-tooltip:nth-child(8){animation-delay:.76s}.splash2 .has-tooltip:nth-child(9){animation-delay:.83s}.splash2 .has-tooltip:nth-child(10){animation-delay:.9s}.contact-header{animation:fadeInUp .6s cubic-bezier(.22, 1, .36, 1) .1s both}.contact-info{animation:fadeInLeft .65s cubic-bezier(.22, 1, .36, 1) .2s both}.contact-form-wrapper{animation:fadeInRight .65s cubic-bezier(.22, 1, .36, 1) .3s both}.navbar-logo{animation:glowPulse 3s ease-in-out infinite}button[disabled].shimmer-loading{background:linear-gradient(90deg, rgba(56,189,248,.1) 25%, rgba(129,140,248,.2) 50%, rgba(56,189,248,.1) 75%);background-size:200% auto;animation:shimmer 1.2s linear infinite}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}}*{box-sizing:border-box}*{cursor:none !important}@keyframes arrow-pulse{0%, 100%{filter:drop-shadow(0 0 4px #38bdf8) drop-shadow(0 0 8px rgba(56,189,248,.4))}50%{filter:drop-shadow(0 0 9px #38bdf8) drop-shadow(0 0 18px rgba(129,140,248,.6))}}.cursor-arrow{position:fixed;top:0;left:0;width:28px;pointer-events:none;z-index:99999;animation:arrow-pulse 1.4s ease-in-out infinite;transition:opacity .15s ease,transform .08s ease;opacity:0}.cursor-ghost{position:fixed;top:0;left:0;width:28px;pointer-events:none;z-index:99998;opacity:0;filter:drop-shadow(0 0 6px #818cf8);transition:opacity .15s ease}body.cursor-hover .cursor-arrow{transform:scale(1.15)}html{font-size:18px;scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Roboto","Helvetica","Arial",sans-serif;font-size:.875rem;font-weight:400;line-height:1.43;letter-spacing:.01071em;transition:background .3s ease,color .3s ease}p{margin:0 0 1.45rem;padding:0;text-align:justify}a{color:var(--link);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}strong{font-weight:700}.container{width:100%;max-width:1280px;padding:clamp(8px,10%,24px);margin:auto}.button,.icon-button,.button--big{padding:6px 14px;font-size:.8125rem;min-width:64px;box-sizing:border-box;font-weight:600;line-height:1.75;border-radius:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--link);background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.22);transition:all .25s ease}.button:hover,.icon-button:hover,.button--big:hover{background:rgba(56,189,248,.16);border-color:rgba(56,189,248,.55);box-shadow:0 0 18px rgba(56,189,248,.22);transform:translateY(-1px);color:var(--link);opacity:1}.button--big{font-size:.875rem;padding:8px 16px}.icon-button{padding:10px;border-radius:50%;font-size:1.5rem;background:none;border:none;line-height:unset;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;min-width:unset;cursor:pointer;color:var(--text)}.icon-button:hover{background:rgba(56,189,248,.1);border:none;box-shadow:none;transform:none;opacity:1}.icon-button svg{fill:currentColor;width:1.2em;height:1.2em;display:inline-block}.nav-link{position:relative;font-size:.875rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text);padding:4px 2px;opacity:.75;transition:opacity .2s ease,color .2s ease}.nav-link::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg, #38bdf8, #818cf8);border-radius:2px;transform:scaleX(0);transition:transform .25s ease}.nav-link:hover{opacity:1;color:#38bdf8}.nav-link:hover::after{transform:scaleX(1)}body>header>nav{position:fixed;top:0;right:0;left:0;z-index:1100;display:flex;justify-content:space-between;align-items:center;padding-left:20px;padding-right:20px;min-height:64px;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--navbar-border);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}body>header>nav::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:rgba(0,0,0,0);transition:background .3s ease}body>header>nav.navbar--sticky{background:var(--navbar-sticky-bg);box-shadow:0 4px 24px rgba(0,0,0,.18);border-bottom-color:rgba(56,189,248,.2)}body>header>nav.navbar--sticky::after{background:linear-gradient(90deg, rgba(0,0,0,0), rgba(56,189,248,.5), rgba(129,140,248,.5), rgba(0,0,0,0))}body>header>nav>div:first-child{display:flex;align-items:center;gap:.75rem}body>header>nav>div:last-child{display:flex;align-items:center;gap:.5rem}@media (max-width: 599px){body>header>nav{padding-left:12px;padding-right:12px}body>header>nav>div:last-child .navbar-drawer-links{display:none}}body>header>nav h1{font-size:1.25rem;font-weight:500;line-height:1.6;letter-spacing:.0075em;margin:0}body>header>nav h1 a{color:inherit}body>header>nav .navbar-logo{width:52px;height:52px;object-fit:contain;border-radius:10px;transition:transform .25s ease,filter .25s ease}body>header>nav .navbar-logo:hover{transform:scale(1.08);filter:drop-shadow(0 0 8px rgba(56,189,248,.45))}@media (min-width: 600px){#drawer-open{display:none}}#navbar-drawer{width:100%;height:100%;margin:0;border:0;max-width:unset;max-height:unset;background:var(--drawer-bg);backdrop-filter:blur(20px);color:var(--text);transition:background .3s ease}#navbar-drawer .navbar-drawer-links{margin-top:1rem;display:flex;flex-direction:column;gap:1rem;text-align:center}.navbar-drawer-links{display:flex;flex-direction:row;gap:2rem}footer{border-top:1px solid var(--footer-border);background:var(--footer-bg);transition:background .3s ease}footer ul{list-style-type:none;padding-inline-start:0}footer a{color:var(--link-alt)}footer a:hover{opacity:.75}footer h2{margin:.82rem 0 .656rem 0;font-size:1.1rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg, #38bdf8, #818cf8);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}footer li{margin-bottom:.4rem;font-size:.875rem}footer .social-label{color:var(--text-muted)}footer .footer-sections{display:flex;column-gap:2rem;flex-wrap:wrap;padding-top:2rem;padding-bottom:1rem}footer .footer-section{flex-grow:1}footer .copyright{border-top:1px solid var(--copyright-border)}footer .copyright p{margin:0}footer .copyright .container{padding-top:12px;padding-bottom:12px;display:flex;justify-content:space-between;flex-wrap:wrap-reverse;gap:1em}footer .copyright .container .copyright-text{font-weight:300;font-size:.8rem;color:var(--text-muted)}