@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,figure,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer base{:root{--color-brand:#8b1e2d;--color-ink:#1a1d21;--color-slate:#6b6f76;--color-canvas:#fff;--font-display:"Rouben", "Inter Variable", "Inter", "Helvetica Neue", Arial, sans-serif;--font-ui:"Inter Variable", "Inter", "Helvetica Neue", Arial, sans-serif;--text-h1:clamp(3rem, 6vw, 4.5rem);--lh-h1:1.05;--text-h2:clamp(2rem, 4vw, 3rem);--lh-h2:1.15;--text-h3:clamp(1.375rem, 2.4vw, 1.75rem);--lh-h3:1.25;--text-body:clamp(1rem, 1vw, 1.125rem);--text-lead:clamp(1.125rem, 1.4vw, 1.25rem);--text-label:.8125rem;--lh-label:1.3;--tracking-label:.08em;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:2.5rem;--space-6:3rem;--space-8:4rem;--space-12:6rem;--space-16:8rem;--space-20:10rem;--container-wide:110rem;--container-main:92rem;--gutter-wide:1.5rem;--radius-card:.5rem;--motion-fast:.15s;--motion-base:.24s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--z-sticky:10;--color-optical-shadow:#0000008c}.theme-ink{--bg:var(--color-ink);--fg:var(--color-canvas);--fg-2:#fffc;--fg-3:#ffffffa8;--line:#ffffff24;--surface:#ffffff0a;--rule:var(--color-brand);--label-accent:var(--color-canvas);--focus:var(--color-canvas);background:var(--bg);color:var(--fg)}.theme-canvas{--bg:var(--color-canvas);--fg:var(--color-ink);--fg-2:#1a1d21d1;--fg-3:var(--color-slate);--line:#1a1d2124;--surface:#1a1d210a;--rule:var(--color-brand);--label-accent:var(--color-brand);--focus:var(--color-brand);background:var(--bg);color:var(--fg)}.theme-brand{--bg:var(--color-brand);--fg:var(--color-canvas);--fg-2:#ffffffdb;--fg-3:#fffc;--line:#ffffff4d;--surface:#ffffff0f;--rule:var(--color-canvas);--label-accent:var(--color-canvas);--focus:var(--color-canvas);background:var(--bg);color:var(--fg)}html{background:var(--color-ink);color-scheme:light dark}body{background:var(--color-ink);min-width:20rem;color:var(--color-canvas);font-family:var(--font-ui);font-size:var(--text-body);text-rendering:optimizelegibility;line-height:1.5}a{color:inherit;text-decoration:none}::selection{background:var(--color-brand);color:var(--color-canvas)}:focus-visible{outline:2px solid var(--focus,var(--color-canvas));outline-offset:4px}.container-wide,.container-main{width:min(100% - 3rem, var(--container-wide));margin-inline:auto}.container-main{max-width:var(--container-main)}.skip-link{z-index:99;padding:var(--space-1) var(--space-2);background:var(--color-canvas);color:var(--color-ink);font-weight:600;position:fixed;inset:1rem auto auto 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow,.hero__name{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--fg-2);font-size:var(--text-label);font-weight:600;line-height:var(--lh-label);letter-spacing:var(--tracking-label);text-transform:uppercase;display:flex}.eyebrow:before,.hero__name:before{content:"";flex:0 0 var(--space-6);background:var(--rule);height:2px}}@layer components{.site-header{z-index:var(--z-sticky);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:#1a1d21eb;position:fixed;inset:0 0 auto}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:5rem;display:flex}.lockup{padding-block:var(--space-1);flex-shrink:0;align-items:center;display:inline-flex}.lockup img{width:13.75rem;height:auto}.desktop-nav{font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;align-items:center;gap:clamp(1.25rem,2.4vw,3rem);font-weight:600;display:flex}.desktop-nav a{min-height:2.75rem;color:var(--fg-2);transition:color var(--motion-fast) var(--ease-standard);align-items:center;display:inline-flex;position:relative}.desktop-nav a:hover{color:var(--fg)}.desktop-nav a:after{content:"";background:var(--color-brand);transform-origin:0;height:2px;transition:transform var(--motion-base) var(--ease-standard);position:absolute;inset:auto 0 .25rem;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform:scaleX(1)}.mobile-nav{display:none}.text-link{align-items:center;gap:var(--space-1);width:fit-content;min-height:2.75rem;color:var(--fg);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;display:inline-flex;position:relative}.text-link:after{content:"";width:var(--space-6);background:var(--rule);height:2px;transition:width var(--motion-base) var(--ease-standard);position:absolute;inset:auto 0 .25rem}a.text-link:hover:after,a.text-link:focus-visible:after{width:100%}.text-link b{transition:transform var(--motion-base) var(--ease-standard);font-size:1rem}.text-link small{color:var(--fg-3);letter-spacing:var(--tracking-label);font-size:.75rem}.hero{min-height:100svh;display:grid;overflow:hidden}.hero__grid{min-height:100svh;padding-block:var(--space-16) var(--space-4);gap:var(--space-4) clamp(1rem, 2.3vw, 2.5rem);grid-template-rows:1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hero__content{z-index:2;grid-column:1/span 6;align-self:center;position:relative}.hero h1{max-width:9ch;font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--lh-h1);letter-spacing:-.01em;text-transform:uppercase}.hero__role{margin-top:var(--space-2);color:var(--fg);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.hero__statement{max-width:38rem;margin-block:var(--space-4);color:var(--fg-2);font-size:var(--text-lead);line-height:1.5}.hero__actions{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.hero__meta{gap:var(--space-3) clamp(2rem, 8vw, 8rem);padding-top:var(--space-3);border-top:1px solid var(--line);flex-wrap:wrap;grid-column:1/-1;display:flex}.hero__meta p,.contact-meta p{color:var(--fg-2);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.hero__meta span,.contact-meta span{color:var(--fg-3);letter-spacing:var(--tracking-label);margin-bottom:.25rem;font-size:.75rem;font-weight:600;display:block}.optical-stage{isolation:isolate;grid-column:7/-1;align-self:stretch;place-items:center;min-height:34rem;display:grid;position:relative}.optical-stage:before{content:"";aspect-ratio:1;filter:blur(14px);background:radial-gradient(circle at 48% 46%,#8b1e2d29,#0000 43%),radial-gradient(circle,#ffffff0d,#0000 68%);border-radius:50%;width:min(42vw,42rem);position:absolute}.optical-mark{aspect-ratio:1118/1150;width:min(33vw,32rem);filter:drop-shadow(0 2.75rem 3.4rem var(--color-optical-shadow));animation:optical-arrival 1.1s var(--ease-standard) both;will-change:transform;place-items:center;display:grid;position:relative}.optical-mark:before{content:"";z-index:-1;filter:blur(28px);opacity:.72;background:radial-gradient(at 62% 52%,#8b1e2d40,#8b1e2d0a 42%,#0000 70%),radial-gradient(at 38% 45%,#ffffff17,#0000 62%);animation:5.5s ease-in-out infinite optical-glow;position:absolute;inset:14% 6% 10%}.optical-mark:after{content:"";z-index:-1;pointer-events:none;opacity:.16;background:url(/media/smoked-optical-glass-ml-560.webp) 50%/100% 100% no-repeat;width:100%;height:100%;animation:9s ease-in-out 1.6s infinite optical-reflect;position:absolute;top:100%;left:0;transform:scaleY(-1);-webkit-mask:linear-gradient(#0000 55%,#000 100%);mask:linear-gradient(#0000 55%,#000 100%)}.optical-mark picture,.optical-mark img{width:100%;height:100%}.optical-mark picture{display:block}.optical-mark img{object-fit:contain}.optical-sheen{z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.9;background:linear-gradient(100deg,#0000 38%,#ffffff80 50%,#0000 62%) 0 0/260% 100% no-repeat;animation:9s ease-in-out 1.6s infinite optical-sheen;position:absolute;inset:0;-webkit-mask:url(/media/smoked-optical-glass-ml-mask.png) 50%/100% 100% no-repeat;mask:url(/media/smoked-optical-glass-ml-mask.png) 50%/100% 100% no-repeat}@keyframes optical-arrival{0%{opacity:0}to{opacity:1}}@keyframes optical-reflect{0%,to{opacity:.16}14%{opacity:.26}28%{opacity:.16}}@keyframes optical-sheen{0%{background-position:100% 0}28%{background-position:0 0}to{background-position:0 0}}@keyframes optical-glow{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:.9;transform:scale(1.035)}}.optical-note{right:0;bottom:var(--space-4);color:var(--fg-3);letter-spacing:var(--tracking-label);text-align:right;text-transform:uppercase;gap:.25rem;font-size:.75rem;display:grid;position:absolute}.optical-note span:first-child{color:var(--fg);font-weight:600}.section{padding-block:clamp(6rem,10vw,10rem);scroll-margin-top:4.5rem}.section+.section.theme-canvas,.theme-canvas+.theme-canvas{border-top:1px solid var(--line)}.section-heading{align-items:start;gap:var(--space-2) clamp(1rem, 2vw, 2.25rem);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:clamp(3rem,6vw,6rem);display:grid}.section-heading>.section-counter,.section-heading>.eyebrow{padding-top:.5em}.section-counter{color:var(--label-accent);font-size:var(--text-label);letter-spacing:var(--tracking-label);font-variant-numeric:tabular-nums;grid-column:1/span 2;font-weight:600}.section-counter span{color:var(--fg-3);font-weight:400}.section-heading .eyebrow{grid-column:3/span 3;margin:0}.section-heading h2{max-width:16ch;font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:var(--lh-h2);letter-spacing:-.005em;grid-column:6/-1}.work-layout{gap:clamp(4rem,7vw,6rem);display:grid}.work-stack{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2rem,4vw,4rem);display:grid}.project{gap:var(--space-3);align-content:start;display:grid}.project--wide{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(2rem,4vw,4rem)}.project-media{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-ink);overflow:hidden}.project-media picture{display:block}.project-media img{aspect-ratio:12/7;object-fit:cover;width:100%;height:auto;transition:transform var(--motion-base) var(--ease-standard);display:block}.project:hover .project-media img{transform:scale(1.015)}.project-copy{gap:var(--space-2);display:grid}.project-category{color:var(--label-accent);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.project h3{font-size:var(--text-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:-.01em}.project--wide h3{font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:var(--lh-h2);letter-spacing:-.005em}.project-description{max-width:38rem;color:var(--fg-2)}.project dl{gap:var(--space-1) var(--space-6);padding-top:var(--space-2);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.project dt{color:var(--fg-3);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.75rem;font-weight:600}.project dd{color:var(--fg-2);margin-top:.25rem;font-size:.875rem}.project-links{gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.project-links .text-link{white-space:nowrap}.supporting-work{border-top:1px solid var(--line);margin-top:clamp(5rem,9vw,8rem);padding-top:clamp(3rem,5vw,4rem)}.supporting-work__heading{align-items:start;gap:var(--space-2) clamp(1rem, 2vw, 2.25rem);grid-template-columns:repeat(12,minmax(0,1fr));margin-bottom:clamp(2.5rem,5vw,4rem);display:grid}.supporting-work__heading .eyebrow{grid-column:1/span 3;margin:0}.supporting-work__heading h3{max-width:22ch;font-size:var(--text-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:-.01em;grid-column:4/span 5}.supporting-work__heading>p:last-child{max-width:34rem;color:var(--fg-2);grid-column:9/-1;font-size:.9375rem}.supporting-work__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);display:grid}.supporting-card{grid-template-rows:auto 1fr;min-width:0;display:grid}.supporting-card__media{aspect-ratio:3/2;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-ink);position:relative;overflow:hidden}.supporting-card__media picture{width:100%;height:100%;display:block}.supporting-card__media img{object-fit:cover;width:100%;height:100%;transition:transform var(--motion-base) var(--ease-standard)}.supporting-card:hover .supporting-card__media img{transform:scale(1.015)}.supporting-card__copy{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-3);flex-direction:column;display:flex}.supporting-card__category{color:var(--label-accent);font-size:var(--text-label);font-weight:600;line-height:var(--lh-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.supporting-card h4{font-size:var(--text-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:-.01em}.supporting-card__description{max-width:38rem;color:var(--fg-2);font-size:.9375rem;line-height:1.6}.supporting-card .project-links{margin-top:var(--space-1)}.supporting-card__media--knob-noster:after{content:"";pointer-events:none;background:linear-gradient(#1a1d210d 22%,#1a1d21d1 100%);position:absolute;inset:0}.supporting-card__media--knob-noster img{filter:saturate(.78)contrast(1.04)}.knob-noster-preview{z-index:1;color:#f6efdc;pointer-events:none;grid-template-rows:auto 1fr;display:grid;position:absolute;inset:0}.knob-noster-preview__bar{color:#241c1c;background:#f6efdcf5;border-bottom:2px solid #241c1c;justify-content:space-between;align-items:center;gap:1rem;min-height:3.2rem;padding:.55rem .8rem;display:flex}.knob-noster-preview__brand{letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.55rem;font-size:.64rem;font-weight:800;display:flex}.knob-noster-preview__badge{aspect-ratio:1;color:#b54c2d;letter-spacing:0;border:1px solid #b54c2d;border-radius:50%;place-items:center;width:1.8rem;font-size:.52rem;font-style:normal;display:grid}.knob-noster-preview__nav{color:#6f6258;letter-spacing:.07em;text-transform:uppercase;gap:.75rem;font-size:.48rem;font-weight:750;display:flex}.knob-noster-preview__hero{align-self:end;padding:1rem}.knob-noster-preview__hero small{letter-spacing:.16em;text-transform:uppercase;margin-bottom:.45rem;font-size:.47rem;font-weight:700;display:block}.knob-noster-preview__hero strong{letter-spacing:-.045em;text-transform:uppercase;max-width:7ch;font-size:clamp(1.65rem,3.1vw,2.7rem);font-weight:850;line-height:.82;display:block}.experience-list{border-top:1px solid var(--line)}.experience-item{gap:var(--space-2) clamp(1.5rem, 3vw, 3rem);border-bottom:1px solid var(--line);grid-template-columns:3fr 4fr 5fr;padding-block:clamp(1.5rem,3vw,2.5rem);display:grid}.experience-item__years{color:var(--label-accent);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-variant-numeric:tabular-nums;font-weight:600}.experience-item__role h3{font-size:1.375rem;font-weight:700;line-height:var(--lh-h3);letter-spacing:-.01em}.experience-item__role p{margin-top:var(--space-1);color:var(--fg-2);font-size:.9375rem}.experience-item__role span{color:var(--fg-3)}.experience-item__points{color:var(--fg-2);padding-left:1.125rem;font-size:.9375rem;line-height:1.55;list-style:outside}.experience-item__points li::marker{color:var(--color-brand)}.experience-item__points li+li{margin-top:var(--space-1)}.education{gap:var(--space-2) clamp(1.5rem, 3vw, 3rem);grid-template-columns:3fr 9fr;margin-top:clamp(3rem,6vw,4rem);display:grid}.education .eyebrow{margin:0}.education ul{gap:var(--space-2);display:grid}.education li{gap:.25rem;display:grid}.education li strong{font-weight:600}.education li em{color:var(--fg-2);font-size:.9375rem;font-style:normal}.experience{overflow-x:clip}.archive{border-top:1px solid var(--line);margin-top:clamp(5rem,9vw,8rem);padding-top:clamp(3rem,5vw,4rem)}.archive .supporting-work__heading{margin-bottom:clamp(1.5rem,3vw,2rem)}.archive__controls{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.archive__count{color:var(--fg-3);font-size:.875rem}.archive__toggle{border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.archive__toggle[hidden]{display:none}.archive__toggle button{color:var(--fg-2);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard);background:0 0;border:0;border-radius:999px;padding:.45rem 1rem;font-size:.875rem;font-weight:600}.archive__toggle button[aria-pressed=true]{background:var(--color-ink);color:var(--color-canvas)}.archive__toggle button:not([aria-pressed=true]):hover{background:var(--surface);color:var(--fg)}.archive__decade+.archive__decade{margin-top:var(--space-6)}.archive__decade{padding-top:var(--space-3);border-top:1px solid var(--line)}.archive__decade-head{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.archive__decade-head h4{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600;line-height:1}.archive__decade-head span{color:var(--fg-3);font-size:.875rem}.archive__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem) clamp(1rem,2vw,2rem);display:grid}.archive-card{cursor:zoom-in;display:block}.archive__frame{aspect-ratio:4/3;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);transition:border-color var(--motion-base) var(--ease-standard);display:block;position:relative;overflow:hidden}.archive__frame picture{display:contents}.archive__frame img{inset:var(--space-2);width:calc(100% - 2 * var(--space-2));height:calc(100% - 2 * var(--space-2));object-fit:contain;transition:transform var(--motion-base) var(--ease-standard);position:absolute}.archive-card:hover .archive__frame,.archive-card:focus-visible .archive__frame{border-color:var(--color-brand)}.archive-card:hover .archive__frame img{transform:scale(1.025)}.archive-card--notice{cursor:default}.archive-card--notice .archive__frame{background:var(--color-ink);color:var(--color-canvas);border-color:#0000}.archive__notice{place-content:center;gap:var(--space-1);padding:var(--space-3);text-align:center;display:grid;position:absolute;inset:0}.archive__notice b{font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.25rem);font-weight:600;line-height:1}.archive__notice span{color:#fffc;font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600}.archive__notice:before{content:"";width:var(--space-6);height:2px;margin-bottom:var(--space-1);background:var(--color-brand);justify-self:center}.archive__badge{background:var(--color-ink);color:var(--color-canvas);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;position:absolute;top:.625rem;right:.625rem}.archive__caption{margin-top:var(--space-2);gap:.25rem;font-size:.9375rem;display:grid}.archive__caption strong{font-weight:600}.archive__caption span{color:var(--fg-2);font-size:.875rem}.archive__caption span+span{color:var(--fg-3);font-size:.8125rem}.archive__timeline{width:100vw;margin-inline:calc(50% - 50vw);position:relative}.archive__timeline[hidden],.archive__decades[hidden]{display:none}.archive__sticky{flex-direction:column;justify-content:center;gap:clamp(1.25rem,3vh,2.5rem);height:calc(100svh - 5rem);display:flex;position:sticky;top:5rem;overflow:hidden}.archive__hud{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.archive__year{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:clamp(4rem,9vw,8rem);font-weight:600;line-height:.85}.archive__hint{color:var(--fg-3);text-align:right;font-size:.875rem}.archive__track{width:max-content;padding-inline:max(1.5rem, calc((100vw - var(--container-main)) / 2));will-change:transform;align-items:flex-start;gap:clamp(1.5rem,3vw,3rem);display:flex}.archive__item{transition:opacity var(--motion-base) var(--ease-standard);flex:0 0 clamp(18rem,28vw,26rem)}.archive__item.is-offscreen{opacity:.45}.archive__marker{align-self:stretch;gap:var(--space-1);padding:0 var(--space-2) 0 var(--space-3);border-left:2px solid var(--color-brand);flex-direction:column;flex:none;display:flex}.archive__marker b{font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:600;line-height:1}.archive__marker span{color:var(--fg-3);font-size:.875rem}.archive__rail{height:2.75rem;position:relative}.archive__line,.archive__fill{height:2px;position:absolute;top:.5rem;left:0;right:0}.archive__line{background:var(--line)}.archive__fill{background:var(--color-brand);transform-origin:0;transform:scaleX(0)}.archive__tick{color:var(--fg-2);font-size:var(--text-label);letter-spacing:.04em;cursor:pointer;background:0 0;border:0;justify-items:center;gap:.35rem;padding:0;font-weight:600;display:grid;position:absolute;top:0;transform:translate(-50%)}.archive__tick:before{content:"";border:2px solid var(--fg-3);background:var(--color-canvas);width:.875rem;height:.875rem;transition:background-color var(--motion-fast), border-color var(--motion-fast);border-radius:50%}.archive__tick:first-of-type{justify-items:start;transform:none}.archive__tick:last-of-type{justify-items:end;transform:translate(-100%)}.archive__tick.is-current{color:var(--fg)}.archive__tick.is-current:before{border-color:var(--color-brand);background:var(--color-brand)}.archive-lightbox{border-radius:var(--radius-card);border:0;width:min(100vw - 2rem,90rem);max-width:none;height:min(100vh - 2rem,60rem);max-height:none;padding:0;overflow:hidden}.archive-lightbox::backdrop{background:#1a1d21db}.archive-lightbox__layout{grid-template-columns:minmax(0,1fr) 22rem;height:100%;display:grid}.archive-lightbox__stage{--pad-y:var(--space-6);--pad-x:var(--space-8);background:var(--surface);min-height:0;position:relative}.archive-lightbox__stage picture{display:contents}.archive-lightbox__img{inset:var(--pad-y) var(--pad-x);width:calc(100% - 2 * var(--pad-x));height:calc(100% - 2 * var(--pad-y));object-fit:contain;max-width:none;position:absolute}.archive-lightbox__nav,.archive-lightbox__close{border:1px solid var(--line);background:var(--color-ink);width:2.75rem;height:2.75rem;color:var(--color-canvas);cursor:pointer;border-radius:50%;place-items:center;font-size:1.25rem;display:grid}.archive-lightbox__nav:hover,.archive-lightbox__close:hover{border-color:var(--color-canvas)}.archive-lightbox__nav{position:absolute;top:50%;translate:0 -50%}.archive-lightbox__nav[hidden]{display:none}.archive-lightbox__nav--prev{left:var(--space-2)}.archive-lightbox__nav--next{right:var(--space-2)}.archive-lightbox__close{top:var(--space-2);right:var(--space-2);z-index:2;position:absolute}.archive-lightbox__info{gap:var(--space-2);padding:var(--space-6) var(--space-4) var(--space-4);border-left:1px solid var(--line);flex-direction:column;display:flex;overflow:auto}.archive-lightbox__info h2{font-size:var(--text-h3);font-weight:700;line-height:var(--lh-h3);letter-spacing:-.01em;padding-right:3rem}.archive-lightbox__meta,.archive-lightbox__desc{color:var(--fg-2);font-size:.9375rem}.archive-lightbox__desc{margin-top:var(--space-1)}.archive-lightbox__kind,.archive-lightbox__caption{color:var(--fg-3);font-size:.875rem}.archive-lightbox__thumbs{gap:var(--space-1);flex-wrap:wrap;display:flex}.archive-lightbox__thumbs:empty{display:none}.archive-lightbox__thumbs button{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:4px;width:4.5rem;padding:3px}.archive-lightbox__thumbs button[aria-current=true]{border:2px solid var(--color-canvas)}.archive-lightbox__thumbs img{object-fit:contain;width:100%;height:100%}.archive-lightbox__count{color:var(--fg-3);font-size:var(--text-label);margin-top:auto}::view-transition-group(archive-hero){animation-duration:.38s;animation-timing-function:var(--ease-standard)}.about-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:clamp(2rem,5vw,6rem);display:grid}.about-copy{padding-top:var(--space-4);grid-column:1/span 6}.about-copy p{max-width:38rem;margin-bottom:var(--space-3);color:var(--fg-2)}.about-copy .lead{color:var(--fg);font-size:var(--text-lead);line-height:1.45}.about-subhead{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-h3);font-weight:700;line-height:var(--lh-h3)}.how-list{margin:0 0 var(--space-3);max-width:38rem}.how-list li{padding-block:var(--space-2);border-top:1px solid var(--line);color:var(--fg-2);line-height:1.55}.how-list li:last-child{border-bottom:1px solid var(--line)}.how-list strong{color:var(--fg);font-weight:600}.about .text-link{margin-top:var(--space-2)}.about-portrait{border-radius:var(--radius-card);grid-column:8/-1;overflow:hidden}.about-portrait img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block}.skills-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skills-list li{gap:var(--space-2);padding:var(--space-3) clamp(0rem, 2vw, 1.5rem) var(--space-3) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;display:grid}.skills-list li:nth-child(odd){border-right:1px solid var(--line);padding-right:clamp(1.5rem,3vw,3rem)}.skills-list li:nth-child(2n){padding-left:clamp(1.5rem,3vw,3rem)}.skills-list h3{font-size:1.0625rem;font-weight:600}.skills-list p{align-items:center;gap:0 var(--space-1);color:var(--fg-3);flex-wrap:wrap;font-size:.9375rem;display:flex}.skills-list a{min-height:1.5rem;color:var(--fg-2);text-decoration:underline;text-decoration-color:var(--color-brand);text-underline-offset:.25em;align-items:center;text-decoration-thickness:1px;display:inline-flex}.skills-list a:hover,.skills-list a:focus-visible{color:var(--fg);text-decoration-thickness:2px}.contact{position:relative;overflow:hidden}.contact .section-heading h2{max-width:14ch}.contact-layout{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,5vw,5rem);display:grid;position:relative}.contact-intro{grid-column:1/span 5}.contact-intro .lead{max-width:32rem;color:var(--fg);font-size:var(--text-lead)}.contact-meta{gap:var(--space-4);margin-top:var(--space-6);display:flex}.contact-links{border-top:1px solid var(--line);grid-column:7/-1}.contact-links>div{border-bottom:1px solid var(--line);align-items:center;min-height:6rem;display:flex}.contact-links p{min-width:0;font-size:var(--text-h3);font-weight:600;line-height:var(--lh-h3)}.contact-direct-link{padding-block:var(--space-1);display:inline-block}.contact-direct-link:hover{text-underline-offset:.2em;text-decoration:underline 2px}.contact-links .contact-email{color:var(--fg-2);letter-spacing:normal;overflow-wrap:anywhere;margin-top:.25rem;font-size:1rem;font-weight:400;display:block}.not-found{min-height:100svh;padding-block:var(--space-16) var(--space-8);align-items:center;display:grid;overflow:hidden}.not-found__grid{gap:var(--space-4) clamp(1rem, 2.3vw, 2.5rem);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.not-found__code{color:var(--fg);font-family:var(--font-display);grid-column:1/span 4;font-size:clamp(5rem,13vw,12rem);font-weight:600;line-height:.9}.not-found__code:after{content:"";width:var(--space-8);height:4px;margin-top:var(--space-3);background:var(--color-brand);display:block}.not-found__copy{grid-column:6/-1}.not-found__copy h1{max-width:14ch;font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--lh-h1)}.not-found__copy>p:not(.eyebrow){max-width:38rem;margin-block:var(--space-4);color:var(--fg-2);font-size:var(--text-lead)}.case-header{align-items:center;gap:var(--space-4);min-height:5.75rem;padding-inline:var(--gutter-wide);border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;display:grid}.case-header .lockup{justify-self:start}.case-header>p{color:var(--fg-3);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.75rem;font-weight:600}.case-header nav{justify-self:end;gap:var(--space-3);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;display:flex}.case-header nav a{min-height:2.75rem;color:var(--fg-2);align-items:center;display:inline-flex}.case-header nav a:hover{color:var(--fg)}.portfolio-case__band>*{width:min(100% - 2 * var(--gutter-wide), 92rem);margin-inline:auto}.portfolio-case__hero{padding-block:clamp(4rem,8vw,8rem) clamp(3rem,6vw,6rem)}.portfolio-case__hero h1{max-width:14ch;font-family:var(--font-display);font-size:var(--text-h1);font-weight:600;line-height:var(--lh-h1);letter-spacing:-.01em;text-transform:uppercase}.portfolio-case__lead{max-width:22ch;margin-top:var(--space-3);color:var(--fg);font-family:var(--font-display);font-size:var(--text-h2);font-weight:400;line-height:var(--lh-h2)}.portfolio-case__intro{max-width:45rem;margin:var(--space-4) 0;color:var(--fg-2);font-size:var(--text-lead);line-height:1.6}.portfolio-case__hero dl{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));margin-top:clamp(3rem,6vw,5rem);display:grid}.portfolio-case__hero dl div{padding-top:var(--space-2);border-top:1px solid var(--line)}.portfolio-case__hero dt{color:var(--fg-3);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.75rem;font-weight:600}.portfolio-case__hero dd{margin-top:var(--space-1);color:var(--fg-2);font-size:.9375rem}.portfolio-case__hero dd a{min-height:1.5rem;color:var(--fg);text-decoration:underline;text-decoration-color:var(--color-brand);text-underline-offset:.25em;align-items:center;display:inline-flex}.portfolio-case__body{padding-top:clamp(3rem,6vw,5rem)}.portfolio-case__visual{margin-bottom:clamp(4rem,8vw,6rem)}.portfolio-case__visual picture,.portfolio-case__shot picture{display:block}.portfolio-case__visual img,.portfolio-case__shot img{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-ink);width:100%;height:auto;display:block}.case-video{position:relative}.case-video video{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--color-ink);width:100%;height:auto;display:block}.case-video__toggle{right:var(--space-2);bottom:var(--space-2);min-height:2.75rem;padding:0 var(--space-2);border-radius:var(--radius-card);color:var(--color-canvas);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;background:#1a1d21d9;border:1px solid #ffffff4d;font-weight:600;position:absolute}.case-video__toggle:hover{background:var(--color-ink)}.case-video__toggle:focus-visible{outline:2px solid var(--color-canvas);outline-offset:2px}.portfolio-case__visual figcaption,.portfolio-case__shot figcaption{margin-top:var(--space-2);color:var(--fg-3);font-size:var(--text-label);line-height:1.6}.portfolio-case__section{border-top:1px solid var(--line);grid-template-columns:.9fr 1.2fr;gap:clamp(2rem,8vw,8rem);padding-block:clamp(3rem,6vw,6rem);display:grid}.portfolio-case__section>div,.portfolio-case__prose{min-width:0}.portfolio-case__section h2,.portfolio-case__cta h2{max-width:14ch;font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:var(--lh-h2);letter-spacing:-.005em}.portfolio-case__section .eyebrow{color:var(--label-accent)}.portfolio-case__prose p,.portfolio-case__prose li{color:var(--fg-2);font-size:var(--text-body);line-height:1.75}.portfolio-case__prose p+p{margin-top:var(--space-3)}.portfolio-case__prose ul{gap:var(--space-2);padding-left:1.25rem;list-style:outside;display:grid}.portfolio-case__prose li::marker{color:var(--color-brand)}.portfolio-case__callout{margin-top:var(--space-4);padding:var(--space-2) 0 var(--space-2) var(--space-3);border-left:2px solid var(--color-brand);color:var(--fg)!important}.portfolio-case__code{margin:var(--space-4) 0 0}.portfolio-case__code figcaption{margin:0 0 var(--space-1);color:var(--fg-3);letter-spacing:var(--tracking-label);text-transform:uppercase;font-size:.75rem;font-weight:600}.portfolio-case__code figcaption a{min-height:1.5rem;color:var(--label-accent);text-underline-offset:.2em;align-items:center;text-decoration:underline;display:inline-flex}.portfolio-case__code pre{padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-ink);color:#ffffffe0;tab-size:2;font-size:.8125rem;line-height:1.65;overflow-x:auto}.portfolio-case__code code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.portfolio-case__shots{gap:clamp(1.5rem,3vw,3rem);padding-bottom:clamp(3rem,6vw,6rem);display:grid}.portfolio-case__shots--mobile{grid-template-columns:repeat(auto-fit,minmax(10rem,20rem));justify-content:center}.portfolio-case__cta{padding-block:clamp(4rem,8vw,8rem)}.portfolio-case__cta-links{gap:var(--space-1) var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}}@layer responsive{@media (width<=74.99rem){.optical-mark{width:min(38vw,27rem)}.section-heading .eyebrow{grid-column:3/span 4}.section-heading h2{grid-column:7/-1}.supporting-work__heading h3{grid-column:4/span 6}.supporting-work__heading>p:last-child{grid-column:4/span 7}.archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=63.99rem){.project--wide{grid-template-columns:1fr}.experience-item{grid-template-columns:1fr 2fr}.experience-item__points{grid-column:2}.desktop-nav{gap:1.25rem}}@media (width<=59.99rem){.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;min-width:3.5rem;min-height:2.75rem;font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:flex-end;align-items:center;gap:.65rem;font-weight:600;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary i,.mobile-nav summary i:after{background:currentColor;width:1.25rem;height:2px;display:block}.mobile-nav summary i{position:relative}.mobile-nav summary i:after{content:"";position:absolute;top:.375rem}.mobile-nav[open] summary i{transform:rotate(45deg)}.mobile-nav[open] summary i:after{top:0;transform:rotate(90deg)}.mobile-nav nav{padding:var(--space-3);background:var(--color-ink);border-bottom:1px solid var(--line);display:grid;position:fixed;inset:5rem 0 auto}.mobile-nav nav a{border-bottom:1px solid var(--line);min-height:3.5rem;letter-spacing:var(--tracking-label);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;display:flex}.mobile-nav small{font-size:.75rem}}@media (width<=47.99rem){:root{--gutter-wide:1.25rem}html{scroll-behavior:auto}.container-wide,.container-main{width:min(100% - 2.5rem, var(--container-wide))}.lockup img{width:11.25rem}.hero__grid{min-height:auto;padding-block:var(--space-16) var(--space-3);gap:var(--space-6) var(--space-2);grid-template-rows:auto auto auto;grid-template-columns:repeat(4,1fr)}.hero__content{grid-column:1/-1}.hero__statement{margin-block:var(--space-3)}.optical-stage{grid-column:1/-1;min-height:22rem}.optical-stage:before{width:88vw}.optical-mark{width:min(66vw,20rem)}.optical-note{bottom:0;right:0}.hero__meta{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.hero__meta p:last-child{grid-column:1/-1}.section{padding-block:var(--space-12)}.section-heading{margin-bottom:var(--space-6);grid-template-columns:repeat(4,1fr)}.section-counter{grid-column:1/span 1}.section-heading .eyebrow{grid-column:2/-1}.section-heading h2{margin-top:var(--space-2);grid-column:1/-1}.work-layout{gap:var(--space-8)}.work-stack{gap:var(--space-8);grid-template-columns:1fr}.supporting-work{margin-top:var(--space-12)}.supporting-work__heading{grid-template-columns:1fr}.supporting-work__heading .eyebrow,.supporting-work__heading h3,.supporting-work__heading>p:last-child{grid-column:1/-1}.supporting-work__grid{gap:var(--space-8);grid-template-columns:1fr}.project-links{gap:0 var(--space-3)}.experience-item,.education{grid-template-columns:1fr}.experience-item__points{grid-column:auto}.archive__grid{grid-template-columns:1fr}.archive-lightbox{border-radius:0;width:100vw;height:100dvh}.archive-lightbox__layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.archive-lightbox__stage{--pad-x:var(--space-2)}.archive-lightbox__img{inset:4rem var(--space-2) 4.25rem;height:calc(100% - 8.25rem)}.archive-lightbox__nav{top:auto;bottom:var(--space-2);translate:none}.archive-lightbox__info{max-height:45dvh;padding:var(--space-3) var(--space-3) var(--space-4);border-top:1px solid var(--line);border-left:0}.about-layout{grid-template-columns:repeat(4,1fr)}.about-copy,.about-portrait{grid-column:1/-1}.about-copy{padding-top:0}.about-portrait{margin-top:var(--space-2)}.skills-list{grid-template-columns:1fr}.skills-list li,.skills-list li:nth-child(odd),.skills-list li:nth-child(2n){gap:var(--space-1);border-right:0;grid-template-columns:1fr;padding-inline:0}.contact-layout{grid-template-columns:1fr}.contact-intro,.contact-links{grid-column:1/-1}.contact-meta{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column}.contact-links>div{min-height:5rem}.not-found{padding-block:var(--space-16) var(--space-6)}.not-found__grid{gap:var(--space-5) var(--space-2);grid-template-columns:repeat(4,1fr)}.not-found__code,.not-found__copy{grid-column:1/-1}.not-found__code{font-size:clamp(5rem,30vw,8rem)}.case-header{padding-block:var(--space-2);grid-template-columns:1fr auto}.case-header>p{display:none}.case-header nav{gap:var(--space-2)}.portfolio-case__section{gap:var(--space-3);grid-template-columns:1fr}}@media (width<=29.99rem){.case-header{gap:var(--space-1);grid-template-columns:1fr}.case-header nav{justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@font-face{font-family:Rouben;src:url(/_astro/rouben-600.jIb9YU04.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Rouben;src:url(/_astro/rouben-400.BU20vgt1.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
