@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Share+Tech+Mono&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{color:#111;cursor:none;background:#f4f3f0;font-family:DM Sans,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{display:block}:root{--navy:#1a3a5c;--gold:#c0853a;--ink:#0d0d0d;--mid:#555;--muted:#999;--border:#00000012;--bg:#f4f3f0;--white:#fff;--card:#ffffffb8}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:.2}50%{opacity:.7}}@keyframes pulse{0%,to{box-shadow:0 0 #4ade8080}70%{box-shadow:0 0 0 7px #4ade8000}}@keyframes scrollLine{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@keyframes iconBob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-9px)rotate(3deg)}}@keyframes iconBob2{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-4deg)}}@keyframes iconBob3{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-11px)rotate(2deg)}}@keyframes iconBob4{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(-3deg)}}@keyframes blobDrift1{0%,to{transform:translate(0)scale(1)}33%{transform:translate(40px,-30px)scale(1.08)}66%{transform:translate(-20px,25px)scale(.95)}}@keyframes blobDrift2{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-35px,20px)scale(.92)}66%{transform:translate(25px,-35px)scale(1.06)}}@keyframes blobDrift3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(20px,20px)scale(1.04)}}@keyframes gridPan{0%{background-position:0 0}to{background-position:80px 80px}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-in{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}.section-header{align-items:baseline;gap:20px;margin-bottom:72px;display:flex}.section-counter{color:#0003;letter-spacing:3px;font-family:Share Tech Mono,monospace;font-size:10px}.section-title{color:var(--ink);letter-spacing:1.5px;margin:0;font-family:Orbitron,sans-serif;font-size:clamp(26px,3vw,40px);font-weight:800}.section-meta{color:#0003;letter-spacing:2px;margin-left:auto;font-family:Share Tech Mono,monospace;font-size:10px}.cursor-dot{background:var(--navy);pointer-events:none;z-index:9999;border-radius:50%;width:10px;height:10px;transition:transform .15s,opacity .15s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{pointer-events:none;z-index:9998;border:1px solid #1a3a5c59;border-radius:50%;width:36px;height:36px;transition:transform .35s,width .3s,height .3s,border-color .3s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring.expanded{border-color:var(--gold);width:56px;height:56px}.bg-canvas{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.blob{filter:blur(100px);pointer-events:none;z-index:0;border-radius:50%;position:fixed}.blob1{background:radial-gradient(circle,#1a3a5c1a 0%,#0000 70%);width:520px;height:520px;animation:18s ease-in-out infinite blobDrift1;top:-140px;right:-80px}.blob2{background:radial-gradient(circle,#c0853a17 0%,#0000 70%);width:440px;height:440px;animation:14s ease-in-out infinite blobDrift2;bottom:-100px;left:-100px}.blob3{background:radial-gradient(circle,#1a3a5c0e 0%,#0000 70%);width:360px;height:360px;animation:22s ease-in-out infinite blobDrift3;top:40%;left:38%}.grid-overlay{z-index:0;pointer-events:none;background-image:linear-gradient(#00000007 1px,#0000 1px),linear-gradient(90deg,#00000007 1px,#0000 1px);background-size:80px 80px;animation:12s linear infinite gridPan;position:fixed;inset:0;-webkit-mask-image:radial-gradient(90% 90%,#000 30%,#0000 100%);mask-image:radial-gradient(90% 90%,#000 30%,#0000 100%)}.navbar{z-index:200;background:0 0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;height:66px;padding:0 52px;transition:background .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);background:#f4f3f0e0;border-bottom:1px solid #0000000f}.nav-logo{letter-spacing:4px;cursor:pointer;color:var(--navy);font-family:Orbitron,sans-serif;font-size:15px;font-weight:900;transition:color .2s}.nav-links{gap:40px;display:flex}.nav-links li{letter-spacing:2px;text-transform:uppercase;cursor:pointer;color:#00000059;padding-bottom:4px;font-family:Share Tech Mono,monospace;font-size:11px;transition:color .2s;position:relative}.nav-links li:after{content:"";background:var(--navy);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-links li.active,.nav-links li:hover{color:var(--ink)}.nav-links li.active:after,.nav-links li:hover:after{width:100%}.nav-status{color:#00000061;letter-spacing:1px;align-items:center;gap:8px;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.status-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.2s infinite pulse}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding:0 52px;display:flex;position:relative;overflow:hidden}.hero-inner{z-index:1;align-items:center;gap:80px;width:100%;max-width:1120px;margin:0 auto;display:flex;position:relative}.hero-left{flex:1}.hero-badge{letter-spacing:3px;color:#0000004d;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff9;border:1px solid #0000001a;align-items:center;gap:8px;margin-bottom:32px;padding:6px 16px;font-family:Share Tech Mono,monospace;font-size:10px;animation:.8s both fadeUp;display:inline-flex}.hero-badge-dot{background:#00000040;border-radius:50%;width:4px;height:4px}.hero-name{letter-spacing:2px;white-space:nowrap;color:var(--navy);margin-bottom:26px;font-family:Orbitron,sans-serif;font-size:clamp(50px,6vw,84px);font-weight:900;line-height:1;animation:.8s .15s both fadeUp}.hero-typed{color:var(--mid);letter-spacing:2px;min-height:30px;margin-bottom:28px;font-family:Share Tech Mono,monospace;font-size:22px;animation:.8s .3s both fadeUp}.hero-typed-cursor{animation:1s infinite blink}.hero-bio{color:var(--muted);max-width:460px;margin-bottom:44px;font-size:15px;font-weight:300;line-height:1.9;animation:.8s .45s both fadeUp}.hero-bio strong{color:var(--mid);font-weight:500}.hero-cta{gap:14px;animation:.8s .6s both fadeUp;display:flex}.btn-primary{letter-spacing:2px;text-transform:uppercase;border:1.5px solid var(--navy);color:var(--navy);cursor:pointer;background:0 0;padding:13px 32px;font-family:Share Tech Mono,monospace;font-size:11px;transition:background .25s,color .25s,transform .2s}.btn-primary:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}.btn-secondary{letter-spacing:2px;text-transform:uppercase;color:#0006;cursor:pointer;background:0 0;border:1.5px solid #0000001f;padding:13px 32px;font-family:Share Tech Mono,monospace;font-size:11px;transition:border-color .25s,color .25s,transform .2s}.btn-secondary:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.hero-right{flex-direction:column;flex-shrink:0;align-items:center;gap:24px;animation:.8s .4s both fadeUp;display:flex}.hero-photo-ring{background:#e8e5e0;border:1.5px solid #1a3a5c26;border-radius:50%;width:240px;height:240px;transition:box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 12px 60px #1a3a5c1a,0 2px 12px #0000000f}.hero-photo-ring:hover{box-shadow:0 20px 80px #1a3a5c2e}.hero-photo-ring img{object-fit:cover;object-position:top center;width:100%;height:100%}.hero-photo-placeholder{width:100%;height:100%;color:var(--navy);opacity:.3;justify-content:center;align-items:center;font-family:Orbitron,sans-serif;font-size:36px;font-weight:900;display:flex}.photo-orbit{border:1px dashed #1a3a5c26;border-radius:50%;animation:20s linear infinite spinSlow;position:absolute;inset:-12px}.photo-orbit:before{content:"";background:var(--gold);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.skills-float{flex-wrap:wrap;justify-content:center;gap:10px;max-width:300px;display:flex}.skill-pill{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #00000014;align-items:center;gap:8px;padding:8px 14px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 2px 12px #0000000d}.skill-pill:hover{border-color:#1a3a5c2e;transform:translateY(-4px)scale(1.04);box-shadow:0 8px 28px #0000001a}.skill-pill img{object-fit:contain;width:18px;height:18px}.skill-pill-label{color:#00000073;letter-spacing:.5px;font-family:Share Tech Mono,monospace;font-size:10px}.skill-pill:first-child{animation:3.2s ease-in-out infinite iconBob}.skill-pill:nth-child(2){animation:2.8s ease-in-out .3s infinite iconBob2}.skill-pill:nth-child(3){animation:3.5s ease-in-out .6s infinite iconBob}.skill-pill:nth-child(4){animation:2.9s ease-in-out .1s infinite iconBob3}.skill-pill:nth-child(5){animation:3.3s ease-in-out .8s infinite iconBob2}.skill-pill:nth-child(6){animation:3s ease-in-out .45s infinite iconBob}.skill-pill:nth-child(7){animation:2.7s ease-in-out .2s infinite iconBob4}.skill-pill:nth-child(8){animation:3.1s ease-in-out .7s infinite iconBob3}.skill-pill:nth-child(9){animation:3.4s ease-in-out .35s infinite iconBob2}.scroll-cue{flex-direction:column;align-items:center;gap:8px;animation:1s 1.1s both fadeUp;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-label{letter-spacing:3px;color:#0000002e;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:9px}.scroll-line{background:linear-gradient(#00000040,#0000);width:1px;height:44px;animation:2.2s infinite scrollLine}.projects-section{z-index:1;max-width:1200px;margin:0 auto;padding:140px 52px;position:relative}.project-list{flex-direction:column;display:flex}.project-row{cursor:default;border-bottom:1px solid #0000000f;grid-template-columns:72px 1fr 1fr 80px;align-items:start;gap:36px;padding:36px 0;transition:background .2s,padding-left .2s;display:grid;position:relative}.project-row:before{content:"";background:linear-gradient(90deg,#1a3a5c0a,#0000);width:0;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.project-row:hover:before{width:100%}.project-row:first-child{border-top:1px solid #0000000f}.project-row:hover{padding-left:8px}.proj-num{color:#0000002e;letter-spacing:2px;padding-top:2px;font-family:Share Tech Mono,monospace;font-size:11px}.proj-year{color:#0000001f;letter-spacing:1px;margin-top:4px;font-family:Share Tech Mono,monospace;font-size:10px}.proj-title{color:var(--ink);letter-spacing:.5px;margin-bottom:12px;font-family:Orbitron,sans-serif;font-size:16px;font-weight:700;transition:color .2s}.project-row:hover .proj-title{color:var(--navy)}.proj-desc{color:var(--muted);margin:0;font-size:13px;font-weight:300;line-height:1.85}.proj-tags{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.proj-tag{letter-spacing:1px;color:#00000059;background:0 0;border:1px solid #00000014;padding:4px 10px;font-family:Share Tech Mono,monospace;font-size:9px;transition:background .2s,border-color .2s,color .2s}.project-row:hover .proj-tag{color:var(--navy);background:#1a3a5c0a;border-color:#1a3a5c26}.proj-link{letter-spacing:2px;color:#0003;text-transform:uppercase;white-space:nowrap;padding-top:4px;font-family:Share Tech Mono,monospace;font-size:10px;text-decoration:none;transition:color .2s}.project-row:hover .proj-link{color:var(--gold)}.about-section{z-index:1;background:#ffffff73;padding:140px 52px;position:relative}.about-section:before{content:"";pointer-events:none;background:linear-gradient(#0000,#1a3a5c04 50%,#0000);position:absolute;inset:0}.about-inner{max-width:1200px;margin:0 auto;position:relative}.about-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.about-text p{color:#00000073;margin-bottom:22px;font-size:15px;font-weight:300;line-height:1.95}.about-text strong{color:var(--ink);font-weight:500}.about-text em{color:#000000a6;font-style:normal;font-weight:400}.about-highlight{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #00000012;align-items:center;gap:14px;margin-top:32px;padding:18px 24px;display:flex}.about-highlight-icon{font-size:22px}.about-highlight-text{letter-spacing:1px;color:var(--mid);font-family:Share Tech Mono,monospace;font-size:11px}.skills-grid-section{flex-direction:column;gap:28px;display:flex}.skill-group-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--navy);align-items:center;gap:10px;margin-bottom:12px;font-family:Share Tech Mono,monospace;font-size:10px;display:flex}.skill-group-label:after{content:"";background:#1a3a5c1f;flex:1;height:1px}.skill-tags{flex-wrap:wrap;gap:8px;display:flex}.skill-tag{letter-spacing:1px;color:var(--mid);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;border:1px solid #00000014;padding:6px 14px;font-family:Share Tech Mono,monospace;font-size:10px;transition:all .2s}.skill-tag:hover{border-color:var(--navy);color:var(--navy);background:#1a3a5c0a;transform:translateY(-2px)}.contact-section{z-index:1;max-width:1200px;margin:0 auto;padding:140px 52px 100px;position:relative}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:80px;display:grid}.contact-headline{color:var(--ink);letter-spacing:1px;margin-bottom:20px;font-family:Orbitron,sans-serif;font-size:clamp(28px,3vw,44px);font-weight:800;line-height:1.15}.contact-headline span{color:var(--navy)}.contact-sub{color:var(--muted);margin-bottom:36px;font-size:15px;font-weight:300;line-height:1.9}.contact-links{flex-direction:column;gap:14px;display:flex}.contact-link{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#fff9;border:1px solid #00000012;align-items:center;gap:16px;padding:16px 20px;transition:border-color .25s,transform .2s,box-shadow .25s;display:flex}.contact-link:hover{border-color:var(--navy);transform:translate(6px);box-shadow:0 4px 24px #1a3a5c14}.contact-link-icon{border:1px solid #00000014;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;transition:background .2s,border-color .2s;display:flex}.contact-link:hover .contact-link-icon{background:var(--navy);border-color:var(--navy)}.contact-link:hover .contact-link-icon svg{stroke:#fff}.contact-link-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-family:Share Tech Mono,monospace;font-size:9px}.contact-link-value{color:var(--ink);margin-top:2px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400}.contact-info-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa6;border:1px solid #00000012;padding:36px}.contact-info-line{border-bottom:1px solid #0000000d;justify-content:space-between;padding:14px 0;display:flex}.contact-info-line:last-child{border-bottom:none}.cil-key{letter-spacing:2px;color:#00000040;text-transform:uppercase;font-family:Share Tech Mono,monospace;font-size:10px}.cil-val{color:var(--mid);letter-spacing:.5px;font-family:Share Tech Mono,monospace;font-size:11px}.cil-val.accent{color:var(--gold)}footer{z-index:1;border-top:1px solid #00000012;justify-content:space-between;align-items:center;padding:28px 52px;display:flex;position:relative}.footer-logo{letter-spacing:4px;color:var(--navy);font-family:Orbitron,sans-serif;font-size:13px;font-weight:900}.footer-copy{color:#00000040;letter-spacing:1px;font-family:Share Tech Mono,monospace;font-size:10px}.footer-back{letter-spacing:2px;text-transform:uppercase;color:#0000004d;cursor:pointer;background:0 0;border:none;font-family:Share Tech Mono,monospace;font-size:10px;transition:color .2s}.footer-back:hover{color:var(--navy)}@media (width<=900px){.navbar,.hero{padding:0 24px}.hero-inner{flex-direction:column;gap:48px;padding-top:100px}.hero-right{order:-1}.hero-name{font-size:42px}.projects-section,.about-section,.contact-section{padding-left:24px;padding-right:24px}.about-grid,.contact-inner{grid-template-columns:1fr}.project-row{grid-template-rows:auto auto auto;grid-template-columns:50px 1fr}.proj-link{grid-column:1;justify-self:start}.proj-tags{grid-column:1/-1}}@media (width<=600px){.nav-links,.nav-status{display:none}}.proj-link{z-index:10;pointer-events:auto;position:relative}
