*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #111111;--border: #1e1e1e;--text: #f0ede8;--muted: #5a5a5a;--accent: #e8ff47;--accent2: #ff6b35;--accent3: #4dffb4}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Mono,monospace;font-weight:300;min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:999;opacity:.4}header{padding:60px 60px 0;display:flex;align-items:flex-start;justify-content:space-between;animation:fadeUp .8s ease both}.profile-pic{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--border);margin-bottom:20px;filter:grayscale(30%) contrast(1.05);transition:filter .3s,border-color .3s}.profile-pic:hover{filter:grayscale(0%) contrast(1.1);border-color:var(--accent)}.header-left h1{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(2.8rem,6vw,5.5rem);line-height:.95;letter-spacing:-.03em;color:var(--text)}.header-left h1 span{color:var(--accent)}.header-left .role{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:14px}.header-left .summary{margin-top:20px;max-width:480px;font-size:.8rem;line-height:1.85;color:#7a7a7a}.header-left .summary strong{color:var(--accent);font-weight:400}.header-right{text-align:right;padding-top:8px}.header-right .label{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.header-right .stack-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;max-width:320px}.tag{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--border);color:var(--muted);border-radius:2px;transition:all .2s}.tag:hover{border-color:var(--accent);color:var(--accent)}.divider{margin:40px 60px;height:1px;background:linear-gradient(90deg,var(--accent) 0%,var(--border) 40%,transparent 100%);animation:fadeUp .8s .2s ease both}.intro{padding:0 60px 60px;max-width:560px;font-size:.82rem;line-height:1.85;color:#8a8a8a;animation:fadeUp .8s .3s ease both}.projects{padding:0 60px 100px;display:grid;grid-template-columns:1fr;gap:2px}.card{background:var(--surface);border:1px solid var(--border);padding:48px;position:relative;overflow:hidden;cursor:default;transition:border-color .3s,transform .3s;animation:fadeUp .7s ease both}.card:nth-child(1){animation-delay:.4s}.card:nth-child(2){animation-delay:.55s}.card:nth-child(3){animation-delay:.7s}.card:nth-child(4){animation-delay:.85s}.card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--card-accent, var(--accent));transition:height .4s ease}.card:hover:before{height:100%}.card:hover{border-color:#2e2e2e;transform:translate(4px)}.card-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.card-number{font-size:.6rem;letter-spacing:.2em;color:var(--muted);margin-bottom:20px;font-family:DM Mono,monospace}.card-title{font-family:Syne,sans-serif;font-weight:700;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:-.02em;line-height:1.1;color:var(--text);margin-bottom:12px}.card-subtitle{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--card-accent, var(--accent));margin-bottom:28px}.card-desc{font-size:.82rem;line-height:1.9;color:#7a7a7a;margin-bottom:32px}.card-features{list-style:none;display:flex;flex-direction:column;gap:10px}.card-features li{font-size:.75rem;color:#6a6a6a;display:flex;align-items:flex-start;gap:10px;line-height:1.6}.card-features li:before{content:"→";color:var(--card-accent, var(--accent));flex-shrink:0;margin-top:1px}.card-right{display:flex;flex-direction:column;gap:32px}.tech-section .section-label{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.tech-list{display:flex;flex-wrap:wrap;gap:8px}.tech-pill{font-size:.62rem;padding:5px 12px;border:1px solid var(--border);color:#888;letter-spacing:.08em;border-radius:1px;transition:all .2s;font-family:DM Mono,monospace}.card:hover .tech-pill{border-color:#2a2a2a}.links-section .section-label{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.links-list{display:flex;flex-direction:column;gap:8px}.project-link{display:inline-flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.1em;color:var(--card-accent, var(--accent));text-decoration:none;padding:10px 16px;border:1px solid var(--card-accent, var(--accent));width:fit-content;transition:all .2s;opacity:.7}.project-link:hover{opacity:1;background:color-mix(in srgb,var(--card-accent, var(--accent)) 8%,transparent)}.project-link .arrow{transition:transform .2s}.project-link:hover .arrow{transform:translate(4px)}.card-1{--card-accent: var(--accent)}.card-2{--card-accent: var(--accent2)}.card-3{--card-accent: var(--accent3)}.card-4{--card-accent: #a78bfa}.journey{padding:0 60px 100px;animation:fadeUp .7s .4s ease both}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.journey-item{background:var(--surface);border:1px solid var(--border);overflow:hidden;position:relative;transition:border-color .3s,transform .3s}.journey-item:hover{border-color:#2e2e2e;transform:translateY(-2px)}.journey-item:before{content:"";position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--accent);transition:width .4s ease}.journey-item:hover:before{width:100%}.journey-img{width:100%;height:220px;object-fit:cover;display:block;filter:grayscale(60%) contrast(1.1);transition:filter .4s}.journey-item:hover .journey-img{filter:grayscale(20%) contrast(1.15)}.journey-img-placeholder{width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#111,#1a1a1a,#0f0f0f);position:relative;overflow:hidden}.journey-img-placeholder img{width:100%;height:auto;display:block;filter:grayscale(60%) contrast(1.1);transition:filter .4s}.journey-item:hover .journey-img-placeholder img{filter:grayscale(20%) contrast(1.15)}.journey-img-placeholder:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.015) 10px,rgba(255,255,255,.015) 20px)}.journey-img-icon{font-size:2.5rem;opacity:.15;z-index:1}.journey-content{padding:28px 32px}.journey-year{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.journey-title{font-family:Syne,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:-.01em;color:var(--text);margin-bottom:10px}.journey-text{font-size:.75rem;line-height:1.85;color:#6a6a6a}.section-header{padding:80px 60px 40px;animation:fadeUp .7s .3s ease both}.section-header h2{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.03em;color:var(--text)}.section-header h2 span{color:var(--accent)}.section-header p{font-size:.75rem;color:var(--muted);margin-top:8px;letter-spacing:.05em}.experience{padding:0 60px 100px;display:flex;flex-direction:column;gap:2px}.exp-card{background:var(--surface);border:1px solid var(--border);padding:40px 48px;position:relative;transition:border-color .3s,transform .3s;animation:fadeUp .7s ease both}.exp-card:nth-child(1){animation-delay:.4s}.exp-card:nth-child(2){animation-delay:.55s}.exp-card:nth-child(3){animation-delay:.7s}.exp-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--accent);transition:height .4s ease}.exp-card:hover:before{height:100%}.exp-card:hover{border-color:#2e2e2e;transform:translate(4px)}.exp-inner{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}.exp-left .exp-company{font-family:Syne,sans-serif;font-weight:700;font-size:1.2rem;letter-spacing:-.01em;color:var(--text);margin-bottom:6px}.exp-left .exp-role{font-size:.68rem;color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.exp-left .exp-meta{font-size:.65rem;color:var(--muted);line-height:1.7}.exp-right .exp-highlights{list-style:none;display:flex;flex-direction:column;gap:10px}.exp-right .exp-highlights li{font-size:.78rem;color:#6a6a6a;display:flex;align-items:flex-start;gap:10px;line-height:1.7}.exp-right .exp-highlights li:before{content:"→";color:var(--accent);flex-shrink:0;margin-top:2px}.exp-badge{display:inline-block;font-size:.58rem;padding:3px 8px;border:1px solid var(--accent);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;margin-top:14px}.contact-section{padding:0 60px 100px;animation:fadeUp .7s .5s ease both}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.contact-card{background:var(--surface);border:1px solid var(--border);padding:36px 40px;display:flex;flex-direction:column;gap:6px;text-decoration:none;transition:border-color .3s,transform .3s;position:relative;overflow:hidden}.contact-card:after{content:"↗";position:absolute;top:20px;right:24px;font-size:1rem;color:var(--muted);transition:all .25s}.contact-card:hover:after{color:var(--accent);transform:translate(3px,-3px)}.contact-card:hover{border-color:#2e2e2e;transform:translateY(-2px)}.contact-card .c-label{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.contact-card .c-value{font-family:Syne,sans-serif;font-weight:600;font-size:1rem;color:var(--text);letter-spacing:-.01em}.contact-card .c-sub{font-size:.68rem;color:var(--muted);margin-top:2px}.contact-card.highlight{border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.contact-card.highlight .c-value{color:var(--accent)}footer{border-top:1px solid var(--border);padding:28px 60px;display:flex;justify-content:space-between;align-items:center}footer .foot-left{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}footer .foot-right{font-size:.65rem;color:var(--muted);font-family:DM Mono,monospace;font-style:italic}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){header{flex-direction:column;gap:32px;padding:40px 28px 0}.header-right{text-align:left;padding-top:0}.header-right .stack-tags{justify-content:flex-start;max-width:100%}.divider,.intro,.projects,footer{padding-left:28px;padding-right:28px}.card{padding:32px 28px}.card-inner{grid-template-columns:1fr;gap:28px}.journey{padding-left:28px;padding-right:28px}.journey-grid{grid-template-columns:1fr}.section-header,.experience,.contact-section{padding-left:28px;padding-right:28px}.exp-card{padding:28px}.exp-inner{grid-template-columns:1fr;gap:24px}.contact-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:8px;text-align:center}}@media(max-width:600px){header{padding:32px 20px 0;gap:28px}.profile-pic{width:72px;height:72px;margin-bottom:16px}.header-left h1{font-size:clamp(2rem,10vw,3rem)}.header-left .summary{font-size:.75rem;max-width:100%}.header-right{display:none}.divider{margin:28px 20px}.intro{padding:0 20px 40px;font-size:.75rem}.projects{padding:0 20px 60px}.card{padding:24px 20px}.card-title{font-size:clamp(1.3rem,5vw,1.8rem)}.card-desc{font-size:.75rem;margin-bottom:24px}.card-features li{font-size:.7rem}.tech-pill{font-size:.58rem;padding:4px 10px}.project-link{font-size:.65rem;padding:8px 14px}.section-header{padding:60px 20px 28px}.section-header h2{font-size:clamp(1.5rem,6vw,2.2rem)}.journey{padding:0 20px 60px}.journey-content{padding:20px 24px}.journey-title{font-size:1rem}.journey-text{font-size:.7rem}.experience{padding:0 20px 60px}.exp-card{padding:24px 20px}.exp-left .exp-company{font-size:1rem}.exp-right .exp-highlights li{font-size:.72rem}.contact-section{padding:0 20px 60px}.contact-card{padding:24px 28px}.contact-card .c-value{font-size:.88rem;word-break:break-all}footer{padding:20px}.dialog{padding:1.5rem;margin:.5rem}.dialog h3{font-size:1.1rem}.dialog input,.dialog textarea{font-size:.85rem}}.dialog-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;width:100%;max-width:480px;position:relative;color:var(--text);font-family:DM Mono,monospace}.dialog h3{margin-bottom:1.5rem;font-size:1.25rem;color:var(--accent)}.dialog-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--muted);font-size:1.5rem;cursor:pointer;line-height:1}.dialog-close:hover{color:var(--text)}.dialog form{display:flex;flex-direction:column;gap:1rem}.dialog label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--muted)}.dialog input,.dialog textarea{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.6rem .75rem;color:var(--text);font-family:inherit;font-size:.9rem;resize:vertical}.dialog input:focus,.dialog textarea:focus{outline:none;border-color:var(--accent)}.send-btn{background:var(--accent);color:var(--bg);border:none;border-radius:6px;padding:.7rem;font-family:inherit;font-weight:600;font-size:.9rem;cursor:pointer;margin-top:.5rem}.send-btn:hover{opacity:.9}.send-btn:disabled{opacity:.5;cursor:not-allowed}.form-status{text-align:center;font-size:.85rem;margin-top:.5rem}.form-status.success{color:var(--accent3)}.form-status.error{color:var(--accent2)}button.contact-card{text-align:left;font-family:inherit;font-size:inherit;cursor:pointer}
