:root{--bg:#000;--bg-alt:#0a0a0a;--card:#111;--accent:#fff;--accent-soft:#ffffff1a;--text-main:#fff;--text-muted:#a0a0a0;--border-subtle:#1a1a1a;--danger:#f44;--radius-xl:18px;--radius-full:999px;--shadow-soft:0 18px 35px #00000080;--max-width:1080px;--bg-gradient:radial-gradient(circle at top,#0a0a0a 0,#000 45%,#000 100%);--nav-bg-gradient:linear-gradient(to bottom,#000000eb,#0009,transparent);--card-bg-gradient:radial-gradient(circle at 0 0,#111111f2,#0a0a0afa);--hero-card-gradient:radial-gradient(circle at 10% 0,#ffffff0d,#111111fa)}[data-theme=light]{--bg:#fff;--bg-alt:#f8fafc;--card:#fff;--accent:#0284c7;--accent-soft:#0284c71a;--text-main:#0f172a;--text-muted:#64748b;--border-subtle:#e2e8f0;--danger:#dc2626;--shadow-soft:0 18px 35px #0000001a;--bg-gradient:linear-gradient(to bottom,#f8fafc 0,#fff 45%,#f1f5f9 100%);--nav-bg-gradient:linear-gradient(to bottom,#ffffffeb,#fff9,transparent);--card-bg-gradient:linear-gradient(to bottom,#fffffff2,#f8fafcfa);--hero-card-gradient:linear-gradient(to bottom,#0284c714,#f8fafcfa)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bg-gradient);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;line-height:1.6;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page{flex-direction:column;align-items:center;min-height:100vh;padding:20px 16px 40px;display:flex}.shell{width:100%;max-width:var(--max-width)}.nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--nav-bg-gradient);z-index:50;width:100%;margin-bottom:20px;transition:background .3s;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;width:100%;max-width:100%;margin:0;padding:16px 40px;display:flex}.nav-left{flex:1;align-items:center;gap:14px;display:flex}.nav-logo{color:#000;background:#fff;border-radius:40%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex;box-shadow:0 8px 18px #fff3}.nav-title{flex-direction:column;gap:0;display:flex}.nav-title-main{letter-spacing:.03em;font-size:16px;font-weight:600;line-height:1.3}.nav-title-sub{color:var(--text-muted);font-size:12px;line-height:1.3}.nav-links{flex-shrink:0;align-items:center;gap:24px;font-size:14px;display:flex}.nav-links-desktop-only{align-items:center;gap:24px;display:flex}.nav-links a:not(.nav-cta){color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #0000;padding:6px 8px;transition:color .16s,border-color .16s}.nav-links a:not(.nav-cta):hover{color:var(--text-main);border-color:#fff3}.nav-cta{border-radius:var(--radius-full);cursor:pointer;background:#fff;border:1px solid #0000;align-items:center;gap:8px;font-weight:500;text-decoration:none;transition:transform .14s,box-shadow .14s,background .14s;display:flex;box-shadow:0 14px 35px #fff3;color:#000!important;border-bottom:1px solid #0000!important;padding:10px 18px!important;font-size:13px!important}.nav-cta:hover{background:#f5f5f5;transform:translateY(-1px);box-shadow:0 18px 45px #ffffff4d;color:#000!important;border-bottom-color:#0000!important}.nav-cta span{font-size:16px}@media (max-width:720px){.nav-links-desktop-only{display:none}}.hero{grid-template-columns:minmax(0,2.2fr) minmax(0,1.8fr);align-items:center;gap:28px;margin-top:14px;margin-bottom:32px;display:grid}@media (max-width:840px){.hero{grid-template-columns:minmax(0,1fr)}}.hero-left-heading{text-transform:uppercase;letter-spacing:.3em;color:var(--text-muted);margin-bottom:10px;font-size:15px}.hero-title{margin-bottom:12px;font-size:clamp(32px,5vw,42px);font-weight:700;line-height:1.2}.hero-title span{background:linear-gradient(90deg,#fff,#a0a0a0);color:#0000;-webkit-background-clip:text}.hero-subtitle{color:var(--text-muted);max-width:520px;margin-bottom:18px;font-size:17px;line-height:1.6}.hero-badges{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.chip{border-radius:var(--radius-full);color:var(--text-main);white-space:nowrap;background:#ffffff0d;border:1px solid #94a3b842;align-items:center;gap:6px;padding:7px 14px;font-size:13px;transition:background .3s,border-color .3s,color .3s;display:inline-flex}[data-theme=light] .chip{color:var(--text-main);background:linear-gradient(#0000000d,#f8fafcf2);border-color:#94a3b833}.chip-dot{background:#22c55e;border-radius:999px;width:6px;height:6px}.hero-actions{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.btn-primary,.btn-ghost{border-radius:var(--radius-full);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-width:200px;min-height:48px;padding:14px 28px;font-size:15px;font-weight:500;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s;display:inline-flex}.btn-primary{color:#000;background:#fff;box-shadow:0 14px 35px #fff3}.btn-primary:hover{background:#f5f5f5;transform:translateY(-1px);box-shadow:0 18px 45px #ffffff4d}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#94a3b84d;transition:background .3s,border-color .3s}[data-theme=light] .btn-ghost{border-color:#94a3b84d}[data-theme=light] .btn-ghost:hover{background:#f8fafce6}.btn-ghost:hover{color:var(--text-main);background:#ffffff0d;border-color:#fff6}.hero-meta{color:var(--text-muted);font-size:14px;line-height:1.5}.hero-meta span{color:var(--text-main);font-weight:500}.hero-right-card{background:var(--card-bg-gradient);border:1px solid #94a3b833;border-radius:20px;flex-direction:column;padding:0;transition:background .3s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.hero-right-image-wrapper{aspect-ratio:4/3;background:#ffffff08;border:none;border-bottom:1px solid #94a3b826;border-radius:20px 20px 0 0;width:100%;margin:0;display:block;position:relative;overflow:hidden}.hero-right-card>.hero-right-header{padding:24px 24px 0}.hero-right-card>.hero-tagline,.hero-right-card>.hero-pill-row{padding:0 24px}.hero-right-card>.metrics{padding:0 24px 24px}.hero-right-image{object-fit:cover;object-position:center 15%;width:100%;height:100%;transition:transform .3s;display:block}.hero-right-image-wrapper:hover .hero-right-image{transform:scale(1.05)}.image-placeholder{width:100%;height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.image-placeholder span{opacity:.5;margin-bottom:8px;font-size:48px}.image-placeholder p{opacity:.7;margin:0;font-size:12px}.hero-right-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:11px;display:flex}.hero-tagline{color:var(--text-muted);margin-bottom:16px;font-size:13px;line-height:1.6}.hero-pill-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.pill{color:var(--text-main);white-space:nowrap;background:#ffffff0d;border:1px solid #94a3b833;border-radius:8px;padding:8px 12px;font-size:11px;transition:background .3s,border-color .3s,color .3s}[data-theme=light] .pill{color:var(--text-main);background:#f8fafce6;border-color:#94a3b833}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}.metric-card{background:#ffffff08;border:1px solid #94a3b833;border-radius:12px;padding:14px 12px;transition:background .3s,border-color .3s}[data-theme=light] .metric-card{background:#f8fafce6;border-color:#94a3b833}.metric-value{color:var(--text-main);margin-bottom:4px;font-size:14px;font-weight:600}.metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px}@media (max-width:720px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.section{margin-bottom:36px}.section-header{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.section-title{font-size:17px;font-weight:600}.section-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin-bottom:4px;font-size:11px;display:block}.section-caption{color:var(--text-muted);font-size:12px}.section-body{gap:14px;display:grid}.about-content{max-width:100%}.about-profile-image-wrapper{float:right;background:#ffffff08;border:1px solid #94a3b826;border-radius:16px;justify-content:center;align-items:center;width:280px;min-height:300px;margin-bottom:16px;margin-left:24px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0006}.about-profile-image-wrapper:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000080}.about-profile-image{object-fit:cover;aspect-ratio:3/4;width:100%;height:auto;display:block;position:absolute;top:0;left:0}.about-profile-image-wrapper .image-placeholder{width:100%;height:100%;min-height:300px}@media (max-width:768px){.about-profile-image-wrapper{float:none;width:100%;max-width:320px;margin:0 auto 24px;display:block}.about-profile-image{aspect-ratio:4/3}}.about-text-block{background:var(--card-bg-gradient);border-radius:var(--radius-xl);border:1px solid #94a3b833;padding:32px;overflow:hidden;box-shadow:0 10px 30px #00000080}.about-intro{color:var(--text-main);font-size:16px;line-height:1.7}.about-intro strong{color:var(--text-main);font-weight:600}.about-socials{flex-wrap:wrap;gap:16px;margin-top:24px;display:flex}.social-link{border-radius:var(--radius-full);color:var(--text-main);background:#ffffff0d;border:1px solid #94a3b84d;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:inline-block}.social-link:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-1px)}.about-features-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:min-content;align-content:start;align-items:start;gap:16px;margin-top:40px;display:grid}.feature-card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);opacity:0;border:1px solid #94a3b833;flex-direction:column;flex-grow:0;flex-shrink:0;align-self:start;height:fit-content;min-height:auto;max-height:none;padding:24px;transition:transform .2s,box-shadow .2s,border-color .2s,opacity .6s ease-out;display:flex;transform:translateY(30px);box-shadow:0 10px 30px #00000080}.feature-card-wide{grid-area:span 1/span 2}.feature-card-square{flex-direction:column;grid-area:span 1/span 1;justify-content:flex-start;height:100%;min-height:250px;display:flex}.feature-card-horizontal{grid-area:span 1/span 2}.feature-card-vertical{grid-area:span 2/span 1}.feature-card-large{grid-area:span 2/span 2}.feature-card-dotnet{grid-area:span 1/span 4}.section.visible .feature-card{opacity:1;transform:translateY(0)}.section.visible .feature-card:first-child{transition-delay:.1s}.section.visible .feature-card:nth-child(2){transition-delay:.2s}.section.visible .feature-card:nth-child(3){transition-delay:.3s}.section.visible .feature-card:nth-child(4){transition-delay:.4s}.section.visible .feature-card:nth-child(5){transition-delay:.5s}.section.visible .feature-card:nth-child(6){transition-delay:.6s}.section.visible .feature-card:first-child{animation-delay:.1s}.section.visible .feature-card:nth-child(2){animation-delay:.2s}.section.visible .feature-card:nth-child(3){animation-delay:.3s}.section.visible .feature-card:nth-child(4){animation-delay:.4s}.section.visible .feature-card:nth-child(5){animation-delay:.5s}.section.visible .feature-card:nth-child(6){animation-delay:.6s}.feature-card:hover{border-color:#ffffff4d;transform:translateY(-4px);box-shadow:0 15px 40px #0009}.feature-icon-large{margin-bottom:16px;font-size:40px;display:block}.feature-title{color:var(--text-main);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:13px;font-weight:600}.feature-title-large{color:var(--text-main);margin-bottom:16px;font-size:16px;font-weight:600;line-height:1.4}.feature-title-cta{color:var(--text-main);margin-bottom:20px;font-size:20px;font-weight:600;line-height:1.3}.feature-title-tech{color:var(--text-main);margin-bottom:16px;font-size:15px;font-weight:600}.feature-desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.timezone-buttons{flex-wrap:wrap;gap:12px;display:flex}.timezone-btn{color:var(--text-main);cursor:pointer;background:#ffffff0d;border:1px solid #94a3b84d;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.timezone-btn:hover{background:#ffffff1a;border-color:#fff6}.timezone-btn-active{background:#ffffff1a;border:2px solid #fff9}.timezone-flag{font-size:20px}.timezone-name{font-weight:500}.feature-card-globe{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.globe-container{justify-content:center;align-items:center;width:120px;height:120px;margin-bottom:20px;display:flex;position:relative}.globe-graphic{filter:drop-shadow(0 0 20px #ffffff4d);z-index:1;font-size:80px;position:relative}.globe-dots{opacity:.6;background:radial-gradient(circle,#fff6 1px,#0000 1px) 0 0/12px 12px;width:100%;height:100%;animation:3s ease-in-out infinite pulse;position:absolute}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.7}}.location-marker{text-align:center}.location-pin{margin-bottom:8px;font-size:24px;display:block}.location-label-small{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:4px;font-size:10px}.location-place-large{color:var(--text-main);font-size:18px;font-weight:600}.feature-card-cta{flex-direction:column;grid-column:span 2;justify-content:flex-start;display:flex}.email-button{color:var(--text-main);background:#ffffff0d;border:1px solid #94a3b84d;border-radius:10px;align-items:center;gap:12px;width:fit-content;padding:14px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.email-button:hover{background:#ffffff1a;border-color:#ffffff80;transform:translateY(-2px)}.email-icon{font-size:18px}.email-text{font-family:monospace}.feature-card-tech{grid-area:span 1/span 4}.feature-card-stats{flex-direction:column;display:flex}.stats-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;display:grid}.stat-item{text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;display:flex}.stat-number{color:var(--text-main);margin-bottom:6px;font-size:28px;font-weight:700;line-height:1.2}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;justify-content:center;align-items:flex-start;min-height:34px;font-size:11px;font-weight:500;display:flex}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.tech-grid-item{background:#ffffff0d;border:1px solid #94a3b833;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:all .2s;display:flex}.tech-grid-item:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-2px)}.tech-icon{font-size:18px}.tech-name{color:var(--text-main);font-size:13px;font-weight:500}@media (max-width:1024px){.about-features-grid{grid-template-columns:repeat(3,1fr)}.feature-card-wide,.feature-card-cta{grid-column:span 2}.feature-card-tech{grid-column:span 3}}@media (max-width:768px){.about-features-grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:16px}.feature-card-wide,.feature-card-horizontal,.feature-card-vertical,.feature-card-large,.feature-card-dotnet,.feature-card-cta,.feature-card-tech,.feature-card-stats{grid-area:auto/1/auto/-1}.feature-card-square{height:auto;min-height:auto}.feature-card{width:100%}.tech-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.stats-grid{grid-template-columns:repeat(3,1fr);gap:12px}.stat-number{font-size:24px}}@media (max-width:720px){.nav-inner{padding:12px 16px}.nav-left{gap:10px}.nav-title-main{font-size:15px}.nav-title-sub{font-size:11px}.about-text-block{padding:20px}}.card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);border:1px solid #94a3b859;padding:16px 16px 14px;transition:background .3s,border-color .3s,box-shadow .3s;box-shadow:0 10px 30px #0f172aa6}[data-theme=light] .card{border-color:#94a3b833;box-shadow:0 4px 12px #00000014}.card-title{margin-bottom:8px;font-size:13px;font-weight:600}.card-text{color:var(--text-muted);font-size:13px}.list-inline{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.badge-soft{border-radius:var(--radius-full);color:#e5e7eb;white-space:nowrap;background:#0f172ae6;border:1px solid #94a3b84d;margin:0;padding:4px 9px;font-size:11px;transition:background .3s,border-color .3s,color .3s}[data-theme=light] .badge-soft{color:var(--text-main);background:#f8fafce6;border-color:#94a3b833}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@media (max-width:900px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.skills-grid{grid-template-columns:minmax(0,1fr)}}.skill-column-title{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);margin-bottom:6px;font-size:12px}.tech-stack-container{box-shadow:none;background:0 0;border:none;border-radius:0;padding:32px 0}[data-theme=light] .tech-stack-container{box-shadow:none;background:0 0;border:none}.tech-stack-grid-unified{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));place-items:center;gap:20px;display:grid}.tech-stack-icon-box{cursor:pointer;background:#28282899;border:none;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:90px;height:90px;padding:20px;transition:transform .2s,background .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 8px #0000004d,0 8px 16px #0003,inset 0 1px 1px #ffffff0d}.tech-stack-icon-box:hover{background:#323232b3;transform:translateY(-4px);box-shadow:0 6px 12px #0006,0 12px 24px #0000004d,inset 0 1px 1px #ffffff14}.tech-stack-icon-box:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1000;background:#141414f2;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:500;transition:all .2s;position:absolute;top:-40px;left:50%;transform:translate(-50%)translateY(-5px);box-shadow:0 2px 8px #00000080}.tech-stack-icon-box:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.tech-stack-icon-box:before{content:"";opacity:0;visibility:hidden;pointer-events:none;z-index:999;border-top:5px solid #141414f2;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:all .2s;position:absolute;top:-6px;left:50%;transform:translate(-50%)translateY(-5px)}.tech-stack-icon-box:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.tech-stack-icon-svg{flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.tech-stack-icon-svg svg{filter:drop-shadow(0 2px 4px #0000004d);width:100%;height:100%;transition:transform .2s,filter .2s;display:block}.tech-stack-icon-svg img{object-fit:contain;filter:drop-shadow(0 2px 4px #0000004d);width:100%;height:100%;transition:transform .2s,filter .2s}.tech-stack-icon-box:hover .tech-stack-icon-svg svg,.tech-stack-icon-box:hover .tech-stack-icon-svg img{filter:drop-shadow(0 3px 6px #0006);transform:scale(1.08)}[data-theme=light] .tech-stack-icon-box{background:#e6e6e6cc;box-shadow:0 4px 8px #0000001a,0 8px 16px #0000000d,inset 0 1px 1px #fffc}[data-theme=light] .tech-stack-icon-box:hover{background:#dcdcdce6;box-shadow:0 6px 12px #00000026,0 12px 24px #0000001a,inset 0 1px 1px #ffffffe6}[data-theme=light] .tech-stack-icon-box:after{color:#fff;background:#141414f2}[data-theme=light] .tech-stack-icon-box:before{border-top-color:#141414f2}[data-theme=light] .tech-stack-icon-svg svg,[data-theme=light] .tech-stack-icon-svg img{filter:drop-shadow(0 2px 4px #0003)}[data-theme=light] .tech-stack-icon-box:hover .tech-stack-icon-svg svg,[data-theme=light] .tech-stack-icon-box:hover .tech-stack-icon-svg img{filter:drop-shadow(0 3px 6px #0000004d)}@media (max-width:900px){.tech-stack-grid-unified{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:16px}.tech-stack-icon-box{width:80px;height:80px;padding:16px}.tech-stack-icon-svg{width:44px;height:44px}}@media (max-width:640px){.tech-stack-container{padding:24px 0}.tech-stack-grid-unified{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:14px}.tech-stack-icon-box{width:75px;height:75px;padding:14px}.tech-stack-icon-svg{width:40px;height:40px}}@media (max-width:480px){.tech-stack-grid-unified{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:12px}.tech-stack-container{padding:20px 0}.tech-stack-icon-box{width:70px;height:70px;padding:12px}.tech-stack-icon-svg{width:38px;height:38px}}.experience-list{gap:24px;display:grid}.experience-card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);opacity:0;border:1px solid #94a3b833;padding:28px;transition:transform .2s,box-shadow .2s,border-color .2s;transform:translateY(30px);box-shadow:0 10px 30px #00000080}.experience-card.visible{animation:.6s ease-out forwards experienceFadeInUp}@keyframes experienceFadeInUp{to{opacity:1;transform:translateY(0)}}.experience-card:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 15px 40px #0009}.experience-date{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;font-size:12px;font-weight:600}.experience-company{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;font-size:14px;display:flex}.experience-company-name{color:var(--text-main);font-size:16px;font-weight:600}.experience-location{color:var(--text-muted)}.experience-remote{color:var(--text-muted);font-size:13px}.experience-role{color:var(--text-main);margin-bottom:16px;font-size:20px;font-weight:700}.experience-achievements{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.experience-achievements li{color:var(--text-muted);padding-left:0;font-size:14px;line-height:1.6;position:relative}.experience-achievements li:before{content:"•";color:var(--text-main);font-weight:700;position:absolute;left:-16px}.experience-achievements li strong{color:var(--text-main);font-weight:600}.experience-tags{border-top:1px solid #94a3b833;flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.experience-tag{border-radius:var(--radius-full);color:var(--text-main);white-space:nowrap;background:#ffffff0d;border:1px solid #94a3b833;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .2s;display:inline-flex}.experience-tag:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.experience-tag-icon{font-size:14px;display:inline-block}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;gap:24px;width:100%;display:grid}@media (max-width:860px){.projects-grid{grid-template-columns:minmax(0,1fr);gap:20px}}.project-card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);cursor:pointer;opacity:0;box-sizing:border-box;border:1px solid #94a3b833;flex-direction:column;width:100%;height:100%;min-height:560px;transition:box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;transform:translateY(20px)}.section.visible .project-card{animation:.6s ease-out forwards fadeInUp}.section.visible .project-card:first-child{animation-delay:.1s}.section.visible .project-card:nth-child(2){animation-delay:.2s}.section.visible .project-card:nth-child(3){animation-delay:.3s}.section.visible .project-card:nth-child(4){animation-delay:.4s}.section.visible .project-card:nth-child(5){animation-delay:.5s}.section.visible .project-card:nth-child(6){animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.project-card:hover{border-color:#ffffff4d;box-shadow:0 20px 50px #0009;transform:translateY(-4px)!important}[data-theme=light] .project-card{box-shadow:0 4px 12px #00000014}[data-theme=light] .project-card:hover{border-color:#94a3b866;box-shadow:0 12px 32px #00000026}.project-image-wrapper{background:linear-gradient(135deg,#ffffff0d 0%,#ffffff05 100%);border-bottom:1px solid #94a3b81a;justify-content:center;align-items:center;width:100%;height:200px;padding:40px;display:flex;position:relative;overflow:hidden}.project-image-wrapper:before{content:"";opacity:0;background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-image-wrapper:before{opacity:1}.project-app-icon{object-fit:cover;z-index:1;border-radius:24px;width:120px;height:120px;transition:transform .3s;box-shadow:0 8px 24px #0006}.project-card:hover .project-app-icon{transform:scale(1.05)}.project-icon-placeholder{z-index:1;background:#ffffff0d;border:1px solid #94a3b833;border-radius:24px;justify-content:center;align-items:center;width:120px;height:120px;font-size:48px;display:flex}.project-github-icon{z-index:1;background:#ffffff0d;border:1px solid #94a3b833;border-radius:24px;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.project-github-icon svg{width:60px;height:60px;color:var(--text-main);opacity:.9;transition:transform .3s}.project-card:hover .project-github-icon svg{transform:scale(1.1)}.project-content{box-sizing:border-box;flex-direction:column;flex:1;gap:12px;width:100%;padding:24px;display:flex}.project-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-pill{border-radius:var(--radius-full);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:#ffffff14;border:1px solid #94a3b840;padding:6px 12px;font-size:11px;font-weight:500;transition:all .2s}.project-card:hover .project-pill{background:#ffffff1f;border-color:#ffffff4d}[data-theme=light] .project-pill{background:#f8fafce6;border-color:#94a3b84d}.project-link{width:32px;height:32px;color:var(--text-muted);background:#ffffff0d;border:1px solid #94a3b833;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.project-link:hover{color:var(--text-main);background:#ffffff1a;border-color:#fff6;transform:scale(1.1)}.project-link svg{width:16px;height:16px}.project-title{color:var(--text-main);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin:0;font-size:20px;font-weight:700;line-height:1.3}.project-desc{color:var(--text-muted);word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-rendering:optimizeLegibility;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.project-tags{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-top:8px;display:flex}.project-tag{color:var(--text-muted);background:#ffffff0d;border:1px solid #94a3b833;border-radius:6px;padding:6px 12px;font-size:12px;transition:all .2s}.project-tag-more{opacity:.85;border-style:dashed}.project-view-more{color:var(--text-main);cursor:pointer;background:#ffffff0f;border:1px solid #94a3b840;border-radius:10px;align-self:flex-start;margin-top:auto;padding:8px 14px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,transform .2s}.project-view-more:hover{background:#ffffff1f;border-color:#ffffff59;transform:translateY(-1px)}.project-full-page{background:var(--bg-gradient);width:100%;min-height:100vh;padding:24px 18px 40px;animation:.45s ease-out projectPageFadeIn}.project-full-back-wrap{max-width:1100px;margin:0 auto 14px}.project-full-back{color:var(--text-main);cursor:pointer;background:#ffffff14;border:1px solid #94a3b847;border-radius:12px;align-items:center;gap:10px;padding:11px 16px;font-size:14px;font-weight:600;transition:transform .2s,background .2s,border-color .2s;display:inline-flex;box-shadow:0 8px 20px #00000059}.project-full-back:hover{background:#ffffff24;border-color:#fff6;transform:translateY(-1px)}.project-full-card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);border:1px solid #94a3b840;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);max-width:1100px;margin:0 auto;animation:.5s cubic-bezier(.22,1,.36,1) projectCardSlideIn;display:grid;overflow:hidden}.project-full-hero{background:radial-gradient(circle,#ffffff14 0%,#ffffff05 65%);border-right:1px solid #94a3b826;justify-content:center;align-items:center;min-height:360px;padding:28px;display:flex}.project-full-icon{border-radius:28px;width:170px;height:170px}.project-full-content{flex-direction:column;gap:16px;padding:30px;display:flex}.project-full-title{margin:0;font-size:clamp(28px,3.6vw,40px);line-height:1.2}.project-full-description{color:var(--text-muted);margin:0;font-size:16px;line-height:1.75}.project-full-tags{flex-wrap:wrap;gap:9px;display:flex}.project-full-actions{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}@keyframes projectPageFadeIn{0%{opacity:0}to{opacity:1}}@keyframes projectCardSlideIn{0%{opacity:0;transform:translateY(22px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:900px){.project-full-card{grid-template-columns:1fr}.project-full-hero{border-bottom:1px solid #94a3b826;border-right:0;min-height:260px}.project-full-icon{width:130px;height:130px}}.project-details-card{background:var(--card-bg-gradient);border-radius:var(--radius-xl);border:1px solid #94a3b833;gap:18px;padding:24px;display:grid;overflow:hidden}.project-details-back{width:fit-content;color:var(--text-main);cursor:pointer;background:#ffffff0f;border:1px solid #94a3b840;border-radius:10px;padding:8px 14px;font-size:13px}.project-details-hero{background:#ffffff08;border:1px solid #94a3b826;border-radius:16px;justify-content:center;align-items:center;min-height:180px;display:flex}.project-details-icon{width:120px;height:120px}.project-details-content{flex-direction:column;gap:14px;display:flex}.project-details-title{margin:0;font-size:28px;line-height:1.25}.project-details-description{color:var(--text-muted);margin:0;line-height:1.7}.project-details-tags{flex-wrap:wrap;gap:8px;display:flex}.project-details-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.project-details-link,.project-details-contact{color:var(--text-main);border:1px solid #94a3b84d;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.project-details-contact{color:#000;background:#fff;border-color:#0000}.project-card:hover .project-tag{color:var(--text-main);background:#ffffff14;border-color:#ffffff40}[data-theme=light] .project-tag{background:#f8fafce6;border-color:#94a3b833}.project-card-wip{opacity:.92;background:linear-gradient(135deg,#1119 0%,#0a0a0acc 100%);border-style:dashed;border-color:#94a3b859;position:relative}.projects-under-dev-grid .project-card-wip{min-height:320px}@media (max-width:860px){.projects-under-dev-grid .project-card-wip{min-height:280px}}.project-card-wip:hover{opacity:1;border-color:#94a3b880}.project-card-wip .project-app-icon,.project-card-wip .project-app-icon-img,.project-card-wip .project-github-icon svg{filter:blur(5px);opacity:.5}.project-card-wip .project-header-content,.project-card-wip .project-title,.project-card-wip .project-desc,.project-card-wip .project-tags,.project-card-wip .badge-soft{filter:blur(4px);opacity:.6}.project-card-wip .project-wip-badge,.project-card-wip .project-pill-wip{z-index:10;filter:none!important;opacity:1!important}.project-wip-badge{text-transform:uppercase;letter-spacing:.22em;color:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20;pointer-events:none;background:#00000073;border:2px solid #ef4444cc;border-radius:999px;align-items:center;gap:10px;padding:14px 28px;font-size:15px;font-weight:800;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg);box-shadow:0 18px 40px #0009}.project-wip-dot{background:#ef4444e6;border-radius:50%;width:10px;height:10px;animation:1.5s ease-in-out infinite wip-pulse}@keyframes wip-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.project-pill-wip{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b59}.project-card-wip .project-pill-wip{display:none}.project-app-icon-wip{position:relative;overflow:hidden}.project-app-icon-wip:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(#0000 40%,#0000004d 100%);border-radius:12px;position:absolute;inset:0}.project-app-icon-wip .project-app-icon-img{object-fit:cover;border-radius:12px;width:100%;height:100%}.project-app-icon-placeholder{background:#ffffff0a;justify-content:center;align-items:center;font-size:28px;display:flex!important}[data-theme=light] .project-card-wip{background:linear-gradient(135deg,#f8fafcb3 0%,#f1f5f9e6 100%);border-color:#94a3b866}[data-theme=light] .project-wip-badge{color:#b91c1cf2;background:#ffffffbf;border-color:#ef4444bf;box-shadow:0 16px 35px #0000002e}[data-theme=light] .project-pill-wip{color:#d97706;background:#f59e0b26;border-color:#f59e0b66}.contact{border-radius:var(--radius-xl);background:var(--card-bg-gradient);border:1px solid #94a3b866;grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);align-items:center;gap:14px;padding:16px 16px 14px;transition:background .3s;display:grid}[data-theme=light] .contact{box-shadow:0 4px 12px #00000014}@media (max-width:800px){.contact{grid-template-columns:minmax(0,1fr)}}.contact-title{margin-bottom:8px;font-size:15px;font-weight:600}.contact-text{color:var(--text-muted);margin-bottom:10px;font-size:13px}.contact-rows{gap:6px;font-size:13px;display:grid}.contact-label{text-transform:uppercase;letter-spacing:.16em;color:var(--text-muted);font-size:11px}.contact-value a{color:var(--text-main);-webkit-text-decoration:underline #ffffff4d;text-decoration:underline #ffffff4d}.contact-value a:hover{text-decoration-color:#fff9}.contact-socials{flex-wrap:wrap;gap:8px;margin-top:8px;font-size:12px;display:flex}.contact-socials a{border-radius:var(--radius-full);color:#e5e7eb;background:#0f172ae6;border:1px solid #94a3b866;padding:5px 10px;transition:background .3s,border-color .3s,color .3s}[data-theme=light] .contact-socials a{color:var(--text-main);background:#f8fafce6;border-color:#94a3b833}.footer{color:var(--text-muted);text-align:center;margin-top:26px;font-size:11px}.theme-toggle{border-radius:var(--radius-full);width:40px;height:40px;color:var(--text-main);cursor:pointer;background:#0f172ae6;border:1px solid #94a3b84d;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:all .2s;display:flex}.theme-toggle:hover{background:#ffffff1a;border-color:#ffffff80;transform:scale(1.05)}[data-theme=light] .theme-toggle{background:#f8fafce6;border-color:#94a3b833}[data-theme=light] .theme-toggle:hover{background:#0000001a;border-color:#0000004d}@media (max-width:720px){.theme-toggle{width:36px;height:36px;font-size:16px}}.scroll-animate{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.scroll-animate.visible{opacity:1;transform:translateY(0)}.scroll-animate-fade{opacity:0;transition:opacity .8s ease-out}.scroll-animate-fade.visible{opacity:1}.scroll-animate-slide-up{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translateY(40px)}.scroll-animate-slide-up.visible{opacity:1;transform:translateY(0)}@supports (animation:none){.scroll-animate-slide-up{animation:.1s ease-out .6s forwards fadeInFallback}.scroll-animate-slide-up.visible{animation:none}}@keyframes fadeInFallback{to{opacity:1;transform:translateY(0)}}.scroll-animate-slide-left{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translate(-40px)}.scroll-animate-slide-left.visible{opacity:1;transform:translate(0)}.scroll-animate-slide-right{opacity:0;transition:opacity .8s ease-out,transform .8s ease-out;transform:translate(40px)}.scroll-animate-slide-right.visible{opacity:1;transform:translate(0)}.scroll-animate-scale{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:scale(.95)}.scroll-animate-scale.visible{opacity:1;transform:scale(1)}
