:root{--bg:#09090b;--bg-elevated:#18181b;--border:#27272a;--border-hover:#3f3f46;--text:#fafafa;--text-muted:#a1a1aa;--text-dim:#71717a;--accent:#bb2f1d;--accent-dim:#b21308;--accent-glow:#ee5c2246}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 80% 50% at 50% -20%, var(--accent-glow), transparent), linear-gradient(to bottom, transparent, var(--bg));background-attachment:fixed;min-height:100vh;font-family:Geist,Inter,system-ui,-apple-system,sans-serif;line-height:1.6}body:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#ffffff04 1px,#0000 1px),linear-gradient(90deg,#ffffff04 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 30%,#0000 80%);mask-image:radial-gradient(#000 30%,#0000 80%)}.font-mono{font-family:Geist Mono,JetBrains Mono,SF Mono,ui-monospace,monospace}::selection{color:#fff;background:#22d3ee40}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.container{z-index:1;max-width:1024px;margin:0 auto;padding:0 1.5rem;position:relative}nav{z-index:50;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090b0bbf;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1024px;margin:0 auto;padding:1rem 1.5rem;display:flex}.logo{color:var(--accent);font-family:Geist Mono,monospace;font-size:.875rem;font-weight:500;text-decoration:none}.logo span{color:var(--text-dim)}.nav-links{gap:.25rem;display:none}@media (width>=768px){.nav-links{display:flex}}.nav-links a{color:var(--text-dim);border-radius:.375rem;padding:.375rem .75rem;font-family:Geist Mono,monospace;font-size:.75rem;text-decoration:none;transition:background .15s,color .15s}.nav-links a:hover{color:var(--text);background:#27272a80}.hero{flex-direction:column;justify-content:center;min-height:85vh;padding:6rem 0;display:flex}.status{color:var(--accent);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-family:Geist Mono,monospace;font-size:.75rem;display:inline-flex}.status-dot{background:green;border-radius:50%;width:.5rem;height:.5rem;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero h1{letter-spacing:-.02em;font-family:Geist Mono,monospace;font-size:clamp(2.25rem,6vw,4.5rem);font-weight:600;line-height:1.1}.tagline{max-width:42rem;color:var(--text-muted);margin-top:1.5rem;font-family:Geist Mono,monospace;font-size:1rem;line-height:1.7}@media (width>=768px){.tagline{font-size:1.125rem}}.cta-row{flex-wrap:wrap;gap:.75rem;margin-top:2.5rem;display:flex}.btn-primary{background:var(--accent);color:#0b0a09;border-radius:.5rem;padding:.625rem 1.25rem;font-family:Geist Mono,monospace;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s}.btn-primary:hover{background:#eb3c3c}.btn-secondary{border:1px solid var(--border);color:var(--text-muted);background:#18181b80;border-radius:.5rem;padding:.625rem 1.25rem;font-family:Geist Mono,monospace;font-size:.875rem;text-decoration:none;transition:border-color .15s,color .15s}.btn-secondary:hover{color:var(--accent);border-color:#ee4b2280}section{border-top:1px solid var(--border);padding:5rem 0;scroll-margin-top:6rem}.section-header{align-items:center;gap:.75rem;margin-bottom:2.5rem;display:flex}.section-num{color:var(--accent);font-family:Geist Mono,monospace;font-size:.75rem}.section-header h2{font-family:Geist Mono,monospace;font-size:1.25rem;font-weight:500}.about-text{max-width:48rem;color:var(--text-muted);font-size:1rem;line-height:1.75}.about-text p+p{margin-top:1rem}.exp-list{flex-direction:column;gap:3rem;display:flex}.exp-item{border-left:1px solid var(--border);padding-left:1.5rem;position:relative}.exp-dot{border:2px solid var(--accent);background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:.4rem;left:-5px}.exp-header{flex-direction:column;gap:.25rem;display:flex}@media (width>=768px){.exp-header{flex-direction:row;justify-content:space-between;align-items:baseline}}.exp-role{color:var(--text);font-family:Geist Mono,monospace;font-size:1.125rem}.exp-period{color:var(--text-dim);font-family:Geist Mono,monospace;font-size:.75rem}.exp-company{color:var(--accent);margin-top:.25rem;font-family:Geist Mono,monospace;font-size:.875rem}.exp-highlights{color:var(--text-muted);margin-top:1rem;font-size:.875rem;list-style:none}.exp-highlights li{gap:.75rem;margin-bottom:.5rem;display:flex}.exp-highlights li:before{content:"›";color:var(--accent);flex-shrink:0;font-family:Geist Mono,monospace}.project-grid{gap:1rem;display:grid}@media (width>=768px){.project-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.project-grid{grid-template-columns:repeat(3,1fr)}}.project-card{border:1px solid var(--border);background:#18181b4d;border-radius:.75rem;padding:1.25rem;transition:border-color .2s,background .2s;position:relative;overflow:hidden}.project-card:before{content:"";background:linear-gradient(to bottom right, var(--accent-glow), transparent);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.project-card:hover:before{opacity:1}.project-card-inner{position:relative}.project-title-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.project-title{font-family:Geist Mono,monospace;font-size:.875rem;font-weight:500}.project-path{color:var(--text-dim);font-family:Geist Mono,monospace;font-size:.625rem}.project-desc{color:var(--text-muted);font-size:.875rem;line-height:1.6}.project-stack{flex-wrap:wrap;gap:.375rem;margin-top:1rem;display:flex}.stack-tag{border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:.25rem;padding:.125rem .5rem;font-family:Geist Mono,monospace;font-size:.625rem}.skills-grid{gap:2rem;display:grid}@media (width>=768px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skill-group h3{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:1rem;font-family:Geist Mono,monospace;font-size:.75rem}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{border:1px solid var(--border);color:var(--text-muted);background:#18181b80;border-radius:.375rem;padding:.25rem .625rem;font-family:Geist Mono,monospace;font-size:.75rem}.edu-item{font-family:Geist Mono,monospace}.edu-degree{color:var(--text);font-size:1rem}.edu-institution{color:var(--text-muted);margin-top:.25rem;font-size:.875rem}.edu-period{color:var(--text-dim);font-size:.75rem}.contact-box{border:1px solid var(--border);background:#18181b33;border-radius:.75rem;padding:1.5rem;font-family:Geist Mono,monospace}.contact-prompt{color:var(--text-muted);font-size:.875rem}.contact-prompt span{color:var(--accent)}.contact-desc{color:var(--text-muted);margin-top:1rem;font-size:.875rem}.contact-links{flex-direction:column;gap:.5rem;margin-top:1.5rem;font-size:.875rem;display:flex}.contact-links a{color:var(--accent);text-decoration:none}.contact-links a:hover{color:#67e8f9}.contact-location{color:var(--text-dim);font-size:.75rem}footer{border-top:1px solid var(--border);text-align:center;z-index:1;padding:2rem;position:relative}footer p{color:var(--text-dim);font-family:Geist Mono,monospace;font-size:.75rem}footer span{color:var(--accent)}.project-card{color:inherit;text-decoration:none;display:block}.project-card:hover{background:#18181b99;border-color:#22d3ee66}.prompt{color:var(--text-muted);margin-bottom:1.5rem;font-family:Geist Mono,monospace;font-size:.875rem}.prompt-user{color:#4ade80}.prompt-at{color:var(--text-dim)}.prompt-host{color:#60a5fa}.prompt-path{color:var(--accent);margin-right:.5rem}.prompt-cmd{color:var(--text)}.section-header{align-items:baseline;gap:.75rem;margin-bottom:2rem;font-family:Geist Mono,monospace;display:flex}.section-header h2{color:var(--text);font-size:1.125rem;font-weight:500}.file-content{border:1px solid var(--border);color:var(--text-muted);background:#18181b4d;border-radius:.5rem;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.75}.file-content p+p{margin-top:1rem}.hero-content{flex-direction:column;align-items:flex-start;gap:2rem;display:flex}@media (width>=768px){.hero-content{flex-direction:row;align-items:center;gap:3rem}}.headshot{object-fit:cover;border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:140px;height:140px}@media (width>=768px){.headshot{width:180px;height:180px}}
