@import url(https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Fira+Code:wght@400;500&display=swap);:root{--bg:#ffffff;--surface:#f9fafb;--surface-2:#f3f4f6;--card-bg:rgba(255, 255, 255, 0.9);--header-bg:rgba(255, 255, 255, 0.82);--border:#e5e7eb;--border-2:#d1d5db;--text:#111827;--text-muted:#6b7280;--text-faint:#9ca3af;--primary:#7c3aed;--primary-hover:#6d28d9;--accent:#ec4899;--hero-grad:linear-gradient(135deg, #f5f3ff 0%, #fdf4ff 45%, #fff1f5 100%);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.05);--shadow:0 4px 12px rgba(0, 0, 0, 0.08);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.10);--shadow-lg:0 20px 40px rgba(0, 0, 0, 0.12);--shadow-glow:0 0 28px rgba(124, 58, 237, 0.28)}[data-theme=dark]{--bg:#07070f;--surface:#0d0d1a;--surface-2:#121222;--card-bg:rgba(13, 13, 26, 0.88);--header-bg:rgba(7, 7, 15, 0.84);--border:rgba(255, 255, 255, 0.07);--border-2:rgba(255, 255, 255, 0.12);--text:#f9fafb;--text-muted:#9ca3af;--text-faint:#4b5563;--primary:#a78bfa;--primary-hover:#7c3aed;--accent:#ec4899;--hero-grad:linear-gradient(135deg, #07070f 0%, #0b0818 45%, #0f0810 100%);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.4);--shadow:0 4px 12px rgba(0, 0, 0, 0.5);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.55);--shadow-lg:0 20px 40px rgba(0, 0, 0, 0.65);--shadow-glow:0 0 28px rgba(167, 139, 250, 0.35)}.text-purple{color:#7c3aed}.text-primary{color:#7c3aed}.text-indigo{color:#4f46e5}.text-pink{color:#ec4899}.text-cyan{color:#06b6d4}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-danger{color:#ef4444}.text-muted{color:#6b7280}.text-faint{color:#9ca3af}*,::after,::before{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6;background:var(--bg);color:var(--text);transition:background .4s cubic-bezier(.22,1,.36,1),color .4s cubic-bezier(.22,1,.36,1);min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}a:hover{text-decoration:none}img{max-width:100%;display:block}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.gradient-text{background:linear-gradient(135deg,#7c3aed 0,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fw-bold{font-weight:700}.fw-semibold{font-weight:600}.fw-medium{font-weight:500}.fs-5{font-size:.875rem}.fs-3{font-size:1.125rem}.fs-1{font-size:1.5rem}.display-1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1}.display-4{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:700}.lead{font-size:1.0625rem;line-height:1.75}.font-monospace{font-family:"Fira Code","JetBrains Mono","Cascadia Code",monospace}.text-muted{color:var(--text-muted)}.ms-auto{margin-left:auto}.me-2{margin-right:.5rem}.me-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:500;letter-spacing:.02em;background:rgba(124,58,237,.08);color:var(--primary);border:1px solid rgba(124,58,237,.18);transition:all 150ms cubic-bezier(.22,1,.36,1)}.badge.badge-available{background:rgba(16,185,129,.08);color:#10b981;border-color:rgba(16,185,129,.25);font-size:.8125rem;padding:5px 14px}.badge.badge-available .dot{width:7px;height:7px;border-radius:50%;background:#10b981;flex-shrink:0;animation:dot-pulse 2s ease-in-out infinite}.badge.badge-location{background:var(--surface);color:var(--text-muted);border-color:var(--border);padding:5px 14px;font-size:.8125rem}@keyframes dot-pulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(16,185,129,.4)}50%{opacity:.8;transform:scale(1.15);box-shadow:0 0 0 4px rgba(16,185,129,0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 20px;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all 250ms cubic-bezier(.22,1,.36,1);white-space:nowrap;line-height:1}.btn:hover{text-decoration:none}.btn-lg{padding:12px 24px;font-size:.9375rem;border-radius:.75rem}.btn-sm{padding:6px 12px;font-size:.75rem;border-radius:.375rem}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-outline-primary{background:0 0;border-color:var(--primary);color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-glow)}.btn-outline-dark{background:0 0;border-color:var(--border-2);color:var(--text)}.btn-outline-dark:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.btn-gradient{background:linear-gradient(135deg,#7c3aed 0,#ec4899 100%);color:#fff;border:none}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,.4);filter:brightness(1.05)}.social-btn{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);transition:all 250ms cubic-bezier(.22,1,.36,1)}.social-btn:hover{border-color:var(--primary);color:var(--primary);background:rgba(124,58,237,.06);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}.social-btn i[data-lucide],.social-btn svg{width:18px;height:18px}.bg-gradient-purple-pink{background:linear-gradient(135deg,#7c3aed 0,#ec4899 100%)!important;border:none!important}.bg-gradient-purple-pink:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,58,237,.4)!important}#header{position:sticky;top:0;z-index:1000;background:var(--header-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transition:background .4s cubic-bezier(.22,1,.36,1),border-color .4s cubic-bezier(.22,1,.36,1),box-shadow .4s cubic-bezier(.22,1,.36,1)}#header.scrolled{box-shadow:var(--shadow)}#header .container{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:16px}.logo{font-family:"Fira Code","JetBrains Mono","Cascadia Code",monospace;font-size:1.1rem;font-weight:700;letter-spacing:-.02em;transition:opacity 250ms cubic-bezier(.22,1,.36,1)}.logo:hover{opacity:.75;text-decoration:none}nav{display:flex;align-items:center;gap:8px}.navbar-nav{display:flex;align-items:center;gap:2px}.navbar-nav .nav-item{list-style:none}.navbar-nav .nav-link{display:block;padding:7px 13px;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all 150ms cubic-bezier(.22,1,.36,1)}.navbar-nav .nav-link:hover{color:var(--text);background:var(--surface);text-decoration:none}.navbar-nav .nav-link.active{color:var(--primary);background:rgba(124,58,237,.06)}.theme-toggle-btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;transition:all 150ms cubic-bezier(.22,1,.36,1);flex-shrink:0}.theme-toggle-btn:hover{border-color:var(--primary);color:var(--primary);background:rgba(124,58,237,.06)}.theme-toggle-btn .theme-icon-moon,.theme-toggle-btn .theme-icon-sun{width:17px;height:17px;pointer-events:none}.navbar-toggler{display:flex;align-items:center;justify-content:center;display:none;width:40px;height:40px;border-radius:.5rem;border:1px solid var(--border);background:0 0;cursor:pointer;flex-shrink:0}@media (max-width:767px){.navbar-toggler{display:flex}}.navbar-toggler .bar{display:block;width:18px;height:2px;background:var(--text);border-radius:2px;transition:all 250ms cubic-bezier(.22,1,.36,1);position:relative}.navbar-toggler .bar::after,.navbar-toggler .bar::before{content:"";position:absolute;width:100%;height:100%;background:var(--text);border-radius:inherit;transition:inherit;left:0}.navbar-toggler .bar::before{top:-5px}.navbar-toggler .bar::after{top:5px}.navbar-toggler.open .bar{background:0 0}.navbar-toggler.open .bar::before{top:0;transform:rotate(45deg)}.navbar-toggler.open .bar::after{top:0;transform:rotate(-45deg)}.navbar-collapse{display:flex}@media (max-width:767px){.navbar-collapse{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);display:none;position:absolute;top:100%;left:0;right:0;background:var(--header-bg);border-bottom:1px solid var(--border);padding:12px 24px 16px;box-shadow:var(--shadow-md)}.navbar-collapse.open{display:flex;flex-direction:column;gap:8px}.navbar-collapse .navbar-nav{flex-direction:column;align-items:stretch;gap:2px}.navbar-collapse .navbar-nav .nav-link{padding:10px 14px;border-radius:.5rem}.navbar-collapse .theme-toggle-btn{align-self:flex-start}}#header{position:relative}.header-sticky{position:sticky;top:0;z-index:1000}.hero{padding:96px 0 80px;background:var(--hero-grad);position:relative;overflow:hidden}.hero::after,.hero::before{content:"";position:absolute;border-radius:50%;pointer-events:none;animation:orb-float 8s ease-in-out infinite}.hero::before{width:600px;height:600px;background:radial-gradient(circle,rgba(124,58,237,.09) 0,transparent 70%);top:-100px;left:-150px}.hero::after{width:500px;height:500px;background:radial-gradient(circle,rgba(236,72,153,.07) 0,transparent 70%);bottom:-100px;right:-100px;animation-delay:-4s;animation-direction:reverse}.hero .container{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:center;position:relative;z-index:1}@media (max-width:767px){.hero .container{grid-template-columns:1fr;gap:40px}}@keyframes orb-float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,20px) scale(.97)}}.hero .details{display:flex;flex-direction:column;gap:18px}.hero .details h1{font-size:clamp(2.4rem,5.5vw,4.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;background:linear-gradient(135deg,#7c3aed 10%,#ec4899 55%,#06b6d4 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero .details h2{font-size:clamp(1rem,2vw,1.3rem);font-weight:500;color:var(--text-muted);letter-spacing:-.01em}.hero .details p{font-size:1rem;line-height:1.75;color:var(--text-muted);max-width:540px}.hero .details .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.hero .details .badge{align-self:baseline}.hero-orbit{position:relative;width:340px;height:340px;flex-shrink:0;align-self:center;justify-self:center;overflow:hidden}@media (max-width:767px){.hero-orbit{width:100%;height:auto}.hero-orbit .orbit-bg,.hero-orbit .orbit-items{display:none}.hero-orbit .orbit-marquee{display:flex}}.orbit-bg{position:absolute;inset:0;pointer-events:none}.orbit-sphere{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 38% 35%,rgb(179.9339534884,142.1144186047,244.6855813953),#7c3aed 55%,#ec4899);box-shadow:0 0 0 2px rgba(124,58,237,.3),0 0 30px rgba(124,58,237,.55),0 0 70px rgba(236,72,153,.18);z-index:5;animation:sphere-pulse 4s ease-in-out infinite}.orbit-sphere::after,.orbit-sphere::before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(255,255,255,.22)}.orbit-sphere::before{transform:rotateX(72deg)}.orbit-sphere::after{transform:rotateY(72deg)}.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border:1px solid rgba(124,58,237,.14)}.orbit-ring--1{width:165px;height:66px;margin:-33px -82.5px;transform:rotateX(74deg)}.orbit-ring--2{width:220px;height:88px;margin:-44px -110px;transform:rotateX(74deg) rotateZ(52deg)}.orbit-ring--3{width:278px;height:111px;margin:-55.5px -139px;transform:rotateX(74deg) rotateZ(-52deg)}.orbit-items{position:absolute;inset:0}.orbit-item{position:absolute;top:50%;left:50%;width:0;height:0}.orbit-cw{animation-name:orbit-cw;animation-duration:var(--dur,12s);animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:var(--delay,0s)}.orbit-ccw{animation-name:orbit-ccw;animation-duration:var(--dur,16s);animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:var(--delay,0s)}.orbit-pill{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:6px;padding:5px 13px;background:var(--card-bg);border:1px solid var(--border);border-radius:9999px;font-size:.75rem;font-weight:500;color:var(--text);white-space:nowrap;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);cursor:default;transition:border-color 150ms cubic-bezier(.22,1,.36,1),box-shadow 150ms cubic-bezier(.22,1,.36,1);z-index:10}.orbit-pill:hover{border-color:rgba(124,58,237,.45);box-shadow:0 0 16px rgba(124,58,237,.25)}@keyframes orbit-cw{from{transform:rotate(0) translateX(var(--r,100px)) rotate(0)}to{transform:rotate(360deg) translateX(var(--r,100px)) rotate(-360deg)}}@keyframes orbit-ccw{from{transform:rotate(0) translateX(var(--r,100px)) rotate(0)}to{transform:rotate(-360deg) translateX(var(--r,100px)) rotate(360deg)}}@keyframes sphere-pulse{0%,100%{box-shadow:0 0 0 2px rgba(124,58,237,.3),0 0 30px rgba(124,58,237,.55),0 0 70px rgba(236,72,153,.18);transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 0 0 3px rgba(124,58,237,.2),0 0 50px rgba(124,58,237,.65),0 0 100px rgba(236,72,153,.28);transform:translate(-50%,-50%) scale(1.06)}}.orbit-marquee{display:none;overflow:hidden;width:100%;mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 10%,#000 90%,transparent 100%)}.orbit-marquee-track{display:flex;gap:10px;animation:marquee-scroll 22s linear infinite;width:-moz-max-content;width:max-content}.orbit-marquee-track .orbit-pill{position:static;transform:none;flex-shrink:0}@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}#main{flex-grow:1}.section-header{text-align:center;margin-bottom:56px}.section-header .section-tag{display:inline-block;font-family:"Fira Code","JetBrains Mono","Cascadia Code",monospace;font-size:.75rem;font-weight:500;color:var(--primary);background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.15);border-radius:.5rem;padding:3px 10px;margin-bottom:12px;letter-spacing:.04em}.section-header h2{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:700;letter-spacing:-.025em;margin-bottom:12px;background:linear-gradient(135deg,#7c3aed 0,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header p{font-size:1rem;color:var(--text-muted);max-width:480px;margin:0 auto;line-height:1.7}#skills{background:var(--bg);padding:96px 0}@media (max-width:767px){#skills{padding:64px 0}}#skills .skill-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.skill-card{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;transition:transform 250ms cubic-bezier(.22,1,.36,1),box-shadow 250ms cubic-bezier(.22,1,.36,1),border-color 250ms cubic-bezier(.22,1,.36,1);padding:28px 24px;position:relative;overflow:hidden}.skill-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#7c3aed,#ec4899);transform:scaleX(0);transform-origin:left;transition:transform 250ms cubic-bezier(.22,1,.36,1)}.skill-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:rgba(124,58,237,.25)}.skill-card:hover::before{transform:scaleX(1)}.skill-card h3{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:16px;display:flex;align-items:center;gap:8px}.skill-card h3::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#ec4899);flex-shrink:0}.skill-card .badge-group{display:flex;flex-wrap:wrap;gap:8px}.skill-card .badge{font-size:.72rem;padding:4px 10px}.badge-skill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px}.badge-skill .skill-icon{width:15px;height:15px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.projects{background:var(--surface);padding:96px 0}@media (max-width:767px){.projects{padding:64px 0}}.projects .project-list{display:grid;gap:24px;margin-bottom:20px}.project-item{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;transition:transform 250ms cubic-bezier(.22,1,.36,1),box-shadow 250ms cubic-bezier(.22,1,.36,1),border-color 250ms cubic-bezier(.22,1,.36,1);padding:36px 32px;position:relative;overflow:hidden}.project-item::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(124,58,237,.025) 0,rgba(236,72,153,.025) 100%);opacity:0;transition:opacity 250ms cubic-bezier(.22,1,.36,1);pointer-events:none}.project-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(124,58,237,.22)}.project-item:hover::after{opacity:1}@media (max-width:767px){.project-item{padding:24px 20px}}.project-details{position:relative;z-index:1}.project-details .project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.project-details .project-tag{display:inline-flex;align-items:center;gap:5px;font-family:"Fira Code","JetBrains Mono","Cascadia Code",monospace;font-size:.7rem;font-weight:500;color:var(--primary);background:rgba(124,58,237,.07);border:1px solid rgba(124,58,237,.14);border-radius:.375rem;padding:3px 9px;letter-spacing:.03em;text-transform:uppercase}.project-details .project-tag .skill-icon{width:14px;height:14px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.project-details h3{font-size:1.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:12px;background:linear-gradient(90deg,#7c3aed 0,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-details p{font-size:.9375rem;line-height:1.75;color:var(--text-muted);margin-bottom:28px}.project-details .project-actions{display:flex;gap:12px;flex-wrap:wrap}.project-details .project-btn{border-color:var(--border-2);color:var(--text)}.project-details .project-btn:hover{border-color:var(--primary);color:var(--primary)}.project-details .project-btn-primary{border-radius:.75rem}.contact{background:var(--bg);padding:96px 0}@media (max-width:767px){.contact{padding:64px 0}}.contact .connect{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px}.contact-item{background:var(--card-bg);border:1px solid var(--border);border-radius:1rem;transition:transform 250ms cubic-bezier(.22,1,.36,1),box-shadow 250ms cubic-bezier(.22,1,.36,1),border-color 250ms cubic-bezier(.22,1,.36,1);padding:36px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.contact-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.contact-item .contact-icon-wrap{width:60px;height:60px;border-radius:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:transform 250ms cubic-bezier(.22,1,.36,1)}.contact-item .contact-icon-wrap i[data-lucide],.contact-item .contact-icon-wrap svg{width:28px;height:28px}.contact-item:hover .contact-icon-wrap{transform:scale(1.1) rotate(-3deg)}.contact-item h5{font-size:.9375rem;font-weight:600;color:var(--text)}.contact-item .btn{margin-top:4px}.contact-icon-0{background:rgba(36,41,46,.08);color:#24292e}.contact-icon-1{background:rgba(0,119,181,.1);color:#0077b5}.contact-icon-2{background:rgba(29,161,242,.1);color:#1da1f2}.contact-icon-3{background:rgba(225,48,108,.1);color:#e1306c}[data-theme=dark] .contact-icon-0{background:rgba(255,255,255,.08);color:#e6edf3}.contact-btn-0{border-color:rgba(36,41,46,.4);color:#24292e}.contact-btn-0:hover{background:#24292e;color:#fff;border-color:#24292e}.contact-btn-1{border-color:rgba(0,119,181,.4);color:#0077b5}.contact-btn-1:hover{background:#0077b5;color:#fff;border-color:#0077b5}.contact-btn-2{border-color:rgba(29,161,242,.4);color:#1da1f2}.contact-btn-2:hover{background:#1da1f2;color:#fff;border-color:#1da1f2}.contact-btn-3{border-color:rgba(225,48,108,.4);color:#e1306c}.contact-btn-3:hover{background:#e1306c;color:#fff;border-color:#e1306c}[data-theme=dark] .contact-btn-0{color:#e6edf3;border-color:rgba(255,255,255,.15)}[data-theme=dark] .contact-btn-0:hover{background:#e6edf3;color:#24292e}footer{background:var(--surface);border-top:1px solid var(--border);padding:28px 0;margin-top:auto}footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}@media (max-width:575px){footer .container{flex-direction:column;align-items:center;text-align:center}}footer .footer-logo{font-family:"Fira Code","JetBrains Mono","Cascadia Code",monospace}footer .footer-copy{font-size:.8125rem;color:var(--text-muted)}footer .footer-socials{display:flex;gap:10px}footer .footer-social-link{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:.5rem;border:1px solid var(--border);color:var(--text-muted);transition:all 250ms cubic-bezier(.22,1,.36,1)}footer .footer-social-link:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);text-decoration:none}footer .footer-social-link i[data-lucide],footer .footer-social-link svg{width:16px;height:16px}.fade-up{opacity:0;transform:translateY(28px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.fade-up.visible{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.stagger-children>:nth-child(1){transition-delay:0s}.stagger-children>:nth-child(2){transition-delay:70ms}.stagger-children>:nth-child(3){transition-delay:140ms}.stagger-children>:nth-child(4){transition-delay:210ms}.stagger-children>:nth-child(5){transition-delay:280ms}.stagger-children>:nth-child(6){transition-delay:350ms}.stagger-children>:nth-child(7){transition-delay:420ms}.stagger-children>:nth-child(8){transition-delay:490ms}.stagger-children>:nth-child(9){transition-delay:560ms}.stagger-children>:nth-child(10){transition-delay:630ms}.stagger-children.visible>*{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.skill-icon{display:inline-block;-o-object-fit:contain;object-fit:contain;flex-shrink:0}[data-theme=dark] .skill-icon[data-dark-invert=true]{filter:brightness(0) invert(1)}.d-none{display:none!important}.d-flex{display:flex!important}