*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #F6F5F1;--fg: #131312;--muted: #797974;--subtle: #B0AFA9;--accent: #C85A3A;--border: #E3E2DD;--font-display: "Fraunces", Georgia, serif;--font-sans: "DM Sans", system-ui, -apple-system, sans-serif;--ease: cubic-bezier(.25, 0, 0, 1)}html{font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}.container{max-width:680px;margin:0 auto;padding:0 2rem}header{position:fixed;top:0;left:0;right:0;padding:1.5rem 2.5rem;display:flex;justify-content:space-between;align-items:center;z-index:10}@media (max-width: 960px){header{background:#f6f5f1eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}.header-logo{font-family:var(--font-display);font-weight:300;font-size:1.125rem;font-variation-settings:"opsz" 18;letter-spacing:-.01em;color:var(--fg);text-decoration:none}.header-contact{font-size:.8125rem;color:var(--muted);text-decoration:none;letter-spacing:.01em;transition:color .2s var(--ease)}.header-contact:hover{color:var(--accent)}.hero{padding-top:10rem;padding-bottom:7rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.hero-name{font-family:var(--font-display);font-size:clamp(2.75rem,9vw,5.5rem);font-weight:300;line-height:1;letter-spacing:-.03em;font-variation-settings:"opsz" 72;margin-bottom:.5rem;animation:fadeUp .6s var(--ease) both}.hero-title{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.1875rem);font-weight:300;font-style:italic;color:var(--muted);letter-spacing:.01em;font-variation-settings:"opsz" 18;margin-bottom:2.25rem;animation:fadeUp .6s var(--ease) .08s both}.hero-bio{font-size:1.0625rem;line-height:1.75;color:var(--fg);max-width:500px;margin-bottom:2.25rem;animation:fadeUp .6s var(--ease) .16s both}.hero-links{display:flex;gap:1.75rem;align-items:center;animation:fadeUp .6s var(--ease) .24s both}.hero-link{font-size:.875rem;color:var(--muted);text-decoration:none;letter-spacing:.02em;transition:color .2s var(--ease)}.hero-link:hover{color:var(--accent)}.section{padding-bottom:6rem}.section-label{font-size:.8125rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1.5rem}.work-list{list-style:none;display:flex;flex-direction:column;gap:0}.work-item{padding:2rem 0;border-bottom:1px solid var(--border);transition:padding-left .18s var(--ease)}.work-item:first-child{border-top:1px solid var(--border)}.work-item:hover{padding-left:.375rem}.work-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem}.work-meta{display:flex;align-items:baseline;gap:.625rem}.work-product{font-weight:500;font-size:.9375rem;letter-spacing:-.015em}.work-company{font-size:.8125rem;color:var(--muted)}.work-period{font-size:.8125rem;color:var(--muted);white-space:nowrap}.work-description{font-size:.9375rem;line-height:1.65;color:var(--muted);max-width:560px;margin-bottom:1rem}.work-image-wrap{margin-top:1.25rem;width:100%;overflow:hidden;border-radius:6px;border:1px solid var(--border);background:var(--border)}.work-image{width:100%;height:auto;display:block}.work-link{font-size:.8125rem;color:var(--subtle);text-decoration:none;letter-spacing:.02em;transition:color .2s var(--ease)}.work-link:hover{color:var(--accent)}.experience-list{list-style:none}.experience-item{display:grid;grid-template-columns:1fr auto;gap:.1875rem 1.5rem;padding:1.375rem 0;border-bottom:1px solid var(--border);transition:padding-left .18s var(--ease)}.experience-item:first-child{border-top:1px solid var(--border)}.experience-item:hover{padding-left:.375rem}.experience-company{font-weight:500;font-size:.9375rem;letter-spacing:-.015em;grid-column:1;grid-row:1}.experience-period{font-size:.8125rem;color:var(--muted);white-space:nowrap;grid-column:2;grid-row:1;align-self:start;padding-top:.125rem}.experience-role{font-size:.8125rem;color:var(--muted);font-style:italic;grid-column:1;grid-row:2}.experience-highlights{list-style:none;grid-column:1 / -1;margin-top:.75rem;display:flex;flex-direction:column;gap:.3125rem}.experience-highlights li{font-size:.875rem;color:var(--muted);line-height:1.55;padding-left:1rem;position:relative}.experience-highlights li:before{content:"–";position:absolute;left:0;color:var(--subtle)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.75rem 4rem}.skill-category-name{font-size:.6875rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--subtle);margin-bottom:.75rem}.skill-list{list-style:none;display:flex;flex-direction:column;gap:.3125rem}.skill-list li{font-size:.9375rem;color:var(--fg)}footer{border-top:1px solid var(--border);padding:2.25rem 0 3rem}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-copy{font-size:.8125rem;color:var(--subtle)}.footer-links{display:flex;gap:1.5rem}.footer-link{font-size:.8125rem;color:var(--muted);text-decoration:none;transition:color .2s var(--ease)}.footer-link:hover{color:var(--accent)}@media (max-width: 600px){header{padding:1.25rem 1.5rem}.container{padding:0 1.5rem}.hero{padding-top:7rem;padding-bottom:4.5rem}.skills-grid{grid-template-columns:1fr;gap:2rem}.footer-inner{flex-direction:column;gap:1rem;text-align:center}}
