*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,sans-serif;background:#fff;color:#000;-webkit-font-smoothing:antialiased}body{min-height:100vh;max-width:1440px;margin:0 auto}a{color:inherit;text-decoration:none}nav{display:flex;justify-content:space-between;align-items:center;padding:var(--space-8) var(--space-20);position:sticky;top:0;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100}.nav-name{font-weight:900;font-size:var(--t-base);transition:color .2s}.nav-name:hover{background:linear-gradient(90deg,#006aff,#00c6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav-links{display:flex;gap:var(--space-8)}.nav-links a{font-size:15px;font-weight:var(--w-medium);color:var(--color-text-muted);transition:color .2s}.nav-links a:hover{background:linear-gradient(90deg,#006aff,#00c6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.hero-animate{opacity:0;animation:fadeUp .9s cubic-bezier(.22,1,.36,1) forwards;animation-delay:var(--delay, 0s)}.project-card{opacity:0;transform:translateY(24px)}.project-card.is-visible{animation:fadeUp .7s cubic-bezier(.22,1,.36,1) forwards}.hero{height:min(90vh,900px);display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-20) var(--space-20) var(--space-16);position:relative}.avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;position:absolute;top:var(--space-12);right:var(--space-20)}.eyebrow-dash{display:inline-block;width:var(--space-10);height:2px;background:#ccc;vertical-align:middle;margin-right:var(--space-3)}.hero-eyebrow{font-size:var(--t-base);font-weight:var(--w-semi);letter-spacing:.04em;color:#111;margin-top:0;margin-bottom:28px;display:flex;align-items:center;gap:var(--space-4);text-transform:none}.hero-eyebrow-dot{background:linear-gradient(90deg,#006aff,#00c6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:var(--t-sm)}.headline{font-size:clamp(64px,11vw,160px);font-weight:var(--w-bold);line-height:1;letter-spacing:-.04em}.hero-blurb{font-size:22px;font-weight:var(--w-bold);line-height:1.5;color:#222;max-width:460px}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-10)}.hero-links{display:flex;flex-direction:column;gap:var(--space-4);flex-shrink:0}.hero-link{font-size:var(--t-lg);font-weight:var(--w-medium);color:#222;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;gap:6px;transition:color .3s}.gradient-text{background:linear-gradient(90deg,#006aff,#00c6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-link:hover{background:linear-gradient(90deg,#006aff,#00c6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-decoration-color:#006aff}.hero-link svg{transition:transform .2s}.hero-link:hover svg{transform:translate(2px,-2px)}.divider{border:none;border-top:1px solid #f0f0f0;margin:0 var(--space-20)}.work{padding:var(--space-20) var(--space-20)}.section-label{font-size:var(--t-xs);font-weight:var(--w-semi);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-10)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.project-grid--2col{grid-template-columns:repeat(2,1fr)}.project-card{display:flex;flex-direction:column;cursor:pointer;border-radius:16px;overflow:hidden;border:1px solid #eee;transition:box-shadow .3s}.project-card:hover{box-shadow:0 8px 32px #00000014}.project-thumb{overflow:hidden;background:#f5f5f5;aspect-ratio:16/10}.project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94);display:block}.project-card:hover .project-thumb img{transform:scale(1.04)}.project-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:var(--space-2)}.project-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:2px}.pill{font-size:11px;font-weight:var(--w-semi);letter-spacing:.05em;text-transform:uppercase;padding:var(--space-1) 10px;border-radius:100px;background:#f0f0f0;color:#555}.pill--black{background:#888;color:#fff}.project-title{font-size:17px;font-weight:var(--w-semi);line-height:1.3;color:var(--color-text)}.project-desc{font-size:15px;color:var(--color-text-faint);line-height:1.5}.project-card--coming-soon{pointer-events:none}.project-card--coming-soon .project-thumb{position:relative}.project-card--coming-soon .project-thumb:after{display:none}.work-cat{margin-bottom:var(--space-20)}.work-cat:last-child{margin-bottom:0}.work-cat-header{padding-bottom:var(--space-4);border-bottom:1px solid #f0f0f0;margin-bottom:28px}.work-cat-title-group{display:flex;flex-direction:column;gap:6px}.work-cat-num{font-size:var(--t-base);font-weight:var(--w-regular);letter-spacing:-.01em;color:#bbb;vertical-align:super;margin-left:var(--space-1)}.work-cat-name{font-size:36px;font-weight:var(--w-bold);letter-spacing:-.03em;color:#111;line-height:var(--lh-tight)}.work-cat-tagline{font-size:var(--t-sm);color:var(--color-text-faint)}.career{padding:var(--space-10) var(--space-20) var(--space-20)}.career-list{margin-top:var(--space-8)}.career-row{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid rgba(0,0,0,.06)}.career-row:first-child{border-top:1px solid rgba(0,0,0,.06)}.career-num{font-size:11px;font-weight:var(--w-semi);color:#ccc;letter-spacing:.05em;min-width:var(--space-6);flex-shrink:0}.career-logo{width:20px;height:20px;flex-shrink:0;fill:#ccc}.career-logo-av{display:flex;align-items:center;justify-content:center;border-radius:50%;border:1.5px solid #ccc;font-size:8px;font-weight:800;color:#ccc;letter-spacing:.02em;box-sizing:border-box}.career-info{flex:1;display:flex;flex-direction:column;gap:3px}.career-company{font-size:var(--t-base);font-weight:var(--w-semi);color:var(--color-text);line-height:1.3}.career-role{font-size:13px;color:var(--color-text-faint)}.career-years{font-size:13px;color:var(--color-text-faint);flex-shrink:0}.about{padding:var(--space-20) var(--space-20)}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-20);align-items:start}.about-text{font-size:var(--t-lg);font-weight:var(--w-regular);line-height:1.7;color:#222}.about-meta{display:flex;flex-direction:column;gap:var(--space-8)}.meta-group{display:flex;flex-direction:column;gap:6px}.meta-label{font-size:11px;font-weight:var(--w-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-1)}.meta-group span:not(.meta-label){font-size:15px;font-weight:var(--w-medium);color:#222}footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-10) var(--space-20);margin-top:var(--space-20);border-top:1px solid #f0f0f0;font-size:var(--t-sm);color:var(--color-text-faint)}.footer-links{display:flex;gap:var(--space-6)}.footer-links a{color:var(--color-text-faint);font-weight:var(--w-medium);transition:color .2s}.footer-links a:hover{color:var(--color-accent)}@media(max-width:768px){nav,.hero,.work,.about,footer{padding-left:24px;padding-right:24px}.divider{margin:0 24px}.headline{font-size:clamp(48px,14vw,80px)}.project-grid{grid-template-columns:1fr}.about-content{grid-template-columns:1fr;gap:40px}.career{padding-left:24px;padding-right:24px}.hero{min-height:70vh}.hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}.hero-eyebrow{display:none}.headline{margin-bottom:32px}.hero-blurb{max-width:100%;order:-1}.hero-links{order:1}}:root{--t-xs: 12px;--t-sm: 14px;--t-base: 16px;--t-md: 18px;--t-lg: 20px;--t-xl: 24px;--t-2xl: 32px;--t-3xl: 40px;--t-4xl: 56px;--w-regular: 400;--w-medium: 500;--w-semi: 600;--w-bold: 700;--lh-tight: 1.1;--lh-snug: 1.2;--lh-normal: 1.45;--lh-relaxed: 1.65;--lh-loose: 1.75;--color-text: #000;--color-text-soft: rgba(0, 0, 0, .75);--color-text-muted: rgba(0, 0, 0, .55);--color-text-faint: rgba(0, 0, 0, .4);--color-accent: #006aff;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px}.t-label{font-size:var(--t-sm);font-weight:var(--w-semi);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);line-height:var(--lh-normal)}.t-section-title{font-size:var(--t-2xl);font-weight:var(--w-semi);letter-spacing:-.02em;line-height:var(--lh-snug);color:var(--color-text)}.t-subsection{font-size:var(--t-xl);font-weight:var(--w-semi);letter-spacing:-.015em;line-height:var(--lh-snug);color:var(--color-text)}.t-card-title{font-size:var(--t-lg);font-weight:var(--w-semi);letter-spacing:-.01em;line-height:var(--lh-snug);color:var(--color-text)}.t-body-lg{font-size:var(--t-md);font-weight:var(--w-medium);line-height:var(--lh-relaxed);letter-spacing:-.005em;color:var(--color-text-soft)}.t-body{font-size:var(--t-base);font-weight:var(--w-medium);line-height:var(--lh-relaxed);color:var(--color-text-soft)}.t-small{font-size:var(--t-sm);font-weight:var(--w-medium);line-height:var(--lh-normal);color:var(--color-text-muted)}
