@font-face{font-family:PT Mono;src:url(/fonts/PTMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Syne Mono;src:url(/fonts/SyneMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg: #f2c63b;--color-bg-light: #ffffff;--color-ink: #161616;--color-accent: #e53039;--color-line: rgba(22, 22, 22, .18);--color-hairline: rgba(22, 22, 22, .1);--color-paper: #f5f1e6;--color-overlay: rgba(22, 22, 22, .94);--font-body: "PT Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: "Syne Mono", "PT Mono", ui-monospace, monospace;--fs-xs: 11px;--fs-sm: 13px;--fs-body: 15px;--fs-lead: clamp(15px, 1vw, 17px);--fs-h3: clamp(22px, 2vw, 28px);--fs-h2: clamp(40px, 6vw, 84px);--fs-h1: clamp(56px, 9vw, 120px);--fs-mega: clamp(88px, 16vw, 220px);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--sp-9: 96px;--sp-10: 128px;--sp-11: 192px;--max-w: 1440px;--gutter: clamp(24px, 4vw, 64px);--grid-gap: clamp(16px, 2vw, 28px);--col: calc((100% - 11 * var(--grid-gap)) / 12);--section-y: clamp(56px, 7vw, 104px);--hero-y: clamp(48px, 6vw, 88px);--rule-w: 1px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{background:var(--color-bg);color:var(--color-ink)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%;height:auto}button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}a{color:var(--color-accent);text-decoration:none;transition:opacity .18s ease}a:hover{opacity:.6}.wrap{max-width:var(--max-w);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}.rule{height:var(--rule-w);background:var(--color-ink);width:100%}.rule-thin{height:var(--rule-w);background:var(--color-line);width:100%}.display,.meta,.eyebrow,.nav,h1,h2,h3,.number,.footer{font-family:var(--font-display);color:var(--color-accent)}.eyebrow{font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase}.eyebrow .dot{opacity:.4;margin:0 var(--sp-2)}.nav{position:sticky;top:0;z-index:50;background:var(--color-bg)}.nav-inner{max-width:var(--max-w);margin:0 auto;padding:var(--sp-5) var(--gutter);display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-5)}.nav-brand{font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.nav-links{display:flex;gap:clamp(20px,3vw,48px);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase}.nav-links a{color:var(--color-accent)}.nav-toggle{display:none;width:36px;height:36px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;background:transparent;border:none;cursor:pointer;z-index:60}.nav-toggle-bar{display:block;width:24px;height:2px;background:var(--color-accent);transition:transform .28s ease,opacity .18s ease;transform-origin:center}.nav.is-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav.is-open .nav-toggle-bar:nth-child(2){opacity:0}.nav.is-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero{padding-top:var(--hero-y);padding-bottom:var(--sp-8)}.hero-meta{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--sp-7)}.hero-meta .right{text-align:right}.hero-mega{grid-column:1 / span 7;font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-mega);line-height:.86;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:0}.hero-mega .last{display:block;font-size:.42em;margin-top:var(--sp-3);letter-spacing:0}.hero-statement{grid-column:8 / -1;align-self:end;font-size:var(--fs-lead);line-height:1.55;max-width:48ch;margin-bottom:var(--sp-2);text-align:justify;text-justify:inter-word;hyphens:none}.hero-tags{grid-column:1 / -1;margin-top:var(--sp-10);padding-top:var(--sp-5);display:none;display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-sm);letter-spacing:.18em;text-transform:uppercase;border-top:var(--rule-w) solid var(--color-ink)}.disciplines{padding:clamp(32px,5vw,72px) var(--gutter);overflow:hidden}.d-line{display:flex;align-items:baseline;white-space:nowrap}.d-line-1{justify-content:space-between;gap:clamp(40px,6vw,120px)}.d-line-2{justify-content:center;gap:clamp(20px,3vw,56px);margin-top:clamp(-8px,-1vw,-16px)}.d-line-3{justify-content:flex-start;margin-top:clamp(-10px,-1.5vw,-24px);padding-left:clamp(0px,2vw,32px)}.d-word{font-family:var(--font-display);color:var(--color-accent);text-transform:uppercase;letter-spacing:-.01em;line-height:.95;display:inline-block}.d-word.reveal{opacity:1;transform:none;clip-path:inset(0 100% 0 0);transition:clip-path .95s cubic-bezier(.7,0,.25,1)}.d-word.reveal.is-in{clip-path:inset(0 0 0 0)}@media(prefers-reduced-motion:reduce){.d-word.reveal{clip-path:none;transition:none}}.d-w1{font-size:clamp(48px,9vw,130px);padding-left:clamp(0px,1vw,24px)}.d-w2{font-size:clamp(52px,10vw,140px);padding-right:clamp(0px,1vw,24px)}.d-w3{font-size:clamp(44px,8vw,116px)}.d-w4{font-size:clamp(52px,9.5vw,134px)}.d-w5{font-size:clamp(48px,9vw,128px)}@media(max-width:640px){.disciplines{padding-top:var(--sp-7);padding-bottom:var(--sp-8)}.d-line{white-space:normal;flex-wrap:wrap}.d-line-1{gap:var(--sp-3);justify-content:flex-start}.d-line-2{gap:var(--sp-3);justify-content:flex-start;margin-top:0}.d-line-3{padding-left:0;margin-top:0}.d-w1,.d-w2,.d-w3,.d-w4,.d-w5{padding:0;line-height:.95}}.section{padding-top:var(--section-y);padding-bottom:var(--section-y)}.section-inner{max-width:var(--max-w);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap)}.section--light{background:var(--color-bg-light)}.section-head{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-5);margin-bottom:var(--sp-7);padding-bottom:var(--sp-4);border-bottom:var(--rule-w) solid var(--color-line)}.section-num,.section-title{font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase}.bio-portrait{grid-column:9 / -1;grid-row:2 / span 2;background:var(--color-accent);aspect-ratio:4 / 5;overflow:hidden;align-self:start}.bio-portrait img{width:100%;height:100%;object-fit:cover}.headline{grid-column:1 / span 7;font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-h2);line-height:1.02;letter-spacing:-.015em;margin-bottom:var(--sp-4);text-transform:uppercase}.deck{grid-column:1 / span 7;font-size:var(--fs-lead);line-height:1.6;max-width:62ch;text-align:justify;text-justify:inter-word;hyphens:none}@media(max-width:960px){.bio-portrait{grid-column:1 / -1;grid-row:auto;margin-top:var(--sp-7)}}.deck strong{color:var(--color-accent);font-family:var(--font-display);font-weight:400}.gallery{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:clamp(48px,6vw,96px)}.gallery figure{margin:0;cursor:zoom-in;display:flex;flex-direction:column;gap:var(--sp-3)}.gallery figure.reveal{opacity:0;transform:translateY(40px) scale(.96);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1)}.gallery figure.reveal.is-in{opacity:1;transform:translateY(0) scale(1)}.gallery figure .frame{background:var(--color-bg-light);aspect-ratio:4 / 5;overflow:hidden;transition:transform .24s ease}.gallery figure:hover .frame{transform:translateY(-4px)}.gallery figure img{width:100%;height:100%;object-fit:cover}.gallery figure figcaption{display:flex;justify-content:space-between;font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase}.gallery .g1{grid-column:1 / span 5}.gallery .g2{grid-column:7 / span 6}.gallery .g3{grid-column:1 / span 6}.gallery .g4{grid-column:8 / span 5}.gallery .g5{grid-column:1 / span 5}.gallery .g6{grid-column:7 / span 6}.gallery .g7{grid-column:1 / span 6}.gallery .g8{grid-column:8 / span 5}.gallery .g9{grid-column:1 / span 5}.gallery .g10{grid-column:7 / span 6}.gallery .g11{grid-column:1 / -1}.gallery .g11 .frame{aspect-ratio:16 / 9}.cv{grid-column:1 / -1;display:grid;grid-template-columns:120px 1fr;column-gap:var(--grid-gap)}.cv-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;border-top:var(--rule-w) solid var(--color-line)}.cv-row:last-of-type{border-bottom:var(--rule-w) solid var(--color-line)}.cv-year{font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-sm);letter-spacing:.1em;padding-top:var(--sp-5);padding-bottom:var(--sp-6)}.cv-body{padding-top:var(--sp-5);padding-bottom:var(--sp-6)}.cv-role{font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-h3);line-height:1.2;margin-bottom:var(--sp-3);text-transform:uppercase}.cv-desc{font-size:var(--fs-body);max-width:64ch}.cv-downloads{grid-column:1 / -1;margin-top:var(--sp-8);display:flex;gap:var(--sp-6);font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase}.contact-headline{grid-column:1 / span 12;font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-h1);line-height:.95;letter-spacing:-.01em;margin-bottom:var(--sp-9);text-transform:uppercase}.contact-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--grid-gap);row-gap:var(--sp-7)}.contact-item{grid-column:span 4}.contact-item .label{font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:var(--rule-w) solid var(--color-line)}.contact-item .value{font-size:var(--fs-h3);line-height:1.3}.contact-item .value a{color:var(--color-ink)}.contact-item .value a:hover{color:var(--color-accent);opacity:1}.footer{padding-top:var(--sp-7);padding-bottom:var(--sp-7);font-family:var(--font-display);color:var(--color-accent);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase}.footer-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-5)}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.lightbox{position:fixed;inset:0;background:var(--color-overlay);display:none;align-items:center;justify-content:center;z-index:100;padding:var(--sp-7);cursor:zoom-out}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.lightbox .close{position:absolute;top:var(--sp-5);right:var(--gutter);font-family:var(--font-display);color:var(--color-bg);font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;border:var(--rule-w) solid var(--color-bg);padding:var(--sp-2) var(--sp-4);cursor:pointer}.lightbox .close:hover{background:var(--color-bg);color:var(--color-ink)}@media(max-width:960px){.hero-mega{grid-column:1 / span 12}.hero-statement{grid-column:1 / span 8;align-self:auto;margin-top:var(--sp-7);margin-bottom:0}.hero-tags{grid-column:1 / span 12}.headline{grid-column:1 / span 10}.deck{grid-column:1 / span 9}.gallery .g1,.gallery .g2,.gallery .g3,.gallery .g4,.gallery .g5,.gallery .g6,.gallery .g7,.gallery .g8,.gallery .g9,.gallery .g10{grid-column:span 6}.gallery .g11{grid-column:1 / -1}.gallery .g11 .frame{aspect-ratio:16 / 9}.contact-item{grid-column:span 6}}@media(max-width:640px){:root{--section-y: clamp(64px, 16vw, 96px);--hero-y: clamp(32px, 8vw, 64px)}.nav-inner{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.nav-brand{font-size:var(--fs-sm);position:relative;z-index:60}.nav-toggle{display:flex}.nav-links{position:fixed;inset:0;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:flex-start;gap:var(--sp-6);padding:var(--gutter);font-size:clamp(36px,8vw,56px);letter-spacing:0;text-transform:uppercase;z-index:55;opacity:0;pointer-events:none;transform:translateY(-12px);transition:opacity .32s ease,transform .32s ease}.nav.is-open .nav-links{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-links a{font-family:var(--font-display);color:var(--color-accent);opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}.nav.is-open .nav-links a{opacity:1;transform:translateY(0)}.nav.is-open .nav-links a:nth-child(1){transition-delay:.08s}.nav.is-open .nav-links a:nth-child(2){transition-delay:.14s}.nav.is-open .nav-links a:nth-child(3){transition-delay:.2s}.nav.is-open .nav-links a:nth-child(4){transition-delay:.26s}.hero-meta{flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-6)}.hero-meta .right{text-align:left}.hero-mega{margin-bottom:var(--sp-7)}.hero-statement{grid-column:1 / -1}.hero-portrait{grid-column:1 / -1;aspect-ratio:4 / 5}.hero-tags{grid-column:1 / -1;gap:var(--sp-3) var(--sp-5)}.section-head{flex-direction:column;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-7)}.headline,.deck{grid-column:1 / -1}.gallery{row-gap:var(--sp-7)}.gallery .g1,.gallery .g2,.gallery .g3,.gallery .g4,.gallery .g5,.gallery .g6,.gallery .g7,.gallery .g8,.gallery .g9,.gallery .g10,.gallery .g11{grid-column:1 / -1}.gallery .g11 .frame{aspect-ratio:4 / 5}.cv{grid-template-columns:80px 1fr}.cv-year,.cv-body{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.cv-downloads{flex-direction:column;gap:var(--sp-3)}.contact-headline{margin-bottom:var(--sp-7)}.contact-item{grid-column:1 / -1}.footer-inner{flex-direction:column;align-items:flex-start;gap:var(--sp-2)}}
