*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f0f0ed;--surface: #e8e8e4;--border: #d4d4ce;--text: #1a1a1a;--text-muted: #666;--text-dim: #999;--accent: #2e7fd4;--accent-dim: rgba(46, 127, 212, .08);--line-color: #c8c8c2;--dot: #2e7fd4}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}#root{min-height:100vh}.hero{max-width:760px;margin:0 auto;padding:100px 24px 80px;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-photo{width:120px;height:150px;border-radius:12px;object-fit:cover;object-position:center 15%;border:2px solid var(--border);margin-bottom:32px}.hero-name{font-size:2.4rem;font-weight:700;letter-spacing:-.03em;color:var(--text);margin-bottom:12px}.hero-tagline{font-size:1rem;font-weight:400;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px}.hero-sub{font-size:1rem;color:var(--text-muted);max-width:480px;line-height:1.7;margin-bottom:10px}.hero-currently{font-size:.8rem;color:var(--text-dim);margin-bottom:28px}.hero-links{display:flex;gap:16px;align-items:center}.hero-link{display:flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--text-muted);transition:border-color .2s,color .2s}.hero-link:hover{border-color:var(--accent);color:var(--accent)}.hero-link svg{width:16px;height:16px;flex-shrink:0}.hero-inline-link{color:var(--accent);text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s}.hero-inline-link:hover{text-decoration-color:var(--accent)}.projects-section{max-width:760px;margin:0 auto;padding:0 24px 80px}.section-label{font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:20px}.projects-grid{display:flex;gap:12px;flex-wrap:wrap}.project-card{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface);transition:border-color .2s,background .2s;flex:1;min-width:200px}.project-card:hover{border-color:var(--accent);background:var(--accent-dim)}.project-logo{width:32px;height:32px;border-radius:6px;object-fit:contain;background:#fff;padding:3px}.project-info{display:flex;flex-direction:column}.project-name{font-size:.9rem;font-weight:600;color:var(--text)}.project-url{font-size:.75rem;color:var(--text-dim)}.timeline-section{max-width:900px;margin:0 auto;padding:0 24px 120px}.timeline{position:relative;margin-top:32px}.timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--line-color);transform:translate(-50%)}.timeline-item{display:flex;justify-content:flex-end;padding-right:calc(50% + 32px);margin-bottom:36px;position:relative}.timeline-item.right{justify-content:flex-start;padding-right:0;padding-left:calc(50% + 32px)}.timeline-item:after{content:"";position:absolute;left:50%;top:24px;width:10px;height:10px;background:var(--dot);border-radius:50%;transform:translate(-50%);box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--dot)}.timeline-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px 16px;max-width:300px;width:100%;transition:border-color .2s}.timeline-card:hover{border-color:var(--accent)}.timeline-card-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.timeline-company-logo{width:28px;height:28px;border-radius:5px;object-fit:contain;background:#fff;padding:2px;flex-shrink:0}.timeline-company-logo-fallback{width:28px;height:28px;border-radius:5px;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--text-muted);letter-spacing:.04em;flex-shrink:0}.timeline-company{font-size:.85rem;font-weight:600;color:var(--text)}.timeline-role{font-size:.72rem;color:var(--text-muted);margin-top:1px}.timeline-dates{font-size:.68rem;color:var(--accent);letter-spacing:.06em;font-weight:500;margin-bottom:6px}.timeline-desc{font-size:.74rem;color:var(--text-muted);line-height:1.55}.divider{max-width:760px;margin:0 auto 64px;padding:0 24px;border:none;border-top:1px solid var(--border)}.site-quote{max-width:480px;margin:0 auto 80px;padding:0 24px;text-align:center;border:none}.site-quote p{font-size:1.15rem;font-style:italic;color:var(--text-muted);line-height:1.6;margin-bottom:10px}.site-quote cite{font-size:.78rem;color:var(--text-dim);font-style:normal;letter-spacing:.04em}.footer{text-align:center;padding:32px 24px;font-size:.75rem;color:var(--text-dim);border-top:1px solid var(--border)}@media(max-width:640px){.hero{padding:64px 20px 48px}.hero-name{font-size:1.8rem}.hero-links{flex-direction:column;width:100%}.hero-link{justify-content:center}.timeline-section{padding:0 16px 80px}.timeline:before{left:16px}.timeline-item,.timeline-item.right{justify-content:flex-start;padding-left:44px;padding-right:0}.timeline-item:after,.timeline-item.right:after{left:16px}.timeline-card{max-width:100%}}
