:root{color-scheme:dark;--color-bg: #252724;--color-surface: #2e302c;--color-text: #f2f0ea;--color-muted: #b8b6ac;--color-dim: #aaa99f;--color-accent: #d0d2b4;--color-border: #45463f;--font-display: Manrope, Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--content-width: 1080px;--header-height: 76px;--space-section: clamp(64px, 7vw, 88px);font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--color-bg);font-size:16px}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.content-width{width:min(var(--content-width),calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px 16px;transform:translateY(-150%);background:var(--color-accent);color:var(--color-bg)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:10;top:0;border-bottom:1px solid rgb(208 210 180 / 10%);background:#252724f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.scroll-progress{position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:var(--color-accent);transform:scaleX(var(--scroll-progress, 0));transform-origin:left;pointer-events:none}.header-inner{width:min(var(--content-width),calc(100% - 64px));height:var(--header-height);margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{display:block;width:42px;height:42px;flex:0 0 auto}.brand-name{color:var(--color-text);font-size:13px;font-weight:550;letter-spacing:.015em}.site-nav{display:flex;align-items:center;gap:clamp(18px,3vw,38px)}.site-nav a{position:relative;padding-block:10px;color:var(--color-muted);font-size:14px;text-decoration:none;transition:color .2s ease}.site-nav a:after{position:absolute;right:0;bottom:3px;left:0;height:1px;background:var(--color-accent);content:"";transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.site-nav a:hover,.site-nav a[aria-current=location]{color:var(--color-text)}.site-nav a:hover:after,.site-nav a[aria-current=location]:after{transform:scaleX(1)}.menu-toggle{display:none}#top{scroll-margin-top:var(--header-height)}.hero{position:relative;min-height:0;padding-block:112px 96px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.hero-main{max-width:770px}.hero-kicker,.eyebrow,.section-label,.work-number,.role-dates,.company-dates{font-family:var(--font-mono);text-transform:uppercase}.hero-kicker{margin:0 0 24px;color:var(--color-accent);font-size:12px;letter-spacing:.11em}h1{max-width:820px;margin:0;font-family:var(--font-display);font-size:clamp(64px,7vw,84px);font-weight:600;line-height:1;letter-spacing:-.065em}.hero-accent-line{display:block;width:82px;height:2px;margin-top:28px;background:var(--color-accent);transform-origin:left}.hero-period{color:var(--color-accent)}.hero-title{margin:21px 0 0;color:var(--color-text);font-size:25px;font-weight:500;letter-spacing:-.035em}.hero-intro{max-width:620px;margin:19px 0 0;color:var(--color-muted);font-size:17px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:22px;padding:0 18px;border:1px solid transparent;font-size:14px;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.button-primary{background:var(--color-accent);color:#252724}.button-primary:hover{transform:translateY(-2px);background:#e1e2cb}.text-link{display:inline-flex;align-items:center;gap:11px;color:var(--color-muted);font-size:14px;text-decoration:none;transition:color .2s ease}.text-link:hover{color:var(--color-accent)}.section-rule{height:1px;background:var(--color-border)}.section{display:grid;grid-template-columns:150px minmax(0,1fr);gap:42px;padding-block:82px;scroll-margin-top:calc(var(--header-height) + 30px);border-bottom:1px solid var(--color-border)}.section-label{display:flex;align-items:flex-start;gap:12px;padding-top:10px;color:var(--color-accent);font-size:11px;letter-spacing:.06em;white-space:nowrap}.label-line{width:26px;height:1px;margin-top:5px;background:var(--color-border)}.section-body{min-width:0}h2{margin:0;font-family:var(--font-display);font-size:clamp(32px,3.5vw,42px);font-weight:600;line-height:1.15;letter-spacing:-.045em}.about-body{display:grid;grid-template-columns:minmax(200px,.68fr) minmax(0,1fr);gap:44px}.prose{max-width:650px}.prose p{margin:0 0 17px;color:var(--color-muted);font-size:16px;line-height:1.7}.prose p:last-child{margin-bottom:0}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-intro>p{max-width:340px;margin:0 0 4px;color:var(--color-muted);font-size:14px;line-height:1.65}.timeline{border-top:1px solid var(--color-border)}.timeline-item{position:relative;padding:27px 0 31px 22px;border-bottom:1px solid var(--color-border)}.timeline-item:before{position:absolute;top:35px;left:0;width:5px;height:5px;border-radius:50%;background:var(--color-accent);content:""}.company-heading,.role-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.company-heading h3,.role-heading h3{margin:0;font-size:19px;font-weight:550;letter-spacing:-.025em}.company-dates,.role-dates{margin:0;color:var(--color-accent);font-size:12px;letter-spacing:.025em;white-space:nowrap}.role-entry{padding-top:16px}.role-entry+.role-entry{margin-top:18px;padding-top:22px;border-top:1px dashed rgb(69 70 63 / 75%)}.role-heading h3{font-size:16px}.role-type{display:inline-block;margin:5px 0 0;color:var(--color-muted);font-size:13px}.role-location{margin:8px 0 0;color:var(--color-muted);font:12px var(--font-mono)}.role-description{max-width:690px;margin:12px 0 0;color:var(--color-muted);font-size:15px;line-height:1.65}.responsibilities{display:grid;gap:6px;margin:12px 0 0;padding:0;list-style:none;color:var(--color-muted);font-size:13px;line-height:1.6}.responsibilities li{position:relative;padding-left:14px}.responsibilities li:before{position:absolute;left:0;color:var(--color-dim);content:"·"}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 0;padding:0;list-style:none}.tag-list li{padding:7px 9px;border:1px solid var(--color-border);color:var(--color-muted);font-size:13px;line-height:1.2}.tag-list--small{gap:7px;margin-top:13px}.tag-list--small li{padding:6px 8px;color:var(--color-muted);font-size:12px}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 42px}.skill-group{min-height:0;padding:0 0 20px;border:0;border-bottom:1px solid var(--color-border)}.skill-group h3{margin:0;color:var(--color-text);font-size:16px;font-weight:550}.skill-group .tag-list{gap:7px;margin-top:13px}.skill-group .tag-list li{background:transparent}.work-list{border-top:1px solid var(--color-border)}.work-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:22px 0 24px;border-bottom:1px solid var(--color-border);transition:background .2s ease,padding .2s ease}.work-item:hover{padding-right:8px;padding-left:8px;background:#ffffff04}.work-number{padding-top:2px;color:var(--color-accent);font-size:11px}.work-copy .eyebrow{margin:0 0 8px;color:var(--color-muted);font-size:11px;letter-spacing:.08em}.work-copy h3{margin:0;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:-.025em;transition:color .2s ease,transform .2s ease}.work-item:hover .work-copy h3{color:var(--color-accent);transform:translate(3px)}.work-copy>p:not(.eyebrow){max-width:680px;margin:9px 0 0;color:var(--color-muted);font-size:14px;line-height:1.65}.contact-section{padding-bottom:112px;border-bottom:0}.contact-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:45px;align-items:end}.contact-body--pending{grid-template-columns:1fr}.contact-body .eyebrow{margin:0 0 16px;color:var(--color-accent);font-size:11px;letter-spacing:.1em}.contact-body h2{font-size:clamp(48px,5.2vw,62px)}.contact-description{max-width:560px;margin:16px 0 0;color:var(--color-muted);font-size:16px;line-height:1.7}.contact-links{display:grid;gap:8px}.contact-link{display:flex;justify-content:space-between;padding:14px 16px;border:1px solid var(--color-accent);color:var(--color-bg);background:var(--color-accent);font-size:14px;font-weight:550;text-decoration:none;transition:color .2s ease,background .2s ease}.contact-link:hover{color:var(--color-text);background:transparent}.contact-link:not(:first-child){border-color:var(--color-border);color:var(--color-muted);background:transparent}.contact-link:not(:first-child):hover{border-color:var(--color-accent);color:var(--color-accent)}.work-item--featured .work-copy .eyebrow{color:var(--color-accent)}.work-item--featured .work-copy h3{font-size:22px}.prose p:first-child{color:var(--color-text)}.contact-pending{margin:0;padding-block:12px;border-bottom:1px solid var(--color-border);color:var(--color-dim);font-size:11px;line-height:1.7}.site-footer{border-top:1px solid var(--color-border)}.footer-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--color-muted);font-size:12px}.footer-inner a{color:var(--color-muted);text-decoration:none}.footer-inner a:hover{color:var(--color-accent)}@media(max-width:800px){:root{--header-height: 66px}.content-width,.header-inner{width:min(100% - 44px,var(--content-width))}.hero{padding-block:92px 78px}.section{grid-template-columns:125px minmax(0,1fr);gap:28px;padding-block:70px}.section-label{gap:8px;font-size:10px}.label-line{width:18px}.about-body{grid-template-columns:1fr;gap:24px}.section-intro{display:block}.section-intro>p{margin-top:12px}}@media(max-width:600px){.content-width,.header-inner{width:calc(100% - 40px)}.brand-name{font-size:12px}.menu-toggle{position:relative;z-index:2;display:none;width:42px;height:42px;place-items:center;border:1px solid var(--color-border);background:transparent;color:var(--color-text)}.js-enabled .menu-toggle{display:grid}.menu-icon,.menu-icon:before,.menu-icon:after{display:block;width:15px;height:1px;background:currentColor}.menu-icon{position:relative}.menu-icon:before,.menu-icon:after{position:absolute;left:0;content:""}.menu-icon:before{top:-5px}.menu-icon:after{top:5px}.site-nav{display:flex;flex-wrap:nowrap;gap:5px 16px;max-width:calc(100vw - 180px);overflow-x:auto;padding-block:8px}.site-nav a{flex:0 0 auto;white-space:nowrap}.js-enabled .site-nav{position:absolute;top:calc(var(--header-height) - 1px);right:0;left:0;display:none;padding:8px 20px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.js-enabled .site-nav.is-open{display:grid;gap:0;max-width:none;overflow:visible}.site-nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid rgb(69 70 63 / 60%);font-size:14px}.site-nav a:after{display:none}.hero{min-height:0;display:block;padding-block:76px 68px}.hero-kicker{margin-bottom:21px;font-size:11px}h1{font-size:clamp(49px,12vw,64px)}.hero-title{margin-top:19px;font-size:22px}.hero-intro{max-width:520px;margin-top:18px;font-size:16px}.hero-actions{flex-wrap:wrap;gap:18px;margin-top:25px}.section{display:block;padding-block:58px;scroll-margin-top:calc(var(--header-height) + 18px)}.section-label{margin-bottom:22px;font-size:10px}.label-line{width:26px}h2{font-size:34px}.about-body{gap:20px}.prose p{font-size:15px}.section-intro{margin-bottom:25px}.section-intro>p{font-size:14px}.timeline-item{padding-left:17px}.company-heading{display:block}.company-dates{display:block;margin-top:8px}.company-heading h3{font-size:18px}.role-heading{display:block}.role-heading h3{font-size:16px}.role-dates{display:block;margin-top:6px;font-size:11px;text-align:left}.role-description{font-size:14px}.responsibilities{font-size:13px}.skills-grid{grid-template-columns:1fr;gap:22px}.skill-group{padding-bottom:17px}.work-item{grid-template-columns:27px minmax(0,1fr);gap:8px;padding-block:20px}.work-copy h3{font-size:17px}.work-item--featured .work-copy h3{font-size:18px}.work-copy>p:not(.eyebrow){font-size:14px}.contact-body{grid-template-columns:1fr;gap:25px}.contact-section{padding-bottom:66px}.contact-body h2{font-size:50px}.footer-inner{min-height:83px;flex-wrap:wrap;justify-content:flex-start;gap:7px 18px;padding-block:18px}.footer-inner a{margin-left:auto}}@media(max-width:370px){.content-width,.header-inner{width:calc(100% - 32px)}h1{font-size:49px}.hero-actions{gap:15px}.button{gap:13px;padding-inline:13px}.role-heading{display:block}.role-dates{margin-top:8px;text-align:left}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-kicker,.hero h1,.hero-accent-line,.hero-title,.hero-intro,.hero-actions{animation:rise-in .62s cubic-bezier(.2,.7,.2,1) both}.hero h1{animation-delay:.05s}.hero-accent-line{animation-name:line-in;animation-delay:.16s}.hero-title{animation-delay:.2s}.hero-intro{animation-delay:.25s}.hero-actions{animation-delay:.3s}@keyframes line-in{0%{opacity:.3;transform:scaleX(.15)}to{opacity:1;transform:scaleX(1)}}.section--reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.section--reveal.is-visible{opacity:1;transform:translateY(0)}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
