:root{--color-bg: #0f0f0f;--color-surface: #1a1a1a;--color-text: #e8e8e8;--color-muted: #888;--color-accent: #7c6dfa;--color-border: #2a2a2a;--font-sans: system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}section{padding:5rem 1.5rem;max-width:760px;margin:0 auto}section h2{font-size:1.5rem;font-weight:700;color:var(--color-text);margin-bottom:2rem}section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:.5rem}.list-compact{list-style:none;border-top:1px solid var(--color-border)}.list-compact li{display:flex;align-items:baseline;gap:.6rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.88rem;white-space:nowrap;overflow:hidden}.list-grid{list-style:none;border-top:1px solid var(--color-border)}.list-grid li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--color-border)}.tag{color:var(--color-accent);flex-shrink:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.trail{color:var(--color-muted);font-style:italic;flex-shrink:0;margin-left:auto;padding-left:1rem}#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center}#hero .greeting{color:var(--color-muted);font-size:1rem;margin-bottom:.5rem}#hero h1{font-size:clamp(3rem,10vw,6rem);font-weight:700;letter-spacing:-.03em;line-height:1;margin-bottom:1rem}#hero .tagline{font-size:1.25rem;color:var(--color-muted);max-width:40ch;margin-bottom:2.5rem}#hero .nav-links{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}#hero .nav-links a{color:var(--color-text);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}#about p{font-size:1.1rem;color:var(--color-text);max-width:55ch;margin-bottom:1rem}#education ul{margin-bottom:2.5rem}#education .period{font-size:.78rem;color:var(--color-muted);padding-top:.1rem;white-space:nowrap}#education .details{display:flex;flex-direction:column;gap:.15rem}#education .title{font-size:.95rem;color:var(--color-text);font-weight:500}#education .meta{font-size:.85rem;color:var(--color-muted);font-style:italic}#work ul{margin-bottom:2.5rem}#work .period{font-size:.78rem;color:var(--color-muted);padding-top:.1rem;white-space:nowrap}#work .details{display:flex;flex-direction:column;gap:.15rem}#work .role{font-size:.95rem;color:var(--color-text);font-weight:500}#work .meta{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}#work .company{font-size:.85rem;color:var(--color-muted);font-style:italic}#work a.company{color:var(--color-accent);font-style:italic}#work a.company:hover{text-decoration:underline}#work .sep{font-size:.75rem;color:var(--color-muted);opacity:.5}#work .location{font-size:.85rem;color:var(--color-muted);opacity:.7}#projects .year{color:var(--color-muted);flex-shrink:0}#projects .name{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}#engagements .period{color:var(--color-muted);flex-shrink:0}#engagements .org{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}#public .year{color:var(--color-muted);flex-shrink:0}#public .title{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}#skills .area{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);padding-top:.1rem}#skills .items{font-size:.95rem;color:var(--color-text)}#certifications .year,#awards .year,#languages .year{font-size:.78rem;color:var(--color-muted);padding-top:.1rem}#certifications .name,#awards .name,#languages .name{font-size:.95rem;color:var(--color-text)}#contact p{font-size:1.1rem;color:var(--color-muted);margin-bottom:1.5rem}#contact .email{display:inline-block;font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:2rem}#contact .social{display:flex;gap:1.5rem;flex-wrap:wrap}#contact .social a{color:var(--color-muted);font-size:.9rem}#contact .social a:hover{color:var(--color-text);text-decoration:none}
