:root{--bg:#08080c;--bg-1:#0c0c12;--bg-2:#11111a;--bg-3:#17171f;--bg-elevated:#1d1d28;--surface:hsla(0,0%,100%,.025);--surface-hover:hsla(0,0%,100%,.05);--surface-active:hsla(0,0%,100%,.08);--border:hsla(0,0%,100%,.06);--border-strong:hsla(0,0%,100%,.12);--border-accent:rgba(59,130,246,.35);--accent:#3b82f6;--accent-light:#60a5fa;--accent-bright:#93c5fd;--accent-dim:rgba(59,130,246,.14);--accent-glow:rgba(59,130,246,.4);--lavender:#7dd3fc;--lavender-light:#bae6fd;--lavender-dim:rgba(125,211,252,.12);--success:#4ade80;--success-dim:rgba(74,222,128,.12);--success-glow:rgba(74,222,128,.35);--text-1:#fafafa;--text-2:#c4c4ce;--text-3:#8a8a96;--text-4:#6b6b7a;--text-muted:#383842;--grad-accent:linear-gradient(135deg,#1d4ed8,#3b82f6 50%,#60a5fa);--grad-text:linear-gradient(135deg,#fafafa,#c4c4ce);--grad-accent-text:linear-gradient(135deg,#60a5fa,#93c5fd);--grad-soft:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(59,130,246,.08),transparent 70%);--mono:var(--font-mono),"SF Mono","JetBrains Mono",monospace;--sans:var(--font-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--display:var(--font-display),var(--font-sans);--r-xs:6px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-card:16px;--r-pill:999px;--container-max:1200px;--container-x:clamp(20px,4vw,40px);--section-y:clamp(96px,14vw,160px);--gap-grid:24px;--gap-grid-lg:56px;--pad-card:28px 26px;--pad-card-sm:22px 20px;--section-header-mb:clamp(56px,8vw,80px);--content-max-narrow:760px;--content-max-wide:920px;--shadow-sm:0 2px 8px rgba(0,0,0,.4);--shadow-md:0 12px 32px rgba(0,0,0,.45);--shadow-lg:0 28px 72px rgba(0,0,0,.55);--shadow-accent:0 12px 32px rgba(59,130,246,.25);--shadow-accent-lg:0 20px 56px rgba(59,130,246,.35);--ease:cubic-bezier(0.16,1,0.3,1);--ease-out:cubic-bezier(0.33,1,0.68,1);--dur-fast:0.15s;--dur:0.25s;--dur-slow:0.45s;--fs-xs:0.72rem;--fs-sm:0.85rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:clamp(2rem,4vw,2.75rem);--fs-4xl:clamp(2.5rem,6vw,4rem);--fs-5xl:clamp(3.5rem,9vw,6.5rem);--blue:var(--accent);--violet:var(--lavender);--cta:var(--success)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-width:thin;scrollbar-color:var(--bg-elevated) var(--bg)}body{font-family:var(--sans);background:var(--bg);color:var(--text-1);font-size:var(--fs-base);line-height:1.6;overflow-x:hidden;text-rendering:optimizeLegibility;position:relative}body:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;min-height:100vh;pointer-events:none;z-index:9998;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/></svg>");background-size:180px}a{text-decoration:none;transition:color var(--dur) var(--ease)}a,button{color:inherit}button{border:none;background:none;cursor:pointer;font:inherit}img,svg{display:block;max-width:100%}.icon-svg{display:inline-block;vertical-align:-.125em;flex-shrink:0;fill:currentColor}::selection{background:var(--accent-dim);color:var(--text-1)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:rgba(59,130,246,.18);border-radius:var(--r-pill);border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:rgba(59,130,246,.35)}#particles,.aurora-orb,.hero-scroll,.marquee-strip,.tbar-dots{-webkit-user-select:none;-moz-user-select:none;user-select:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-x)}section[id]{scroll-margin-top:96px;contain:layout paint}#hero{contain:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0);will-change:auto}.hero-content>*,.hero-scroll{opacity:0}body.loaded .hero-content>*{animation:hero-cascade .85s cubic-bezier(.16,1,.3,1) forwards}body.loaded .hero-content .hero-subtitle{animation-delay:.22s}body.loaded .hero-content .hero-desc{animation-delay:.36s}body.loaded .hero-content .hero-typing{animation-delay:.5s}body.loaded .hero-content .hero-cta{animation-delay:.64s}body.loaded .hero-content .hero-meta{animation-delay:.78s}body.loaded .hero-content .hero-title{animation:hero-title-in 1.1s cubic-bezier(.16,1,.3,1) .05s forwards}body.loaded .hero-scroll{animation:hero-scroll-in .7s cubic-bezier(.16,1,.3,1) 1.15s forwards,float 3s ease 1.85s infinite}@keyframes hero-cascade{0%{opacity:0;transform:translateY(28px);filter:blur(6px)}60%{filter:blur(0)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes hero-title-in{0%{opacity:0;transform:scale(.94) translateY(26px);filter:blur(14px)}55%{filter:blur(0)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes hero-title-shine{0%{background-position:-100% 0,0 0}to{background-position:200% 0,0 0}}@keyframes hero-title-glow{0%,to{filter:drop-shadow(0 0 18px rgba(59,130,246,.16))}50%{filter:drop-shadow(0 0 32px rgba(96,165,250,.42))}}@keyframes hero-scroll-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:.7;transform:translateX(-50%) translateY(0)}}body.loading{overflow:hidden}body.loading>:not(#site-loader):not(#progress-bar){opacity:0;animation:failsafe-reveal .5s ease-out 5s forwards}@keyframes failsafe-reveal{to{opacity:1}}body:not(.loading)>:not(#site-loader):not(#progress-bar){opacity:1;transition:opacity .35s cubic-bezier(.22,1,.36,1)}#progress-bar{position:fixed;top:0;left:0;height:2px;width:0;background:var(--grad-accent);z-index:9999;transition:width .1s linear,opacity .35s var(--ease);box-shadow:0 0 12px var(--accent-glow);pointer-events:none;transform-origin:left center}#progress-bar:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent-bright);box-shadow:0 0 6px var(--accent),0 0 14px var(--accent-glow)}#site-loader{position:fixed;inset:0;z-index:99999;background:var(--bg);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .75s cubic-bezier(.7,0,.3,1),transform .95s cubic-bezier(.7,0,.3,1),filter .75s cubic-bezier(.7,0,.3,1);will-change:opacity,transform,filter}#site-loader:before{content:"";position:absolute;left:50%;top:50%;width:520px;height:520px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(59,130,246,.18) 0,rgba(96,165,250,.08) 28%,transparent 65%);opacity:0;animation:loader-halo-in 1.4s cubic-bezier(.16,1,.3,1) .1s forwards;pointer-events:none;will-change:opacity,transform}#site-loader.done{opacity:0;transform:scale(1.08) translateY(-24px);filter:blur(8px);pointer-events:none}.loader-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;perspective:1400px;-webkit-perspective:1400px;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.loader-logo-img{width:64px;height:64px;border-radius:14px;object-fit:contain;display:block;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;will-change:transform,opacity,filter;transform-origin:50% 50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:loader-img-in .95s cubic-bezier(.16,1,.3,1) .08s forwards;image-rendering:-webkit-optimize-contrast}.loader-logo{font-family:var(--mono);font-size:2.6rem;font-weight:700;letter-spacing:-1px;color:var(--text-1);display:flex;align-items:baseline;gap:4px;line-height:1;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.loader-bracket{color:var(--accent);text-shadow:0 0 16px var(--accent-glow);display:inline-block;opacity:0;will-change:transform,opacity,filter;backface-visibility:hidden;-webkit-backface-visibility:hidden}.loader-bracket-left{transform-origin:right center;animation:loader-bracket-left .85s cubic-bezier(.16,1,.3,1) .32s forwards}.loader-bracket-right{transform-origin:left center;animation:loader-bracket-right .85s cubic-bezier(.16,1,.3,1) .4s forwards}.loader-name-text{color:var(--text-1);display:inline-flex;align-items:baseline;white-space:nowrap;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.loader-char{display:inline-block;opacity:0;transform:translate3d(0,-28px,0) rotateX(80deg);transform-origin:50% 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:blur(2px);animation:loader-char-in .7s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.48s + var(--i) * 55ms);will-change:transform,opacity,filter}.loader-line{position:relative;width:140px;height:2px;background:hsla(0,0%,100%,.06);border-radius:var(--r-pill);overflow:hidden;opacity:0;margin-top:6px;animation:loader-line-track .45s cubic-bezier(.22,1,.36,1) .7s forwards}.loader-line-fill{width:0;height:100%;background:var(--grad-accent);border-radius:var(--r-pill);box-shadow:0 0 10px var(--accent-glow),0 0 24px rgba(59,130,246,.28);animation:loader-line-fill 1.05s cubic-bezier(.4,0,.2,1) .82s forwards;will-change:width}.loader-line:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.85) 50%,transparent);opacity:0;animation:loader-line-shimmer 1.2s cubic-bezier(.4,0,.2,1) .95s forwards;pointer-events:none;will-change:transform,opacity}@keyframes loader-halo-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes loader-img-in{0%{opacity:0;transform:rotateY(-75deg) translateZ(-90px) scale(.65);filter:blur(8px)}60%{filter:blur(0)}to{opacity:1;transform:rotateY(0deg) translateZ(0) scale(1);filter:blur(0)}}@keyframes loader-bracket-left{0%{opacity:0;transform:rotateY(95deg) translate3d(-22px,0,0);filter:blur(4px)}55%{filter:blur(0)}to{opacity:1;transform:rotateY(0deg) translateZ(0);filter:blur(0)}}@keyframes loader-bracket-right{0%{opacity:0;transform:rotateY(-95deg) translate3d(22px,0,0);filter:blur(4px)}55%{filter:blur(0)}to{opacity:1;transform:rotateY(0deg) translateZ(0);filter:blur(0)}}@keyframes loader-char-in{0%{opacity:0;transform:translate3d(0,-28px,0) rotateX(80deg);filter:blur(2px)}60%{filter:blur(0)}to{opacity:1;transform:translateZ(0) rotateX(0deg);filter:blur(0)}}@keyframes loader-line-track{to{opacity:1}}@keyframes loader-line-fill{to{width:100%}}@keyframes loader-line-shimmer{0%{opacity:0;transform:translateX(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateX(350%)}}@media (max-width:640px){.loader-logo-img{width:52px;height:52px;border-radius:12px}.loader-logo{font-size:2.1rem}.loader-inner{gap:18px}.loader-line{width:110px}#site-loader:before{width:380px;height:380px}}#navbar{position:fixed;top:18px;left:0;right:0;z-index:1000;padding:0 var(--container-x);pointer-events:none;transform:translate3d(0,6px,0);transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform}#navbar>*{pointer-events:auto}#navbar.scrolled{transform:translateZ(0)}.nav-container{position:relative;max-width:var(--container-max);margin:0 auto;padding:8px 20px;height:60px;display:flex;align-items:center;gap:24px}.nav-container:before{content:"";position:absolute;inset:0;border-radius:var(--r-pill);background:rgba(8,8,12,.78);border:1px solid var(--border-strong);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.06);opacity:0;transform:translate3d(0,-6px,0);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none;z-index:0;will-change:opacity,transform}.nav-container>*{position:relative;z-index:1}#navbar.scrolled .nav-container:before{opacity:1;transform:translateZ(0)}.nav-logo{display:flex;align-items:center;gap:10px;margin-right:auto;transition:opacity var(--dur)}.nav-logo:hover{opacity:.85}.nav-logo-img{width:30px;height:30px;border-radius:var(--r-sm);object-fit:contain}.nav-logo-text{font-family:var(--mono);font-size:.95rem;font-weight:700;white-space:nowrap;letter-spacing:.2px}.logo-bracket{color:var(--accent);text-shadow:0 0 8px var(--accent-glow)}.logo-name{color:var(--text-1)}.nav-links{list-style:none;display:flex;gap:4px}.nav-links a{color:var(--text-2);font-size:.78rem;font-weight:500;padding:8px 14px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);letter-spacing:.2px;transition:color var(--dur),background var(--dur);cursor:pointer}.nav-links a:hover{color:var(--text-1);background:var(--surface-hover)}.nav-links a.active{color:var(--accent-bright);background:var(--accent-dim)}.nav-links a svg{font-size:.65rem;opacity:.7}.nav-cta{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.72rem;font-weight:600;padding:9px 18px;letter-spacing:.3px;cursor:pointer;box-shadow:var(--shadow-accent);transition:background var(--dur),transform var(--dur),box-shadow var(--dur);position:relative}.nav-cta,.nav-cta:after{border-radius:var(--r-pill)}.nav-cta:after{content:"";position:absolute;inset:-3px;border:1px solid rgba(59,130,246,.55);animation:nav-cta-ping 2.8s cubic-bezier(0,0,.2,1) infinite;pointer-events:none}@keyframes nav-cta-ping{0%{transform:scale(1);opacity:.45}70%,to{transform:scale(1.2);opacity:0}}.nav-cta:hover{background:var(--accent-light);transform:translateY(-1px);box-shadow:var(--shadow-accent-lg)}.nav-cta:active{transform:translateY(0)}.nav-toggle{display:none;width:40px;height:40px;border-radius:var(--r-pill);border:1px solid var(--border-strong);color:var(--text-1);font-size:.9rem;background:var(--surface);align-items:center;justify-content:center;transition:background var(--dur),border-color var(--dur);cursor:pointer}.nav-toggle:hover{background:var(--surface-hover);border-color:var(--accent)}#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:clamp(120px,16vw,160px) var(--container-x) clamp(100px,12vw,140px);background:radial-gradient(ellipse 90% 55% at 50% 95%,rgba(37,99,235,.18),transparent 65%),radial-gradient(ellipse 120% 50% at 50% 120%,rgba(5,8,22,.6),transparent 70%),radial-gradient(ellipse 130% 40% at 50% -5%,rgba(15,23,60,.55),transparent 60%),var(--bg)}#particles{opacity:1}#particles,.hero-scene{position:absolute;inset:0;z-index:1;pointer-events:none}.hero-scene{opacity:0;transition:opacity 1.4s .15s var(--ease)}body.loaded .hero-scene{opacity:1}.hero-scene canvas{width:100%!important;height:100%!important;display:block}.hero-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 4%,rgba(8,8,12,.45) 38%,transparent 64%);pointer-events:none}@media (max-width:860px){.hero-scene{opacity:0}body.loaded .hero-scene{opacity:.42}.hero-scene:after{background:linear-gradient(0deg,var(--bg) 4%,rgba(8,8,12,.35) 48%,transparent 100%)}}@media (prefers-reduced-motion:reduce){.hero-scene{opacity:1!important;transition:none!important}}#hero:after{background:radial-gradient(ellipse 100% 85% at 50% 50%,transparent 65%,rgba(8,8,12,.4) 100%);z-index:2}#hero:after,#hero:before{content:"";position:absolute;inset:0;pointer-events:none}#hero:before{background-image:radial-gradient(circle,rgba(59,130,246,.13) 1px,transparent 0);background-size:36px 36px;opacity:.38;z-index:0;mask-image:radial-gradient(ellipse 80% 90% at 50% 35%,#000 40%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 90% at 50% 35%,#000 40%,transparent 100%)}.aurora-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;will-change:transform;mix-blend-mode:screen}.aurora-orb-3{bottom:-30%;left:50%;width:1200px;height:520px;transform:translate(-50%);opacity:.45;background:radial-gradient(ellipse,rgba(96,165,250,.4) 0,rgba(59,130,246,.18) 40%,transparent 70%);animation:orb-float-3 26s ease-in-out infinite}@keyframes orb-float-3{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%,-30px) scale(1.05)}}.hero-content{position:relative;z-index:3;max-width:var(--content-max-wide);width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:0}.hero-content .hero-title{margin:0}.hero-content .hero-subtitle{margin:18px 0 0}.hero-content .hero-desc{margin:26px 0 0}.hero-content .hero-typing{margin:22px 0 0}.hero-content .hero-cta{margin:32px 0 0}.hero-content .hero-meta{margin:40px 0 0}.hero-title{font-family:var(--display);font-size:var(--fs-5xl);font-weight:800;line-height:.92;letter-spacing:-.045em;color:var(--text-1);margin:0;position:relative}.hero-title .gradient{background-image:linear-gradient(100deg,transparent,transparent 38%,rgba(224,242,254,.9) 50%,transparent 62%,transparent),linear-gradient(135deg,#3b82f6,#60a5fa 55%,#93c5fd);background-size:200% 100%,100% 100%;background-repeat:no-repeat,no-repeat;background-position:-100% 0,0 0;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block;filter:drop-shadow(0 0 22px rgba(59,130,246,.18));will-change:background-position,filter}body.loaded .hero-content .hero-title .gradient{animation:hero-title-shine 5.5s ease-in-out 1.4s infinite,hero-title-glow 4.2s ease-in-out 1.2s infinite}.hero-subtitle{font-family:var(--display);font-size:clamp(1.5rem,3.5vw,2.4rem);font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--text-2);max-width:740px;text-wrap:balance}.hero-subtitle strong{color:var(--text-1);font-weight:700}.hero-desc{font-size:clamp(.95rem,1.4vw,1.05rem);color:var(--text-3);line-height:1.7;max-width:620px}.hero-desc strong{color:var(--text-2);font-weight:600}.hero-typing{font-family:var(--mono);font-size:clamp(.85rem,1.4vw,.95rem);color:var(--text-2);min-height:1.6rem;display:inline-flex;align-items:center;letter-spacing:.2px}.hero-typing .prompt{color:var(--accent);margin-right:8px;font-weight:600}.hero-typing .typing-text{color:var(--text-1)}.hero-typing .cursor{color:var(--accent);animation:blink 1.1s step-end infinite;margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}.btn,.hero-cta{align-items:center}.btn{display:inline-flex;justify-content:center;gap:10px;padding:12px 22px;border-radius:var(--r-pill);font-size:.78rem;font-weight:600;font-family:var(--mono);letter-spacing:.5px;cursor:pointer;border:1px solid transparent;line-height:1;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s cubic-bezier(.22,1,.36,1),box-shadow .3s var(--ease);white-space:nowrap;position:relative;overflow:hidden;isolation:isolate;-webkit-tap-highlight-color:transparent}.btn svg{font-size:.92em;opacity:.95;transition:transform .3s cubic-bezier(.22,1,.36,1)}.btn:hover svg{transform:translateX(2px)}.btn-primary{background:var(--accent);color:#fff;border-color:hsla(0,0%,100%,.12);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),0 8px 24px -4px rgba(59,130,246,.45),0 1px 2px rgba(0,0,0,.25)}.btn-primary:before{background:linear-gradient(135deg,hsla(0,0%,100%,.12),transparent 55%)}.btn-primary:after,.btn-primary:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1}.btn-primary:after{background:linear-gradient(110deg,transparent 30%,hsla(0,0%,100%,.28) 50%,transparent 70%);transform:translate3d(-150%,0,0);transition:transform .7s cubic-bezier(.22,1,.36,1)}.btn-primary:hover{background:var(--accent-light);border-color:hsla(0,0%,100%,.2);transform:translateY(-2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.24),0 14px 36px -6px rgba(59,130,246,.55),0 0 0 4px rgba(59,130,246,.1),0 1px 2px rgba(0,0,0,.25)}.btn-primary:hover:after{transform:translate3d(150%,0,0)}.btn-primary:active{transform:translateY(0);transition-duration:.12s;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 4px 12px -2px rgba(59,130,246,.4)}.btn-secondary{background:hsla(0,0%,100%,.03);color:var(--text-1);border-color:hsla(0,0%,100%,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.05),0 4px 14px rgba(0,0,0,.2)}.btn-secondary:before{content:"";position:absolute;inset:0;background:radial-gradient(circle 140px at var(--x,50%) var(--y,50%),rgba(59,130,246,.22),transparent 65%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none;z-index:-1}.btn-secondary:hover{border-color:rgba(59,130,246,.5);background:rgba(59,130,246,.07);transform:translateY(-2px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 12px 32px -8px rgba(59,130,246,.3),0 0 0 4px rgba(59,130,246,.08)}.btn-secondary:hover:before{opacity:1}.btn-secondary:active{transform:translateY(0);transition-duration:.12s}.hero-meta{display:flex;align-items:center;gap:0;margin-top:12px;flex-wrap:wrap}.hero-meta-item{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);padding:0 clamp(18px,3vw,28px)}.hero-meta-item:first-child{padding-left:0}.hero-meta-item:last-child{padding-right:0}.hero-meta-item:not(:last-child){border-right:1px solid var(--border-strong)}.hero-meta-num{font-size:1.5rem;font-weight:700;color:var(--accent-bright);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.hero-meta-label{font-size:.7rem;letter-spacing:1.2px}.hero-meta-label,.hero-scroll{color:var(--text-3);text-transform:uppercase;font-weight:600}.hero-scroll{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.6rem;letter-spacing:2.5px;font-family:var(--mono);z-index:3;animation:float 3s ease infinite;opacity:.7}.hero-scroll svg{color:var(--accent);font-size:.7rem}@keyframes float{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-8px)}}.marquee-strip{background:var(--bg-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:22px 0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;align-items:center;animation:marquee 50s linear infinite;width:max-content}.marquee-track>*{margin-right:48px;flex-shrink:0;display:inline-flex;align-items:center;line-height:1}.marquee-item{font-family:var(--mono);font-size:.82rem;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:1.8px;white-space:nowrap}.marquee-sep{color:var(--accent);font-weight:600;font-size:.95rem;transform:translateY(-1px);animation:marquee-sep-glow 3.5s ease-in-out infinite}@keyframes marquee-sep-glow{0%,to{opacity:.7}50%{opacity:1;text-shadow:0 0 14px var(--accent-glow)}}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}section{position:relative;padding:var(--section-y) 0}#about,#contact,#experience,#skills{position:relative;overflow:hidden;isolation:isolate}#about,#experience{background:radial-gradient(ellipse 90% 45% at 50% 0,rgba(59,130,246,.07),transparent 65%),radial-gradient(ellipse 60% 30% at 15% 30%,rgba(96,165,250,.035),transparent 70%),var(--bg)}#contact,#skills{background:radial-gradient(ellipse 100% 45% at 50% 100%,rgba(96,165,250,.06),transparent 65%),radial-gradient(ellipse 50% 30% at 85% 70%,rgba(59,130,246,.035),transparent 70%),var(--bg-1)}#about:before,#contact:before,#experience:before,#skills:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(560px,78%);height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent);pointer-events:none;z-index:0}#about:after,#contact:after,#experience:after,#skills:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(720px,92%);height:240px;background:radial-gradient(ellipse 70% 85% at 50% 0,rgba(59,130,246,.28),rgba(59,130,246,.12) 28%,rgba(59,130,246,.04) 55%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 75% 90% at 50% 0,#000 35%,rgba(0,0,0,.6) 60%,transparent 90%);mask-image:radial-gradient(ellipse 75% 90% at 50% 0,#000 35%,rgba(0,0,0,.6) 60%,transparent 90%);pointer-events:none;z-index:0;opacity:.85;animation:section-glow-breathe 8s ease-in-out infinite}@keyframes section-glow-breathe{0%,to{opacity:.85}50%{opacity:.45}}#about>.container,#contact>.container,#experience>.container,#skills>.container{position:relative;z-index:1}.section-header{margin:0 0 var(--section-header-mb);max-width:720px;display:flex;flex-direction:column;align-items:flex-start;gap:0}.section-header.center{margin:0 auto var(--section-header-mb);text-align:center;align-items:center}.section-title{font-family:var(--display);font-size:var(--fs-4xl);font-weight:800;line-height:1.05;letter-spacing:-.035em;color:var(--text-1);margin:0 0 20px;position:relative;display:block}.section-title .split-item,.section-title .split-text{background:linear-gradient(120deg,#f1f5f9,#f1f5f9 50%,#bae6fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-title .gradient .split-item,.section-title .gradient .split-text{background:var(--grad-accent-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.section-title .gradient{filter:drop-shadow(0 0 16px rgba(59,130,246,.25))}.section-title:after{content:"";display:block;width:56px;height:3px;margin-top:16px;border-radius:var(--r-pill);background:var(--grad-accent);box-shadow:0 0 16px var(--accent-glow);transition:width .8s cubic-bezier(.16,1,.3,1) .18s;transform-origin:left center}.reveal:not(.visible) .section-title:after{width:0}.section-header.center .section-title:after{margin-left:auto;margin-right:auto}.section-desc{font-size:var(--fs-base);color:var(--text-3);line-height:1.7;max-width:600px;margin:0;text-wrap:pretty}.about-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--gap-grid-lg);gap:var(--gap-grid-lg);align-items:start}.about-text{display:flex;flex-direction:column;gap:22px}.about-lead{font-size:clamp(1.05rem,1.5vw,1.18rem);font-weight:500;line-height:1.55;color:var(--text-1);letter-spacing:-.01em;margin:0;text-wrap:pretty}.about-lead strong{color:var(--accent-bright);font-weight:600}.about-text p:not(.about-lead){font-size:var(--fs-base);color:var(--text-2);line-height:1.75;margin:0}.about-text p:not(.about-lead) strong{color:var(--text-1);font-weight:600}.about-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 32px;gap:18px 32px;margin:6px 0 0;padding-top:26px;position:relative}.about-facts:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 25%,rgba(59,130,246,.28) 50%,var(--border-strong) 75%,transparent)}.about-fact{display:flex;flex-direction:column;gap:5px;margin:0}.about-fact dt{font-size:.66rem;text-transform:uppercase;letter-spacing:1.6px;color:var(--text-4)}.about-fact dd,.about-fact dt{font-family:var(--mono);font-weight:600}.about-fact dd{font-size:.95rem;color:var(--text-1);letter-spacing:-.01em;margin:0}@property --beam-angle{syntax:"<angle>";initial-value:0deg;inherits:false}@keyframes beam-orbit{to{--beam-angle:360deg}}@property --shine-x{syntax:"<percentage>";initial-value:-150%;inherits:false}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,rgba(59,130,246,0),rgba(96,165,250,.95) 40%,#bae6fd);box-shadow:0 0 10px rgba(96,165,250,.55),0 0 22px rgba(125,211,252,.35);z-index:9999;pointer-events:none;will-change:transform}.code-card{background:linear-gradient(115deg,transparent 38%,rgba(186,230,253,.1) 50%,transparent 62%) var(--shine-x,-150%) 0 /220% 100% no-repeat,radial-gradient(circle 220px at var(--mx,-9999px) var(--my,-9999px),rgba(59,130,246,.09),transparent 65%),linear-gradient(180deg,rgba(17,17,26,.7),rgba(12,12,18,.7));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid var(--border-strong);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-md),0 0 0 1px rgba(59,130,246,.04);position:relative;transition:--shine-x .9s cubic-bezier(.22,1,.36,1)}.code-card:hover{--shine-x:250%}.code-card:before{border-radius:var(--r-card);background:linear-gradient(135deg,rgba(59,130,246,.3),transparent 40%,rgba(125,211,252,.2))}.code-card:after,.code-card:before{content:"";position:absolute;inset:0;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.code-card:after{border-radius:inherit;background:conic-gradient(from var(--beam-angle) at 50% 50%,transparent 0deg,transparent 260deg,rgba(59,130,246,.35) 300deg,rgba(147,197,253,.85) 340deg,rgba(59,130,246,.35) 1turn);z-index:2;animation:beam-orbit 7s linear infinite;opacity:.55;transition:opacity .4s var(--ease)}.code-card:hover:after{opacity:1}.code-card-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:rgba(8,8,12,.6);border-bottom:1px solid var(--border)}.tbar-dots{display:flex;gap:6px}.tbar-dot{width:11px;height:11px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}.tbar-dot:first-child{background:#ef4444}.tbar-dot:nth-child(2){background:#eab308}.tbar-dot:nth-child(3){background:#22c55e}.code-card-title{flex:1 1;text-align:center;font-size:.72rem;color:var(--text-3)}.code-card-title,.code-lang-badge{font-family:var(--mono);letter-spacing:.4px}.code-lang-badge{font-size:.6rem;font-weight:700;color:var(--lavender);background:var(--lavender-dim);border:1px solid rgba(125,211,252,.25);padding:3px 9px;border-radius:var(--r-xs)}.code-body{padding:var(--pad-card);font-family:var(--mono);font-size:.78rem;line-height:1.95}.code-line{display:flex;align-items:baseline}.code-ln{width:26px;flex-shrink:0;color:var(--text-4);font-size:.7rem;text-align:right;margin-right:16px;opacity:.6;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.code-kw{color:var(--lavender)}.code-var{color:var(--accent-bright)}.code-op{color:var(--text-3)}.code-str{color:#86efac}.code-num{color:#fbbf24}.code-bool{color:var(--accent-light)}.code-key{color:var(--lavender-light)}.code-cm{color:var(--text-4);font-style:italic}.code-statusbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 18px;border-top:1px solid var(--border);background:rgba(8,8,12,.55);font-family:var(--mono);font-size:.66rem;letter-spacing:.4px;color:var(--text-4)}.code-statusbar-item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.code-statusbar-item svg{font-size:.78em;color:var(--accent);opacity:.8}.code-cursor{display:inline-block;width:7px;height:.85em;background:var(--accent);vertical-align:text-bottom;margin-left:2px;border-radius:1px;animation:code-cursor-blink 1.1s step-end infinite;box-shadow:0 0 6px var(--accent-glow)}@keyframes code-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--gap-grid);gap:var(--gap-grid);align-items:start}.skill-category{display:flex;flex-direction:column;gap:18px;position:relative;padding:4px 0 4px 28px}.skill-category:before{content:"";position:absolute;top:6px;bottom:6px;left:0;width:1px;background:linear-gradient(180deg,transparent,var(--border-strong) 18%,var(--border-strong) 82%,transparent)}.skills-grid>.skill-category:first-child{padding-left:0}.skills-grid>.skill-category:first-child:before{display:none}.category-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--border)}.category-icon{width:44px;height:44px;border-radius:var(--r-md);background:linear-gradient(135deg,rgba(59,130,246,.22),rgba(125,211,252,.14));border:1px solid var(--border-accent);display:flex;align-items:center;justify-content:center;color:var(--accent-bright);font-size:1.1rem;flex-shrink:0;box-shadow:0 4px 16px rgba(59,130,246,.18),inset 0 1px 0 hsla(0,0%,100%,.08);text-shadow:0 0 10px rgba(59,130,246,.45)}.category-meta{flex:1 1;display:flex;flex-direction:column;gap:4px;min-width:0}.category-title{font-size:.95rem;font-weight:700;color:var(--text-1);letter-spacing:.2px}.category-sub,.category-title{font-family:var(--mono);margin:0}.category-sub{font-size:.62rem;color:var(--text-3);letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;gap:6px;font-weight:600}.category-sub-level,.category-sub-level.level-master{color:var(--accent-bright)}.category-sub-level.level-advanced{color:var(--lavender-light)}.category-sub-level.level-confirmed{color:var(--text-2)}.skills-list{gap:4px}.skill-row,.skills-list{display:flex;flex-direction:column}.skill-row{gap:8px;padding:10px 8px;margin:0 -8px;border-radius:var(--r-sm);transition:background var(--dur);position:relative}.skill-row:hover{background:hsla(0,0%,100%,.025)}.skill-row-head{display:flex;align-items:center;gap:10px}.skill-row-icon-wrap{width:26px;height:26px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--color,#3b82f6) 15%,transparent);border:1px solid color-mix(in srgb,var(--color,#3b82f6) 28%,transparent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur),border-color var(--dur),transform var(--dur)}.skill-row:hover .skill-row-icon-wrap{background:color-mix(in srgb,var(--color,#3b82f6) 24%,transparent);border-color:color-mix(in srgb,var(--color,#3b82f6) 45%,transparent);transform:scale(1.06)}.skill-row-icon{font-size:.85rem;color:var(--color,var(--accent));filter:drop-shadow(0 0 4px color-mix(in srgb,var(--color,#3b82f6) 50%,transparent))}.skill-row-name{flex:1 1;font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.1px}.skill-row-level{font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);flex-shrink:0}.skill-row-level.level-expert,.skill-row-level.level-master{color:var(--accent-bright)}.skill-row-level.level-advanced{color:var(--lavender-light)}.skill-row-level.level-confirmed{color:var(--text-2)}.skill-row-bar-wrap{height:5px;background:var(--bg-3);border-radius:var(--r-pill);overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.45);position:relative}.skill-row-bar-wrap:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 24px,hsla(0,0%,100%,.04) 0,hsla(0,0%,100%,.04) 25px);pointer-events:none;border-radius:inherit;z-index:1}.skill-fill{width:0;background:linear-gradient(90deg,var(--color,var(--accent)),var(--accent-light));transition:width 1.2s var(--ease);position:relative;box-shadow:0 0 10px color-mix(in srgb,var(--color,var(--accent)) 70%,transparent);z-index:2}.skill-fill,.skill-fill:after{height:100%;border-radius:var(--r-pill)}.skill-fill:after{content:"";position:absolute;top:0;right:0;width:4px;background:hsla(0,0%,100%,.7);opacity:0;box-shadow:0 0 8px hsla(0,0%,100%,.85);transition:opacity var(--dur)}.skill-fill.animate{width:var(--pct)}.skill-fill.animate:after{opacity:.85;animation:skill-edge-pulse 1.8s cubic-bezier(.4,0,.2,1) .4s 1}.skill-row:hover .skill-fill:after{animation:skill-shimmer 1.4s ease-in-out infinite}@keyframes skill-shimmer{0%,to{box-shadow:0 0 8px hsla(0,0%,100%,.85)}50%{box-shadow:0 0 18px #fff}}@keyframes skill-edge-pulse{0%{box-shadow:0 0 4px hsla(0,0%,100%,.6)}35%{box-shadow:0 0 22px #fff,0 0 44px color-mix(in srgb,var(--color,var(--accent)) 60%,transparent)}to{box-shadow:0 0 8px hsla(0,0%,100%,.85)}}.timeline{--tl-gap:56px;position:relative;max-width:1040px;margin:0 auto;padding:12px 0}.timeline-line{left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,transparent 0,var(--border-strong) 4%,var(--border-strong) 92%,transparent 100%);pointer-events:none}.timeline-line,.timeline-line:before{position:absolute;border-radius:var(--r-pill)}.timeline-line:before{content:"";inset:0;background:linear-gradient(180deg,transparent 0,var(--accent) 12%,#93c5fd 50%,var(--lavender) 88%,transparent 100%);opacity:.95;filter:blur(.5px) drop-shadow(0 0 6px rgba(96,165,250,.55));transform-origin:top center;transform:scaleY(var(--tl-progress,0));transition:transform .12s linear;will-change:transform}.timeline-line:after{content:"";position:absolute;left:50%;top:calc(var(--tl-progress, 0) * 100%);width:10px;height:10px;margin-left:-5px;margin-top:-5px;border-radius:50%;background:radial-gradient(circle,#fff 0,#bae6fd 30%,rgba(96,165,250,.6) 60%,transparent 80%);box-shadow:0 0 18px rgba(186,230,253,.95),0 0 36px rgba(96,165,250,.55);opacity:calc(var(--tl-progress, 0) * (1 - var(--tl-progress, 0)) * 4);pointer-events:none;transition:opacity .2s ease}@media (prefers-reduced-motion:reduce){.timeline-line:before{transform:scaleY(1)!important;transition:none}.timeline-line:after{opacity:0!important}}.timeline-item{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-bottom:48px}.timeline-item:last-of-type{margin-bottom:0}.timeline-year{position:absolute;top:50%;transform:translateY(-50%);font-family:var(--display);font-size:clamp(3rem,6vw,4.6rem);font-weight:800;letter-spacing:-.04em;line-height:1;color:transparent;-webkit-text-stroke:1px hsla(0,0%,100%,.07);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;z-index:0;transition:-webkit-text-stroke .4s var(--ease),color .4s var(--ease);white-space:nowrap}.timeline-item.left .timeline-year{left:calc(50% + var(--tl-gap) + 16px)}.timeline-item.right .timeline-year{right:calc(50% + var(--tl-gap) + 16px);text-align:right}.timeline-item:hover .timeline-year{-webkit-text-stroke:1px rgba(59,130,246,.32);color:rgba(59,130,246,.05)}.timeline-dot{position:absolute;left:50%;top:40px;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;background:var(--text-3);border:2px solid var(--text-2);z-index:2;transition:background var(--dur),border-color var(--dur),box-shadow var(--dur)}.timeline-dot-pulse{position:absolute;inset:-6px;border-radius:50%;pointer-events:none}.timeline-dot.current{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px var(--accent-dim),0 0 24px var(--accent-glow)}.timeline-dot.current .timeline-dot-pulse{background:var(--accent);opacity:.35;animation:dot-ripple 2.4s ease-out infinite}@keyframes dot-ripple{0%{transform:scale(.6);opacity:.5}to{transform:scale(2.4);opacity:0}}.timeline-dot.start{border-color:var(--lavender);background:var(--lavender);box-shadow:0 0 0 4px var(--lavender-dim),0 0 18px rgba(125,211,252,.45)}.timeline-item:hover .timeline-dot:not(.current):not(.start){background:var(--accent);border-color:var(--accent-light);box-shadow:0 0 0 4px var(--accent-dim),0 0 16px var(--accent-glow)}.timeline-connector{position:absolute;top:40px;height:2px;width:var(--tl-gap);transform:translateY(-50%);background:var(--border-strong);z-index:1;transition:background var(--dur),box-shadow var(--dur)}.timeline-item.left .timeline-connector{right:50%}.timeline-item.right .timeline-connector{left:50%}.timeline-item:hover .timeline-connector{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.timeline-content{position:relative;z-index:1;padding:2px 0;transition:transform var(--dur) var(--ease)}.timeline-item.left .timeline-content{grid-column:1;margin-right:var(--tl-gap);text-align:right}.timeline-item.right .timeline-content{grid-column:2;margin-left:var(--tl-gap)}.timeline-content:hover .timeline-title{color:var(--accent-bright)}.timeline-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.timeline-item.left .timeline-header{justify-content:flex-end}.timeline-item.right .timeline-header{justify-content:flex-start}.timeline-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:.6rem;font-weight:700;padding:4px 10px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.6px}.timeline-badge.current{background:var(--accent-dim);color:var(--accent-bright);border:1px solid var(--border-accent)}.timeline-badge.start{background:var(--lavender-dim);color:var(--lavender-light);border:1px solid rgba(125,211,252,.25)}.timeline-date{font-family:var(--mono);font-size:.72rem;font-weight:500;color:var(--text-3);display:inline-flex;align-items:center;gap:6px;background:var(--bg-3);border:1px solid var(--border);padding:4px 10px;border-radius:var(--r-pill)}.timeline-date svg{font-size:.65rem;color:var(--accent);opacity:.85}.timeline-title{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--text-1);margin-bottom:6px;letter-spacing:-.02em;line-height:1.25}.timeline-item.left .timeline-tags{justify-content:flex-end}.timeline-item.left .timeline-role{flex-direction:row-reverse}.timeline-role{font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;color:var(--accent-bright);margin-bottom:14px;display:inline-flex;align-items:center;gap:7px}.timeline-role svg{font-size:.7rem;opacity:.85}.timeline-desc{color:var(--text-2);font-size:.95rem;line-height:1.7;margin-bottom:18px;text-wrap:pretty}.timeline-tags{display:flex;flex-wrap:wrap;gap:6px}.tag-sm{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.65rem;font-weight:500;color:var(--text-3);background:var(--bg-3);border:1px solid var(--border);padding:4px 10px;border-radius:var(--r-xs);letter-spacing:.2px;transition:color var(--dur),border-color var(--dur),background var(--dur)}.timeline-content:hover .tag-sm{color:var(--text-2);border-color:var(--border-strong)}.timeline-end{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;margin:24px auto 0;padding:10px 20px;font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);background:var(--bg-3);border:1px solid var(--border);border-radius:var(--r-pill);width:-moz-fit-content;width:fit-content}.timeline-end:before{content:"";position:absolute;left:50%;bottom:100%;transform:translateX(-50%);width:2px;height:12px;background:linear-gradient(180deg,transparent,var(--border-strong));border-radius:var(--r-pill)}.timeline-end svg{color:var(--accent);font-size:.8rem}.contact-methods{display:flex;flex-direction:column;max-width:820px;margin:0 auto}.contact-method{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;grid-gap:28px;gap:28px;padding:32px 0;text-align:left;border-top:1px solid var(--border);position:relative;transition:transform var(--dur) var(--ease)}.contact-method:last-child{border-bottom:1px solid var(--border)}.contact-method:hover{transform:translateX(8px)}.contact-method-icon{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);font-size:1.35rem;color:var(--color,var(--accent-bright));transition:border-color var(--dur),background var(--dur),transform var(--dur),filter var(--dur);flex-shrink:0}.contact-method:hover .contact-method-icon{border-color:color-mix(in srgb,var(--color,var(--accent)) 45%,var(--border));background:color-mix(in srgb,var(--color,var(--accent)) 10%,transparent);filter:drop-shadow(0 0 12px color-mix(in srgb,var(--color,var(--accent)) 45%,transparent))}.contact-method-body{display:flex;flex-direction:column;gap:5px;min-width:0}.contact-method-title{font-family:var(--mono);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:1.4px;color:var(--text-3)}.contact-method-handle{font-family:var(--mono);font-size:1.15rem;font-weight:700;color:var(--text-1);letter-spacing:-.02em;line-height:1.25;word-break:break-all;transition:color var(--dur)}.contact-method:hover .contact-method-handle{color:var(--color,var(--accent-bright))}.contact-method-desc{font-size:.82rem;color:var(--text-3);margin:0;align-self:center;padding-left:clamp(16px,2vw,28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.contact-method-arrow{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--text-4);font-size:.9rem;transform:translateX(-2px);opacity:.2;transition:opacity var(--dur),transform var(--dur) var(--ease),color var(--dur);flex-shrink:0}.contact-method:hover .contact-method-arrow{opacity:1;transform:translateX(0);color:var(--color,var(--accent-bright))}footer{background:var(--bg);padding:clamp(72px,10vw,120px) 0 32px;position:relative;overflow:hidden;isolation:isolate}footer:before{width:min(640px,88%);height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.5) 40%,rgba(96,165,250,.6) 50%,rgba(59,130,246,.5) 60%,transparent)}footer:after,footer:before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:0}footer:after{width:min(700px,92%);height:220px;background:radial-gradient(ellipse 70% 80% at 50% 0,rgba(59,130,246,.09),rgba(59,130,246,.04) 45%,transparent 78%);pointer-events:none}footer>.container{position:relative;z-index:1}.footer-top{margin-bottom:56px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.5fr;grid-gap:var(--gap-grid-lg);gap:var(--gap-grid-lg)}.footer-brand{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.footer-logo{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:1.15rem;font-weight:700}.footer-logo-img{width:32px;height:32px;border-radius:var(--r-sm);object-fit:contain;transition:transform var(--dur) var(--ease),filter var(--dur) var(--ease)}.footer-logo:hover .footer-logo-img{transform:rotate(-6deg) scale(1.05);filter:drop-shadow(0 0 12px var(--accent-glow))}.footer-tagline{color:var(--text-3);font-size:.92rem;line-height:1.65;max-width:320px}.footer-socials{display:flex;gap:10px}.footer-social{width:40px;height:40px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--text-2);transition:background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);cursor:pointer;position:relative;overflow:hidden}.footer-social:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,var(--accent-dim),transparent 70%);opacity:0;transition:opacity .35s var(--ease);pointer-events:none}.footer-social:hover{background:var(--accent-dim);border-color:var(--border-accent);color:var(--accent-bright);transform:translateY(-3px) scale(1.04);box-shadow:0 8px 24px -8px var(--accent-glow),0 0 0 4px rgba(59,130,246,.08)}.footer-social:hover:before{opacity:1}.footer-social svg{position:relative;z-index:1;transition:transform .35s var(--ease)}.footer-social:hover svg{transform:scale(1.1)}.footer-nav-title{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--text-1);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:18px}.footer-nav-links{list-style:none;display:flex;flex-direction:column;gap:12px}.footer-nav-links a{color:var(--text-3);font-size:.9rem;display:inline-block;position:relative;padding-left:0;transition:color .3s var(--ease),padding-left .3s var(--ease)}.footer-nav-links a:before{content:"→";position:absolute;left:-2px;top:0;font-family:var(--mono);color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.footer-nav-links a:hover{color:var(--accent-bright);padding-left:20px}.footer-nav-links a:hover:before{opacity:1;transform:translateX(0)}.footer-contact-item{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:.88rem;padding:5px 0;border-radius:var(--r-sm);transition:color .3s var(--ease),transform .3s var(--ease);position:relative}.footer-contact-item svg{color:var(--accent);font-size:.9rem;width:18px;flex-shrink:0;transition:transform .3s var(--ease),filter .3s var(--ease),color .3s var(--ease)}.footer-contact-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.footer-contact-item:hover{color:var(--accent-bright);transform:translateX(4px)}a.footer-contact-item:hover svg{color:var(--accent-bright);filter:drop-shadow(0 0 6px var(--accent-glow));transform:scale(1.08)}.footer-contact-item-static{cursor:default}.footer-bottom{padding-top:28px;margin-top:8px;position:relative}.footer-bottom:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong) 20%,var(--border-strong) 80%,transparent)}.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-copy{font-family:var(--mono);font-size:.78rem;color:var(--text-4)}.footer-made{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-3)}.footer-made svg{color:#ef4444;font-size:.7rem;animation:footer-heartbeat 1.6s ease-in-out infinite;display:inline-block;transform-origin:center;filter:drop-shadow(0 0 4px rgba(239,68,68,.5))}@keyframes footer-heartbeat{0%,to{transform:scale(1)}18%{transform:scale(1.22)}30%{transform:scale(1)}45%{transform:scale(1.14)}60%{transform:scale(1)}}.footer-tech{display:flex;gap:8px;flex-wrap:wrap}.footer-tech-tag{font-family:var(--mono);font-size:.66rem;font-weight:600;color:var(--text-3);background:var(--bg-2);border:1px solid var(--border);padding:4px 9px;border-radius:var(--r-xs);letter-spacing:.3px;transition:color .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease)}.footer-tech-tag:hover{color:var(--accent-bright);background:var(--accent-dim);border-color:var(--border-accent);transform:translateY(-2px)}@media (max-width:1024px){.about-grid{grid-template-columns:1fr;gap:40px}.skills-grid{grid-template-columns:repeat(2,1fr);gap:36px var(--gap-grid)}.skill-category{padding:24px 0 0}.skill-category:before{inset:0 0 auto 0;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent)}.skills-grid>.skill-category:first-child{padding-top:4px}.contact-methods{max-width:640px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}@media (max-width:768px){.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:calc(100% + 10px);left:0;right:0;background:rgba(8,8,12,.96);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:14px;gap:4px;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-lg)}.nav-toggle{display:inline-flex}.nav-cta{padding:8px 14px;font-size:.7rem}.hero-content{gap:22px}.aurora-orb-3{width:700px;height:360px;opacity:.4;filter:blur(70px)}.skills-grid{grid-template-columns:1fr}.contact-methods{max-width:480px}.footer-grid{grid-template-columns:1fr;gap:36px}.footer-bottom-inner{flex-direction:column;text-align:center;gap:14px}}@media (max-width:700px){.contact-method{grid-template-columns:auto 1fr auto;grid-template-areas:"icon body arrow" ". desc desc";gap:16px}.contact-method-icon{grid-area:icon}.contact-method-body{grid-area:body}.contact-method-desc{grid-area:desc;padding-left:0;margin-top:2px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.55}.contact-method-arrow{grid-area:arrow}}@media (max-width:900px){.timeline{--tl-gap:20px;max-width:var(--content-max-narrow);padding:4px 0 4px 44px}.timeline-line{left:12px;transform:none}.timeline-item{grid-template-columns:1fr;margin-bottom:32px}.timeline-item:last-of-type{margin-bottom:0}.timeline-year{position:static;transform:none;display:inline-block;font-size:.7rem;-webkit-text-stroke:0;color:var(--accent-bright);margin:0 0 12px;font-weight:700;letter-spacing:1.2px;padding:4px 10px;background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--r-pill);text-transform:uppercase;text-shadow:0 0 8px rgba(59,130,246,.25);white-space:normal}.timeline-item.left .timeline-year,.timeline-item.right .timeline-year{left:auto;right:auto;text-align:left}.timeline-dot{left:-32px;width:14px;height:14px}.timeline-connector,.timeline-dot{top:40px;transform:translateY(-50%)}.timeline-connector{left:-20px;right:auto;width:20px;background:var(--border-strong)}.timeline-item:hover .timeline-connector{background:var(--accent)}.timeline-content,.timeline-item.left .timeline-content,.timeline-item.right .timeline-content{grid-column:1;margin-left:0;margin-right:0;text-align:left}.timeline-item.left .timeline-header,.timeline-item.left .timeline-tags,.timeline-item.right .timeline-header{justify-content:flex-start}.timeline-item.left .timeline-role{flex-direction:row}.timeline-end{margin:28px auto 0}.timeline-end:before{display:none}}@media (max-width:480px){#hero{padding:120px 20px 100px}.hero-cta{flex-direction:column;align-items:stretch;width:100%}.hero-cta .btn{justify-content:center;width:100%}.hero-meta{gap:16px 28px;justify-content:center}.hero-meta-item,.hero-meta-item:first-child,.hero-meta-item:last-child{padding:0}.hero-meta-item:not(:last-child){border-right:none}.about-facts{grid-template-columns:1fr;gap:14px}.timeline{padding-left:32px}.timeline-line{left:8px}.timeline-dot{left:-26px;width:12px;height:12px}.timeline-connector{left:-16px!important;width:16px}.timeline-content{padding:var(--pad-card-sm)}.timeline-year{font-size:1.15rem}.skill-category{padding:var(--pad-card-sm)}.contact-method{padding:22px 0}.contact-method-handle{font-size:1rem}.contact-method-icon{width:46px;height:46px;font-size:1.2rem}.code-body{padding:var(--pad-card-sm)}}#about,#contact,#experience,#skills,footer{contain:layout style}@media (hover:none){.btn-secondary:before{display:none}.code-card:after,.contact-method:after,.skill-category:after,.timeline-content:after{animation:none;opacity:.28}.contact-method,.skill-category,.timeline-content{background-size:0 0,100% 100%}}.aurora-orb,.marquee-track{transform:translateZ(0)}.marquee-track{will-change:transform}.marquee-strip{contain:layout paint}.hero-content{transform:translate3d(0,calc(var(--hero-p, 0) * -50px),0);opacity:calc(1 - var(--hero-p, 0) * .95);will-change:transform,opacity}.hero-scroll{opacity:calc(1 - var(--hero-p, 0) * 5)}#particles{transform:translate3d(0,calc(var(--hero-p, 0) * 35px),0);will-change:transform}.split-mask,.split-text{display:inline-block;line-height:inherit}.split-mask{overflow:hidden;padding-block:.15em;margin-block:-.15em;vertical-align:top}.split-space{display:inline-block;white-space:pre}.split-item{display:inline-block;transform:translate3d(0,110%,0) rotateX(-45deg);opacity:0;transform-origin:50% 100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform var(--split-duration,.9s) cubic-bezier(.16,1,.3,1),opacity calc(var(--split-duration, .9s) * .7) ease-out;will-change:transform,opacity;animation:failsafe-split-reveal .6s ease-out 6s forwards}.split-item.split-in{transform:translateZ(0) rotateX(0);opacity:1;animation:none}@keyframes failsafe-split-reveal{to{opacity:1;transform:translateZ(0) rotateX(0)}}.section-header .section-title{transition:-webkit-clip-path 1.05s cubic-bezier(.16,1,.3,1) .05s;transition:clip-path 1.05s cubic-bezier(.16,1,.3,1) .05s;transition:clip-path 1.05s cubic-bezier(.16,1,.3,1) .05s,-webkit-clip-path 1.05s cubic-bezier(.16,1,.3,1) .05s}.section-header.reveal:not(.visible) .section-title{-webkit-clip-path:inset(0 -10% 110% -10%);clip-path:inset(0 -10% 110% -10%);will-change:clip-path}.section-header.visible .section-title{-webkit-clip-path:inset(-100% -10% -100% -10%);clip-path:inset(-100% -10% -100% -10%);will-change:auto}.section-header .section-desc{transition:opacity .7s ease .35s,transform .7s var(--ease) .35s}.section-header.reveal:not(.visible) .section-desc{opacity:0;transform:translateY(14px);will-change:opacity,transform}.section-header.visible .section-desc{opacity:1;transform:translateY(0);will-change:auto}.timeline-item.reveal{opacity:0}.timeline-item.reveal.left{transform:translate3d(-60px,20px,0) rotate(-1.2deg)}.timeline-item.reveal.right{transform:translate3d(60px,20px,0) rotate(1.2deg)}.timeline-item.reveal.visible{opacity:1;transform:translateZ(0) rotate(0);transition:opacity .8s var(--ease),transform .9s var(--ease)}.btn{transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}.tilt-3d{--tilt-mx:0.5;--tilt-my:0.5;--tilt-rx:0deg;--tilt-ry:0deg;--tilt-intensity:0;position:relative;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.tilt-3d[data-tilt-active=true]{z-index:6}.tilt-3d>.tilt-glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:0;transition:opacity .6s var(--ease);background:radial-gradient(circle 280px at calc(var(--tilt-mx) * 100%) calc(var(--tilt-my) * 100%),rgba(191,219,254,.22),rgba(96,165,250,.08) 38%,transparent 62%);mix-blend-mode:screen}.tilt-3d[data-tilt-active=true]>.tilt-glare{opacity:1}.tilt-layer{transform:translateZ(var(--tilt-z,18px)) rotateX(calc(var(--tilt-rx, 0deg) * -.35)) rotateY(calc(var(--tilt-ry, 0deg) * -.35));transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .55s cubic-bezier(.22,1,.36,1)}.tilt-layer-sm{--tilt-z:10px}.tilt-layer-md{--tilt-z:22px}.tilt-3d-edge[data-tilt-active=true]{box-shadow:inset calc((.5 - var(--tilt-mx)) * 60px) calc((.5 - var(--tilt-my)) * 60px) 90px -50px rgba(191,219,254,calc(.55 * var(--tilt-intensity, 0))),inset calc((var(--tilt-mx) - .5) * 40px) calc((var(--tilt-my) - .5) * 40px) 60px -40px rgba(8,10,18,calc(.5 * var(--tilt-intensity, 0))),0 26px 60px -28px rgba(59,130,246,calc(.42 + var(--tilt-intensity, 0) * .18)),0 0 0 1px rgba(59,130,246,calc(.12 + var(--tilt-intensity, 0) * .18)),var(--shadow-md)}.contact-method.tilt-3d:hover,.footer-social.tilt-3d:hover,.skill-category.tilt-3d:hover{transform:none}.tilt-reveal-3d.reveal:not(.visible){opacity:0;transform:perspective(1100px) rotateX(8deg) rotateY(-4deg) translateY(28px) translateZ(-30px)}.tilt-reveal-3d.reveal.visible{opacity:1;transform:perspective(1100px) rotateX(0) rotateY(0) translateY(0) translateZ(0);transition:opacity .95s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}.code-card.tilt-3d .code-card-header,.contact-method.tilt-3d .contact-method-icon,.skill-category.tilt-3d .category-icon,.timeline-content.tilt-3d .timeline-title{transition:transform .6s cubic-bezier(.22,1,.36,1),filter .4s var(--ease)}.contact-method.tilt-3d[data-tilt-active=true] .contact-method-icon,.skill-category.tilt-3d[data-tilt-active=true] .category-icon{filter:drop-shadow(0 6px 18px rgba(59,130,246,.35))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-progress{display:none}.code-card,.contact-method,.skill-category,.timeline-content{transition:border-color var(--dur),transform var(--dur),box-shadow var(--dur)}.code-card:hover,.contact-method:hover,.skill-category:hover,.timeline-content:hover{--shine-x:-150%}.reveal{opacity:1;transform:none;transition:none}#about:after,#contact:after,#experience:after,#site-loader:before,#skills:after,.aurora-orb,.code-card:after,.code-cursor,.contact-method:after,.hero-content>*,.hero-scroll,.hero-title .gradient,.loader-bracket,.loader-char,.loader-line,.loader-line-fill,.loader-line:after,.loader-logo-img,.loader-name-text,.marquee-sep,.marquee-track,.nav-cta:after,.skill-category:after,.skill-row:hover .skill-fill:after,.timeline-content:after,.timeline-dot-pulse,.timeline-dot.current{animation:none!important}.hero-title .gradient{background:var(--grad-accent-text)!important;background-clip:text!important;-webkit-background-clip:text!important;filter:none!important}#site-loader:before,.hero-content>*,.hero-scroll,.loader-bracket,.loader-char,.loader-line,.loader-logo-img,.loader-name-text{opacity:1!important;transform:none!important;filter:none!important}#site-loader:before{transform:translate(-50%,-50%)!important}.loader-line-fill{width:100%!important}.hero-scroll{opacity:.7!important}#site-loader{transition:opacity .25s linear!important}#site-loader.done{transform:none!important;filter:none!important}.section-title:after{transition:none;width:56px}.reveal:not(.visible) .section-title:after{width:56px}body.loading>:not(#site-loader):not(#progress-bar){opacity:1;pointer-events:auto}#particles,.hero-content,.hero-scroll,.split-item,.timeline-item.reveal.left,.timeline-item.reveal.right{transform:none!important;opacity:1!important}.split-item{transition:none!important}.section-header .section-title{-webkit-clip-path:none!important;clip-path:none!important;transition:none!important}.section-header .section-desc{opacity:1!important}.section-header .section-desc,.tilt-3d,.tilt-3d[data-tilt-active=true],.tilt-layer{transform:none!important;transition:none!important}.tilt-3d>.tilt-glare{opacity:0!important}.tilt-3d-edge[data-tilt-active=true]{box-shadow:var(--shadow-md)!important}.tilt-reveal-3d.reveal,.tilt-reveal-3d.reveal.visible,.tilt-reveal-3d.reveal:not(.visible){opacity:1!important;transform:none!important;transition:none!important}}