:root{--ff-display:"Syne", sans-serif;--ff-body:"Inter", sans-serif;--ff-mono:"JetBrains Mono", monospace;--container-max-width:1400px;--container-padding:0 56px;--bg-primary:#fafafa;--bg-secondary:#f3f4f6;--bg-tertiary:#e9ebf0;--border:#e2e4e9;--border2:#d0d3dc;--accent:#5b5fd9;--accent-hover:#4448c0;--accent-dim:#5b5fd912;--accent-mid:#5b5fd921;--accent-text:#fff;--text-primary:#111827;--text-secondary:#4b5563;--muted:#9ca3af;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow-md:0 4px 12px #0000001a;--nav-bg:#fafafae6;--grid-color:#5b5fd90d}.dark{--bg-primary:#0f1117;--bg-secondary:#161b27;--bg-tertiary:#1d2535;--border:#252d3d;--border2:#2e3850;--accent:#7c83f5;--accent-hover:#5b63ec;--accent-dim:#7c83f514;--accent-mid:#7c83f526;--accent-text:#fff;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--muted:#4b5a72;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--nav-bg:#0f1117eb;--grid-color:#7c83f50a}html,body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--ff-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--ff-body)}::selection{background:var(--accent);color:var(--accent-text)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}.nav,.hero,.section,.footer{max-width:var(--container-max-width,1400px);margin-inline:auto}.grid-bg{z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);background-size:64px 64px;position:fixed;inset:0}.grain{z-index:0;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px;position:fixed;inset:0}@media (pointer:fine){.cursor{background:var(--accent);pointer-events:none;z-index:9999;border-radius:50%;width:8px;height:8px;transition:transform 80ms;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{border:1.5px solid var(--accent);opacity:.35;pointer-events:none;z-index:9998;border-radius:50%;width:32px;height:32px;transition:transform .18s,width .2s,height .2s,opacity .2s;position:fixed;transform:translate(-50%,-50%)}}.nav{z-index:500;border-bottom:1px solid var(--border);background:var(--nav-bg);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:16px 56px;transition:background .3s,border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--ff-display);color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:800}.nav-logo span{color:var(--accent)}.nav-links{gap:36px;display:flex}.nav-link{font-family:var(--ff-body);letter-spacing:.01em;color:var(--text-secondary);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-link:after{content:"";background:var(--accent);width:0;height:2px;transition:width .2s;position:absolute;bottom:-3px;left:0}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{width:100%}.nav-right{align-items:center;gap:12px;display:flex}.nav-cta{font-family:var(--ff-body);letter-spacing:.02em;color:var(--accent-text);background:var(--accent);border-radius:6px;padding:8px 20px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s}.nav-cta:hover{background:var(--accent-hover);transform:translateY(-1px)}.theme-toggle{border:1px solid var(--border2);background:var(--bg-secondary);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding:100px 56px 80px;display:flex;position:relative;overflow:hidden}.hero-ghost-num{font-family:var(--ff-display);color:var(--accent-dim);-webkit-user-select:none;user-select:none;pointer-events:none;letter-spacing:-.05em;font-size:clamp(180px,26vw,320px);font-weight:800;line-height:1;position:absolute;bottom:20px;right:-20px}.hero-tag{font-family:var(--ff-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:24px;font-size:11px;font-weight:500;display:flex}.hero-tag:before{content:"";background:var(--accent);border-radius:2px;width:28px;height:2px}.hero-title{font-family:var(--ff-display);letter-spacing:-.04em;color:var(--text-primary);margin-bottom:36px;font-size:clamp(68px,10.5vw,136px);font-weight:800;line-height:.9}.hero-title .line2{align-items:baseline;gap:20px;display:flex}.hero-title .dash{font-family:var(--ff-mono);color:var(--muted);letter-spacing:0;font-size:clamp(24px,3vw,42px);font-weight:300}.hero-desc{max-width:540px;color:var(--text-secondary);margin-bottom:48px;font-size:16px;font-weight:400;line-height:1.8}.hero-desc em{color:var(--text-primary);font-style:normal;font-weight:500}.hero-desc strong{color:var(--accent);font-weight:600}.hero-btns{flex-wrap:wrap;gap:12px;margin-bottom:64px;display:flex}.btn-primary{font-family:var(--ff-body);letter-spacing:.02em;color:var(--accent-text);background:var(--accent);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:12px 26px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{font-family:var(--ff-body);letter-spacing:.02em;color:var(--text-secondary);border:1.5px solid var(--border2);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:12px 26px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.hero-meta{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:80px;right:56px}.hero-meta-label{font-family:var(--ff-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.status-pill{border:1px solid var(--accent);background:var(--accent-dim);border-radius:100px;align-items:center;gap:8px;padding:6px 14px;display:flex}.status-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite statusPulse}.status-text{font-family:var(--ff-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:500}.scroll-indicator{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.scroll-indicator span{font-family:var(--ff-mono);color:var(--muted);letter-spacing:.25em;text-transform:uppercase;font-size:9px}.scroll-line{background:linear-gradient(to bottom, var(--muted), transparent);width:1px;height:48px;animation:2s ease-in-out infinite scrollPulse}.section{padding:120px 56px;position:relative}.section-label{font-family:var(--ff-mono);letter-spacing:.25em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:20px;font-size:10px;font-weight:500;display:flex}.section-label:after{content:"";background:var(--accent);opacity:.5;border-radius:2px;width:28px;height:2px}.section-title{font-family:var(--ff-display);letter-spacing:-.035em;color:var(--text-primary);margin-bottom:60px;font-size:clamp(38px,5.5vw,68px);font-weight:800;line-height:.94}.section-title .lit{color:var(--accent)}.ghost-num{font-family:var(--ff-display);color:var(--accent-dim);-webkit-user-select:none;user-select:none;pointer-events:none;letter-spacing:-.05em;font-size:clamp(72px,11vw,128px);font-weight:800;line-height:1;position:absolute;top:80px;right:56px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.skills-col{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:32px 28px;transition:border-color .2s,box-shadow .2s}.skills-col:hover{border-color:var(--accent);box-shadow:var(--shadow-md)}.skills-col-head{font-family:var(--ff-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border2);margin-bottom:24px;padding-bottom:14px;font-size:10px;font-weight:500}.skill-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;font-weight:400;transition:color .2s;display:flex}.skill-row:last-child{border-bottom:none}.skill-row:hover{color:var(--accent)}.skill-row:hover .skill-note{color:var(--accent);opacity:.55}.skill-name{color:var(--text-primary);font-weight:500}.skill-name.primary{color:var(--text-primary);font-weight:600}.skill-note{color:var(--muted);font-size:11px;font-family:var(--ff-mono)}.projects-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:40px 36px;transition:border-color .25s,box-shadow .25s,transform .25s;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(135deg, var(--accent-dim), transparent);opacity:0;border-radius:12px;transition:opacity .4s;position:absolute;inset:0}.project-card:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-card:hover:before{opacity:1}.project-num{font-family:var(--ff-display);color:var(--accent-dim);letter-spacing:-.04em;margin-bottom:18px;font-size:48px;font-weight:800;line-height:1;transition:color .3s}.project-card:hover .project-num{color:var(--accent-mid)}.project-type{font-family:var(--ff-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border2);border-radius:4px;margin-bottom:14px;padding:4px 10px;font-size:9px;display:inline-block}.project-name{font-family:var(--ff-display);letter-spacing:-.02em;color:var(--text-primary);margin-bottom:12px;font-size:20px;font-weight:700}.project-desc{color:var(--text-secondary);margin-bottom:22px;font-size:13px;line-height:1.75}.project-tags{flex-wrap:wrap;gap:6px;margin-bottom:22px;display:flex}.tag{font-family:var(--ff-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border2);border-radius:4px;padding:4px 10px;font-size:9px;transition:all .2s}.project-card:hover .tag{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.project-impact{border-top:1px solid var(--border2);font-family:var(--ff-mono);color:var(--accent);letter-spacing:.04em;align-items:center;gap:8px;padding-top:16px;font-size:11px;font-weight:500;display:flex}.project-impact:before{content:"↳"}.timeline-row{border-bottom:1px solid var(--border);grid-template-columns:220px 1fr;padding:36px 0;transition:background .2s;display:grid;position:relative}.timeline-row:first-child{border-top:1px solid var(--border)}.timeline-row:hover{background:var(--accent-dim);border-radius:8px;padding-left:12px;padding-right:12px}.timeline-period{font-family:var(--ff-mono);color:var(--muted);letter-spacing:.04em;padding-top:3px;padding-right:24px;font-size:11px}.timeline-content{border-left:2px solid var(--border2);padding-left:32px;transition:border-color .2s}.timeline-row:hover .timeline-content{border-left-color:var(--accent)}.timeline-role{font-family:var(--ff-display);color:var(--text-primary);letter-spacing:-.01em;margin-bottom:4px;font-size:16px;font-weight:700}.timeline-co{font-family:var(--ff-mono);color:var(--accent);letter-spacing:.02em;margin-bottom:8px;font-size:12px}.timeline-note{color:var(--text-secondary);font-size:13px;line-height:1.65}.timeline-badge{font-family:var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border2);color:var(--muted);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:9px;display:inline-block}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:72px;display:grid}.about-text{color:var(--text-secondary);font-size:15px;line-height:1.9}.about-text p{margin-bottom:20px}.about-text strong{color:var(--text-primary);font-weight:600}.about-text em{color:var(--accent);font-style:normal;font-weight:500}.stats-box{border:1px solid var(--border);background:var(--bg-secondary);box-shadow:var(--shadow-sm);border-radius:12px;padding:32px}.stats-head{font-family:var(--ff-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border2);margin-bottom:20px;padding-bottom:14px;font-size:10px;font-weight:500}.stat-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;font-size:13px;display:flex}.stat-row:last-child{border-bottom:none}.stat-label{color:var(--muted);font-family:var(--ff-mono);font-size:11px}.stat-val{color:var(--text-primary);font-weight:600}.stat-val.accent{color:var(--accent)}.certs-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:40px;display:grid}.cert-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:20px 22px;transition:border-color .2s,box-shadow .2s}.cert-card:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.cert-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:600}.cert-provider{font-family:var(--ff-mono);color:var(--accent);letter-spacing:.08em;margin-bottom:4px;font-size:10px}.cert-status{font-family:var(--ff-mono);color:var(--muted);letter-spacing:.04em;font-size:10px}.cert-status.in-progress{color:#f59e0b}.contact-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.contact-title{font-family:var(--ff-display);letter-spacing:-.04em;color:var(--text-primary);font-size:clamp(52px,8vw,100px);font-weight:800;line-height:.9}.contact-right{flex-direction:column;gap:22px;display:flex}.contact-desc{color:var(--text-secondary);font-size:15px;line-height:1.8}.contact-desc em{color:var(--text-primary);font-style:normal;font-weight:500}.contact-links{flex-direction:column;gap:8px;display:flex}.contact-link{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:14px 18px;text-decoration:none;transition:all .2s;display:flex}.contact-link:hover{background:var(--accent-dim);border-color:var(--accent);transform:translate(4px)}.contact-link-label{font-family:var(--ff-mono);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.contact-link:hover .contact-link-label{color:var(--accent)}.contact-link-val{font-family:var(--ff-mono);color:var(--text-primary);font-size:12px;font-weight:500}.contact-link-arr{color:var(--muted);font-size:14px;transition:transform .2s,color .2s}.contact-link:hover .contact-link-arr{color:var(--accent);transform:translate(3px,-3px)}.footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:24px 56px;display:flex}.footer-text{font-family:var(--ff-mono);color:var(--muted);letter-spacing:.1em;font-size:10px}@media (width<=900px){.nav{padding:14px 20px}.nav-links{display:none}.hero{padding:90px 20px 72px}.hero-meta{bottom:72px;right:20px}.section{padding:80px 20px}.ghost-num{right:20px}.projects-grid,.skills-grid{grid-template-columns:1fr}.certs-grid{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr;gap:40px}.contact-inner{grid-template-columns:1fr;gap:48px}.footer{text-align:center;flex-direction:column;gap:8px;padding:20px}.timeline-row{grid-template-columns:1fr;gap:8px}.timeline-content{border-left:none;border-top:2px solid var(--border2);padding-top:12px;padding-left:0}}@media (width<=540px){.certs-grid{grid-template-columns:1fr}.hero-meta{display:none}}
