*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--surface: #f7f7f7;--border: #e8e8e8;--text: #111111;--muted: #666666;--accent: #111111}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);z-index:100}.nav-inner{max-width:960px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between}.nav-name{font-weight:600;font-size:15px;letter-spacing:-.2px}.nav-links{display:flex;gap:28px}.nav-links a{font-size:14px;color:var(--muted);transition:color .15s;cursor:pointer}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--text);font-weight:500}.page{max-width:960px;margin:0 auto;padding:0 24px}section{padding:64px 0 48px}.page-section{padding-top:28px;padding-bottom:80px}.home-section{min-height:calc(100vh - 60px);align-items:flex-end;padding-top:56px;padding-bottom:64px}.home-section{display:flex;align-items:center;gap:48px}.home-text{flex:1;min-width:0}.home-photo{width:240px;height:auto;border-radius:10px;object-fit:cover;flex-shrink:0}@media (max-width: 720px){.home-section{flex-direction:column-reverse;align-items:flex-start;gap:28px}.home-photo{width:180px}.home-name{font-size:36px}.home-tagline{font-size:16px}}.home-eyebrow{font-size:13px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px}.home-name{font-size:clamp(36px,6vw,52px);font-weight:700;letter-spacing:-1.5px;line-height:1.1;margin-bottom:20px}.home-tagline{font-size:18px;color:var(--muted);max-width:480px;line-height:1.6;margin-bottom:36px}.home-links{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:background .15s,border-color .15s;color:var(--text)}.btn:hover{background:var(--surface);text-decoration:none}.btn-filled{background:var(--text);color:#fff;border-color:var(--text)}.btn-filled:hover{background:#333;border-color:#333}.section-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.section-title{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:18px}.divider{border:none;border-top:1px solid var(--border);margin-bottom:64px}.about-body{font-size:16px;color:var(--muted);line-height:1.8}.about-body p+p{margin-top:16px}.about-subhead{font-size:18px;font-weight:600;color:var(--text);letter-spacing:-.2px;margin:36px 0 12px}.about-skills{list-style:none;padding:0;margin:0;font-size:15px;color:var(--muted)}.about-skills li{padding:6px 0;border-bottom:1px solid var(--border)}.about-skills li:last-child{border-bottom:none}.about-skills strong{color:var(--text);font-weight:600;margin-right:6px}.about-interests{list-style:none;padding:0;margin:0;font-size:15px;color:var(--muted)}.about-interests li{padding:10px 0;border-bottom:1px solid var(--border);line-height:1.6}.about-interests li:last-child{border-bottom:none}.about-interests strong{color:var(--text);font-weight:600;margin-right:4px}.about-resume-placeholder{margin-top:32px;padding-top:24px;border-top:1px solid var(--border);font-size:14px}#projects,#about,#workshop{max-width:800px;margin:0 auto}.workshop-intro{font-size:16px;color:var(--muted);line-height:1.7;margin-bottom:32px;max-width:600px}.workshop-carousel{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.workshop-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg);cursor:pointer;font-size:22px;line-height:1;color:var(--text);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .15s;font-family:inherit;padding:0}.workshop-arrow:hover{background:var(--surface);border-color:#bbb;transform:scale(1.05)}.workshop-track{display:flex;align-items:center;justify-content:center;gap:18px;overflow:hidden;flex:1;max-width:720px}.workshop-peek{width:110px;aspect-ratio:9 / 16;border-radius:10px;overflow:hidden;flex-shrink:0;cursor:pointer;opacity:.4;transition:opacity .2s,transform .2s;background:#000}.workshop-peek:hover{opacity:.75;transform:scale(1.03)}.workshop-peek video{width:100%;height:100%;object-fit:cover;display:block}.workshop-center{width:280px;flex-shrink:0}.workshop-center-video{width:100%;aspect-ratio:9 / 16;border-radius:14px;background:#000;object-fit:cover;display:block}.workshop-dots{display:flex;justify-content:center;gap:8px;margin-bottom:28px}.workshop-dot{width:7px;height:7px;border-radius:50%;border:none;background:var(--border);cursor:pointer;padding:0;transition:background .15s,transform .15s}.workshop-dot:hover{background:#bbb}.workshop-dot-active{background:var(--text);transform:scale(1.3)}.workshop-info{max-width:560px;margin:0 auto;text-align:center}.workshop-info-top{margin-bottom:18px;margin-top:-8px}#workshop .section-title{margin-bottom:20px}.workshop-dots{margin-bottom:16px}.workshop-featured-title{font-size:22px;font-weight:700;letter-spacing:-.4px;margin-bottom:12px}.workshop-featured-desc{font-size:15px;color:var(--muted);line-height:1.7}.workshop-info-links{margin-top:18px}.workshop-tiktok-link{display:inline-block;font-size:13px;font-weight:500;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:2px;transition:border-color .15s}.workshop-tiktok-link:hover{border-color:var(--text);text-decoration:none}.workshop-credit{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:12px;color:var(--muted);letter-spacing:.02em;max-width:400px;margin-left:auto;margin-right:auto}.workshop-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.workshop-credit a:hover{color:var(--text)}@media (max-width: 720px){.workshop-peek{width:70px}.workshop-center{width:220px}.workshop-track{gap:10px}.workshop-arrow{width:36px;height:36px;font-size:20px}.workshop-featured-title{font-size:19px}.workshop-featured-desc{font-size:14px}}@media (max-width: 480px){.workshop-peek{width:48px}.workshop-center{width:180px}.workshop-track{gap:6px}.nav-links{gap:18px}.nav-links a{font-size:13px}}.projects-grid{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.project-card{background:var(--bg);padding:28px 28px 24px;border-bottom:1px solid var(--border);transition:background .15s}.project-card:last-child{border-bottom:none}.project-card:hover{background:var(--surface)}.project-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.project-title-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.tags-inline{display:flex;flex-wrap:wrap;gap:6px}.project-in-progress{opacity:.72}.project-in-progress:hover{opacity:1}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-shipped{background:#22c55e}.status-in-progress{background:#a3a3a3}.status-key{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:20px}.status-key .status-dot{margin-left:4px}.status-key .status-dot:first-child{margin-left:0}.project-title{font-size:16px;font-weight:600;letter-spacing:-.2px}.project-title-link{transition:color .15s}.project-title-link:hover{color:var(--muted);text-decoration:none}.project-link{font-size:13px;color:var(--muted);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:4px;transition:color .15s}.project-link:hover{color:var(--text);text-decoration:none}.project-desc{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:14px}.project-actions{display:flex;align-items:center;gap:10px;margin-top:12px}.project-demo-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;font-family:inherit;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.project-demo-toggle:hover{background:var(--surface);border-color:#bbb;color:var(--text)}.project-demo-chevron{font-size:9px;line-height:1}.project-figure{margin:12px 0 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.project-image{display:block;width:100%;height:auto}.project-caption{font-size:12px;color:var(--muted);padding:8px 12px;background:var(--bg);border-top:1px solid var(--border);line-height:1.5}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;font-weight:500;letter-spacing:.04em;padding:3px 9px;border-radius:4px;background:var(--tag-bg, #f0f0f0);color:var(--muted)}footer{border-top:1px solid var(--border);padding:32px 24px;text-align:center;font-size:13px;color:var(--muted)}.footer-name{margin-bottom:12px}.footer-socials{display:flex;justify-content:center;gap:16px}.footer-socials a{display:inline-flex;opacity:.7;transition:opacity .15s,transform .15s}.footer-socials a:hover{opacity:1;transform:translateY(-2px)}
