:root{--bg:#0b0d12;--bg-elevated:#12151d;--bg-card:#151923;--border:#232838;--border-hover:#34405c;--text:#eef0f4;--text-dim:#9aa3b5;--text-faint:#6b7385;--accent:#f5a524;--accent-dim:#b97e17;--max-width:1120px;--font-heading:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.01em;line-height:1.15}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-tight{padding:3rem 0}.eyebrow{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.8rem;font-weight:600;display:block}.lede{color:var(--text-dim);max-width:62ch;font-size:1.1rem}.nav{z-index:50;backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0b0d12d9;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;padding:1.1rem 0;display:flex}.nav-brand{font-family:var(--font-heading);font-size:1.05rem;font-weight:700}.nav-brand span{color:var(--accent)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{color:var(--text-dim);font-size:.92rem;transition:color .15s}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-toggle{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;width:40px;height:40px;font-size:1.1rem;display:none}@media (width<=720px){.nav-toggle{display:block}.nav-links{background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:0;max-height:0;transition:max-height .2s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.nav-links.open{max-height:320px}.nav-links a{border-top:1px solid var(--border);width:100%;padding:1rem 1.5rem}}.btn{font-family:var(--font-heading);cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-size:.92rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent);color:#17120a}.btn-primary:hover{background:#ffb84d}.btn-secondary{border-color:var(--border-hover);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.btn-row{flex-wrap:wrap;gap:.85rem;display:flex}.hero{border-bottom:1px solid var(--border);background:radial-gradient(circle at 15% 0,#f5a52417,#0000 45%);padding:6rem 0 4.5rem}.hero h1{margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.4rem)}.hero .lede{margin-bottom:2rem;font-size:1.2rem}.grid{gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=900px){.grid-3{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.75rem;transition:border-color .15s,transform .15s}.card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.card h3{margin-bottom:.6rem;font-size:1.2rem}.card p{color:var(--text-dim);margin-bottom:1rem;font-size:.95rem}.tag{color:var(--accent);background:#f5a5241f;border-radius:999px;margin-bottom:.9rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.card-link{color:var(--text);border-bottom:1px solid var(--border-hover);padding-bottom:2px;font-size:.85rem;font-weight:600}.card-link:hover{color:var(--accent);border-color:var(--accent)}.project{border-bottom:1px solid var(--border);padding:3.5rem 0}.project:last-child{border-bottom:none}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.project h2{font-size:1.7rem}.project-status{color:var(--text-faint);font-size:.8rem;font-family:var(--font-heading)}.project p{color:var(--text-dim);max-width:72ch;margin-bottom:1rem}.project ul{gap:.5rem;margin:1rem 0 1.25rem;display:grid}.project li{color:var(--text-dim);padding-left:1.1rem;font-size:.95rem;position:relative}.project li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.55em;left:0}.resume-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:2.5rem;display:flex}.skill-chips{flex-wrap:wrap;gap:.5rem;margin:1rem 0 2.5rem;display:flex}.chip{border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:.35rem .75rem;font-size:.82rem}.timeline-item{border-top:1px solid var(--border);padding:1.75rem 0}.timeline-item:first-of-type{border-top:none}.timeline-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:.4rem;display:flex}.timeline-head h3{font-size:1.1rem}.timeline-meta{color:var(--text-faint);font-size:.82rem;font-family:var(--font-heading);white-space:nowrap}.timeline-role{color:var(--accent);margin-bottom:.6rem;font-size:.9rem}.timeline-item ul{gap:.4rem;display:grid}.timeline-item li{color:var(--text-dim);padding-left:1.1rem;font-size:.93rem;position:relative}.timeline-item li:before{content:"";background:var(--text-faint);border-radius:50%;width:5px;height:5px;position:absolute;top:.55em;left:0}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2.5rem;display:grid}.contact-item{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.contact-item .eyebrow{margin-bottom:.4rem}.contact-item a{font-family:var(--font-heading);font-size:1.02rem;font-weight:600}.contact-item a:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);margin-top:auto;padding:2.5rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-links{gap:1.5rem;display:flex}.footer-links a{color:var(--text-dim);font-size:.9rem}.footer-links a:hover{color:var(--accent)}.footer-note{color:var(--text-faint);font-size:.85rem}.page-shell{flex-direction:column;min-height:100vh;display:flex}
