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}.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:1s ease-out .5s forwards langIn;display:flex;position:fixed;top:clamp(.75rem,.48rem + .85vw,1.5rem);right:clamp(.75rem,.48rem + .85vw,1.5rem)}@keyframes langIn{to{opacity:1}}.top-btns__toggle{display:none}.top-btns__items{gap:.5rem;display:flex}.lang-btn{letter-spacing:1.5px;cursor:pointer;-webkit-backdrop-filter:blur(16px);color:#ffffff80;transition:color .35s ease, border-color .35s ease, background .35s ease, transform .4s var(--ease-out-spring), box-shadow .4s ease;background:#0a0a0a80;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:clamp(.4rem,.32rem + .23vw,.5rem) clamp(.65rem,.5rem + .45vw,.9rem);font-family:JetBrains Mono,monospace;font-size:clamp(.6rem,.56rem + .11vw,.68rem);font-weight:600;text-decoration:none;display:inline-flex}.lang-btn:hover{color:#ffffffe6;background:#ffffff0f;border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.lang-btn:active{transform:translateY(0)scale(.96)}.lang-btn--cv:hover{color:var(--gold);border-color:#d4a8434d;box-shadow:0 4px 16px #d4a8431f}.lang-btn--lang:hover{color:var(--aqua);border-color:#00e5cc4d;box-shadow:0 4px 16px #00e5cc1a}@media (width<=768px){.top-btns__toggle{-webkit-backdrop-filter:blur(16px);color:#ffffff80;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 #ffffff1a;border-radius:10px;justify-content:center;align-items:center;display:flex}.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);flex-direction:column;gap:.4rem;position:absolute;top:calc(100% + .5rem);right:0;transform:translateY(-8px)scale(.95)}.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;min-height:min(100dvh,100vh);transform-style:preserve-3d;background:0 0;justify-content:center;align-items:center;display:flex;position:relative}@media (width<=1200px){.stack-card{min-height:auto;padding:2vh 0}}.stack-card__inner{width:100%;max-width:1100px;padding:clamp(2rem,.55rem + 4.55vw,6rem) clamp(.75rem,3.69vw - .43rem,4rem)}.card{-webkit-backdrop-filter:blur(40px)saturate(1.2);--pulse-shadow:0 0 0 transparent;box-shadow:0 8px 32px #0006, inset 0 1px 0 #ffffff0a, var(--pulse-shadow);transform-style:preserve-3d;will-change:transform;--glow-x:50%;--glow-y:50%;--glow-opacity:0;background:#0c0c0cd9;border:1px solid #ffffff0f;border-radius:20px;margin-bottom:clamp(.75rem,.48rem + .85vw,1.5rem);padding:0;transition:transform .15s ease-out,box-shadow .4s,background .4s,border-color .4s;position:relative}.card-glow{background:radial-gradient(350px circle at var(--glow-x) var(--glow-y), #d4a84326, #00e5cc0d 40%, transparent 65%);opacity:var(--glow-opacity);pointer-events:none;z-index:1;border-radius:20px;transition:opacity .4s;position:absolute;inset:0}.card-border-glow{background:radial-gradient(400px circle at var(--glow-x) var(--glow-y), #00e5cc80, #d4a84333 35%, transparent 65%);opacity:var(--glow-opacity);pointer-events:none;z-index:0;-webkit-mask-composite:xor;border-radius:21px;padding:1.5px;transition:opacity .4s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 40%,#ffffff08 45%,#ffffff0d 50%,#ffffff08 55%,#0000 60%) 200% 0/250% 100%;border-radius:20px;transition:background-position;position:absolute;inset:0}.card:hover:after{transition:background-position .8s var(--ease-out-soft);background-position:-50% 0}.card-content{z-index:2;transform-style:flat;padding:clamp(.9rem,.55rem + 1.08vw,1.85rem);position:relative}.tilt-card:before{content:"";opacity:0;transition:opacity .5s var(--ease-out-gentle);pointer-events:none;z-index:1;background:linear-gradient(135deg,#d4a8430a 0%,#0000 40% 60%,#00e5cc0a 100%);border-radius:20px;position:absolute;inset:0}.tilt-card:hover:before{opacity:1}.tilt-card:hover{box-shadow:0 24px 64px #00000080, 0 0 0 1px #ffffff0a, var(--pulse-shadow);background:#0f0f0fbf;border-color:#ffffff1f}: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}}.tilt-card{will-change:clip-path, filter, transform;perspective:1200px;transform-style:preserve-3d;transition:box-shadow .4s,background .5s,border-color .5s,transform .5s cubic-bezier(.34,1.56,.64,1)}.tilt-card.revealed .section-title svg,.tilt-card.revealed .section-title:after,.tilt-card.revealed .timeline-dot:after{animation-play-state:running}.tilt-card.revealed .timeline-line:after{will-change:transform;animation-play-state:running}.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;padding-left:clamp(.85rem,.74rem + .28vw,1.1rem);font-size:clamp(.75rem,.622rem + .4vw,1.1rem);line-height:1.8;position:relative}.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 .6s var(--ease-out-spring);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:"";background:linear-gradient(90deg,#0000,#d4a8434d,#00e5cc33,#0000) 0 0/200% 100%;flex:1;height:1px;margin-left:.5rem;animation:4s ease-in-out infinite paused lineSlide;position:relative;overflow:hidden}@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{-webkit-backdrop-filter:blur(12px);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;border-left:2px solid #0000;max-width:58ch;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);transition:border-color .6s,padding-left .4s,text-shadow .5s;position:relative}.about-text:hover{text-shadow:0 1px 6px #000000b3,0 0 24px #d4a8430f;border-left-color:#d4a84359;padding-left:1.2rem}.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-dot:after{content:"";border:1px solid #d4a84333;border-radius:50%;animation:3s ease-in-out infinite paused dotRing;position:absolute;inset:-6px}@keyframes dotRing{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.8)}}.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:100%;animation:3s ease-in-out infinite paused lineGlow;position:absolute;top:0;left:0}@keyframes lineGlow{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.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}.complementary-title{color:#ffffffd9;letter-spacing:.5px;font-size:clamp(.88rem,.782rem + .31vw,1.15rem);font-weight:600}.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}.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}.card{transform-style:flat;border-radius:12px}.tilt-card{opacity:0;transition:opacity .6s var(--ease-out-soft), transform .7s var(--ease-out-spring);transform:translateY(20px)}.tilt-card.revealed{opacity:1;transform:none!important}.card-glow,.card-border-glow{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}.tilt-card{opacity:1;transform:none}}
