:root{--paper: #fafaf7;--ink: #111111;--ink-soft: #6a6a68;--rule: #e6e4dd;--accent: #1E40AF;--font-display: "Fraunces", "Times New Roman", serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--fraunces-display: "opsz" 144, "SOFT" 50;--fraunces-mid: "opsz" 72, "SOFT" 30;--fraunces-text: "opsz" 24, "SOFT" 0;--display-tracking: -.035em;--t-display: clamp(3.5rem, 13vw, 10rem);--t-h2: clamp(1.5rem, 3.5vw, 2.4rem);--t-h3: clamp(1.15rem, 2vw, 1.45rem);--t-body: clamp(1.05rem, 1.5vw, 1.2rem);--t-cta: clamp(1.5rem, 3vw, 2.2rem);--t-label: 12px;--t-eyebrow: 11px;--gutter: clamp(1.25rem, 4vw, 2.5rem);--max-w: 720px;--max-w-wide: 1400px;--hero-intensity: 1}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,canvas,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--paper)}.skip-link{position:absolute;top:-100px;left:1rem;background:var(--ink);color:var(--paper);padding:.5rem .75rem;font-size:13px;z-index:100;transition:top .2s ease}.skip-link:focus{top:1rem}*:focus{outline:none}*:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.now-cta:focus-visible,.work-card-link:focus-visible{outline-offset:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.subpage{position:relative;z-index:2;background:var(--paper);min-height:100svh}.page-header{padding:clamp(7rem,14vw,11rem) var(--gutter) clamp(2rem,4vw,3.5rem);max-width:var(--max-w-wide);margin:0 auto;position:relative;z-index:2}.page-header-inner{max-width:920px;margin:0 auto}.page-eyebrow{font-family:var(--font-body);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}.page-title{font-family:var(--font-display);font-variation-settings:var(--fraunces-display);font-weight:400;font-size:clamp(2.5rem,6vw,4.5rem);line-height:.95;letter-spacing:-.025em;color:var(--ink)}.page-intro{margin-top:1.25rem;font-size:clamp(1rem,1.4vw,1.15rem);color:var(--ink-soft);max-width:38em;line-height:1.55}.page-body{position:relative;z-index:2;background:var(--paper);padding:clamp(2rem,5vw,4rem) var(--gutter) clamp(4rem,8vw,6rem)}.page-body-inner{max-width:920px;margin:0 auto}.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:1rem var(--gutter);display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-family:var(--font-body);font-size:13px;letter-spacing:.02em;background:transparent;transition:background .25s ease,border-color .25s ease;border-bottom:1px solid transparent}.site-nav.is-scrolled{background:#fafaf7eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom-color:var(--rule)}.nav-brand{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-weight:400;font-size:17px;letter-spacing:-.01em;color:var(--ink);line-height:1;transition:opacity .3s ease,visibility .3s ease}.nav-brand a{color:inherit;border-bottom:1px solid transparent;transition:border-color .15s ease}.nav-brand a:hover{border-bottom-color:var(--ink)}.site-nav.is-home .nav-brand{opacity:0;visibility:hidden}.site-nav.is-home.is-scrolled .nav-brand{opacity:1;visibility:visible}.nav-links{display:flex;gap:clamp(1rem,2.5vw,1.75rem);list-style:none;margin:0;padding:0}.nav-links a{color:var(--ink-soft);border-bottom:1px solid transparent;padding-bottom:.15rem;transition:color .15s ease,border-color .15s ease}.nav-links a:hover{color:var(--ink)}.nav-links a.is-current{color:var(--ink);border-bottom-color:var(--accent)}.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5rem);max-width:var(--max-w-wide);margin:0 auto;overflow:hidden}.hero--quiet{min-height:0;padding:0;display:block}.hero-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;display:block;pointer-events:none}.hero-content{position:relative;z-index:1}.hero-mark{width:56px;height:56px;margin-bottom:clamp(1.5rem,3vw,2.5rem);border-radius:50%;display:block}.hero h1{font-family:var(--font-display);font-weight:400;font-size:var(--t-display);line-height:.9;letter-spacing:var(--display-tracking);font-variation-settings:var(--fraunces-display);color:var(--ink)}.hero .subtitle{margin-top:clamp(1.5rem,3vw,2rem);font-size:clamp(13px,1.2vw,15px);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.hero .scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-soft);opacity:.6;animation:scroll-fade 3s ease-in-out infinite}@keyframes scroll-fade{0%,to{opacity:.3}50%{opacity:.8}}@media(prefers-reduced-motion:reduce){.hero .scroll-hint{animation:none;opacity:.5}}.site-footer{position:relative;z-index:2;background:var(--paper);padding:clamp(2rem,4vw,3rem) var(--gutter);border-top:1px solid var(--rule);font-family:var(--font-body);font-size:13px;color:var(--ink-soft)}.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:1.5rem;justify-content:space-between}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem}.footer-links a{color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.footer-links a:hover{color:var(--ink);border-bottom-color:var(--ink)}.footer-meta{font-size:12px;letter-spacing:.04em;opacity:.7}.bio,.pull-quote{position:relative;z-index:2;background:var(--paper)}.bio{padding:clamp(6rem,15vw,12rem) var(--gutter) clamp(3rem,6vw,5rem)}.bio-inner{max-width:var(--max-w);margin:0 auto}.section-label{font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.5rem}.bio-portrait{float:right;width:clamp(200px,34%,300px);margin:.35rem 0 1.25rem 2rem;shape-outside:margin-box}.bio-portrait img{display:block;width:100%;height:auto}@media(max-width:640px){.bio-portrait{float:none;width:min(280px,70%);margin:0 0 2rem}}.bio-para{font-size:clamp(.92rem,1.05vw,1.02rem);line-height:1.6;margin-bottom:1rem;max-width:40em;color:var(--ink)}.bio-para:last-child{margin-bottom:0}.bio-body p{font-size:clamp(.92rem,1.05vw,1.02rem);line-height:1.6;margin-bottom:1rem;max-width:40em;color:var(--ink)}.bio-body p:last-child{margin-bottom:0}.accent-link{color:var(--accent);border-bottom:1px solid var(--accent);transition:opacity .15s ease}.accent-link:hover{opacity:.7}.pull-quote{padding:clamp(4rem,10vw,8rem) var(--gutter)}.quote{max-width:920px;margin:0 auto;font-family:var(--font-display);font-variation-settings:var(--fraunces-mid);font-weight:400;font-size:var(--t-h2);line-height:1.25;letter-spacing:-.01em;color:var(--ink)}.quote-word{display:inline-block;white-space:pre}.quote-word.accent{color:var(--accent)}.reveal,.quote-word{opacity:1;transform:none}@supports (animation-timeline: view()){.reveal,.bio-body p{opacity:0;transform:translateY(20px);animation:reveal-in linear both;animation-timeline:view();animation-range:entry 5% cover 30%}.quote-word{opacity:0;transform:translateY(.25em);animation:word-reveal linear both;animation-timeline:view();animation-range:entry calc(var(--i) * 1.2%) cover calc(15% + var(--i) * 1.2%)}}@keyframes reveal-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes word-reveal{0%{opacity:0;transform:translateY(.25em)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.reveal,.quote-word,.bio-body p{animation:none!important;opacity:1!important;transform:none!important}}.subpage .bio{padding-top:0}.bio-short[data-astro-cid-kh7btl4r]{position:relative;z-index:2;background:var(--paper);padding:clamp(1.5rem,4vw,3rem) var(--gutter) 0}.bio-short-inner[data-astro-cid-kh7btl4r]{max-width:var(--max-w);margin:0 auto}.bio-short-label[data-astro-cid-kh7btl4r]{font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1rem}.bio-short-text[data-astro-cid-kh7btl4r]{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.4;letter-spacing:-.01em;max-width:22em;color:var(--ink)}.bio-short-text[data-astro-cid-kh7btl4r] em[data-astro-cid-kh7btl4r]{font-style:italic}.headshots[data-astro-cid-kh7btl4r]{position:relative;z-index:2;background:var(--paper);padding:clamp(2rem,5vw,4rem) var(--gutter) clamp(1rem,3vw,2rem)}.headshots-inner[data-astro-cid-kh7btl4r]{max-width:var(--max-w);margin:0 auto}.headshots-label[data-astro-cid-kh7btl4r]{font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:1.25rem}.headshots-grid[data-astro-cid-kh7btl4r]{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.75rem,2vw,1.25rem)}.headshots-grid[data-astro-cid-kh7btl4r] figure[data-astro-cid-kh7btl4r]{margin:0}.headshots-grid[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]{display:block;border-bottom:none}.headshots-grid[data-astro-cid-kh7btl4r] img[data-astro-cid-kh7btl4r]{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;object-position:center;transition:opacity .15s ease}.headshots-grid[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]:hover img[data-astro-cid-kh7btl4r],.headshots-grid[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]:focus-visible img[data-astro-cid-kh7btl4r]{opacity:.85}.headshots-grid[data-astro-cid-kh7btl4r] a[data-astro-cid-kh7btl4r]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.headshots-note[data-astro-cid-kh7btl4r]{margin-top:1rem;font-family:var(--font-body);font-size:13px;color:var(--ink-soft)}.cv{position:relative;z-index:2;background:var(--paper);padding:clamp(4rem,10vw,8rem) var(--gutter)}.cv-inner{max-width:920px;margin:0 auto}.cv-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);padding-bottom:1.5rem;border-bottom:1px solid var(--rule)}.cv-title{font-family:var(--font-display);font-variation-settings:var(--fraunces-mid);font-weight:400;font-size:var(--t-h2);line-height:1;letter-spacing:-.015em;color:var(--ink)}.cv-meta{font-size:13px;color:var(--ink-soft);letter-spacing:.02em}.cv-meta a{color:var(--accent);border-bottom:1px solid var(--accent)}.cv-list{list-style:none;padding:0;margin:0}.cv-entry{display:grid;grid-template-columns:90px 1fr auto;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule);transition:background .15s ease}.cv-entry:hover{background:#00000004}.cv-tag{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);align-self:start;padding-top:.4em}.cv-tag.project{color:var(--ink)}.cv-tag.role{color:var(--ink-soft)}.cv-tag.dj{color:var(--accent)}.cv-venue{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-weight:400;font-size:clamp(1.05rem,1.6vw,1.25rem);letter-spacing:-.01em;color:var(--ink);line-height:1.25}.cv-venue a{border-bottom:1px solid transparent;transition:border-color .15s ease}.cv-venue a:hover{border-bottom-color:var(--ink)}.cv-topic{display:block;font-family:var(--font-body);font-size:13px;color:var(--ink-soft);margin-top:.25rem;letter-spacing:0;font-variation-settings:normal}.cv-location{font-size:13px;color:var(--ink-soft);letter-spacing:.02em;white-space:nowrap;text-align:right}.cv-year{display:block;font-size:11px;color:var(--ink-soft);opacity:.7;margin-top:.15rem}.cv-coming{padding:1.5rem 0;font-size:13px;color:var(--ink-soft);font-style:italic}@media(max-width:560px){.cv-entry{grid-template-columns:70px 1fr;grid-template-rows:auto auto}.cv-location{grid-column:2;text-align:left}}@supports (animation-timeline: view()){.cv-entry{opacity:0;transform:translateY(12px);animation:cv-row-reveal linear both;animation-timeline:view();animation-range:entry 0% cover 25%}}@keyframes cv-row-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.cv-entry{animation:none!important;opacity:1!important;transform:none!important}}.subpage .cv .cv-header{display:none}.subpage .cv{padding-top:0}.case-meta{display:grid;grid-template-columns:130px 1fr;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-soft)}.case-meta dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding-top:.15em}.case-meta dd{margin:0;color:var(--ink)}.case-body{max-width:38em;margin:0 auto}.case-body p{font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.6;margin-bottom:1.25rem;color:var(--ink)}.case-body p:last-child{margin-bottom:0}.case-body h2{font-family:var(--font-display);font-variation-settings:var(--fraunces-mid);font-weight:400;font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:-.015em;line-height:1.1;margin:2.5rem 0 1rem;color:var(--ink)}.case-body a{color:var(--accent);border-bottom:1px solid var(--accent)}.case-projects{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:1rem}.case-project{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:1rem 0;border-top:1px solid var(--rule)}.case-projects li:last-child{border-bottom:1px solid var(--rule)}.case-project-name{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-size:clamp(1rem,1.4vw,1.15rem);letter-spacing:-.01em;color:var(--ink)}.case-project-name a{color:inherit;border-bottom:1px solid var(--rule);transition:color .15s ease,border-color .15s ease}.case-project-name a:hover{color:var(--accent);border-bottom-color:var(--accent)}.case-project-desc{display:block;font-family:var(--font-body);font-size:13px;color:var(--ink-soft);margin-top:.25rem;line-height:1.5}.case-project-period{font-size:12px;letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap}.case-body .case-project-desc p,.case-body .case-figure figcaption p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-family:inherit}.case-next{margin-top:clamp(3rem,6vw,5rem);padding-top:2rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.case-next a{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--accent);border-bottom:1px solid var(--accent)}.case-stub{max-width:38em;margin:0 auto;padding:2rem 0;font-size:14px;color:var(--ink-soft);font-style:italic;line-height:1.6}.case-figure{margin:2.75rem 0}.case-figure img{width:100%;height:auto;display:block}.case-figure figcaption{margin-top:.7rem;font-family:var(--font-body);font-size:12px;line-height:1.55;color:var(--ink-soft)}.case-figure figcaption strong{color:var(--ink);font-weight:500}.case-figure figcaption a{color:var(--accent);border-bottom:1px solid var(--accent);white-space:nowrap}.case-figure-wide{width:min(880px,92vw);margin-left:50%;transform:translate(-50%)}.work-list{list-style:none;padding:0;margin:0}.work-card{display:grid;grid-template-columns:70px 1fr auto;gap:clamp(1rem,2.5vw,2rem);align-items:baseline;padding:clamp(1.5rem,3vw,2.25rem) 0;border-top:1px solid var(--rule);transition:background .15s ease}.work-list .work-card:last-child{border-bottom:1px solid var(--rule)}.work-card-link{display:contents;color:inherit;text-decoration:none}.work-card:hover{background:#00000004}.work-num{font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--ink-soft);padding-top:.7em;align-self:start}.work-body{min-width:0}.work-org{font-family:var(--font-display);font-variation-settings:var(--fraunces-mid);font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.05;letter-spacing:-.02em;color:var(--ink);margin-bottom:.4rem}.work-role{font-family:var(--font-body);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.75rem}.work-blurb{font-family:var(--font-body);font-size:clamp(.92rem,1.05vw,1rem);line-height:1.55;color:var(--ink);max-width:38em}.work-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;padding-top:.7em;white-space:nowrap}.work-period{font-family:var(--font-body);font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.work-arrow{font-family:var(--font-body);font-size:16px;color:var(--accent);transition:transform .15s ease}.work-card:hover .work-arrow{transform:translate(4px)}.work-status{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);opacity:.7;font-style:italic}@media(max-width:640px){.work-card{grid-template-columns:50px 1fr;grid-template-rows:auto auto}.work-meta{grid-column:2;align-items:flex-start;flex-direction:row;gap:1rem}}@supports (animation-timeline: view()){.work-card{opacity:0;transform:translateY(16px);animation:work-card-in linear both;animation-timeline:view();animation-range:entry 0% cover 30%}}@keyframes work-card-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.work-card{animation:none!important;opacity:1!important;transform:none!important}}.now{position:relative;z-index:2;background:var(--paper);padding:clamp(4rem,10vw,8rem) var(--gutter) clamp(4rem,8vw,6rem)}.now-inner{max-width:var(--max-w);margin:0 auto}.now-roles{display:grid;gap:clamp(1.5rem,3vw,2.25rem);margin:clamp(1.5rem,3vw,2.5rem) 0 clamp(3rem,6vw,5rem)}.role{display:grid;grid-template-columns:120px 1fr;gap:1.25rem;align-items:baseline;padding:1.25rem 0;border-top:1px solid var(--rule)}.role:last-child{border-bottom:1px solid var(--rule)}.role-title{font-size:var(--t-label);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);align-self:start;padding-top:.4em}.role-org{font-family:var(--font-display);font-variation-settings:var(--fraunces-text);font-weight:400;font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:-.015em;color:var(--ink);line-height:1.2}a.role-org{border-bottom:1px solid transparent;transition:border-color .15s ease}a.role-org:hover{border-bottom-color:var(--ink)}.role-desc{display:block;font-family:var(--font-body);font-size:14px;color:var(--ink-soft);margin-top:.4rem;line-height:1.45}.now-cta{display:inline-flex;align-items:baseline;gap:.6rem;font-family:var(--font-display);font-variation-settings:var(--fraunces-display);font-weight:400;font-size:clamp(2rem,5.5vw,3.5rem);letter-spacing:-.025em;color:var(--accent);text-decoration:none;line-height:1;padding-bottom:.15em;border-bottom:2px solid var(--accent);transition:opacity .2s ease,gap .2s ease}.now-cta:hover{opacity:.75;gap:.9rem}.now-cta .arrow{font-family:var(--font-body);font-weight:400;font-size:.7em}@media(max-width:560px){.role{grid-template-columns:1fr;gap:.4rem}.role-title{padding-top:0}}.home-intro[data-astro-cid-j7pv25f6]{position:relative;z-index:2;background:var(--paper);padding:0 var(--gutter) clamp(2rem,5vw,4rem)}.home-intro-inner[data-astro-cid-j7pv25f6]{max-width:920px;margin:0 auto}.intro-bio[data-astro-cid-j7pv25f6]{font-family:var(--font-body);font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.5;color:var(--ink);max-width:34em}.intro-bio[data-astro-cid-j7pv25f6] p{margin:0}.intro-bio[data-astro-cid-j7pv25f6] a{color:var(--accent);border-bottom:1px solid var(--accent);transition:opacity .15s ease}.intro-bio[data-astro-cid-j7pv25f6] a:hover{opacity:.7}.intro-social[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 0;margin-top:1.25rem;font-size:13px}.intro-social[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.intro-social[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:hover{color:var(--accent);border-bottom-color:var(--accent)}.intro-social[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:not(:last-child):after{content:"·";color:var(--ink-soft);margin:0 .6rem;border-bottom:none}.home-work[data-astro-cid-j7pv25f6]{position:relative;z-index:2;background:var(--paper);padding:clamp(3rem,6vw,5rem) var(--gutter)}.home-work-inner[data-astro-cid-j7pv25f6]{max-width:920px;margin:0 auto}.home-work-header[data-astro-cid-j7pv25f6]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:clamp(1.5rem,3vw,2.5rem)}.home-work-all[data-astro-cid-j7pv25f6]{font-size:13px;color:var(--accent);border-bottom:1px solid transparent;transition:border-color .15s ease}.home-work-all[data-astro-cid-j7pv25f6]:hover{border-bottom-color:var(--accent)}
