*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#050814;--bg-base:#0a0e1a;--bg-elevated:#0f1424;--glass-bg:#12182a73;--glass-border:#ffffff1a;--glass-inner-stroke:inset 0 0 0 1px #ffffff24;--glass-filter:blur(20px) saturate(140%);--glass-shadow:var(--glass-inner-stroke),0 24px 80px #00000073;--accent:#b79fff;--accent-violet:#7c3dff;--accent-glow:#7c3dff73;--accent-soft:#7c3dff24;--accent-react:#38bdf8;--accent-ruby:#fb7185;--accent-aws:#fbbf24;--accent-python:#a7f3d0;--magic-violet:var(--accent-violet);--magic-blue:#5b8cff;--magic-fuchsia:#c084fc;--magic-cyan:var(--accent-react);--text-primary:#f4f6ff;--text-secondary:#f4f6ffd1;--text-muted:#f4f6ff85;--success:#34d399;--accent-gradient:linear-gradient(135deg,#7c3dff,#38bdf8 45%,#fb7185);--max-width:1040px;--section-padding:clamp(3rem,8vw,5rem);color-scheme:dark}[data-theme=light]{--bg-deep:#e8ecfb;--bg-base:#f4f6ff;--bg-elevated:#fff;--glass-bg:#ffffffc7;--glass-border:#0f172a17;--glass-inner-stroke:inset 0 0 0 1px #fffffff2;--glass-filter:blur(18px) saturate(140%);--glass-shadow:inset 0 1px 0 #fffffff2,0 18px 50px #0f172a14;--accent:#5b21b6;--accent-violet:#6d28d9;--accent-glow:#6d28d940;--accent-soft:#6366f11f;--accent-react:#0284c7;--accent-ruby:#e11d48;--accent-aws:#d97706;--accent-python:#059669;--magic-violet:var(--accent-violet);--magic-blue:#2563eb;--magic-fuchsia:#a855f7;--magic-cyan:#0891b2;--text-primary:#0f172a;--text-secondary:#0f172ac7;--text-muted:#0f172a7a;--accent-gradient:linear-gradient(135deg,#6d28d9,#0284c7 45%,#e11d48);color-scheme:light}html{--scroll-t:0;--scroll-sin:0;height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e1a;background:var(--bg-base);color:#f4f6ff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;margin:0;min-height:100%;overflow-x:hidden}@media (hover:hover) and (pointer:fine){*,a,body,button,html{cursor:none!important}}body:after,body:before{animation:ambient-drift 30s ease-in-out infinite alternate;border-radius:50%;content:"";filter:blur(60px);opacity:.3;pointer-events:none;position:fixed;transform:translateZ(0);will-change:transform;z-index:-1}body:before{background:radial-gradient(circle,#1e1b4b 0,#312e81 35%,#0000 70%);height:55vw;left:-15%;top:-20%;width:55vw}body:after{animation-delay:-11s;background:radial-gradient(circle,#5b21b6 0,#7c3dff 40%,#0000 72%);bottom:-25%;height:50vw;right:-20%;width:50vw}[data-theme=light] body:before{background:radial-gradient(circle,#c7d2fe 0,#e0e7ff 42%,#0000 72%);opacity:.28}[data-theme=light] body:after{background:radial-gradient(circle,#ddd6fe 0,#ede9fe 45%,#0000 72%);opacity:.24}@keyframes ambient-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(4%,6%) scale(1.05)}to{transform:translate(-3%,-4%) scale(.96)}}#root{height:100vh;height:100dvh}.fullpage-scroll{-webkit-overflow-scrolling:touch;background:radial-gradient(ellipse 100% 55% at 50% -10%,#7c3dff1f 0,#0000 55%),radial-gradient(ellipse 80% 50% at 100% 40%,#38bdf80f 0,#0000 50%),linear-gradient(180deg,#050814,#0a0e1a 38%,#0b1020);background:radial-gradient(ellipse 100% 55% at 50% -10%,#7c3dff1f 0,#0000 55%),radial-gradient(ellipse 80% 50% at 100% 40%,#38bdf80f 0,#0000 50%),linear-gradient(180deg,#050814 0,var(--bg-base) 38%,#0b1020 100%);height:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-padding-bottom:max(1rem,env(safe-area-inset-bottom));scroll-padding-top:4rem;transform:translateZ(0)}[data-theme=light] .fullpage-scroll{background:radial-gradient(ellipse 100% 50% at 50% -8%,#6366f124 0,#0000 52%),radial-gradient(ellipse 75% 45% at 100% 35%,#38bdf81a 0,#0000 48%),linear-gradient(180deg,#eef1ff,#0a0e1a 42%,#f8fafc);background:radial-gradient(ellipse 100% 50% at 50% -8%,#6366f124 0,#0000 52%),radial-gradient(ellipse 75% 45% at 100% 35%,#38bdf81a 0,#0000 48%),linear-gradient(180deg,#eef1ff 0,var(--bg-base) 42%,#f8fafc 100%)}.scroll-depth-bg{inset:0;overflow:hidden;perspective:1400px;perspective-origin:50% 40%;pointer-events:none;position:fixed;z-index:0}.fullpage-scroll>:not(.scroll-depth-bg){position:relative;z-index:1}.scroll-depth-bg__plane{background:linear-gradient(125deg,#7c3dff73,#38bdf840);border-radius:45% 55% 48% 52%;height:65%;left:-15%;opacity:.1;position:absolute;top:12%;transform:rotateX(48deg) rotate(-8deg) translateZ(-180px);width:130%;will-change:auto}.scroll-depth-bg__plane--b{background:linear-gradient(210deg,#fb718559,#7c3dff4d);left:-25%;opacity:.08;top:38%;transform:rotateX(52deg) rotate(12deg) translateZ(-240px);width:135%}.scroll-depth-bg__mesh{background-image:linear-gradient(#ffffff1a 1px,#0000 0),linear-gradient(90deg,#ffffff14 1px,#0000 0);background-size:48px 48px;inset:-20%;opacity:.035;position:absolute;transform:rotateX(72deg) translateZ(-80px);transform-origin:center 60%;transform-style:preserve-3d}[data-theme=light] .scroll-depth-bg__plane{opacity:.1}[data-theme=light] .scroll-depth-bg__plane--b{opacity:.08}[data-theme=light] .scroll-depth-bg__mesh{background-image:linear-gradient(#0f172a14 1px,#0000 0),linear-gradient(90deg,#0f172a12 1px,#0000 0);opacity:.035}.scroll-depth-bg__glow{background:radial-gradient(circle,#7c3dff2e 0,#38bdf80f 40%,#0000 68%);border-radius:50%;filter:blur(40px);height:min(90vw,720px);left:50%;opacity:.5;position:absolute;top:42%;transform:translate(-50%,-50%) translateZ(-40px);width:min(90vw,720px)}[data-theme=light] .scroll-depth-bg__glow{background:radial-gradient(circle,#6366f133 0,#38bdf81a 45%,#0000 70%);opacity:.45}.fullpage-scroll::-webkit-scrollbar{width:8px}.fullpage-scroll::-webkit-scrollbar-track{background:#ffffff0a;border-radius:4px}.fullpage-scroll::-webkit-scrollbar-thumb{background:#7c3dff59;border-radius:4px}.fullpage-scroll::-webkit-scrollbar-thumb:hover{background:#7c3dff8c}a{color:#b79fff;color:var(--accent);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{color:#f4f6ff;color:var(--text-primary);opacity:.95}code{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace}.tilt-surface{width:100%}.tilt-surface--fill{height:100%;min-height:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:after,body:before{animation:none}.scroll-depth-bg__glow,.scroll-depth-bg__mesh,.scroll-depth-bg__plane,.scroll-depth-bg__plane--b{opacity:.06;transform:none!important}}.dock-nav{left:50%;pointer-events:none;position:fixed;top:1rem;transform:translateX(-50%);width:min(96vw,1000px);z-index:1000}.dock-nav *{pointer-events:auto}.dock-nav__bar{align-items:center;backdrop-filter:blur(60px) saturate(160%);-webkit-backdrop-filter:blur(60px) saturate(160%);background:#0c101e8c;border:1px solid #ffffff1f;border-radius:999px;box-shadow:inset 0 0 0 1px #ffffff0f,0 18px 50px #00000073;display:flex;gap:.35rem;padding:.35rem .45rem .35rem .55rem;position:relative}.dock-nav__brand{border-radius:999px;flex-shrink:0;height:2.25rem;text-decoration:none;width:2.25rem}.dock-nav__brand,.dock-nav__brand-mark{align-items:center;display:flex;justify-content:center}.dock-nav__brand-mark{background:linear-gradient(145deg,#7c3dff59,#38bdf826);border:1px solid #ffffff24;border-radius:inherit;color:var(--text-primary);font-size:.7rem;font-weight:700;height:100%;letter-spacing:.02em;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease;width:100%}.dock-nav__brand--active .dock-nav__brand-mark{background:#7c3dff40!important;border-color:#7c3dff73!important;box-shadow:0 0 15px #7c3dff4d!important}.dock-nav__links{-ms-overflow-style:none;align-items:center;display:flex;flex:1 1;gap:.1rem;min-width:0;overflow-x:auto;padding:0 .25rem;scrollbar-width:none}.dock-nav__links::-webkit-scrollbar{display:none}.dock-nav__link{border-radius:999px;color:var(--text-muted);flex:0 0 auto;font-size:.78rem;font-weight:500;padding:.4rem .55rem;transition:color .2s ease,background .2s ease;white-space:nowrap}.dock-nav__link:hover{background:#ffffff0f;color:var(--text-primary)}.dock-nav__link--active{background:#7c3dff38!important;border:1px solid #7c3dff59!important;color:var(--text-primary)!important}.dock-nav__pill{border:1px solid #ffffff24;border-radius:999px;color:var(--text-secondary);flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;padding:.45rem .75rem;text-transform:uppercase;transition:border-color .2s ease,background .2s ease,color .2s ease}.dock-nav__pill--cv{background:#ffffff0d;text-decoration:none}.dock-nav__pill--cv:hover{background:#fbbf2414;border-color:#fbbf2473;color:var(--text-primary)}.dock-nav__menu{background:#ffffff0f;border:none;border-radius:999px;color:var(--text-primary);cursor:pointer;display:none;flex-direction:column;gap:5px;height:2.25rem;justify-content:center;padding:0;width:2.25rem}.dock-nav__menu span{background:currentColor;border-radius:2px;display:block;height:2px;margin:0 auto;transition:transform .25s ease,opacity .25s ease;width:14px}.dock-nav__bar--open .dock-nav__menu span:first-child{transform:translateY(3.5px) rotate(45deg)}.dock-nav__bar--open .dock-nav__menu span:last-child{transform:translateY(-3.5px) rotate(-45deg)}@media (max-width:820px){.dock-nav{width:min(96vw,520px)}.dock-nav__menu{display:flex}.dock-nav__links{align-items:stretch;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);background:#0a0e1aeb;border:1px solid #ffffff1a;border-radius:20px;box-shadow:0 24px 60px #00000080;flex-direction:column;gap:.15rem;left:0;max-height:0;opacity:0;overflow:hidden;padding:.5rem;pointer-events:none;position:absolute;right:0;top:calc(100% + .5rem);transition:max-height .35s ease,opacity .2s ease}[data-theme=light] .dock-nav__links{background:#fffffff7;border:1px solid #00000014;box-shadow:0 24px 50px #0f172a1f}.dock-nav__links--visible{max-height:70vh;opacity:1;overflow-y:auto;pointer-events:auto}.dock-nav__link{padding:.55rem .75rem;text-align:center;width:100%}}.dock-nav__theme{align-items:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:2.25rem;justify-content:center;padding:0;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .35s ease;width:2.25rem}.dock-nav__theme:hover{background:#7c3dff26;border-color:#7c3dff59;color:var(--text-primary)}.dock-nav__theme--light{transform:rotate(180deg)}[data-theme=light] .dock-nav__bar{background:#ffffffc7;border:1px solid #0000000f;box-shadow:inset 0 0 0 1px #ffffffe6,0 16px 40px #0f172a14}[data-theme=light] .dock-nav__brand-mark{border-color:#00000014;color:#111827}[data-theme=light] .dock-nav__link{color:#1118278c}[data-theme=light] .dock-nav__link:hover{background:#6366f114;color:#111827}[data-theme=light] .dock-nav__link--active{background:#6366f11f;border:1px solid #6366f140;color:#4338ca}[data-theme=light] .dock-nav__pill{border-color:#00000014;color:#111827b3}[data-theme=light] .dock-nav__pill--cv:hover{background:#fbbf241f;border-color:#d9770673}[data-theme=light] .dock-nav__theme{background:#fff9;border-color:#00000014;color:#1118278c}[data-theme=light] .dock-nav__theme:hover{background:#6366f11a;color:#111827}[data-theme=light] .dock-nav__menu{background:#0000000d;color:#111827}.hero--vision{display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;padding:5.5rem 1.5rem 2rem;position:relative}.hero__grid{grid-gap:clamp(2rem,5vw,3.5rem);align-items:center;display:grid;gap:clamp(2rem,5vw,3.5rem);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);margin:0 auto;max-width:var(--max-width);width:100%}@media (max-width:900px){.hero--vision{padding-top:6.5rem}.hero__grid{gap:1rem;grid-template-columns:1fr;text-align:center}.hero__copy{align-items:center;display:flex;flex-direction:column;order:1}.hero__visual{margin:0 auto;max-width:420px;min-height:280px;order:0;width:100%}.hero__bullets{margin-left:auto;margin-right:auto;max-width:420px;text-align:left}.hero__actions{justify-content:center}}@media (max-width:600px){.hero--vision{padding-bottom:3rem;padding-top:5rem}.hero__visual{max-width:320px;min-height:240px}.hero-scene{margin-bottom:-2rem;transform:scale(.85);transform-origin:center top}.hero-scene__depth{inset:5% 5% 15%}.glass-hero-photo{bottom:2%;height:90px;right:2%;width:90px}.hero-scene__ruby-wrap{height:100px;width:100px}.hero-scene__ruby{height:72px;width:72px}.hero-scene__orbit{height:160px;margin-left:-80px;margin-top:-80px;width:160px}}.hero__eyebrow{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.14em;margin-bottom:.75rem;text-transform:uppercase}.hero__name{background:linear-gradient(120deg,#f4f6ff,#d4d9ff 40%,#b79fff 95%);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:clamp(2.35rem,4.8vw,3.25rem);font-weight:700;letter-spacing:-.035em;line-height:1.08;margin-bottom:.5rem}.hero__typewriter{align-items:center;color:var(--accent);display:flex;font-size:clamp(1.1rem,2.2vw,1.45rem);font-weight:600;gap:2px;height:1.8rem;margin-bottom:1.25rem}.hero__typewriter-text{background:linear-gradient(90deg,var(--accent),#d4d9ff);-webkit-background-clip:text;background-clip:text;color:#0000}.hero__typewriter-cursor{animation:blink 1s step-end infinite;color:var(--accent);font-weight:400}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero__headline{color:var(--text-secondary);font-size:1.05rem;line-height:1.65;margin-bottom:1.25rem;max-width:36rem}.hero__bullets{color:var(--text-muted);display:flex;flex-direction:column;font-size:.92rem;gap:.55rem;list-style:none;margin:0 0 1.75rem;padding:0}.hero__bullets li{padding-left:1.1rem;position:relative}.hero__bullets li:before{background:linear-gradient(135deg,var(--accent-violet),var(--accent-react));border-radius:50%;box-shadow:0 0 10px #7c3dff99;content:"";height:5px;left:0;position:absolute;top:.55em;width:5px}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero__btn{border:1px solid #0000;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:.7rem 1.35rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.hero__btn--primary{background:linear-gradient(135deg,#c4b5fd,#7c3dff 55%,#38bdf8 130%);box-shadow:0 12px 40px #7c3dff59;color:#0a0e1a}.hero__btn--primary:hover{box-shadow:0 16px 48px #7c3dff73;transform:translateY(-2px)}.hero__btn--ghost{align-items:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#ffffff0a;border-color:#ffffff24;color:var(--text-primary);display:inline-flex;justify-content:center;text-decoration:none}.hero__btn--ghost:hover{border-color:#ffffff47;transform:translateY(-2px)}.hero__visual{min-height:340px;position:relative}.hero-scene{aspect-ratio:1/1.05;margin:0 auto;max-height:420px;position:relative;width:100%}.hero-scene__depth{border-radius:28px;inset:8% 6% 18%;position:absolute;transform:perspective(900px) rotateX(8deg) rotateY(-12deg);transform-style:preserve-3d}.hero-scene__panel{backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%);background:#0f14248c;border:1px solid #ffffff1f;border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff14,0 20px 50px #00000059;color:#f4f6ffe0;font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:.65rem .85rem;position:absolute;text-transform:uppercase;transition:transform .2s cubic-bezier(.1,0,.2,1);will-change:transform}.hero-scene__panel-label{display:block}.hero-scene__panel-lines{background:repeating-linear-gradient(180deg,#ffffff0f 0 2px,#0000 2px 8px);border-radius:8px;display:block;height:42px;margin-top:.45rem;opacity:.85}.hero-scene__panel--rails{border-color:#fb718559;color:#fecdd3;left:0;top:4%;transform:translate3d(0,0,50px);transform:translate3d(calc(var(--mx, 0)*40px),calc(var(--my, 0)*40px),50px);width:38%}.hero-scene__panel--react{border-color:#38bdf859;color:#bae6fd;right:4%;top:0;transform:translate3d(0,0,80px);transform:translate3d(calc(var(--mx, 0)*-30px),calc(var(--my, 0)*-30px),80px);width:34%}.hero-scene__panel--python{border-color:#a7f3d047;bottom:26%;color:#a7f3d0;left:8%;transform:translate3d(0,0,30px);transform:translate3d(calc(var(--mx, 0)*60px),calc(var(--my, 0)*60px),30px);width:30%}.hero-scene__ruby-wrap{align-items:center;display:flex;height:120px;justify-content:center;left:50%;position:absolute;top:46%;transform:translate(-50%,-50%);width:120px}.hero-scene__ruby{animation:ruby-pulse 5s ease-in-out infinite;background:conic-gradient(from 200deg,#fb7185,#be123c,#fda4af,#881337,#fb7185);border-radius:28% 72% 65% 35%/42% 36% 64% 58%;box-shadow:0 0 40px #fb71858c,0 0 80px #be123c59,inset 0 0 0 1px #ffffff40;height:88px;width:88px}@keyframes ruby-pulse{0%,to{filter:brightness(1) saturate(1.05);transform:rotate(0deg) scale(1)}50%{filter:brightness(1.08) saturate(1.15);transform:rotate(6deg) scale(1.03)}}.hero-scene__orbit{animation:orbit-spin 14s linear infinite;border:1px solid #38bdf838;height:200px;margin-left:-100px;margin-top:-100px;top:46%;transform:rotateX(72deg);width:200px}.hero-scene__electron,.hero-scene__orbit{border-radius:50%;left:50%;position:absolute}.hero-scene__electron{background:radial-gradient(circle at 30% 30%,#e0f2fe,#38bdf8 55%,#0369a1);box-shadow:0 0 18px #38bdf8e6;height:12px;margin-left:-6px;margin-top:-6px;top:0;width:12px}@keyframes orbit-spin{to{transform:rotateX(72deg) rotate(1turn)}}.hero-scene__pillars{align-items:flex-end;bottom:0;display:flex;gap:1.25rem;left:50%;position:absolute;transform:translateX(-50%)}.hero-scene__pillar{background:linear-gradient(180deg,#94a3b859,#334155d9);border:1px solid #ffffff1f;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff1f;height:52px;width:22px}.hero-scene__pillar--mid{background:linear-gradient(180deg,#fbbf2459,#78350fbf);border-color:#fbbf2459;height:68px}.glass-hero-photo{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffff2e;border-radius:22px;bottom:6%;box-shadow:inset 0 0 0 1px #ffffff1f,0 18px 50px #00000073;height:112px;overflow:hidden;position:absolute;right:4%;transform:translateZ(40px);width:112px}.hero-scene__photo-img{display:block;height:100%;object-fit:cover;transform:scale(1.08);width:100%}.hero__scroll-hint{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;font-size:.7rem;gap:.4rem;letter-spacing:.18em;margin:2rem auto 0;text-transform:uppercase}.hero__scroll-line{animation:scroll-line 2.2s ease-in-out infinite;background:linear-gradient(180deg,#ffffff80,#0000);height:28px;width:1px}@keyframes scroll-line{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}.hero__scroll-hint:hover{color:var(--accent)}[data-theme=light] .hero__name{background:linear-gradient(118deg,#0f172a,#1e3a8a 44%,#5b21b6 88%);-webkit-background-clip:text;background-clip:text;color:#0000}[data-theme=light] .hero__eyebrow{color:#475569}[data-theme=light] .hero__headline{color:#334155}[data-theme=light] .hero__bullets{color:#475569}[data-theme=light] .hero__btn--ghost{background:#fffffff0;border:1px solid #0f172a29;color:#0f172a}[data-theme=light] .hero__btn--ghost:hover{background:#fff;border-color:#4f46e573}[data-theme=light] .hero__scroll-hint{color:#64748b}[data-theme=light] .hero__scroll-line{background:linear-gradient(180deg,#0f172a66,#0000)}[data-theme=light] .hero-scene__panel{background:#ffffffc7;border-color:#0f172a1f;box-shadow:inset 0 0 0 1px #ffffffe6,0 12px 32px #0f172a14;color:#0f172a}[data-theme=light] .hero-scene__panel--rails{border-color:#e11d4859;color:#9f1239}[data-theme=light] .hero-scene__panel--react{border-color:#0284c766;color:#0369a1}[data-theme=light] .hero-scene__panel--python{border-color:#05966961;color:#047857}[data-theme=light] .hero-scene__panel-lines{background:repeating-linear-gradient(180deg,#0f172a1a 0 2px,#0000 2px 8px)}[data-theme=light] .glass-hero-photo{border-color:#0f172a24;box-shadow:inset 0 0 0 1px #fffffff2,0 14px 36px #0f172a1f}@media (prefers-reduced-motion:reduce){.hero-scene__orbit,.hero-scene__ruby,.hero__scroll-line{animation:none!important}}.hero__badge-link{display:inline-block;transition:transform .28s cubic-bezier(.22,1,.36,1),filter .28s cubic-bezier(.22,1,.36,1);will-change:transform}.hero__badge-link:hover{filter:drop-shadow(0 6px 14px rgba(124,61,255,.4));transform:translateY(-2px)}.project-modal-overlay{align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0508148c;display:flex;inset:0;justify-content:center;opacity:0;padding:1.5rem;position:fixed;transition:opacity .15s ease,visibility .15s ease;visibility:hidden;z-index:9999}.project-modal-overlay.open{opacity:1;visibility:visible}.project-modal-content{background:var(--bg-elevated);border-radius:20px;box-shadow:0 25px 50px -12px #00000080,0 0 0 1px var(--glass-border);max-height:90vh;max-width:760px;overflow-y:auto;position:relative;transform:translateY(20px) scale(.95);transition:transform .2s cubic-bezier(.175,.885,.32,1.275);width:100%}.project-modal-content.open{transform:translateY(0) scale(1)}.project-modal-close{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:1.5rem;top:1rem;transition:background .2s,transform .2s;width:36px;z-index:10}.project-modal-close:hover{background:#0009;transform:scale(1.1)}[data-theme=light] .project-modal-close{background:#ffffffd9;color:#0f172a}[data-theme=light] .project-modal-close:hover{background:#fff}.project-modal-header{position:relative}.project-modal-image-wrap{border-radius:20px 20px 0 0;height:280px;overflow:hidden;position:relative;width:100%}.project-modal-image{height:100%;object-fit:cover;width:100%}.project-modal-overlay-gradient{background:linear-gradient(to top,var(--bg-elevated) 0,#0000 100%);inset:0;position:absolute}.project-modal-title-wrap{margin-top:-60px;padding:0 2rem;position:relative;z-index:2}.project-modal-title{color:#fff;font-size:2.2rem;font-weight:700;margin-bottom:.5rem;text-shadow:0 4px 12px #00000080}[data-theme=light] .project-modal-title{color:var(--text-primary);text-shadow:none}.project-modal-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.modal-pill{animation:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--glass-bg);opacity:1!important;transform:none!important}.project-modal-body{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 2rem 2rem}.project-modal-section p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.project-modal-subtitle{align-items:center;color:var(--text-primary);display:flex;font-size:1.15rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.grid-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:640px){.grid-section{gap:1.5rem;grid-template-columns:1fr}}.project-modal-list{list-style:none;padding-left:0}.project-modal-list li{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.project-modal-list li:before{color:var(--accent);content:"→";font-weight:700;left:0;position:absolute}.project-modal-footer{background:#0000001a;border-radius:0 0 20px 20px;border-top:1px solid var(--glass-border);display:flex;gap:1rem;padding:1.5rem 2rem}.modal-btn{border-radius:8px;font-size:.9rem;padding:.6rem 1.25rem;text-align:center}.modal-btn.secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary)}.modal-btn.secondary:hover{background:#8b5cf61a;border-color:var(--accent)}.project-modal-content::-webkit-scrollbar{width:8px}.project-modal-content::-webkit-scrollbar-track{background:#0000}.project-modal-content::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.lcs-loading{align-items:center;color:#ffffff80;display:flex;font-size:14px;gap:12px;padding:2rem 1.5rem}.lcs-error{color:#ff6464d9;font-size:13px;line-height:1.6;padding:1.5rem}.lcs-spinner{animation:lcs-spin .8s linear infinite;border:2px solid #ffffff1a;border-radius:50%;border-top-color:#ffa116;flex-shrink:0;height:20px;width:20px}@keyframes lcs-spin{to{transform:rotate(1turn)}}.lcs-container{display:flex;flex-direction:column;gap:14px;padding:.5rem 0}.lcs-profile{align-items:center;display:flex;gap:14px;padding:14px 16px}.lcs-avatar{border:2px solid #ffa1164d;border-radius:50%;flex-shrink:0;height:52px;object-fit:cover;width:52px}.lcs-profile-info{display:flex;flex-direction:column;gap:2px}.lcs-name{color:#fff;font-size:15px;font-weight:600}.lcs-bio{color:#ffffff80;font-size:12px}.lcs-rank{color:#fff6;font-size:12px;margin-top:2px}.lcs-rank strong{color:#ffffffb3;font-weight:500}.lcs-main-card{padding:16px}.lcs-solved-row{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.lcs-card-label{color:#fff6;font-size:11px;letter-spacing:.06em;margin-bottom:4px;text-transform:uppercase}.lcs-solved-big{color:#fff;font-size:38px;font-weight:700;line-height:1}.lcs-solved-sub{color:#fff6;font-size:12px;margin-top:4px}.lcs-beats-pill{align-items:center;background:#ffa1161f;border:1px solid #ffa11633;border-radius:20px;color:#ffa116;display:inline-flex;font-size:12px;font-weight:500;gap:4px;margin-top:10px;padding:4px 11px}.lcs-diff-summary{align-items:flex-end;display:flex;flex-direction:column;gap:5px}.lcs-diff-tag{border-radius:12px;font-size:12px;font-weight:500;padding:3px 10px}.lcs-diff-tag.easy{background:#00b8a31f;color:#00b8a3}.lcs-diff-tag.med{background:#ffc01e1f;color:#ffc01e}.lcs-diff-tag.hard{background:#ff375f1f;color:#ff375f}.lcs-diff-bars{display:flex;flex-direction:column;gap:9px}.lcs-diff-row{align-items:center;display:flex;gap:10px}.lcs-diff-label{flex-shrink:0;font-size:12px;font-weight:600;width:36px}.lcs-diff-label.easy{color:#00b8a3}.lcs-diff-label.med{color:#ffc01e}.lcs-diff-label.hard{color:#ff375f}.lcs-bar-wrap{background:#ffffff12;border-radius:3px;flex:1 1;height:5px;overflow:hidden}.lcs-bar{border-radius:3px;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.lcs-bar.easy{background:#00b8a3}.lcs-bar.med{background:#ffc01e}.lcs-bar.hard{background:#ff375f}.lcs-diff-count{color:#fff;font-size:12px;font-weight:600;min-width:32px;text-align:right}.lcs-diff-total{color:#ffffff4d;font-size:11px;font-weight:400}.lcs-stats-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.lcs-stat-card{align-items:center;display:flex;flex-direction:column;gap:4px;padding:12px 8px;text-align:center}.lcs-stat-val{font-size:18px;font-weight:700;line-height:1}.lcs-stat-val.acceptance{color:#22c55e}.lcs-stat-val.submissions{color:#60a5fa}.lcs-stat-val.ranking{color:#ffffffd9;font-size:14px}.lcs-stat-val.beats{font-size:1rem}.lcs-stat-val.beats.easy{color:#00b8a3}.lcs-stat-val.beats.med{color:#ffc01e}.lcs-stat-val.beats.hard{color:#ff375f}.lcs-stat-lbl{color:#fff6;font-size:11px;letter-spacing:.05em;text-transform:uppercase}.lcs-section-title{align-items:center;color:#ffffffb3;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:12px}.lcs-section-sub{color:#ffffff59;font-size:11px;font-weight:400}.lcs-heatmap-card{padding:16px}.lcs-month-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(26,1fr);margin-bottom:4px}.lcs-month-cell{align-items:center;display:flex;height:14px}.lcs-month-label{color:#ffffff4d;font-size:9px;white-space:nowrap}.lcs-heatmap-grid{grid-gap:2px;display:grid;gap:2px;grid-auto-flow:column;grid-template-columns:repeat(26,1fr);grid-template-rows:repeat(7,10px);width:100%}.lcs-heatmap-cell{border-radius:2px;cursor:default;height:10px;transition:opacity .15s;width:100%}.lcs-heatmap-cell:hover{opacity:.75}.lcs-heatmap-legend{align-items:center;color:#ffffff4d;display:flex;font-size:10px;gap:4px;justify-content:flex-end;margin-top:10px}.lcs-legend-cell{border-radius:2px;height:10px;width:10px}.lcs-chart-card{padding:16px}.lcs-chart-legend{color:#ffffff80;display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-bottom:14px}.lcs-legend-item{align-items:center;display:flex;gap:6px}.lcs-legend-dot{border-radius:2px;display:inline-block;flex-shrink:0;height:10px;width:10px}.lcs-chart-wrap{height:180px;position:relative;width:100%}.leetcode-bubble-container{margin-top:10px;overflow:visible;position:relative;width:100%}.leetcode-bubble{align-items:center;animation:bubble-float 10s ease-in-out infinite both;animation-delay:0s;animation-delay:calc(var(--i, 0)*-1.2s);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff14;border:1px solid var(--glass-border,#ffffff14);border-radius:50%;box-shadow:0 4px 15px #0000001f;cursor:default;display:flex;justify-content:center;overflow:hidden;transition:box-shadow .3s ease,border-color .3s ease;will-change:transform}.leetcode-bubble:hover{background:#ffffff17;border-color:var(--color);box-shadow:0 20px 40px #0000004d,0 0 22px var(--color);z-index:10}@keyframes bubble-float{0%,to{rotate:0deg;translate:0 0}25%{rotate:1deg;translate:5px -11px}50%{rotate:-1deg;translate:-4px -17px}75%{rotate:.5deg;translate:-7px -8px}}.bubble-label{color:var(--color);font-weight:600;-webkit-hyphens:auto;hyphens:auto;line-height:1.25;padding:0 8px;pointer-events:none;position:relative;text-align:center;word-break:break-word;z-index:2}.bubble-liquid{animation:liq-rise 1s ease-out forwards,liq-wave 4s ease-in-out 1s infinite;animation:liq-rise 1s ease-out forwards,liq-wave 4s ease-in-out infinite calc(var(--i, 0)*.06s + 1s);animation-delay:0s,1s;animation-delay:calc(var(--i, 0)*.06s),calc(var(--i, 0)*.06s + 1s);background:var(--color);border-radius:40% 60% 0 0;bottom:0;height:20%;height:var(--fill,20%);left:-50%;opacity:.18;pointer-events:none;position:absolute;width:200%}@keyframes liq-rise{0%{height:0;opacity:0}to{height:20%;height:var(--fill,20%);opacity:.18}}@keyframes liq-wave{0%{border-radius:40% 60% 0 0;transform:translateX(0)}33%{border-radius:55% 45% 0 0;transform:translateX(7%)}66%{border-radius:45% 55% 0 0;transform:translateX(-7%)}to{border-radius:40% 60% 0 0;transform:translateX(0)}}.leetcode-bubble:hover .bubble-liquid{opacity:.38}.bubble-glow{background:radial-gradient(circle at 35% 35%,var(--color),#0000 80%);border-radius:50%;inset:0;opacity:.07;pointer-events:none;position:absolute;transition:opacity .3s ease}.leetcode-bubble:hover .bubble-glow{opacity:.22}.bubble-tooltip{align-items:center;background:#060612f7;border:1px solid var(--color);border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:3px;left:50%;opacity:0;padding:8px 14px;pointer-events:none;position:absolute;transform:translateX(-50%) scale(.92);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;z-index:30}.bubble-tooltip strong{color:var(--color);font-size:13px;font-weight:700}.bubble-tooltip span{color:#ffffffa6;font-size:11px}.leetcode-bubble:hover .bubble-tooltip{opacity:1;transform:translateX(-50%) scale(1)}.github-snake-root{border-radius:22px;overflow:hidden;padding:1.25rem 1.5rem 1.1rem;width:100%}.github-snake-header{flex-wrap:wrap;justify-content:space-between}.github-snake-header,.github-snake-title-row{align-items:center;display:flex;gap:.5rem}.github-snake-icon{animation:snake-wiggle 2.8s ease-in-out infinite;display:inline-block;font-size:1.15rem;line-height:1}@keyframes snake-wiggle{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-14deg) scale(1.12)}75%{transform:rotate(12deg) scale(1.06)}}.github-snake-title{color:var(--text-primary);font-size:.98rem;font-weight:700;letter-spacing:-.01em;margin:0}.github-snake-profile-link{color:var(--accent);font-size:.8rem;opacity:.75;text-decoration:none;transition:opacity .15s ease}.github-snake-profile-link:hover{color:var(--accent);opacity:1}.github-snake-divider{background:linear-gradient(90deg,#0000,#ffffff1a 20%,#7c3dff40 50%,#ffffff1a 80%,#0000);height:1px;margin:1rem 0 .85rem}[data-theme=light] .github-snake-divider{background:linear-gradient(90deg,#0000,#0f172a14 20%,#6366f133 50%,#0f172a14 80%,#0000)}.github-snake-frame{background:radial-gradient(ellipse 70% 80% at 50% 50%,#7c3dff0a 0,#0000 70%);border-radius:12px;min-height:110px;overflow:hidden;position:relative;width:100%}.github-snake-frame,.github-snake-loading{align-items:center;display:flex;justify-content:center}.github-snake-loading{flex-direction:column;gap:.55rem;inset:0;padding:2rem;position:absolute}.github-snake-loading-icon{animation:snake-slither 1s ease-in-out infinite alternate;font-size:1.6rem}@keyframes snake-slither{0%{transform:translateX(-14px) rotate(-6deg)}to{transform:translateX(14px) rotate(6deg)}}.github-snake-loading-text{color:var(--text-muted);font-size:.82rem}.github-snake-svg{display:block;filter:drop-shadow(0 0 14px rgba(124,61,255,.2));height:auto;opacity:0;transition:opacity .55s cubic-bezier(.22,1,.36,1);width:100%}.github-snake-svg--visible{opacity:1}[data-theme=light] .github-snake-svg{filter:drop-shadow(0 0 8px rgba(99,102,241,.1))}.github-snake-footer{align-items:center;border-top:1px solid #ffffff12;display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:.9rem;padding-top:.75rem}[data-theme=light] .github-snake-footer{border-top-color:#0f172a12}.github-snake-legend{align-items:center;color:var(--text-muted);display:flex;font-size:.76rem;gap:.38rem}.github-snake-dot{border-radius:2px;display:inline-block;flex-shrink:0;height:9px;width:9px}.github-snake-dot--empty{background:#ffffff12;border:1px solid #ffffff1a}.github-snake-dot--low{background:#1a4d1a}.github-snake-dot--mid{background:#2da82d}.github-snake-dot--high{background:#39d353}[data-theme=light] .github-snake-dot--empty{background:#ebedf0;border-color:#1b1f230f}[data-theme=light] .github-snake-dot--low{background:#9be9a8}[data-theme=light] .github-snake-dot--mid{background:#40c463}[data-theme=light] .github-snake-dot--high{background:#216e39}.spotlight-card{overflow:hidden;position:relative}.spotlight-card__glow{inset:0;pointer-events:none;position:absolute;transition:opacity .5s ease;z-index:0}.spotlight-card>:not(.spotlight-card__glow){position:relative;z-index:1}.custom-cursor-dot,.custom-cursor-ring{border-radius:50%;contain:strict;left:0;pointer-events:none;position:fixed;top:0;will-change:transform;z-index:10000}.custom-cursor-dot{background:var(--accent);height:6px;margin-left:-3px;margin-top:-3px;transition:width .15s cubic-bezier(.22,1,.36,1),height .15s cubic-bezier(.22,1,.36,1),margin .15s cubic-bezier(.22,1,.36,1),background-color .15s ease,box-shadow .15s ease;width:6px;z-index:10001}.custom-cursor-ring{background:#0000;border:1.5px solid #b79fff73;height:32px;margin-left:-16px;margin-top:-16px;transition:width .18s cubic-bezier(.22,1,.36,1),height .18s cubic-bezier(.22,1,.36,1),margin .18s cubic-bezier(.22,1,.36,1),background-color .18s ease,border-color .18s ease,border-width .18s ease;width:32px;z-index:10000}.custom-cursor-dot.hovering{background:#fff;box-shadow:0 0 14px var(--accent-glow),0 0 4px #ffffff80;height:10px;margin-left:-5px;margin-top:-5px;width:10px}.custom-cursor-ring.hovering{background:#7c3dff12;border-color:var(--accent);border-width:1.5px;height:52px;margin-left:-26px;margin-top:-26px;width:52px}@media (hover:none) and (pointer:coarse){.custom-cursor-dot,.custom-cursor-ring{display:none!important}}body.hide-custom-cursor .custom-cursor-dot,body.hide-custom-cursor .custom-cursor-ring{opacity:0!important;transform:scale(0)!important;visibility:hidden!important}.about-badges-row{align-items:stretch}.github-badge__body{flex:1 1}.github-badge__loading{color:var(--text-muted);font-size:.9rem;padding:2rem}.github-badge-wrapper{backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);background:#06091273;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 20px 48px #0000004d;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.github-badge-wrapper:hover{border-color:#ffffff2e;box-shadow:0 28px 60px #0006,0 0 0 1px rgba(2,172,47,.922);transform:translateY(-4px)}[data-theme=light] .github-badge-wrapper{background:#ffffffbf;border-color:#0f172a14;box-shadow:0 14px 32px #0f172a0d}.github-badge__header{align-items:center;background:rgba(45,133,4,.532);border-bottom:1px solid rgba(14,194,35,.897);color:var(--text-primary);display:flex;gap:.5rem;padding:.85rem 1.25rem}[data-theme=light] .github-badge__header{background:#0f172a0f;border-bottom-color:#0f172a14}.github-badge__logo{color:var(--text-primary)}.github-badge__header-title{font-size:.95rem;font-weight:700;letter-spacing:.01em}.linkedin-badge-wrapper{backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);background:#06091273;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 20px 48px #0000004d;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.linkedin-badge-wrapper:hover{border-color:#ffffff2e;box-shadow:0 28px 60px #0006,0 0 0 1px rgba(2,148,245,.888);transform:translateY(-4px)}[data-theme=light] .linkedin-badge-wrapper{background:#ffffffbf;border-color:#0f172a14;box-shadow:0 14px 32px #0f172a0d}.linkedin-badge__header{align-items:center;background:#0a66c233;border-bottom:1px solid #027bfc;display:flex;gap:.5rem;padding:.85rem 1.25rem}[data-theme=light] .linkedin-badge__header{background:#0a66c214;border-bottom-color:#0a66c226}.linkedin-badge__logo{color:#0a66c2}.linkedin-badge__header-title{color:#0a66c2;font-size:.95rem;font-weight:700;letter-spacing:.01em}.leetcode-badge-wrapper{backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);background:#06091273;border:1px solid #ffffff14;border-radius:24px;box-shadow:0 20px 48px #0000004d;color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;width:300px}.leetcode-badge-wrapper:hover{border-color:#ffa11659;box-shadow:0 28px 60px #0006,0 0 0 1px #ffa11633;transform:translateY(-4px)}[data-theme=light] .leetcode-badge-wrapper{background:#ffffffbf;border-color:#0f172a14;box-shadow:0 14px 32px #0f172a0d}.leetcode-badge__header{align-items:center;background:#ffa1161f;border-bottom:1px solid #ffa11633;display:flex;gap:.5rem;padding:.85rem 1.25rem}[data-theme=light] .leetcode-badge__header{background:#ffa11614;border-bottom-color:#ffa11626}.leetcode-badge__logo{color:#ffa116}.leetcode-badge__header-title{color:#ffa116;font-size:.95rem;font-weight:700;letter-spacing:.01em}.leetcode-badge__circle-wrap{height:80px;margin-bottom:.5rem;position:relative;width:80px}.leetcode-badge__circle{height:80px;width:80px}.leetcode-badge__circle-text{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute}.leetcode-badge__circle-value{color:var(--text-primary);font-size:1.1rem;font-weight:700;line-height:1}.leetcode-badge__circle-label{color:var(--text-muted);font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.leetcode-badge__difficulties{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:0 .5rem;width:100%}.leetcode-badge__diff{align-items:center;border-radius:10px;display:flex;font-size:.88rem;justify-content:space-between;padding:.4rem .85rem}.leetcode-badge__diff--easy{background:#00b8a31a;border:1px solid #00b8a333}.leetcode-badge__diff--medium{background:#ffa1161a;border:1px solid #ffa11633}.leetcode-badge__diff--hard{background:#ff375f1a;border:1px solid #ff375f33}.leetcode-badge__diff-label{font-weight:600}.leetcode-badge__diff--easy .leetcode-badge__diff-label{color:#00b8a3}.leetcode-badge__diff--medium .leetcode-badge__diff-label{color:#ffa116}.leetcode-badge__diff--hard .leetcode-badge__diff-label{color:#ff375f}.leetcode-badge__diff-value{color:var(--text-primary);font-weight:700}.leetcode-badge__diff-total{color:var(--text-muted);font-size:.8rem;font-weight:400}.leetcode-badge__loading-spinner{animation:spin .8s linear infinite;border:3px solid #ffa11633;border-radius:50%;border-top-color:#ffa116;height:32px;margin-bottom:.5rem;width:32px}.scroll-progress-bar{background:var(--accent-gradient);box-shadow:0 0 15px var(--accent-glow);height:4px;left:0;pointer-events:none;position:fixed;top:0;transition:width .1s ease;z-index:9999}.glass-card{backdrop-filter:var(--glass-filter);-webkit-backdrop-filter:var(--glass-filter);background:radial-gradient(120% 80% at 10% 0,#7c3dff24 0,#0000 55%),linear-gradient(155deg,#ffffff17,#ffffff05 42%,#0000001f),#080b16b8;border:1px solid #ffffff1c;border-radius:24px;box-shadow:inset 0 1px 0 #ffffff29,inset 0 -1px 0 #00000059,0 0 0 1px #7c3dff1a,0 20px 50px #0000006b,0 0 80px #7c3dff0f;contain:layout;isolation:isolate;position:relative;transition:box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1);will-change:transform}.glass-card:hover{border-color:#ffffff29;box-shadow:inset 0 1px 0 #fff3,inset 0 -1px 0 #0000004d,0 0 0 1px #38bdf838,0 26px 70px #0000007a,0 0 100px #7c3dff1f;transform:translateY(-2px)}[data-theme=light] .glass-card{background:radial-gradient(120% 70% at 12% 0,#6366f11f 0,#0000 52%),linear-gradient(160deg,#fffffff2,#f8fafce0);border-color:#0f172a14;box-shadow:inset 0 1px 0 #fff,0 0 0 1px #6366f114,0 18px 40px #0f172a14}[data-theme=light] .glass-card:hover{border-color:#6366f138;box-shadow:inset 0 1px 0 #fff,0 0 0 1px #38bdf82e,0 22px 50px #0f172a1a}.portfolio-section--fullpage{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:5rem 1.5rem 4rem}.portfolio-section__inner{margin:0 auto;max-width:var(--max-width);width:100%}.portfolio-section{margin:0 auto;max-width:var(--max-width);padding:var(--section-padding) 1.5rem}.portfolio-section__title{align-items:center;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;letter-spacing:-.02em;margin-bottom:1.5rem}.portfolio-section__title:after{background:linear-gradient(90deg,var(--accent-violet),var(--accent-react),#0000);border-radius:2px;content:"";flex:1 1;height:3px;max-width:120px}.portfolio-section__subtitle{color:var(--text-muted);font-size:.9rem;font-weight:600;letter-spacing:.08em;margin:-.5rem 0 1rem;text-transform:uppercase}.portfolio-section .portfolio-section__inner{opacity:0;transform:translateY(22px);transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}.portfolio-section--in-view .portfolio-section__inner{opacity:1;transform:translateY(0)}.magic-card--text{backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%);background:linear-gradient(145deg,#38bdf80f,#0000 38%),linear-gradient(210deg,#fb71850d,#0000 40%),#060912bf;border:1px solid #ffffff1f;border-radius:24px;box-shadow:inset 0 0 0 1px #ffffff0f,0 24px 60px #0006;padding:1.85rem 2rem;position:relative}[data-theme=light] .magic-card--text{background:linear-gradient(145deg,#6366f114,#0000 40%),#ffffffeb;border-color:#0f172a14;box-shadow:inset 0 0 0 1px #ffffffe6,0 16px 40px #0f172a0f}.magic-brief{color:var(--text-secondary);font-size:1rem;line-height:1.75}.magic-brief--extra{margin-top:1rem;opacity:.9}.about-grid{grid-gap:2.5rem;align-items:center;display:grid;gap:2.5rem;grid-template-columns:1.28fr .72fr}.about-grid>:last-child{align-items:center;display:flex;justify-content:center;width:100%}@media (max-width:900px){.about-grid{gap:1.5rem;grid-template-columns:1fr}}.about-badges-row{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.github-badge__body{align-items:center;display:flex;flex-direction:column;gap:.35rem;padding:1.5rem 1.25rem 1rem;text-align:center}.github-badge__avatar{border:2px solid #ffffff26;border-radius:50%;height:72px;margin-bottom:.5rem;width:72px}[data-theme=light] .github-badge__avatar{border-color:#0f172a1f}.github-badge__name{color:var(--text-primary);font-size:1rem;font-weight:700}.github-badge__username{color:var(--text-muted);font-size:.85rem}.github-badge__bio{color:var(--text-secondary);font-size:.85rem;line-height:1.45;margin-top:.35rem;max-width:240px}.github-badge__meta{color:var(--text-muted);font-size:.82rem}.github-badge__stats{border-top:1px solid #ffffff12;display:flex;gap:1.25rem;justify-content:center;margin-top:.75rem;padding-top:.75rem;width:100%}[data-theme=light] .github-badge__stats{border-top-color:#0f172a14}.github-badge__stat{align-items:center;display:flex;flex-direction:column;gap:.15rem}.github-badge__stat-value{color:var(--text-primary);font-size:1rem;font-weight:700}.github-badge__stat-label{color:var(--text-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.github-badge__achievements{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.75rem}.github-badge__achievement{border:1px solid #ffffff1a;border-radius:50%;height:36px;overflow:hidden;transition:transform .2s ease;width:36px}.github-badge__achievement:hover{transform:scale(1.15)}.github-badge__achievement img{height:100%;object-fit:cover;width:100%}.github-badge__footer{background:#00000026;border-top:1px solid #ffffff0f;color:var(--accent);font-size:.85rem;font-weight:600;padding:.75rem 1.25rem;text-align:center}[data-theme=light] .github-badge__footer{background:#0f172a08;border-top-color:#0f172a14}@media (max-width:700px){.about-badges-row{align-items:center;flex-direction:column}}.magic-projects{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.exp-project-card,.magic-project-card{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;border:none;color:inherit;cursor:pointer;font:inherit}.magic-project-card{background:linear-gradient(180deg,#12182af2,#060810fa);border:1px solid #ffffff1f;border-radius:22px;box-shadow:inset 0 1px 0 #ffffff1a,0 0 0 1px #7c3dff14,0 20px 50px #00000073;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);will-change:transform}.magic-project-card:hover{border-color:#38bdf859;box-shadow:inset 0 1px 0 #ffffff24,0 0 0 1px #fb718533,0 28px 70px #00000080,0 0 60px #7c3dff26;transform:translateY(-5px) scale(1.01)}[data-theme=light] .magic-project-card{background:linear-gradient(180deg,#fff,#f1f5f9);border-color:#0f172a1a;box-shadow:inset 0 1px 0 #fff,0 14px 36px #0f172a14}[data-theme=light] .magic-project-card:hover{border-color:#6366f159;box-shadow:0 20px 48px #0f172a1f,0 0 40px #6366f11f}.magic-project-card__img-wrap{aspect-ratio:16/10;display:block;overflow:hidden;position:relative;width:100%}.magic-project-card__img-wrap:after{background:linear-gradient(180deg,#0000 45%,#050810d9);content:"";inset:0;pointer-events:none;position:absolute}[data-theme=light] .magic-project-card__img-wrap:after{background:linear-gradient(180deg,#0000 50%,#f8fafceb)}.magic-project-card__img{display:block;height:100%;object-fit:cover;width:100%}.magic-project-card__img--1,.magic-project-card__img--2,.magic-project-card__img--3{aspect-ratio:16/10;width:100%}.magic-project-card__img--1{background:linear-gradient(135deg,#38bdf88c,#7c3dff80 55%,#fb718559)}.magic-project-card__img--2{background:linear-gradient(135deg,#0369a1,#5b21b6)}.magic-project-card__img--3{background:linear-gradient(135deg,#9d174d,#4c1d95)}.magic-project-card__label{color:var(--text-primary);display:block;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;padding:1rem 1.35rem .35rem}.magic-project-card__desc{color:var(--text-muted);display:block;font-size:.86rem;line-height:1.45;padding:0 1.35rem 1.15rem}.summary-block{padding:1.75rem 2rem}.summary-block p{color:var(--text-secondary);font-size:1rem;line-height:1.75}.engineering-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1.25fr}@media (max-width:800px){.engineering-grid{grid-template-columns:1fr}}.engineering-card{padding:1.75rem 2rem}.engineering-card__title{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin-bottom:1rem}.engineering-practices-list{list-style:none;margin:0;padding:0}.engineering-practices-list li{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:.75rem;padding-left:1.5rem;position:relative}.engineering-practices-list li:before{color:var(--accent);content:"→";font-weight:700;left:0;position:absolute}.engineering-highlights{display:flex;flex-direction:column;gap:1rem}.highlight-item{background:linear-gradient(90deg,#7c3dff33,#080b16b8 14px);border:1px solid #ffffff1a;border-left:3px solid #7c3dff;border-radius:18px;box-shadow:inset 0 1px 0 #ffffff0f,0 12px 32px #00000059;padding:1.35rem 1.5rem 1.35rem 1.45rem;position:relative}[data-theme=light] .highlight-item{background:linear-gradient(90deg,#6366f11f,#ffffffeb 14px);border-color:#0f172a14 #0f172a14 #0f172a14 #6366f1;box-shadow:0 10px 28px #0f172a0f}.highlight-item__title{align-items:center;color:var(--text-primary);display:flex;font-size:1.05rem;font-weight:600;gap:.5rem;margin-bottom:.35rem}.highlight-item__icon{color:var(--magic-blue)}.highlight-item__desc{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0}.exp-list{display:flex;flex-direction:column;gap:1.5rem}.exp-item{background:linear-gradient(165deg,#ffffff0f,#060810eb 55%);border:1px solid #ffffff1c;border-radius:22px;box-shadow:inset 0 1px 0 #ffffff14,0 18px 48px #00000061;padding:1.6rem 1.6rem 1.6rem 2rem;position:relative;transition:box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1);will-change:transform}.exp-item:before{background:linear-gradient(180deg,#fb7185,#7c3dff 50%,#38bdf8);border-radius:4px;bottom:1.2rem;content:"";left:12px;opacity:.95;pointer-events:none;position:absolute;top:1.2rem;width:4px}.exp-item:hover{border-color:#38bdf847;box-shadow:inset 0 1px 0 #ffffff1a,0 22px 60px #00000073,0 0 50px #7c3dff1a}[data-theme=light] .exp-item{background:linear-gradient(165deg,#fffffffa,#f1f5f9);border-color:#0f172a14;box-shadow:0 14px 36px #0f172a0f}[data-theme=light] .exp-item:hover{border-color:#6366f140}.exp-item__header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.exp-item__role{color:var(--text-primary);font-size:1.1rem;font-weight:600}.exp-item__company{color:var(--accent);font-size:.95rem;font-weight:500}.exp-item__company-link{align-items:center;display:inline-flex;gap:.35rem;text-decoration:none;transition:opacity .2s ease}.exp-item__company-link:hover{opacity:.8}.exp-item__link-icon{color:var(--accent);opacity:.7;transition:transform .2s ease}.exp-item__company-link:hover .exp-item__link-icon{opacity:1;transform:translate(1px,-1px)}.exp-item__meta{color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem}.exp-item__points{list-style:none}.exp-item__points li{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:.5rem;padding-left:1.25rem;position:relative}.exp-item__points li:before{background:var(--magic-violet);border-radius:50%;content:"";height:5px;left:0;opacity:.9;position:absolute;top:.5em;width:5px}.exp-item__roles-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.exp-item__role-entry{align-items:baseline;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-start}.exp-item__role-duration{color:var(--text-muted);font-size:.85rem;font-weight:400}.exp-item__projects--cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:1.25rem}.exp-project-card{background:linear-gradient(180deg,#12182af2,#060810fa);border:1px solid #ffffff1f;border-radius:20px;box-shadow:inset 0 1px 0 #ffffff17,0 0 0 1px #fbbf240f,0 16px 42px #0000006b;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1);will-change:transform}.exp-project-card:hover{border-color:#fbbf2459;box-shadow:inset 0 1px 0 #ffffff1f,0 0 0 1px #38bdf833,0 22px 56px #0000007a,0 0 48px #7c3dff1f;transform:translateY(-5px) scale(1.01)}[data-theme=light] .exp-project-card{background:linear-gradient(180deg,#fff,#f1f5f9);border-color:#0f172a1a;box-shadow:inset 0 1px 0 #fff,0 12px 32px #0f172a14}[data-theme=light] .exp-project-card:hover{border-color:#d9770659}.exp-project-card__img-wrap{aspect-ratio:16/10;display:block;overflow:hidden;position:relative;width:100%}.exp-project-card__img-wrap:after{background:linear-gradient(180deg,#0000 40%,#050810e0);content:"";inset:0;pointer-events:none;position:absolute}[data-theme=light] .exp-project-card__img-wrap:after{background:linear-gradient(180deg,#0000 45%,#f8fafce6)}.exp-project-card__img{display:block;height:100%;object-fit:cover;width:100%}.exp-project-card__img--1,.exp-project-card__img--2,.exp-project-card__img--3{aspect-ratio:16/10;width:100%}.exp-project-card__img--1{background:linear-gradient(135deg,#38bdf880,#7c3dff73)}.exp-project-card__img--2{background:linear-gradient(135deg,#0c4a6e,#4c1d95)}.exp-project-card__img--3{background:linear-gradient(135deg,#9d174d,#312e81)}.exp-project-card__label{color:var(--text-primary);display:block;font-size:.98rem;font-weight:700;letter-spacing:-.02em;padding:.85rem 1.15rem .2rem}.exp-project-card__desc{color:var(--text-muted);font-size:.84rem;line-height:1.45;margin:0;padding:0 1.15rem 1rem}.exp-project{border-top:1px solid var(--glass-border);margin-top:1rem;padding-top:1rem}.exp-project__name{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:.35rem}.exp-project__name a{color:inherit}.exp-project__name a:hover{color:var(--accent)}.exp-project__desc{color:var(--text-secondary);font-size:.9rem;line-height:1.55}.edu-list{display:flex;flex-direction:column;gap:1rem}.edu-item{background:linear-gradient(135deg,#fbbf2414,#080b16d9 45%);border:1px solid #ffffff1a;border-radius:20px;box-shadow:inset 0 1px 0 #ffffff12,0 14px 36px #00000059;overflow:hidden;padding:1.35rem 1.5rem;position:relative}.edu-item:after{background:radial-gradient(circle at 100% 0,#fbbf2426 0,#0000 70%);content:"";height:120px;pointer-events:none;position:absolute;right:0;top:0;width:120px}[data-theme=light] .edu-item{background:linear-gradient(135deg,#fbbf241f,#fffffff2 50%);border-color:#0f172a14;box-shadow:0 12px 30px #0f172a0f}.edu-item__degree{color:var(--text-primary);font-weight:600;margin-bottom:.25rem}.edu-item__meta{color:var(--text-secondary);font-size:.9rem}.edu-item__gpa{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.skills-grid{display:flex;flex-wrap:wrap;gap:.5rem}.skills-group{margin-bottom:1.5rem}.skills-group:last-child{margin-bottom:0}.skills-group__label{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.06em;margin-bottom:.5rem;text-transform:uppercase}.skill-pill{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:10px;color:var(--text-secondary);display:inline-block;font-size:.88rem;margin:.25rem .25rem 0 0;padding:.4rem .85rem;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),color .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.22,1,.36,1);will-change:transform}.skill-pill--aws,.skill-pill--python,.skill-pill--react,.skill-pill--ruby{border-color:#7c3dff40;box-shadow:0 0 15px #7c3dff0d;color:var(--text-secondary)}.skill-pill--neutral{color:var(--text-muted)}.skill-pill:hover{background:#7c3dff1f;border-color:#7c3dff73;box-shadow:0 5px 15px #7c3dff26;color:var(--text-primary);transform:translateY(-2px)}.skill-pill--aws:hover,.skill-pill--python:hover,.skill-pill--react:hover,.skill-pill--ruby:hover{background:#7c3dff26;border-color:var(--accent);color:#fff}[data-theme=light] .skill-pill{background:#ffffffd9;border:1px solid #0f172a1f;box-shadow:inset 0 1px 0 #fff;color:#1e293b}[data-theme=light] .skill-pill--aws,[data-theme=light] .skill-pill--python,[data-theme=light] .skill-pill--react,[data-theme=light] .skill-pill--ruby{background:#ffffffe6;border-color:#6366f140;color:#475569}[data-theme=light] .skill-pill--neutral{color:#64748b}[data-theme=light] .skill-pill:hover{background:#fff;border-color:#6366f1;box-shadow:0 4px 12px #6366f11f;color:#4338ca}[data-theme=light] .skills-group__label{color:#0f172a8c}.projects-grid{grid-gap:1rem;display:grid;gap:1rem}.project-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:1.35rem 1.5rem;transition:background .2s,border-color .2s,box-shadow .2s}.project-card:hover{background:#7c3dff0f;border-color:#7c3dff33;box-shadow:0 0 30px #7c3dff0d}.project-card__name{color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.35rem}.project-card__desc{color:var(--text-secondary);font-size:.9rem;line-height:1.55;margin-bottom:.5rem}.project-card__meta{color:var(--text-muted);font-size:.8rem}.project-card__meta a{font-size:.8rem}.contact-inner{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:700px){.contact-inner{grid-template-columns:1fr}}.contact-info__item{color:var(--text-secondary);font-size:.95rem;margin-bottom:1rem}.contact-info__item strong{color:var(--text-muted);display:block;font-size:.8rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.contact-info__item a{color:var(--accent)}.contact-info__item span a{margin-right:.35rem}.contact-form .glass-card{padding:1.5rem 1.75rem}.contact-form input,.contact-form textarea{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-primary);font-family:inherit;font-size:.95rem;margin-bottom:1rem;padding:.75rem 1rem;transition:border-color .2s,background .2s;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form textarea{min-height:120px;resize:vertical}.contact-form .hero__btn--primary{background:linear-gradient(135deg,#7c3dff,#38bdf8)!important;border:none;box-shadow:0 4px 24px #7c3dff73!important;cursor:pointer;font-family:inherit}.contact-form .hero__btn--primary:hover{box-shadow:0 6px 32px #7c3dff8c!important}.portfolio-footer{border-top:1px solid var(--glass-border);color:var(--text-muted);font-size:.9rem;padding:1.5rem 1.5rem 2rem;text-align:center}.portfolio-footer a{color:var(--text-secondary)}.portfolio-footer a:hover{color:var(--accent)}.magic-footer{align-items:flex-end;display:flex;justify-content:center;min-height:200px;overflow:hidden;padding:3rem 1.5rem 2rem;position:relative}.magic-footer__gradient{background:linear-gradient(180deg,#0000,#7c3dff1a 35%,#38bdf80f 70%,#fb71850d);inset:0;pointer-events:none;position:absolute}.magic-footer__inner{position:relative;text-align:center;z-index:1}.magic-footer__inner p{color:var(--text-muted);font-size:.9rem}.magic-footer__inner a{color:var(--text-secondary)}.magic-footer__inner a:hover{color:var(--accent)}.portfolio-section--in-view .skill-pill{animation:pill-in .4s cubic-bezier(.22,1,.36,1) both;animation-delay:.05s;animation-delay:calc(.05s + var(--pill-i, 0)*45ms)}.skill-pill{opacity:0}@keyframes pill-in{0%{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.edu-item,.exp-item,.highlight-item{opacity:0;transform:translateY(18px);transition:none}.portfolio-section--in-view .edu-item,.portfolio-section--in-view .exp-item,.portfolio-section--in-view .highlight-item{animation:card-stagger-in .55s cubic-bezier(.22,1,.36,1) both;animation-delay:.08s;animation-delay:calc(.08s + var(--stagger-i, 0)*.12s)}@keyframes card-stagger-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.portfolio-section--in-view .exp-item:hover{transform:translateY(-2px);transition:transform .25s ease,background .2s,border-color .2s,box-shadow .2s}.contact-form input:focus,.contact-form textarea:focus{animation:input-glow .3s ease forwards;background:#7c3dff0f;border-color:var(--magic-violet);box-shadow:0 0 0 3px #7c3dff26;outline:none}@keyframes input-glow{0%{box-shadow:0 0 0 0 #7c3dff00}to{box-shadow:0 0 0 3px #7c3dff26}}.contact-form__submit{min-width:148px;position:relative;transition:opacity .2s,transform .2s,box-shadow .2s}.contact-form__submit:disabled{cursor:default;opacity:.85}.contact-form__spinner-wrap,.contact-form__success-wrap{align-items:center;display:inline-flex;gap:.5rem}.contact-form__spinner{animation:spin .7s linear infinite;border:2px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;flex-shrink:0;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.contact-form__check{animation:check-pop .35s cubic-bezier(.34,1.56,.64,1) both;flex-shrink:0;height:18px;width:18px}@keyframes check-pop{0%{opacity:0;transform:scale(0) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.contact-form__submit--success{background:linear-gradient(135deg,#059669,#10b981)!important;box-shadow:0 4px 20px #10b98166!important}.journey-timeline{display:flex;flex-direction:column;gap:2rem;padding-left:2rem;position:relative}.journey-timeline:before{background:var(--glass-border);bottom:0;content:"";left:5px;position:absolute;top:0;width:2px}.journey-item{opacity:0;position:relative;transform:translateX(-20px)}.portfolio-section--in-view .journey-item{animation:slide-in-right .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.1s;animation-delay:calc(.1s + var(--stagger-i, 0)*.15s)}@keyframes slide-in-right{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.journey-item__dot{background:var(--magic-violet);border-radius:50%;box-shadow:0 0 10px var(--magic-violet);height:12px;left:-2rem;position:absolute;top:1.5rem;transform:translateX(-1px);width:12px}.journey-item__content{padding:1.5rem 2rem;position:relative}.journey-item__content:before{border-right:10px solid var(--glass-border);left:-10px}.journey-item__content:after,.journey-item__content:before{border-bottom:10px solid #0000;border-top:10px solid #0000;content:"";height:0;position:absolute;top:1.5rem;width:0}.journey-item__content:after{border-right:10px solid var(--glass-bg);left:-8px}.journey-item__year{color:var(--accent);font-size:.9rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem}.journey-item__title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.journey-item__desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}.testimonials-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.testimonials-grid{grid-template-columns:1fr}}.testimonial-card{background:linear-gradient(165deg,#ffffff0f,#060810e0);border:1px solid #ffffff1c;border-radius:24px;box-shadow:inset 0 1px 0 #ffffff14,0 18px 48px #00000061;display:flex;flex-direction:column;overflow:hidden;padding:2rem 1.85rem;position:relative}.testimonial-card:before{background:linear-gradient(90deg,#38bdf8,#7c3dff,#fb7185,#fbbf24);content:"";height:4px;left:0;opacity:1;position:absolute;right:0;top:0}[data-theme=light] .testimonial-card{background:linear-gradient(165deg,#fff,#f8fafc);border-color:#0f172a14;box-shadow:0 14px 36px #0f172a12}.testimonial-quote-icon{color:var(--glass-border);height:28px;margin-bottom:1rem;width:28px}.testimonial-text{color:var(--text-primary);flex:1 1;font-size:1.05rem;font-style:italic;line-height:1.7;margin-bottom:1.75rem}.testimonial-author-wrap{align-items:center;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between;padding-top:1.25rem}.testimonial-author-info{display:flex;flex-direction:column}.testimonial-author{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin-bottom:.2rem}.testimonial-role{color:var(--accent);font-size:.9rem;font-weight:500}.testimonial-link{align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;color:var(--text-muted);display:flex;height:36px;justify-content:center;transition:color .2s;width:36px}.testimonial-link:hover{background:#3b82f61a;border-color:#3b82f64d;color:var(--magic-blue)}.portfolio-section--in-view .testimonial-card{animation:card-stagger-in .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.1s;animation-delay:calc(.1s + var(--stagger-i, 0)*.15s)}.journey-item__content:hover,.testimonial-card:hover{border-color:#38bdf847;box-shadow:inset 0 1px 0 #ffffff1f,0 22px 56px #0000006b,0 0 48px #7c3dff1a}[data-theme=light] .journey-item__content:hover,[data-theme=light] .testimonial-card:hover{border-color:#6366f138;box-shadow:0 18px 40px #0f172a1a}.portfolio-section--in-view .journey-item__content:hover,.portfolio-section--in-view .testimonial-card:hover{transform:translateY(-2px);transition:transform .25s ease,background .2s,border-color .2s,box-shadow .2s}.activity-grid{display:flex;flex-direction:column;gap:3.5rem}.activity-group-title{align-items:center;color:var(--text-muted);display:flex;font-size:.9rem;font-weight:600;gap:1rem;letter-spacing:.12em;margin-bottom:2rem;text-transform:uppercase}.activity-group-title:after{background:linear-gradient(90deg,var(--glass-border),#0000);content:"";flex:1 1;height:1px}.github-activity,.leetcode-activity{width:100%}.github-stats-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:2rem}@media (max-width:950px){.github-stats-grid{grid-template-columns:1fr}}.github-card{align-items:center;background:linear-gradient(145deg,#38bdf814,#060810a6);border:1px solid #ffffff1f;border-radius:22px;box-shadow:inset 0 1px 0 #ffffff1a,0 16px 44px #00000059;display:flex;justify-content:center;min-height:240px;overflow:hidden;padding:2rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease}.github-card:hover,.github-contribution:hover{border-color:#7c3dff66;box-shadow:0 20px 60px #0006,0 0 0 1px #7c3dff40;transform:translateY(-8px)}.github-stat-img{filter:drop-shadow(0 10px 20px rgba(0,0,0,.2));height:auto;max-width:550px;width:100%}.github-contribution{border-radius:22px;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease;width:100%}.github-calendar-container{overflow-x:auto;padding-bottom:.5rem;width:100%}.github-calendar-container text{fill:var(--text-muted)!important;font-family:inherit!important;font-size:.8rem!important}.github-calendar-container .react-activity-calendar{margin:0 auto}[data-theme=light] .github-card{background:#fff;border-color:#0000000d;box-shadow:0 10px 30px #0000000a}[data-theme=light] .github-chart-wrapper{background:#fff}.fade-in-up{opacity:0;transform:translateY(20px)}.portfolio-section--in-view .fade-in-up{animation:slide-in-right .6s cubic-bezier(.22,1,.36,1) both}.blog-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.blog-card{display:flex;flex-direction:column;padding:2rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,background .3s ease,border-color .3s ease}.blog-card:hover{background:var(--accent-soft);border-color:var(--accent-glow);box-shadow:0 20px 40px #0003;transform:translateY(-6px)}[data-theme=light] .blog-card:hover{background:#7c3aed0a;box-shadow:0 15px 35px #7c3aed1f}.blog-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.blog-card__tag{background:var(--accent-soft);border-radius:6px;color:var(--magic-blue);font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.25rem .6rem;text-transform:uppercase}.blog-card__date{color:var(--text-muted);font-size:.85rem}.blog-card__title{color:var(--text-primary);font-size:1.25rem;font-weight:700;line-height:1.4;margin-bottom:.75rem}.blog-card__description{color:var(--text-secondary);flex:1 1;font-size:.95rem;line-height:1.6;margin-bottom:1.5rem}.blog-card__link{align-items:center;color:var(--accent);display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;text-decoration:none;transition:gap .2s ease}.blog-card__link:hover{gap:.75rem}.github-card:hover,.github-contribution:hover{border-color:var(--accent-glow);box-shadow:0 20px 50px #0000004d,0 0 0 1px var(--accent-soft);transform:translateY(-6px)}[data-theme=light] .github-card:hover,[data-theme=light] .github-contribution:hover{background:#fff;border-color:#7c3aed33;box-shadow:0 15px 40px #7c3aed1a}
/*# sourceMappingURL=main.5141b513.css.map*/