*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f9f8f6;--surface:#f0eeea;--border:#00000017;--border-strong:#00000029;--text:#18170f;--muted:#6a6860;--accent:#1e4d8c;--accent-soft:#e6edf7;--tag-bg:#ebebeb;--tag-text:#38352c;--serif:"DM Serif Display", Georgia, serif;--sans:"DM Sans", sans-serif;--mono:"DM Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;font-weight:300;line-height:1.65;transition:background-color .5s,color .5s}.container{max-width:860px;margin:0 auto;padding:0 2.5rem}.site-nav{gap:1.75rem;max-width:860px;margin:0 auto;padding:2.5rem 2.5rem 0;display:flex}.site-nav a{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;font-size:.75rem;text-decoration:none;transition:color .2s}.site-nav a:hover,.site-nav a.active{color:var(--text)}.site-nav a.active{text-underline-offset:.4em;text-decoration:underline}#hero{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:end;gap:2rem;max-width:860px;margin:0 auto;padding:4.5rem 2.5rem;display:grid}.hero-name{font-family:var(--serif);letter-spacing:-.025em;margin-bottom:.6rem;font-size:4.25rem;font-weight:400;line-height:1}.hero-title{font-family:var(--mono);color:var(--accent);letter-spacing:.06em;margin-bottom:1.25rem;font-size:.8125rem}.hero-bio{color:var(--muted);max-width:440px;font-size:1rem;line-height:1.75}.hero-links{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.hero-links a{font-family:var(--mono);color:var(--muted);letter-spacing:.03em;font-size:.75rem;text-decoration:none;transition:color .2s}.hero-links a:hover{color:var(--accent)}.hero-arrow-link{color:var(--accent);align-items:center;gap:.35rem;font-weight:500;display:inline-flex}.hero-arrow-link:after{content:"↗";font-size:.95rem;line-height:1}.hero-links a.hero-arrow-link{color:var(--accent)}.hero-links a.hero-arrow-link:hover{color:var(--text)}.page-header{border-bottom:1px solid var(--border);max-width:860px;margin:0 auto;padding:4.5rem 2.5rem 3.5rem}.page-title{font-family:var(--serif);letter-spacing:-.02em;font-size:3.25rem;font-weight:400;line-height:1.05}.page-title+.hero-bio{margin-top:1rem}.page-label{font-family:var(--mono);color:var(--accent);letter-spacing:.06em;margin-bottom:.75rem;font-size:.75rem}section{border-bottom:1px solid var(--border);max-width:860px;margin:0 auto;padding:4rem 2.5rem}section:last-of-type{border-bottom:none}.section-label{font-family:var(--mono);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:2.5rem;font-size:.7rem;font-weight:500}.exp-item{border-top:1px solid var(--border);grid-template-columns:170px 1fr;gap:1.75rem;padding:2rem 0;display:grid}.exp-item:last-child{border-bottom:1px solid var(--border)}.exp-period{font-family:var(--mono);color:var(--muted);padding-top:.1rem;font-size:.75rem;line-height:1.6}.exp-org{color:var(--muted);margin-top:.2rem;font-size:.8125rem}.exp-role{font-family:var(--serif);margin-bottom:.85rem;font-size:1.3rem;font-weight:400;line-height:1.2}.exp-bullets{flex-direction:column;gap:.45rem;list-style:none;display:flex}.exp-bullets li{color:var(--muted);padding-left:1.1rem;font-size:.9rem;line-height:1.6;position:relative}.exp-bullets li:before{content:"–";color:var(--border-strong);position:absolute;left:0}.project-item{border-top:1px solid var(--border);color:inherit;grid-template-columns:170px 1fr;gap:1.75rem;padding:2rem 0;text-decoration:none;transition:opacity .2s;display:grid}.project-item:last-child{border-bottom:1px solid var(--border)}.project-name a{color:inherit;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.project-name a:hover{color:var(--accent)}.project-arrow{font-family:var(--sans);font-size:.75em}.project-meta{font-family:var(--mono);color:var(--muted);padding-top:.1rem;font-size:.75rem}.project-name{font-family:var(--serif);margin-bottom:.5rem;font-size:1.3rem;font-weight:400;line-height:1.2;transition:color .2s}.project-tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;display:flex}.tag{font-family:var(--mono);color:var(--text);border:1px solid var(--text);letter-spacing:.03em;background:0 0;border-radius:3px;padding:.25rem .55rem;font-size:.65rem;transition:color .5s,border-color .5s}[data-theme=dark] .tag{border-color:var(--border-strong)}.project-bullets{flex-direction:column;gap:.45rem;list-style:none;display:flex}.project-bullets li{color:var(--muted);padding-left:1.1rem;font-size:.9rem;line-height:1.6;position:relative}.project-bullets li:before{content:"–";color:var(--border-strong);position:absolute;left:0}.skills-grid{grid-template-columns:1fr 1fr;gap:2rem 3.5rem;display:grid}.skill-group-title{font-family:var(--mono);color:var(--text);letter-spacing:.05em;border-bottom:1px solid var(--border);margin-bottom:.85rem;padding-bottom:.6rem;font-size:.75rem;font-weight:500}.skill-pills{flex-wrap:wrap;gap:.45rem;display:flex}.skill-pills span{color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:.4rem .75rem;font-size:.875rem;font-weight:300;transition:all .15s}.skill-pills span:hover{border-color:var(--border-strong);color:var(--text);background:var(--surface)}.achievement-item{border-top:1px solid var(--border);grid-template-columns:170px 1fr;gap:1.75rem;padding:2rem 0;display:grid}.achievement-item:last-child{border-bottom:1px solid var(--border)}.achievement-org{font-family:var(--mono);color:var(--muted);font-size:.75rem}.achievement-title{font-family:var(--serif);margin-bottom:.6rem;font-size:1.3rem;font-weight:400;line-height:1.2}.achievement-desc{color:var(--muted);font-size:.9rem;line-height:1.7}.edu-item{border-top:1px solid var(--border);grid-template-columns:170px 1fr;gap:1.75rem;padding:2rem 0;display:grid}.edu-item:last-child{border-bottom:1px solid var(--border)}.edu-period{font-family:var(--mono);color:var(--muted);font-size:.75rem}.edu-school{font-family:var(--serif);margin-bottom:.2rem;font-size:1.3rem;font-weight:400}.edu-degree{color:var(--accent);margin-bottom:.75rem;font-size:.9rem}.edu-courses{font-family:var(--mono);color:var(--muted);font-size:.775rem;line-height:1.8}.post-item{border-top:1px solid var(--border);grid-template-columns:170px 1fr;gap:1.75rem;padding:2rem 0;display:grid}.post-item:last-child{border-bottom:1px solid var(--border)}.post-date{font-family:var(--mono);color:var(--muted);padding-top:.1rem;font-size:.75rem}.post-title{font-family:var(--serif);margin-bottom:.5rem;font-size:1.3rem;font-weight:400;line-height:1.2}.post-title a{color:inherit;text-decoration:none;transition:color .2s}.post-title a:hover{color:var(--accent)}.post-summary,.empty-note{color:var(--muted);font-size:.9rem;line-height:1.7}.back-link{font-family:var(--mono);color:var(--muted);letter-spacing:.03em;font-size:.75rem;text-decoration:none;transition:color .2s;display:inline-block}.back-link:hover{color:var(--accent)}.prose+.back-link{margin-top:3rem}.prose{max-width:640px;font-size:1rem;line-height:1.8}.prose>*+*{margin-top:1.25rem}.prose h2,.prose h3{font-family:var(--serif);margin-top:2.5rem;font-weight:400;line-height:1.2}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}.prose a{color:var(--accent);text-underline-offset:.2em}.prose strong{font-weight:500}.prose ul,.prose ol{padding-left:1.5rem}.prose li+li{margin-top:.4rem}.prose blockquote{border-left:2px solid var(--border-strong);color:var(--muted);padding-left:1.25rem}.prose code{font-family:var(--mono);background:var(--surface);border-radius:3px;padding:.15em .4em;font-size:.85em}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1rem 1.25rem;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img{border-radius:4px;max-width:100%;height:auto}.prose hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;max-width:860px;margin:0 auto;padding:3rem 2.5rem;display:flex}.footer-name{font-family:var(--serif);font-size:1.1rem}.footer-email{font-family:var(--mono);color:var(--muted);margin-top:.25rem;font-size:.75rem}.footer-links{gap:1.5rem;list-style:none;display:flex}.footer-links a{color:var(--muted);font-size:.875rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--text)}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{opacity:0;animation:.55s forwards fadeUp}.fade-up:first-child{animation-delay:50ms}.fade-up:nth-child(2){animation-delay:.15s}.fade-up:nth-child(3){animation-delay:.25s}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(14px)}.reveal.visible{opacity:1;transform:translateY(0)}@media (width<=640px){.site-nav{padding:1.5rem 1.5rem 0}#hero{grid-template-columns:1fr;padding:3.5rem 1.5rem 3rem}.page-header{padding:3.5rem 1.5rem 2.5rem}.page-title{font-size:2.5rem}.hero-name{font-size:3rem}.hero-links{align-items:flex-start}section{padding:3rem 1.5rem}.exp-item,.project-item,.achievement-item,.post-item,.edu-item{grid-template-columns:1fr;gap:.5rem}.skills-grid{grid-template-columns:1fr}footer{flex-direction:column;gap:1.25rem}}[data-theme=dark]{--bg:#121212;--surface:#1e1e1e;--border:#ffffff1a;--border-strong:#ffffff40;--text:#f0f0f0;--muted:#a0a0a0;--accent:#60a5fa;--tag-bg:transparent;--tag-text:#f0f0f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.theme-toggle{cursor:pointer;color:var(--text);z-index:100;background:0 0;border:none;font-size:1.25rem;transition:transform .2s;position:absolute;top:2.1rem;right:2.5rem}.theme-toggle:hover{transform:scale(1.1)}@media (width<=640px){.theme-toggle{top:1.1rem;right:1.5rem}}.noscript{max-width:860px;color:var(--muted);margin:0 auto;padding:5rem 2.5rem}.noscript a{color:var(--accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-up,.reveal{opacity:1;transition:none;animation:none;transform:none}body,.tag,.theme-toggle{transition:none}}@media print{.theme-toggle,.site-nav{display:none}.fade-up,.reveal{opacity:1;animation:none;transform:none}#hero{padding-top:2rem}section{padding:2rem 2.5rem}.exp-item,.project-item,.achievement-item,.edu-item{break-inside:avoid}}
