*,:after,:before{margin:0;padding:0}:root{--bg:#080808;--bg-alt:#0e0e0e;--surface:#141414;--surface-2:#1a1a1a;--surface-3:#202020;--border:hsla(0,0%,100%,.07);--border-hover:hsla(0,0%,100%,.15);--text:#efefef;--text-muted:#777;--text-dim:#3a3a3a;--accent:#6366f1;--accent-2:#8b5cf6;--accent-3:#06b6d4;--accent-glow:rgba(99,102,241,.25);--accent-glow-2:rgba(139,92,246,.2);--green:#22c55e;--orange:#f97316;--radius:14px;--radius-lg:22px;--radius-xl:32px;--ease:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--t:0.25s}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}*,:after,:before{box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;cursor:none}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.container,[class*=-grid]>*{min-width:0}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--accent-2));border-radius:3px}#cursor-dot{width:8px;height:8px;background:#fff;border-radius:50%;z-index:9999;transition:width .2s var(--ease),height .2s var(--ease),background .2s var(--ease),opacity .2s}#cursor-dot,#cursor-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference}#cursor-ring{width:36px;height:36px;border:1.5px solid hsla(0,0%,100%,.5);border-radius:50%;z-index:9998;transition:width .35s var(--ease),height .35s var(--ease),border-color .25s,background .25s,transform .1s}#cursor-trail{position:fixed;width:6px;height:6px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9997;transform:translate(-50%,-50%);opacity:.4;transition:opacity .3s;filter:blur(2px)}body.cursor-link #cursor-dot{width:12px;height:12px}body.cursor-link #cursor-ring{width:52px;height:52px;border-color:var(--accent)}body.cursor-button #cursor-dot{width:0;height:0;opacity:0}body.cursor-button #cursor-ring{width:64px;height:64px;background:var(--accent-glow);border-color:var(--accent)}body.cursor-image #cursor-ring{width:80px;height:80px;border-style:dashed;border-color:hsla(0,0%,100%,.3)}body.cursor-card #cursor-ring{width:48px;height:48px;border-color:var(--accent-2)}#navbar{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(8,8,8,.8);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--border);transition:border-color var(--t) var(--ease)}.nav-inner{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;gap:2rem}.nav-logo{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;color:var(--text);font-family:JetBrains Mono,monospace;transition:opacity var(--t)}.nav-logo:hover{opacity:.7}.nav-logo span{color:var(--accent);font-weight:400}.nav-links{display:flex;gap:.125rem;margin-left:auto}.nav-links a{padding:.5rem .875rem;font-size:.875rem;font-weight:500;color:var(--text-muted);border-radius:10px;transition:color var(--t),background var(--t);position:relative}.nav-links a:after{content:"";position:absolute;bottom:4px;left:50%;right:50%;height:2px;background:var(--accent);border-radius:2px;transition:left var(--t) var(--ease),right var(--t) var(--ease)}.nav-links a.active,.nav-links a:hover{color:var(--text)}.nav-links a.active:after,.nav-links a:hover:after{left:12px;right:12px}.nav-cta{padding:.5rem 1.25rem;background:var(--accent);color:#fff;font-size:.875rem;font-weight:600;border-radius:10px;transition:background var(--t),transform var(--t) var(--ease-spring),box-shadow var(--t);white-space:nowrap}.nav-cta:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 8px 20px var(--accent-glow)}#menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:none;padding:4px;margin-left:auto}#menu-btn span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:var(--t) var(--ease)}#menu-btn.open span:first-child{transform:translateY(7px) rotate(45deg)}#menu-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}#menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}#mobile-nav{display:none;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border);animation:slideDown .2s var(--ease)}#mobile-nav.open{display:block}#mobile-nav ul{display:flex;flex-direction:column;gap:.25rem}.mob-link{display:block;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-muted);border-radius:10px;transition:color var(--t),background var(--t)}.mob-link:hover{color:var(--text);background:var(--surface)}.mob-cv{margin-top:.5rem;background:var(--accent);color:#fff!important;text-align:center}.mob-cv:hover{background:var(--accent-2)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hero,section#home{min-height:100vh;display:flex!important;flex-direction:column!important;position:relative;overflow:hidden;padding-top:64px!important;background:var(--bg)}#hero-canvas{inset:0;width:100%;height:100%;opacity:.35}#hero-canvas,.hero-orb{position:absolute;pointer-events:none;z-index:0}.hero-orb{border-radius:50%;filter:blur(120px)}.orb-1{width:min(700px,120vw);height:min(700px,120vw);background:radial-gradient(circle,rgba(99,102,241,.18),transparent 70%);top:-200px;left:-150px;animation:orbDrift 16s ease-in-out infinite}.orb-2{width:min(600px,110vw);height:min(600px,110vw);background:radial-gradient(circle,rgba(139,92,246,.14),transparent 70%);bottom:-150px;right:-100px;animation:orbDrift 20s ease-in-out infinite reverse}.orb-3{width:min(400px,80vw);height:min(400px,80vw);background:radial-gradient(circle,rgba(6,182,212,.1),transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation:orbDrift 12s ease-in-out 5s infinite}@keyframes orbDrift{0%,to{transform:translate(0)}33%{transform:translate(50px,-40px)}66%{transform:translate(-30px,50px)}}.hero-meta{position:relative;z-index:2;justify-content:space-between;padding:1.25rem 3rem 0;max-width:1400px;margin:0 auto;width:100%}.hero-meta,.meta-left{display:flex;align-items:center}.meta-left{gap:.625rem}.meta-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:metaPulse 2s ease-in-out infinite;box-shadow:0 0 0 0 rgba(34,197,94,.5)}@keyframes metaPulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}.meta-text{font-size:.75rem;font-weight:500;color:var(--text-muted);letter-spacing:.04em}.meta-right{display:flex;align-items:center;gap:1.5rem}.meta-loc,.meta-time{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-dim);letter-spacing:.04em}.meta-time{color:var(--accent)}.hero-layout{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:1fr auto;gap:0;align-items:center;max-width:1400px;margin:0 auto;width:100%;padding:2rem 3rem 5rem}.hero-typo{display:flex;flex-direction:column;justify-content:center;padding-right:4rem}.hero-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.eyebrow-line{display:block;width:40px;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:2px}.eyebrow-text{font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-family:JetBrains Mono,monospace}.type-cursor{display:inline-block;color:var(--accent);font-weight:300;margin-left:1px;animation:cursorBlink .75s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.hero-headline{display:flex;flex-direction:column;font-size:clamp(4rem,9vw,8.5rem);font-weight:900;line-height:.92;letter-spacing:-.04em;margin-bottom:2.5rem}.hl-row{display:flex;align-items:baseline;gap:.3em;overflow:hidden}.hl-word{display:inline-block;color:var(--text);transform:translateY(110%);animation:slideUp .8s var(--ease-spring) forwards}.hl-row-1 .hl-word{animation-delay:.1s}.hl-row-2 .hl-word{animation-delay:.2s}.hl-outline{display:inline-block;background:linear-gradient(135deg,var(--accent) 0,var(--accent-2) 60%,var(--accent-3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-text-stroke:0;transform:translateY(110%);animation:slideUp .8s var(--ease-spring) forwards;animation-delay:.3s;filter:brightness(1);transition:filter .3s}.hl-outline:hover{filter:brightness(1.2)}@keyframes slideUp{to{transform:translateY(0)}}.hero-sub{display:flex;flex-direction:column;gap:2rem;max-width:520px;opacity:0;animation:fadeIn .6s ease .7s forwards}@keyframes fadeIn{to{opacity:1}}.hero-desc{font-size:1.0625rem;color:var(--text-muted);line-height:1.75}.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}.hero-ticker{margin-top:3rem;overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.875rem 0;opacity:0;animation:fadeIn .6s ease 1s forwards}.ticker-track{display:flex;align-items:center;gap:1.5rem;white-space:nowrap;animation:ticker 25s linear infinite;width:-moz-max-content;width:max-content}.ticker-track span{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.ticker-sep{color:var(--accent)!important;font-size:.625rem!important}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.hero-ticker:hover .ticker-track{animation-play-state:paused}.hero-card-wrap{display:flex;flex-direction:column;align-items:center;gap:1.5rem;opacity:0;animation:fadeIn .8s ease .5s forwards}.hero-card{position:relative;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);overflow:visible;cursor:none;transform-style:preserve-3d;transition:box-shadow .3s}.hero-card:hover{box-shadow:0 30px 60px rgba(0,0,0,.5),0 0 0 1px rgba(99,102,241,.2)}.card-inner{border-radius:var(--radius-xl);overflow:hidden;transform-style:preserve-3d}.card-img-wrap{position:relative;aspect-ratio:3/3.5;overflow:hidden}.card-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;transition:transform .5s var(--ease)}.hero-card:hover .card-img{transform:scale(1.04)}.card-img-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,8,8,.9) 0,rgba(8,8,8,.2) 50%,transparent)}.card-info{position:absolute;bottom:0;left:0;right:0;padding:1.5rem}.card-name{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.25rem}.card-role{font-size:.75rem;color:hsla(0,0%,100%,.6);font-family:JetBrains Mono,monospace;margin-bottom:.75rem}.card-status{display:inline-flex;align-items:center;gap:.5rem;background:rgba(34,197,94,.15);border:1px solid rgba(34,197,94,.3);border-radius:100px;padding:.3rem .75rem;font-size:.6875rem;font-weight:600;color:var(--green)}.status-pulse{width:6px;height:6px;background:var(--green);border-radius:50%;animation:metaPulse 2s ease-in-out infinite}.chip{position:absolute;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.625rem .875rem;display:flex;flex-direction:column;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.4);z-index:10;animation:chipFloat 4s ease-in-out infinite}.chip-1{top:1rem;right:-3.5rem;animation-delay:0s}.chip-2{top:50%;right:-3.5rem;transform:translateY(-50%);animation-delay:1.3s}.chip-3{top:1rem;left:-3.5rem;animation-delay:.7s}@keyframes chipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.chip-2{animation:chipFloat2 4s ease-in-out 1.3s infinite}@keyframes chipFloat2{0%,to{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 6px))}}.chip-num{font-size:1.125rem;font-weight:900;background:linear-gradient(135deg,var(--accent),var(--accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.chip-lbl{font-size:.5625rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-top:.2rem}.card-glow{position:absolute;inset:-1px;border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--accent),var(--accent-2),var(--accent-3));z-index:-1;opacity:0;transition:opacity .4s}.hero-card:hover .card-glow{opacity:.15}.card-socials{display:flex;gap:.625rem}.card-socials a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);transition:color var(--t),border-color var(--t),background var(--t),transform var(--t) var(--ease-spring)}.card-socials a svg{width:16px;height:16px}.card-socials a:hover{color:var(--text);border-color:var(--accent);background:var(--accent-glow);transform:translateY(-3px)}.scroll-down{position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-dim);transition:color var(--t);z-index:2}.scroll-down:hover{color:var(--accent)}.scroll-text{font-size:.625rem;font-family:JetBrains Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.scroll-line{width:1px;height:36px;background:linear-gradient(180deg,currentColor,transparent);animation:scrollAnim 2s ease-in-out infinite}@keyframes scrollAnim{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (max-width:1100px){.hero-layout{padding:2rem 2rem 5rem}.hero-typo{padding-right:2rem}.chip-1,.chip-2{right:-2.5rem}.chip-3{left:-2.5rem}}@media (max-width:900px){.hero,section#home{min-height:100svh!important;justify-content:flex-start;padding-top:90px!important}.hero-meta{padding:1rem 1.25rem 0;flex-wrap:wrap;gap:.5rem}.hero-layout{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem 1.25rem 3rem;gap:2rem;width:100%;max-width:100%}.hero-card-wrap,.scroll-down{display:none}.hero-typo{padding-right:0;align-items:center;width:100%;max-width:540px}.hero-eyebrow{justify-content:center}.hero-headline{margin-bottom:1.5rem}.hero-sub{max-width:100%;align-items:center;gap:1.5rem}.hero-ctas{justify-content:center}.hero-ticker{margin-top:2rem}.chip{display:none}}@media (max-width:600px){.hero-meta{padding:.75rem 1rem 0}.meta-right{display:none}.hero-layout{padding:1.25rem 1rem 3.5rem;gap:2rem}.hero-headline{font-size:clamp(2.75rem,13vw,4.5rem)}.hero-card{width:200px}.chip{display:none}.hero-sub{gap:1.5rem}.hero-ctas{gap:.75rem;flex-direction:column;align-items:center;width:100%;max-width:260px;margin:0 auto}.btn-ghost,.btn-primary{width:100%;justify-content:center}}.btn-primary{display:inline-flex;align-items:center;gap:.625rem;padding:.8125rem 1.75rem;background:var(--accent);color:#fff;font-weight:600;font-size:.9375rem;border-radius:var(--radius);border:none;cursor:none;transition:background var(--t),transform var(--t) var(--ease-spring),box-shadow var(--t);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,hsla(0,0%,100%,.1) 50%,transparent);transform:translateX(-100%);transition:transform .5s var(--ease)}.btn-primary:hover:before{transform:translateX(100%)}.btn-primary:hover{background:var(--accent-2);transform:translateY(-2px);box-shadow:0 12px 28px var(--accent-glow)}.btn-primary svg{width:16px;height:16px;transition:transform var(--t) var(--ease-spring)}.btn-primary:hover svg{transform:translateX(3px)}.btn-primary.w-full{width:100%;justify-content:center}.btn-ghost{display:inline-flex;align-items:center;gap:.625rem;padding:.8125rem 1.75rem;background:transparent;color:var(--text);font-weight:600;font-size:.9375rem;border-radius:var(--radius);border:1px solid var(--border);cursor:none;transition:border-color var(--t),color var(--t),background var(--t),transform var(--t) var(--ease-spring)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);transform:translateY(-2px)}.section{padding:7rem 0}.section-alt{background:var(--bg-alt)}.section-header{display:flex;align-items:center;gap:2.5rem;margin-bottom:4rem;padding-top:.75rem;overflow:visible}.sh-num-block{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1;overflow:visible;padding-top:.25rem}.sh-big-num{font-size:clamp(4.5rem,10vw,8rem);font-weight:900;letter-spacing:-.06em;line-height:1;display:block;background:linear-gradient(135deg,var(--text) 40%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sh-label{font-size:.75rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:var(--text-muted);margin-top:.5rem;padding-left:.1em}.sh-title-block{border-left:2px solid var(--accent);padding-left:2rem}.sh-title-block .section-tag{margin-bottom:.5rem;text-align:left}.sh-title-block .section-title{text-align:left;margin-bottom:0;line-height:1.15}.sh-title-block .section-title strong{color:var(--accent);font-weight:900;-webkit-text-fill-color:unset}.section-tag{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;display:block}.section-tag.text-center{text-align:center}.section-title{font-size:clamp(1.875rem,4vw,3rem);font-weight:900;letter-spacing:-.035em;line-height:1.1;margin-bottom:1rem}.section-title.text-center{text-align:center}.section-sub{font-size:1rem;color:var(--text-muted)}.section-sub.text-center{text-align:center}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:6rem;align-items:center}.about-img-frame,.about-img-wrap{position:relative}.about-img-frame{border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border)}.about-img{width:100%;aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top;display:block;transition:transform .6s var(--ease)}.about-img-frame:hover .about-img{transform:scale(1.03)}.img-noise{position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");opacity:.5}.about-badge{position:absolute;bottom:-1rem;left:50%;transform:translateX(-50%);background:var(--surface-2);border:1px solid var(--border);border-radius:100px;padding:.5rem 1.125rem;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.3)}.dot-pulse{width:8px;height:8px;background:var(--green);border-radius:50%;animation:dotPulse 2s ease-in-out infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 0 rgba(34,197,94,.5)}50%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}.about-exp-hero{display:flex;align-items:center;gap:2.5rem;margin-bottom:5rem;padding-bottom:4rem;border-bottom:1px solid var(--border)}.exp-num-block{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1;overflow:visible;padding-top:.25rem}.exp-big-num{font-size:clamp(6rem,14vw,11rem);font-weight:900;letter-spacing:-.06em;line-height:1;display:block;background:linear-gradient(135deg,var(--text) 40%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exp-years-label{font-size:.9375rem;font-weight:600;letter-spacing:.45em;text-transform:uppercase;color:var(--text-muted);margin-top:.5rem;padding-left:.1em}.exp-desc-block{border-left:2px solid var(--accent);padding-left:2rem}.exp-desc-text{font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:500;color:var(--text-muted);line-height:1.5}.exp-desc-text strong{color:var(--text);font-weight:800}.about-exp-pill{position:absolute;top:1.5rem;right:-1.5rem;background:var(--accent);border-radius:var(--radius);padding:1rem 1.25rem;text-align:center;box-shadow:0 12px 32px var(--accent-glow)}.pill-num{display:block;font-size:1.75rem;font-weight:900;color:#fff;line-height:1}.pill-text{font-size:.6875rem;color:hsla(0,0%,100%,.8);font-weight:500;line-height:1.3}.skills-list{display:flex;flex-direction:column;gap:1.25rem;margin:2rem 0}.skill-group h4{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.625rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tags span{padding:.375rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--text-muted);transition:border-color var(--t),color var(--t),background var(--t),transform var(--t) var(--ease-spring);cursor:none}.skill-tags span:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow);transform:translateY(-2px)}.timeline{max-width:740px;margin:0 auto;position:relative;padding-left:2.5rem}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent-2),var(--accent-3));border-radius:2px}.timeline-item{position:relative;padding-bottom:2.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-2.875rem;top:8px;width:14px;height:14px;border-radius:50%;background:var(--surface-2);border:2px solid var(--text-dim);transition:border-color var(--t),background var(--t),box-shadow var(--t)}.timeline-dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 5px var(--accent-glow)}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:border-color var(--t),transform var(--t) var(--ease),box-shadow var(--t);position:relative;overflow:hidden}.timeline-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.timeline-card:hover:before{transform:scaleX(1)}.timeline-card:hover{border-color:rgba(99,102,241,.25);transform:translateX(6px);box-shadow:0 8px 32px rgba(0,0,0,.2)}.timeline-date{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--accent);font-weight:500;display:block;margin-bottom:.625rem}.timeline-card h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.timeline-company{font-size:.9375rem;color:var(--text-muted);margin-bottom:.875rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.timeline-card>p:not(.timeline-company){color:var(--text-muted);font-size:.9375rem;line-height:1.75;margin-bottom:1.25rem}.timeline-tags{display:flex;flex-wrap:wrap;gap:.5rem}.timeline-tags span{padding:.3rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.75rem;font-weight:500;color:var(--text-muted)}.badge{padding:.2rem .625rem;border-radius:100px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-green{background:rgba(34,197,94,.12);color:var(--green)}.badge-blue{background:rgba(99,102,241,.12);color:var(--accent)}.badge-gray{background:hsla(0,0%,100%,.06);color:var(--text-muted)}.badge-orange{background:rgba(249,115,22,.12);color:var(--orange)}.badge-cyan{background:rgba(6,182,212,.12);color:var(--accent-3)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--t),transform var(--t) var(--ease),box-shadow var(--t);display:flex;flex-direction:column;cursor:none}.project-card:hover{border-color:rgba(99,102,241,.3);transform:translateY(-8px);box-shadow:0 24px 48px rgba(0,0,0,.35)}.project-img{position:relative;aspect-ratio:16/9;overflow:hidden}.project-img img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s var(--ease)}.project-card:hover .project-img img{transform:scale(1.08)}.project-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(99,102,241,.85),rgba(139,92,246,.85));display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--t)}.project-card:hover .project-overlay{opacity:1}.project-type{color:#fff;font-weight:700;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.25rem;border:1.5px solid hsla(0,0%,100%,.5);border-radius:100px}.project-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.project-body h3{font-size:1.0625rem;font-weight:700;margin-bottom:.625rem}.project-body p{font-size:.875rem;color:var(--text-muted);line-height:1.7;flex:1;margin-bottom:1.25rem}.project-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.project-tags span{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.6875rem;font-weight:500;color:var(--text-muted)}.project-actions{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;justify-content:center}.project-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6875rem 1.75rem;background:linear-gradient(135deg,var(--accent),var(--accent-2));border:none;border-radius:8px;font-size:.875rem;font-weight:700;color:#fff;letter-spacing:.02em;transition:opacity var(--t),transform var(--t) var(--ease-spring),box-shadow var(--t);cursor:none;width:100%;max-width:220px}.project-btn svg{width:15px;height:15px;flex-shrink:0}.project-btn:hover{opacity:.88;box-shadow:0 8px 24px var(--accent-glow);transform:translateY(-2px)}.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.edu-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1.25rem;transition:border-color var(--t),transform var(--t) var(--ease),box-shadow var(--t);position:relative;overflow:hidden;cursor:none}.edu-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.edu-card:hover:before{transform:scaleX(1)}.edu-card:hover{border-color:rgba(99,102,241,.25);transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.25)}.edu-card-header{justify-content:space-between;gap:1rem}.edu-card-header,.edu-icon{display:flex;align-items:center}.edu-icon{width:52px;height:52px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);justify-content:center;color:var(--accent);flex-shrink:0;transition:background var(--t),border-color var(--t),transform var(--t) var(--ease-spring)}.edu-icon svg{width:24px;height:24px}.edu-card:hover .edu-icon{background:var(--accent-glow);border-color:var(--accent);transform:scale(1.08) rotate(-3deg)}.edu-meta{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;justify-content:flex-end}.edu-date{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--accent);font-weight:500}.edu-card h3{font-size:1.125rem;font-weight:700;color:var(--text);line-height:1.3}.edu-school{font-size:.875rem;font-weight:600;color:var(--accent);margin-top:-.5rem}.edu-desc{font-size:.875rem;color:var(--text-muted);line-height:1.75}.edu-highlights{display:flex;flex-direction:column;gap:.5rem}.edu-highlight{display:flex;align-items:center;gap:.625rem;font-size:.8125rem;color:var(--text-muted)}.edu-highlight svg{color:var(--green);flex-shrink:0}.edu-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto;padding-top:.5rem;border-top:1px solid var(--border)}.edu-tags span{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.6875rem;font-weight:500;color:var(--text-muted)}.edu-tags span i{font-size:.875rem}.hobbies-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.hobby-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:border-color var(--t),transform var(--t) var(--ease),box-shadow var(--t);position:relative;overflow:hidden;cursor:none}.hobby-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.hobby-card:hover:before{transform:scaleX(1)}.hobby-card:hover{border-color:rgba(99,102,241,.25);transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.25)}.hobby-icon{width:52px;height:52px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--accent);transition:background var(--t),border-color var(--t),transform var(--t) var(--ease-spring)}.hobby-icon svg{width:24px;height:24px}.hobby-card:hover .hobby-icon{background:var(--accent-glow);border-color:var(--accent);transform:scale(1.1) rotate(-4deg)}.hobby-card h3{font-size:1.0625rem;font-weight:700;color:var(--text)}.hobby-card p{font-size:.875rem;color:var(--text-muted);line-height:1.7;flex:1}.hobby-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.hobby-tags span{padding:.25rem .625rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.6875rem;font-weight:500;color:var(--text-muted)}.contact-wrap{display:grid;grid-template-columns:1fr 1.35fr;gap:5rem;align-items:start}.contact-intro{font-size:1.0625rem;color:var(--text-muted);line-height:1.8;margin-bottom:1.75rem}.contact-avail{display:inline-flex;align-items:center;gap:.625rem;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.2);border-radius:8px;padding:.625rem 1rem;font-size:.8125rem;font-weight:600;color:var(--green);margin-bottom:2rem}.avail-dot{width:7px;height:7px;background:var(--green);border-radius:50%;animation:dotPulse 2s ease-in-out infinite;flex-shrink:0}.contact-cards{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.ccard{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);transition:border-color var(--t),background var(--t),transform var(--t) var(--ease-spring),color var(--t),box-shadow var(--t);cursor:none;position:relative;overflow:hidden}.ccard:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--accent),var(--accent-2));transform:scaleY(0);transform-origin:bottom;transition:transform var(--t) var(--ease)}.ccard:hover{border-color:rgba(99,102,241,.3);background:var(--surface-2);color:var(--text);transform:translateX(6px);box-shadow:0 4px 20px rgba(0,0,0,.2)}.ccard:hover:before{transform:scaleY(1)}.ccard-icon{width:40px;height:40px;flex-shrink:0;background:var(--surface-3);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--accent);transition:background var(--t),border-color var(--t)}.ccard:hover .ccard-icon{background:var(--accent-glow);border-color:var(--accent)}.ccard-icon svg{width:17px;height:17px}.ccard-body{flex:1;min-width:0}.ccard-label{display:block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.2rem}.ccard-value{display:block;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccard-arrow{width:16px;height:16px;flex-shrink:0;color:var(--text-dim);opacity:0;transform:translateX(-6px);transition:opacity var(--t),transform var(--t) var(--ease-spring)}.ccard:hover .ccard-arrow{opacity:1;transform:translateX(0)}.contact-note{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-dim)}.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em}.form-group input,.form-group textarea{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem;color:var(--text);font-family:Inter,sans-serif;font-size:.9375rem;transition:border-color var(--t),box-shadow var(--t),background var(--t);outline:none;resize:vertical;cursor:none}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--text-dim)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);background:var(--surface-2);box-shadow:0 0 0 3px var(--accent-glow)}.form-note{font-size:.75rem;color:var(--text-dim);text-align:center;margin-top:-.25rem}.contact-info{display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem}.contact-item{gap:1rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);transition:border-color var(--t),background var(--t),transform var(--t) var(--ease-spring),color var(--t);cursor:none}.contact-icon,.contact-item{display:flex;align-items:center}.contact-icon{width:40px;height:40px;flex-shrink:0;background:var(--surface-3);border:1px solid var(--border);border-radius:10px;justify-content:center;color:var(--accent)}.contact-icon svg{width:17px;height:17px}.contact-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:.2rem}.contact-value{display:block;font-size:.9375rem;font-weight:500}.footer{background:var(--bg);border-top:1px solid var(--border);padding:2rem 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-logo{font-size:1.25rem;font-weight:900;letter-spacing:-.05em}.footer-logo span{color:var(--accent)}.footer-copy{font-size:.875rem;color:var(--text-dim)}.footer-socials{display:flex;gap:.625rem}.footer-socials a{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);transition:color var(--t),border-color var(--t),transform var(--t) var(--ease-spring);cursor:none}.footer-socials a svg{width:16px;height:16px}.footer-socials a:hover{color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.reveal,.reveal-left,.reveal-right{opacity:0;transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal{transform:translateY(40px)}.reveal-left{transform:translateX(-50px)}.reveal-right{transform:translateX(50px)}.reveal-left.visible,.reveal-right.visible,.reveal.visible{opacity:1;transform:none}.projects-grid .project-card:nth-child(2){transition-delay:.08s}.projects-grid .project-card:nth-child(3){transition-delay:.16s}.projects-grid .project-card:nth-child(4){transition-delay:.24s}.projects-grid .project-card:nth-child(5){transition-delay:.32s}.projects-grid .project-card:nth-child(6){transition-delay:.4s}@media (max-width:1024px){.hobbies-grid,.projects-grid{grid-template-columns:repeat(2,1fr)}.edu-grid{grid-template-columns:1fr}.about-grid{gap:3.5rem}.contact-wrap{gap:3rem}}@media (max-width:768px){body{cursor:auto}#cursor-dot,#cursor-ring,#cursor-trail{display:none}.mob-link,.nav-cta,.project-btn,.skill-tags span,[data-cursor],a,button{cursor:pointer!important}.form-group input,.form-group textarea{cursor:text!important}.nav-cta,.nav-links{display:none}#menu-btn{display:flex}.section{padding:4.5rem 0}.section-header{flex-direction:column;align-items:flex-start;gap:1.25rem;margin-bottom:2.5rem}.sh-num-block{flex-direction:row;align-items:baseline;gap:.75rem}.sh-big-num{font-size:clamp(2.75rem,12vw,5rem)}.sh-label{margin-top:0;font-size:.6875rem}.sh-title-block{border-left:none;border-top:2px solid var(--accent);padding-left:0;padding-top:1.25rem;width:100%}.section-title{font-size:clamp(1.5rem,6vw,2.25rem)}.about-exp-hero{flex-direction:column;align-items:flex-start;gap:1.25rem;margin-bottom:2.5rem;padding-bottom:2.5rem}.exp-big-num{font-size:clamp(4rem,18vw,7rem)}.exp-desc-block{border-left:none;border-top:2px solid var(--accent);padding-left:0;padding-top:1.25rem;width:100%}.exp-desc-text{font-size:clamp(1rem,4vw,1.375rem)}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-img{aspect-ratio:4/3}.about-badge{white-space:normal;text-align:center;font-size:.75rem}.timeline{padding-left:2rem}.timeline-dot{left:-2.375rem}.timeline-card{padding:1.5rem}.timeline-card h3{font-size:1.125rem}.projects-grid{grid-template-columns:1fr;gap:1.25rem}.hobbies-grid{grid-template-columns:1fr 1fr;gap:1rem}.hobby-card{padding:1.5rem}.contact-wrap{grid-template-columns:1fr;gap:2rem}.contact-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center}.footer-socials{justify-content:center}}@media (max-width:480px){.container{padding:0 1rem}.hero-layout{padding:1.25rem 1rem 3.5rem;gap:2rem}.hero-headline{font-size:clamp(2.75rem,13vw,4.5rem)}.hero-card{width:200px}.hero-meta{padding:.875rem 1rem 0}.meta-right{display:none}.sh-big-num{font-size:clamp(2.5rem,14vw,4rem)}.section{padding:3.5rem 0}.section-title{font-size:clamp(1.375rem,7vw,2rem)}.exp-big-num{font-size:clamp(3.5rem,20vw,6rem)}.exp-years-label{font-size:.75rem;letter-spacing:.3em}.about-img{aspect-ratio:1/1}.about-badge{padding:.4rem .875rem;font-size:.6875rem}.timeline{padding-left:1.75rem}.timeline-dot{left:-2.125rem}.timeline-card{padding:1.25rem}.hobbies-grid{grid-template-columns:1fr}.hobby-card{padding:1.25rem}.hero-ctas{flex-direction:column;align-items:stretch;width:100%;max-width:280px;margin:0 auto}.btn-ghost,.btn-primary{justify-content:center;width:100%}.contact-form{padding:1.25rem}.form-group input,.form-group textarea{font-size:.9rem}.ticker-track{animation-duration:18s}.footer{padding:1.5rem 0}.footer-copy{font-size:.75rem}}@media (max-width:360px){.hero-headline{font-size:clamp(2.25rem,15vw,3.5rem)}.hero-card{width:180px}.container,.nav-inner{padding:0 .875rem}.sh-big-num{font-size:clamp(2.25rem,16vw,3.5rem)}.contact-form,.timeline-card{padding:1rem}}.project-tags span,.skill-tags span,.timeline-tags span{display:inline-flex;align-items:center;gap:.4rem}.project-tags span i,.skill-tags span i,.timeline-tags span i{font-size:1rem;line-height:1;flex-shrink:0}.ticker-track span{display:inline-flex;align-items:center;gap:.375rem}.ticker-track span i{font-size:.9rem;line-height:1;flex-shrink:0}