body{-webkit-font-smoothing:antialiased;background:#0a0a0a;font-family:Segoe UI,system-ui,-apple-system,sans-serif}#root{width:100%;max-width:100%;margin:0 auto}.mobile-block{display:none}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-dark:#0a0a0a;--bg-card:#141414;--bg-card-hover:#1a1a1a;--bg-subtle:#1e1e1e;--gold:#d4a843;--gold-light:#d4a84326;--gold-border:#d4a8434d;--aqua:#00e5cc;--aqua-light:#00e5cc1a;--aqua-border:#00e5cc40;--white:#fff;--white-soft:#e0e0e0;--gray:#999;--gray-light:#b8b8b8;--border:#2a2a2a;--ease-out-soft:cubic-bezier(.16, 1, .3, 1);--ease-out-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-out-gentle:cubic-bezier(.25, .46, .45, .94)}.mobile-only{display:none!important}.desktop-only{display:block}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--bg-dark);color:var(--white-soft);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;letter-spacing:.015em;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:clamp(.938rem,.824rem + .57vw,1.25rem);font-weight:400;line-height:1.9}@media (hover:hover){*,:before,:after{cursor:none!important}}::selection{color:#fff;background:#d4a8434d}::selection{color:#fff;background:#d4a8434d}:focus-visible{outline-offset:3px;border-radius:4px;outline:1px solid #00e5cc80}.cv-container:before{content:"";z-index:0;pointer-events:none;opacity:var(--grid-opacity,0);background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:60px 60px;transition:opacity .8s;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 20%,#0000 70%);mask-image:radial-gradient(#000 20%,#0000 70%)}.page-reveal{opacity:0;pointer-events:none}.page-reveal--visible{pointer-events:auto;animation:.4s ease-out forwards pageIn}@keyframes pageIn{to{opacity:1}}.cv-container{max-width:100%;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);z-index:1;margin:0 auto;position:relative}.section{max-width:900px;margin:0 auto;padding:clamp(2rem,.55rem + 4.55vw,6rem) clamp(1rem,.64rem + 1.14vw,2rem)}.top-btns{z-index:100;opacity:0;animation:pillIn 1s var(--ease-out-soft) .5s forwards;display:flex;position:fixed;top:clamp(.75rem,.48rem + .85vw,1.5rem);right:clamp(.75rem,.48rem + .85vw,1.5rem)}@keyframes pillIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.top-btns__toggle{display:none}.top-btns__items{-webkit-backdrop-filter:blur(24px)saturate(1.3);background:#0a0a0a99;border:1px solid #ffffff14;border-radius:100px;gap:0;padding:3px;transition:border-color .4s,box-shadow .4s;display:flex;box-shadow:0 4px 24px #0006,inset 0 1px #ffffff0a}.top-btns__items:hover{border-color:#ffffff24;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff0f}.top-btns__items .lang-btn:first-child{border-right:1px solid #ffffff14;border-radius:100px 0 0 100px}.top-btns__items .lang-btn:last-child{border-radius:0 100px 100px 0}.lang-btn{letter-spacing:1.5px;cursor:pointer;color:#ffffff73;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;gap:.35rem;padding:clamp(.4rem,.32rem + .23vw,.55rem) clamp(.7rem,.5rem + .5vw,1rem);font-family:JetBrains Mono,monospace;font-size:clamp(.58rem,.54rem + .11vw,.66rem);font-weight:600;text-decoration:none;transition:color .3s,background .3s;display:inline-flex;position:relative}.lang-btn:hover{color:#fffffff2;background:#ffffff0f}.lang-btn:active{background:#ffffff1a}.lang-btn--cv:hover{color:var(--gold);background:#d4a84314}.lang-btn--lang:hover{color:var(--aqua);background:#00e5cc0f}@media (width<=768px){.top-btns__toggle{-webkit-backdrop-filter:blur(24px)saturate(1.3);color:#ffffff73;cursor:pointer;width:40px;height:40px;transition:color .3s ease, border-color .3s ease, background .3s ease, transform .3s var(--ease-out-spring);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#0a0a0a99;border:1px solid #ffffff14;border-radius:100px;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 24px #0006}.top-btns--open .top-btns__toggle{color:#ffffffe6;background:#141414cc;border-color:#fff3}.top-btns__items{opacity:0;pointer-events:none;transition:opacity .25s ease, transform .3s var(--ease-out-spring);border-radius:16px;flex-direction:column;gap:0;padding:3px;position:absolute;top:calc(100% + .5rem);right:0;transform:translateY(-8px)scale(.95)}.top-btns__items .lang-btn:first-child{border-bottom:1px solid #ffffff14;border-right:none;border-radius:14px 14px 0 0}.top-btns__items .lang-btn:last-child{border-radius:0 0 14px 14px}.top-btns--open .top-btns__items{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.top-btns--open .lang-btn{justify-content:flex-start;min-width:90px}}.ctx-menu{z-index:10003;-webkit-backdrop-filter:blur(24px);background:#0a0a0ad9;border:1px solid #ffffff1f;border-radius:12px;min-width:200px;padding:.4rem;animation:.15s ease-out ctxIn;position:fixed;box-shadow:0 12px 40px #0009,inset 0 1px #ffffff0f}@keyframes ctxIn{0%{opacity:0;transform:scale(.95)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.ctx-menu__item{color:#fff;letter-spacing:.5px;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:.65rem 1rem;font-family:Inter,sans-serif;font-size:.9rem;font-weight:500;transition:background .2s,color .2s;display:block;cursor:none!important}.ctx-menu__item:hover{color:var(--gold);background:#d4a84326}.ctx-menu__item:nth-child(2n):hover{color:var(--aqua);background:#00e5cc1f}img{content-visibility:auto;max-width:100%;height:auto}.stacking-container{position:relative}.stack-card{will-change:transform, opacity, filter;background:0 0;justify-content:center;align-items:center;min-height:min(100dvh,100vh);display:flex;position:relative}@media (width<=768px){.stack-card{min-height:auto;padding:2vh 0}}.stack-card__inner{transform-origin:top;width:100%;max-width:1100px;padding:clamp(2rem,.55rem + 4.55vw,6rem) clamp(.75rem,3.69vw - .43rem,4rem)}.scene-content{z-index:2;width:100%;max-width:900px;padding:clamp(3rem,1rem + 6vw,8rem) clamp(1.5rem,.5rem + 3vw,5rem);position:relative}.scene-content .section-title{letter-spacing:clamp(3px,1px + .6vw,8px);margin-bottom:clamp(1.5rem,.8rem + 2.2vw,3.5rem);font-size:clamp(.75rem,.4rem + 1.6vw,1.6rem)}.scene-content .about-text{color:#ffffffeb;max-width:50ch;margin-bottom:clamp(1.2rem,.9rem + .8vw,2rem);font-size:clamp(.95rem,.78rem + .55vw,1.35rem);line-height:clamp(1.8,1.7 + .3vw,2.1)}.scene-content .timeline-title{font-size:clamp(1rem,.7rem + 1vw,1.8rem)}.scene-content .timeline-date{letter-spacing:clamp(2px,1.5px + .3vw,3.5px);font-size:clamp(.78rem,.65rem + .45vw,1.15rem)}.scene-content .timeline-subtitle{font-size:clamp(.88rem,.7rem + .6vw,1.35rem)}.scene-content .timeline-location{font-size:clamp(.8rem,.65rem + .5vw,1.2rem)}.scene-content .timeline-item{margin-bottom:clamp(1.5rem,1rem + 1.2vw,2.5rem)}.scene-content .timeline-achievement{font-size:clamp(.82rem,.68rem + .45vw,1.15rem);line-height:2}:root{--ease-out-soft:cubic-bezier(.16, 1, .3, 1);--ease-out-spring:cubic-bezier(.34, 1.4, .64, 1);--ease-out-gentle:cubic-bezier(.25, .46, .45, .94)}.section-title,.footer span{perspective:600px}.typewriter{display:inline;position:relative}.tw-cursor{background:var(--aqua);vertical-align:text-bottom;width:2px;height:1em;box-shadow:0 0 8px var(--aqua), 0 0 16px #00e5cc4d;border-radius:1px;margin-left:1px;animation:.6s steps(2,end) infinite twBlink;display:inline-block}.tw-cursor-done{animation:twFadeOut .8s var(--ease-out-soft) .5s forwards}@keyframes twBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes twFadeOut{0%{opacity:1}50%{opacity:0}to{opacity:0}}.scene-content{will-change:clip-path, transform, opacity;perspective:1200px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.scene-content.revealed .section-title svg,.scene-content.revealed .section-title:after{animation-play-state:running}.scene-content.revealed .timeline-line:after{will-change:transform;animation-play-state:running}.scene-context{opacity:.6;align-items:center;gap:clamp(.6rem,.4rem + .6vw,1rem);margin-bottom:clamp(1.2rem,.8rem + 1.2vw,2.2rem);transition:opacity .5s;display:flex}.scene-context:hover{opacity:1}.scene-context__line{background:linear-gradient(90deg, transparent, var(--gold), transparent);flex-shrink:0;width:32px;height:1px;position:relative}.scene-context__line:before{content:"";background:var(--gold);border-radius:50%;width:7px;height:7px;animation:2.5s ease-in-out infinite contextPulse;position:absolute;top:-3px;left:-3px;box-shadow:0 0 8px #d4a84380}@keyframes contextPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.scene-context__label{color:var(--gold);letter-spacing:2px;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 12px #d4a84333;font-family:JetBrains Mono,monospace;font-size:clamp(.65rem,.55rem + .3vw,.85rem)}.exp-contact{flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.6rem;display:flex}.exp-contact__item{color:#ffffff80;opacity:0;align-items:center;gap:.4rem;font-family:JetBrains Mono,monospace;font-size:clamp(.68rem,.58rem + .3vw,.88rem);text-decoration:none;transition:color .3s;display:inline-flex}.scene-content.revealed .exp-contact__item{opacity:1;transition:color .3s ease, opacity .7s var(--ease-out-soft) .35s}.exp-contact__item:hover{color:var(--aqua)}.exp-contact__item svg{opacity:.6;flex-shrink:0}.exp-toggle{color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .4s ease, border-color .4s ease, color .4s ease, transform .5s var(--ease-out-spring), box-shadow .4s ease;background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;align-items:center;gap:.5rem;margin-top:clamp(.8rem,.6rem + .6vw,1.2rem);padding:.45rem .9rem;font-family:JetBrains Mono,monospace;font-size:clamp(.65rem,.56rem + .28vw,.85rem);display:inline-flex}.exp-toggle svg{transition:transform .4s var(--ease-out-spring);flex-shrink:0}.exp-toggle:hover{color:#fff;background:#d4a84314;border-color:#d4a84340;transform:translateY(-2px);box-shadow:0 4px 16px #d4a8431a}.exp-toggle--open{color:var(--aqua);background:#00e5cc0f;border-color:#00e5cc33}.exp-toggle--open:hover{background:#00e5cc1a;border-color:#00e5cc4d}.exp-collapse{opacity:0;transition:grid-template-rows .6s var(--ease-out-soft), opacity .5s ease .1s;grid-template-rows:0fr;display:grid}.exp-collapse>ul{overflow:hidden}.exp-collapse--open{opacity:1;grid-template-rows:1fr;margin-top:clamp(.6rem,.4rem + .6vw,1rem)}.timeline-achievements{flex-direction:column;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.timeline-achievement{color:#ffffffe0;text-shadow:0 1px 4px #0009;transition:color .4s ease, transform .5s var(--ease-out-spring), padding-left .4s var(--ease-out-spring), text-shadow .4s ease, opacity .7s var(--ease-out-soft);opacity:0;padding-left:clamp(.85rem,.74rem + .28vw,1.1rem);font-size:clamp(.75rem,.622rem + .4vw,1.1rem);line-height:1.8;position:relative;transform:translate(-12px)}.exp-collapse--open .timeline-achievement{opacity:1;transform:translate(0)}.exp-collapse--open .timeline-achievement:first-child{transition-delay:50ms}.exp-collapse--open .timeline-achievement:nth-child(2){transition-delay:.12s}.exp-collapse--open .timeline-achievement:nth-child(3){transition-delay:.19s}.exp-collapse--open .timeline-achievement:nth-child(4){transition-delay:.26s}.exp-collapse--open .timeline-achievement:nth-child(5){transition-delay:.33s}.scene-content.revealed .timeline-achievement{opacity:1;transform:translate(0)}.timeline-achievement:before{content:"";background:var(--gold);opacity:.5;width:4px;height:4px;transition:background .4s ease, opacity .4s ease, width .5s var(--ease-out-spring), height .5s var(--ease-out-spring), top .5s var(--ease-out-spring), box-shadow .4s ease;border-radius:50%;position:absolute;top:.6em;left:0}.timeline-achievement:after{content:"";opacity:0;width:4px;height:4px;transition:opacity .5s ease, width .5s var(--ease-out-spring), height .5s var(--ease-out-spring), left .5s var(--ease-out-spring), top .5s var(--ease-out-spring);background:0 0;border-radius:50%;position:absolute;top:.6em;left:0}.timeline-achievement:hover{color:#fff;text-shadow:0 0 16px #00e5cc26,0 1px 4px #0009;padding-left:1.4rem;transform:translate(8px)}.timeline-achievement:hover:before{background:var(--aqua);opacity:1;width:6px;height:6px;top:calc(.6em - 1px);box-shadow:0 0 10px #00e5cc99,0 0 20px #00e5cc33}.timeline-achievement:hover:after{opacity:.25;border:1px solid var(--aqua);background:0 0;width:20px;height:20px;top:calc(.6em - 9px);left:-8px}.section-title{color:var(--gold);letter-spacing:clamp(1.5px,.59px + .4vw,4px);text-transform:uppercase;transition:color .4s ease, text-shadow .4s ease, transform .4s var(--ease-out-spring);align-items:center;gap:clamp(.5rem,.32rem + .57vw,1rem);margin-bottom:clamp(1rem,.45rem + 1.7vw,2.5rem);font-family:Inter,sans-serif;font-size:clamp(.65rem,.377rem + 1.36vw,1.4rem);font-weight:700;display:flex}.section-title:hover{color:#fff;text-shadow:0 0 24px #d4a84340,0 0 48px #d4a84314;transform-origin:0;transform:translate(4px)}.section-title svg{color:var(--aqua);-webkit-text-fill-color:initial;filter:drop-shadow(0 0 6px #00e5cc66);transition:transform .4s var(--ease-out-spring);flex-shrink:0;animation:3s ease-in-out infinite paused iconFloat}.section-title:hover svg{animation:iconSpin 1.2s var(--ease-out-spring) infinite;filter:drop-shadow(0 0 12px #00e5ccb3)}@keyframes iconSpin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(-15deg)scale(1.3)}to{transform:rotate(0)scale(1)}}@keyframes iconFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(-3deg)}}.section-title:after{content:"";transform-origin:0;height:1px;transition:transform .8s var(--ease-out-soft) .15s;background:linear-gradient(90deg,#0000,#d4a8434d,#00e5cc33,#0000) 0 0/200% 100%;flex:1;margin-left:.5rem;animation:4s ease-in-out infinite paused lineSlide;position:relative;overflow:hidden;transform:scaleX(0)}.scene-content.revealed .section-title:after{transform:scaleX(1)}@keyframes lineSlide{0%{background-position:-200% 0}to{background-position:200% 0}}.name-particles{width:100%;margin-bottom:.25rem}.name-particles canvas{width:100%!important}.sub-title{color:var(--aqua);text-transform:uppercase;letter-spacing:clamp(1.5px,1.14px + .23vw,2.5px);text-shadow:0 0 20px #00e5cc4d;transition:text-shadow .5s ease, color .5s ease, transform .4s var(--ease-out-spring);margin:clamp(1.2rem,.91rem + .91vw,2rem) 0 clamp(.8rem,.65rem + .45vw,1.2rem);font-size:clamp(.78rem,.664rem + .36vw,1.1rem);font-weight:600;position:relative}.sub-title:after{content:"";background:linear-gradient(90deg, var(--aqua), transparent);width:0%;height:1px;transition:width .8s var(--ease-out-soft);position:absolute;bottom:-4px;left:0}.sub-title:hover{text-shadow:0 0 28px #00e5cc80,0 0 56px #00e5cc26;color:#fff;transform-origin:0;transform:translate(3px)}.sub-title:hover:after{width:100%}.contact-item{color:#ffffffd9;transition:border-color .4s ease, background .4s ease, transform .5s var(--ease-out-spring), box-shadow .4s ease, color .4s ease;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:clamp(.5rem,.37rem + .4vw,.85rem);padding:clamp(.55rem,.44rem + .34vw,.85rem) clamp(.65rem,.49rem + .51vw,1.1rem);font-size:clamp(.78rem,.7rem + .25vw,1rem);line-height:1.6;display:flex;position:relative;overflow:hidden}.contact-item:after{content:"";width:60%;height:100%;transition:left .8s var(--ease-out-soft);pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0a,#00e5cc05,#0000);position:absolute;top:0;left:-100%}.contact-item:hover:after{left:160%}.contact-item:hover{color:#fff;background:#ffffff12;border-color:#00e5cc33;transform:translateY(-3px);box-shadow:0 12px 32px #0000004d,0 0 0 1px #00e5cc0f,inset 0 1px #ffffff0a}.contact-item:hover .contact-icon{color:var(--aqua);transform:scale(1.15)rotate(-5deg)}a.contact-link{color:var(--white-soft);transition:color .4s ease, background .4s ease, box-shadow .5s ease, transform .6s var(--ease-out-spring), border-color .4s ease;text-decoration:none}a.contact-link:hover{color:var(--gold);background:#d4a8430d;border-color:#d4a8432e;transform:translateY(-3px);box-shadow:0 12px 35px #0000004d,0 0 0 1px #d4a8430f,inset 0 1px #d4a8430a}a.contact-link:hover .contact-icon{color:var(--gold);transform:scale(1.2)rotate(-8deg)}.contact-icon{color:var(--aqua);transition:transform .5s var(--ease-out-spring), color .4s ease, filter .4s ease;filter:drop-shadow(0 0 4px #00e5cc33);flex-shrink:0;align-items:center;font-size:1rem;display:flex}.contact-item:hover .contact-icon{filter:drop-shadow(0 0 8px #00e5cc80)}.tags{flex-wrap:wrap;gap:.6rem;display:flex}.tag{color:#ffffffe6;cursor:default;letter-spacing:.04em;transition:border-color .4s ease, background .4s ease, color .4s ease, transform .5s var(--ease-out-spring), box-shadow .5s ease, letter-spacing .4s ease;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;align-items:center;gap:.4rem;padding:clamp(.25rem,.18rem + .23vw,.45rem) clamp(.6rem,.45rem + .45vw,1rem);font-family:JetBrains Mono,monospace;font-size:clamp(.68rem,.607rem + .23vw,.88rem);font-weight:500;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0003,inset 0 1px #ffffff0d}.tag:before{content:"";width:60%;height:100%;transition:left .7s var(--ease-out-soft);pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff0f,#0000);position:absolute;top:0;left:-100%}.tag:hover:before{left:160%}.tag:hover{color:var(--gold);letter-spacing:.06em;background:#d4a8431f;border-color:#d4a84359;box-shadow:0 8px 20px #d4a84326,0 0 0 1px #d4a84314,inset 0 1px #d4a8431a;transform:translateY(-3px)!important}.tag:nth-child(2n):hover{color:var(--aqua);letter-spacing:.06em;background:#00e5cc1a;border-color:#00e5cc59;box-shadow:0 8px 20px #00e5cc1f,0 0 0 1px #00e5cc0f,inset 0 1px #00e5cc14;transform:translateY(-3px)!important}.about-text{color:#fff;text-align:left;letter-spacing:.015em;text-shadow:0 1px 4px #0009;max-width:58ch;transition:border-color .6s ease, text-shadow .5s ease, transform .4s var(--ease-out-spring);border-left:2px solid #0000;margin-bottom:clamp(1rem,.82rem + .57vw,1.5rem);padding-left:clamp(.5rem,.39rem + .34vw,.8rem);font-size:clamp(.85rem,.72rem + .4vw,1.2rem);line-height:clamp(1.7,1.63 + .23vw,1.9);position:relative}.about-text:hover{text-shadow:0 1px 6px #000000b3,0 0 24px #d4a8430f;border-left-color:#d4a84359;transform:translate(6px)}.about-text:last-child{margin-bottom:0}.timeline-item{gap:clamp(.65rem,.43rem + .68vw,1.25rem);margin-bottom:clamp(1rem,.73rem + .85vw,1.75rem);display:flex}.timeline-item:last-child{margin-bottom:0}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.timeline-dot{background:var(--gold);width:10px;height:10px;transition:transform .4s var(--ease-out-spring), box-shadow .4s ease;border-radius:50%;flex-shrink:0;margin-top:6px;box-shadow:0 0 8px #d4a8434d}.timeline-line{background:linear-gradient(#d4a84366,#ffffff0f,#0000);flex:1;width:1px;margin-top:6px;position:relative;overflow:hidden}.timeline-line:after{content:"";will-change:auto;background:linear-gradient(#0000,#d4a843cc,#0000);width:100%;height:30%;animation:3s ease-in-out infinite paused lineGlow;position:absolute;top:0;left:0}@keyframes lineGlow{0%{transform:translateY(-100%)}to{transform:translateY(350%)}}.timeline-date{color:var(--aqua);letter-spacing:clamp(1.5px,1.14px + .23vw,2.5px);text-transform:uppercase;transition:text-shadow .5s ease, transform .4s var(--ease-out-spring);font-family:JetBrains Mono,monospace;font-size:clamp(.72rem,.6rem + .375vw,1.05rem);font-weight:600}.timeline-date:hover{text-shadow:0 0 18px #00e5cc80,0 0 36px #00e5cc26;transform-origin:0;transform:translate(3px)}.timeline-title{color:#fff;text-shadow:0 1px 6px #00000080;transition:text-shadow .4s ease, transform .5s var(--ease-out-spring);margin:clamp(.3rem,.23rem + .23vw,.5rem) 0;font-size:clamp(.9rem,.645rem + .8vw,1.6rem);font-weight:700;line-height:1.5}.timeline-title:hover{text-shadow:0 2px 12px #000000b3,0 0 20px #d4a8431a;transform:translate(4px)}.timeline-subtitle{color:var(--gold);text-shadow:0 1px 4px #00000080;font-size:clamp(.8rem,.636rem + .51vw,1.25rem);font-weight:500;line-height:1.6;transition:color .4s,text-shadow .4s}.timeline-subtitle:hover{text-shadow:0 0 20px #d4a84366}a.timeline-link{transition:color .4s ease, transform .5s var(--ease-out-spring);text-decoration:none;display:block;position:relative}a.timeline-link:after{content:"";background:linear-gradient(90deg, var(--aqua), var(--gold));width:0%;height:1px;transition:width .6s var(--ease-out-soft);position:absolute;bottom:-2px;left:0}a.timeline-link:hover{color:var(--aqua);transform:translate(6px)}a.timeline-link:hover:after{width:100%}.timeline-location{color:var(--gray-light);text-shadow:0 1px 4px #00000080;margin-top:.3rem;font-size:clamp(.75rem,.604rem + .45vw,1.15rem);font-style:italic}.complementary-courses{border-top:1px solid #ffffff14;margin-top:1.5rem;padding-top:1rem}.section-title--sub{margin-bottom:clamp(.8rem,.5rem + 1vw,1.5rem)!important;font-size:clamp(.6rem,.36rem + 1.1vw,1.15rem)!important}.course-list .timeline-link{color:#ffffffbf}.course-list .timeline-date{color:#ffffff80;letter-spacing:1px;white-space:nowrap;font-size:clamp(.68rem,.6rem + .25vw,.9rem)}.course-list .timeline-date:hover{letter-spacing:2px;text-shadow:0 0 15px #ffffff4d}.course-list{flex-direction:column;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none;display:flex}.course-list li{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.built-with{text-align:center;max-width:600px;margin:0 auto;padding:clamp(3rem,2rem + 3vw,6rem) 1rem clamp(2rem,1rem + 2vw,4rem)}.built-with__line{background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:40px;height:1px;margin:0 auto 1.5rem}.built-with__text{letter-spacing:3px;text-transform:uppercase;color:#ffffff40;margin-bottom:.5rem;font-family:JetBrains Mono,monospace;font-size:clamp(.6rem,.52rem + .25vw,.78rem)}.built-with__sub{color:#ffffff1f;letter-spacing:.5px;font-size:clamp(.7rem,.6rem + .3vw,.9rem);font-style:italic;transition:color .6s}.built-with:hover .built-with__sub{color:#ffffff59}.built-with:hover .built-with__text{color:#fff6}.particle-silhouette{--p:var(--sil-progress,0);opacity:calc(1 - var(--p) * .92);-webkit-mask-image:radial-gradient(circle at calc(40% + var(--p) * 10%) calc(45% + var(--p) * 5%), black calc(18% + var(--p) * 82%), transparent calc(35% + var(--p) * 82%));mask-image:radial-gradient(circle at calc(40% + var(--p) * 10%) calc(45% + var(--p) * 5%), black calc(18% + var(--p) * 82%), transparent calc(35% + var(--p) * 82%));-webkit-mask-image:radial-gradient(circle at calc(40% + var(--p) * 10%) calc(45% + var(--p) * 5%), black calc(18% + var(--p) * 82%), transparent calc(35% + var(--p) * 82%))}@media (width<=768px){.particle-silhouette{transform-origin:50% 40%}}.hero{perspective:1200px;background:0 0;flex-direction:column;align-items:flex-end;min-height:150vh;display:flex;position:relative}.hero__content{z-index:1;justify-content:flex-end;align-items:center;width:100%;min-height:100vh;padding:2rem 4vw 2rem 0;display:flex;position:sticky;top:0}.hero__text{-webkit-backdrop-filter:blur(4px);background:radial-gradient(#0a0a0a8c 0%,#0a0a0a4d 60%,#0000 100%);border-radius:24px;flex-direction:column;align-items:flex-start;gap:0;width:fit-content;max-width:clamp(280px,42vw,580px);padding:clamp(1.5rem,1.14rem + 1.14vw,2.5rem) clamp(1.5rem,.95rem + 1.7vw,3rem);display:flex}.hero__heading{text-align:left;text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:800;line-height:1.1}.hero__name-line{white-space:nowrap;display:block;overflow:hidden}.hero__name--first{color:var(--white);text-shadow:0 2px 20px #000c,0 0 40px #ffffff14;opacity:0;font-size:clamp(1.6rem,3.8vw,5rem);transform:translateY(100%)}.hero__name--last{background:linear-gradient(90deg, var(--gold) 0%, #f0d078 25%, var(--gold) 50%, #c49a38 75%, var(--gold) 100%);-webkit-text-fill-color:transparent;text-shadow:none;opacity:0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,3.2vw,4.2rem);transform:translateY(100%)}.hero__role{letter-spacing:.15em;text-transform:uppercase;background:linear-gradient(90deg, var(--aqua), #7fffd4, var(--aqua));-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 2px 12px #000c);opacity:0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-top:clamp(.7rem,.52rem + .57vw,1.2rem);font-size:clamp(.65rem,.38rem + 1.36vw,1.4rem);font-weight:500;position:relative;transform:translateY(20px)}.hero__role:after{content:"";background:linear-gradient(90deg, var(--aqua), transparent);opacity:0;width:60px;height:2px;transition:opacity .8s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1),background .8s,box-shadow .7s;position:absolute;bottom:-8px;left:0}.hero__role--visible:after{opacity:1}.hero__role:hover:after{background:linear-gradient(90deg, var(--aqua), #7fffd4, var(--aqua));width:100%;box-shadow:0 0 12px #00e5cc59}.hero__scramble-text{letter-spacing:4px;color:#ffffff40;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.75rem}.hero__contact-row{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;display:flex}.hero__tagline{color:#ffffffbf;letter-spacing:.03em;text-align:center;text-shadow:0 1px 6px #00000080;max-width:520px;margin-top:.5rem;font-size:1.15rem;font-weight:400;line-height:1.7}.hero__socials{gap:1.5rem;margin-top:1.5rem;display:flex}.hero__social-link{color:#ffffffb3;width:42px;height:42px;transition:color .3s ease, background .3s ease, transform .4s var(--ease-out-spring);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.hero__social-link:hover{color:var(--gold);background:#d4a8431a;transform:translateY(-3px)}.hero__social-link:nth-child(2):hover{color:var(--aqua);background:#00e5cc14}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;display:grid}.skills-grid{flex-wrap:wrap;justify-content:center;gap:1.2rem 1.5rem;display:flex}.skills-group{transition:background .4s ease, transform .5s var(--ease-out-spring), box-shadow .4s ease, border-color .4s ease;background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;flex-direction:column;flex:0 calc(33.333% - 1rem);padding:clamp(.8rem,.65rem + .45vw,1.2rem);display:flex}.skills-group:hover{background:#ffffff0a;border-color:#ffffff1a;transform:translateY(-4px);box-shadow:0 12px 30px #0003}.skills-group:hover .sub-title{text-shadow:0 0 20px #00e5cc66}.skills-group:nth-child(4),.skills-group:nth-child(5){flex:0 calc(50% - 1rem)}.skills-group .sub-title{letter-spacing:clamp(1.5px,1.14px + .23vw,2.5px);margin-top:0;margin-bottom:clamp(.4rem,.27rem + .34vw,.75rem);font-size:clamp(.6rem,.55rem + .17vw,.75rem)}.skills-group .tags{gap:clamp(.4rem,.33rem + .23vw,.6rem)}.skills-group .tag{margin:0;padding:clamp(.25rem,.19rem + .17vw,.4rem) clamp(.55rem,.42rem + .4vw,.9rem);font-size:clamp(.65rem,.58rem + .23vw,.78rem)}#skills .stack-card__inner{padding-top:3rem;padding-bottom:3rem}#skills .section-title{margin-bottom:1.5rem}@media (width>=769px) and (width<=1000px){.hero__content{flex-direction:column;justify-content:flex-end;padding:0 3vw 6vh}.hero__text{text-align:center;-webkit-backdrop-filter:none;background:0 0;align-items:center;max-width:90vw;padding:1.5rem 2rem}.hero__heading{text-align:center}.hero__name--first{font-size:clamp(1.6rem,5vw,3.5rem)}.hero__name--last{font-size:clamp(1.4rem,4.2vw,3rem)}.hero__role:after{background:linear-gradient(90deg, transparent, var(--aqua), transparent);left:50%;transform:translate(-50%)}}.cursor-trail-canvas{z-index:10000;pointer-events:none;position:fixed;inset:0}.cursor-cube{pointer-events:none;z-index:10005;will-change:transform;perspective:400px;width:16px;height:16px;position:fixed;top:0;left:0}.cursor-cube__inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;animation:6s linear infinite cubeRotate;position:relative}@keyframes cubeRotate{0%{transform:rotateX(0)rotateY(0)rotate(0)}to{transform:rotateX(252deg)rotateY(360deg)rotate(180deg)}}.cursor-cube__face{animation:4.2s ease-in-out infinite alternate cubeColorCycle}@keyframes cubeColorCycle{0%{background:#d4a8430a;border-color:#d4a84399;box-shadow:inset 0 0 6px #d4a8431a}to{background:#00e5cc0a;border-color:#00e5cc99;box-shadow:inset 0 0 6px #00e5cc1a}}.cursor-cube__face{background:#d4a8430a;border:1px solid #d4a84399;width:16px;height:16px;position:absolute;box-shadow:inset 0 0 6px #d4a8431a}.cursor-cube__face--front{transform:translateZ(8px)}.cursor-cube__face--back{transform:rotateY(180deg)translateZ(8px)}.cursor-cube__face--left{transform:rotateY(-90deg)translateZ(8px)}.cursor-cube__face--right{transform:rotateY(90deg)translateZ(8px)}.cursor-cube__face--top{transform:rotateX(90deg)translateZ(8px)}.cursor-cube__face--bottom{transform:rotateX(-90deg)translateZ(8px)}.cursor-cube--hover .cursor-cube__face{background:#00e5cc0f;border-color:#00e5ccb3;box-shadow:inset 0 0 8px #00e5cc26,0 0 6px #00e5cc33}.cursor-cube__face{transition:border-color .2s,background .2s,box-shadow .2s,width .25s cubic-bezier(.34,1.56,.64,1),height .25s cubic-bezier(.34,1.56,.64,1),transform .25s cubic-bezier(.34,1.56,.64,1)}@media (hover:none){.cursor-cube{display:none!important}}@media (width<=1200px){.skills-group,.skills-group:nth-child(4),.skills-group:nth-child(5){flex:0 calc(50% - 1rem)!important}}@media (width<=1000px){.hero{align-items:center}.hero__content{flex-direction:column;justify-content:flex-end;align-items:center;padding:0 4vw 6vh}.hero__text{text-align:center;-webkit-backdrop-filter:none;background:0 0;align-items:center;max-width:95vw}.hero__heading{text-align:center}.hero__role:after{background:linear-gradient(90deg, transparent, var(--aqua), transparent);left:50%;transform:translate(-50%)}}@media (width<=768px){.mobile-only{display:block!important}.desktop-only{display:none!important}.contact-grid{grid-template-columns:1fr}.contact-item{min-height:44px}.skills-group,.skills-group:nth-child(4),.skills-group:nth-child(5){flex:0 100%!important}.course-list li{flex-direction:column;gap:.15rem}.tag{min-height:32px}@media (hover:none){.tag:hover,.contact-item:hover{box-shadow:none;transform:none}}.contact-item,.lang-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tag{-webkit-user-select:none;user-select:none}.cv-container{-webkit-overflow-scrolling:touch;padding-bottom:env(safe-area-inset-bottom)}.marquee{letter-spacing:2px;padding:1rem 0;font-size:.65rem}}@media (width>=769px) and (width<=1024px) and (orientation:landscape){.hero__content{padding:1.5rem 3vw 1.5rem 0}.hero__text{max-width:clamp(280px,40vw,420px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
