@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/bricolage-grotesque.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/instrument-serif-italic.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#141713;--paper:#eeeDE7;--muted:#afb4a8;--accent:#c6d3ad;--line:#ffffff30;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:var(--ink);color:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--ink)}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:16px}.skip:focus{top:12px}.header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:30px 4vw;color:#fff}.brand{font-size:15px;letter-spacing:.04em}.brand small{display:block;font-size:10px;letter-spacing:.16em;margin-top:7px;color:#ddd}.header-right{display:flex;gap:40px;align-items:center}.header-right>a{font-size:12px}.menu-button{display:flex;gap:20px;align-items:center;min-height:44px;font-size:12px}.menu-button span{font-size:27px;font-weight:200}.menu-dialog{position:fixed;inset:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:var(--ink);border:0;padding:110px 8vw 50px;color:var(--paper)}dialog::backdrop{background:#000b}.menu-dialog nav{display:grid;gap:12px}.menu-dialog nav a{font-size:clamp(36px,7vw,90px);letter-spacing:-.055em;width:fit-content}.menu-dialog nav a:hover{color:var(--accent)}.close-menu{position:absolute;right:4vw;top:30px;min-height:44px}.menu-dialog p{margin-top:50px;color:var(--muted)}.hero{height:100svh;min-height:650px;position:relative;overflow:hidden;background:#20231f}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0007,transparent 30%,#0002 50%,#000b)}.hero-copy{position:absolute;left:6vw;bottom:130px;max-width:80%}.eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;line-height:1.7}.hero h1{font-weight:400;font-size:clamp(48px,7.8vw,115px);letter-spacing:-.065em;line-height:.98;margin:18px 0 24px}.hero .text-link{font-size:13px}.text-link{display:inline-flex;align-items:center;gap:28px;padding:12px 0;border-bottom:1px solid currentColor}.hero-foot{position:absolute;bottom:28px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.12em}.hero-controls{display:flex;align-items:center;gap:16px}.round{width:46px;height:46px;border:1px solid #ffffff70;border-radius:50%;font-size:18px}.round:hover{background:var(--paper);color:var(--ink)}.section{padding:110px 6vw}.intro{display:grid;grid-template-columns:1fr 2fr;gap:6vw;align-items:start}.intro h2{margin:0;font-size:clamp(29px,3.6vw,52px);line-height:1.18;letter-spacing:-.035em;font-weight:400;max-width:800px}.intro p{color:var(--muted);line-height:1.7;max-width:560px}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:35px}.section-title h2{font-weight:400;font-size:16px}.collections{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:80px 5vw}.collection:nth-child(even){margin-top:100px}.collection-image{overflow:hidden;position:relative;background:#242820}.collection img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.collection:nth-child(even) img{aspect-ratio:4/5}.collection:hover img{transform:scale(1.035)}.collection-label{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0;gap:15px}.collection h3{font-size:clamp(24px,3vw,42px);font-weight:400;letter-spacing:-.04em;margin:0}.collection small{font-size:10px;color:var(--muted)}.cta{background:var(--paper);color:var(--ink);padding:85px 6vw}.cta a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(44px,8vw,110px);letter-spacing:-.055em;margin-top:20px}.footer{display:flex;justify-content:space-between;gap:24px;padding:30px 4vw;font-size:11px;color:var(--muted)}.footer div{display:flex;flex-wrap:wrap;gap:25px}.page-head{padding:165px 6vw 60px}.page-head h1{font-size:clamp(58px,9vw,130px);line-height:1;letter-spacing:-.065em;font-weight:400;margin:15px 0 30px}.page-head p{max-width:570px;line-height:1.7;color:var(--muted)}.filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 6vw 40px}.filters a{font-size:12px;border:1px solid var(--line);padding:13px 18px;border-radius:30px}.filters a[aria-current=true]{background:var(--paper);color:var(--ink)}.gallery{padding:0 6vw 100px;display:grid;grid-template-columns:1fr 1fr;gap:60px 4vw;align-items:start}.photo{margin:0}.photo:nth-child(5n+1){grid-column:1/-1;margin-left:12%;margin-right:12%}.photo button{padding:0;width:100%;display:block;overflow:hidden}.photo img{width:100%;height:auto;transition:transform .7s}.photo button:hover img{transform:scale(1.018)}.photo figcaption{font-size:11px;color:var(--muted);padding-top:14px;display:flex;justify-content:space-between;gap:15px}.lightbox{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;background:#10120ff7;color:var(--paper);padding:65px 5vw 85px}.lightbox img{width:100%;height:100%;object-fit:contain}.lightbox-close{position:absolute;top:15px;right:25px;padding:12px}.lightbox-bottom{position:absolute;bottom:20px;left:5vw;right:5vw;display:flex;justify-content:space-between;align-items:center;gap:15px}.lightbox-caption{font-size:12px;max-width:65%;line-height:1.5}.lightbox-controls{display:flex;gap:10px}.prose{max-width:780px;font-size:clamp(21px,2.8vw,36px);line-height:1.45;letter-spacing:-.025em}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:65px;border-top:1px solid var(--line);padding-top:40px}.detail-grid h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;color:var(--accent)}.detail-grid p{font-size:16px;line-height:1.7;color:var(--muted);max-width:500px}.film{display:grid;grid-template-columns:70px 1fr auto;gap:25px;padding:40px 0;border-top:1px solid var(--line);align-items:start}.film h2{margin:0 0 15px;font-size:clamp(26px,4vw,55px);font-weight:400;letter-spacing:-.04em}.film p{color:var(--muted);line-height:1.6;max-width:650px}.film-number{color:var(--accent);font-size:12px}.film>a{font-size:30px}.contact-email{font-size:clamp(23px,5.6vw,78px);letter-spacing:-.045em;overflow-wrap:anywhere}.contact-links{display:flex;gap:30px;margin-top:40px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}.hero-image.wipe{animation:wipe .7s cubic-bezier(.2,.65,.2,1)}@keyframes wipe{from{clip-path:inset(0 100% 0 0);transform:scale(1.03)}to{clip-path:inset(0);transform:scale(1)}}@media(max-width:700px){.header{padding:22px 6vw}.header-right>a{display:none}.hero{min-height:620px;max-height:1000px}.hero-copy{bottom:145px;max-width:88%}.hero h1{font-size:61px}.hero-foot{left:6vw;right:6vw}.hero-foot>.eyebrow{max-width:100px;font-size:9px}.hero-foot>a{display:none}.section{padding:65px 6vw}.intro{grid-template-columns:1fr;gap:24px}.collections{padding-top:0;gap:45px;grid-template-columns:1fr}.collection:nth-child(even){margin-top:0}.collection:nth-child(even) img{aspect-ratio:4/3}.collection small{max-width:130px;text-align:right;line-height:1.5}.footer{flex-direction:column;padding:25px 6vw}.page-head{padding-top:140px}.gallery{gap:35px;grid-template-columns:1fr}.photo:nth-child(5n+1){grid-column:auto;margin:0}.detail-grid{grid-template-columns:1fr;gap:25px}.film{grid-template-columns:30px 1fr auto;gap:10px}.cta{padding:60px 6vw}.lightbox{padding:70px 15px 115px}.lightbox-bottom{bottom:20px}.lightbox-caption{max-width:57%}.round{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-motion .reveal{opacity:1;transform:none}}html.reduce-motion *,html.reduce-motion *::before{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.reduce-motion .reveal{opacity:1;transform:none}
body:has(dialog[open]){overflow:hidden}.lightbox{overflow:hidden}.menu-dialog[open]{animation:menu-in .45s cubic-bezier(.2,.7,.2,1)}.menu-dialog[open] nav a{animation:nav-in .6s both}.menu-dialog nav a:nth-child(2){animation-delay:.04s}.menu-dialog nav a:nth-child(3){animation-delay:.08s}.menu-dialog nav a:nth-child(4){animation-delay:.12s}.menu-dialog nav a:nth-child(5){animation-delay:.16s}@keyframes menu-in{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}@keyframes nav-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:700px){.hero-image{object-position:60% center}.page-head h1{font-size:clamp(46px,13vw,80px)}.hero h1{font-size:clamp(47px,15.5vw,65px)}}
h1,h2,h3,.brand,.menu-dialog nav a,.cta>a{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:500}.hero h1{font-size:clamp(65px,9.4vw,145px);letter-spacing:-.065em;line-height:.9}.hero h1 span{display:block}.hero h1 em{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:1.12em;letter-spacing:-.025em;line-height:.84}.hero-copy{bottom:145px}.hero h1{margin-bottom:30px}.intro h2 em{font-family:'Instrument Serif',Georgia,serif;font-size:1.18em;font-weight:400}.hero-image{transition:none}.hero-image.previous{z-index:0}.hero-image:not(.previous){z-index:1}.hero-shade{z-index:2;pointer-events:none}.hero-copy,.hero-foot{z-index:3}.hero-image.wipe{animation:photo-wipe .5s cubic-bezier(.76,0,.24,1)}@keyframes photo-wipe{from{clip-path:inset(0 0 0 100%);transform:scale(1.04)}to{clip-path:inset(0);transform:scale(1)}}.hero-copy h1{animation:title-in .6s cubic-bezier(.16,1,.3,1) both}.hero-copy>.eyebrow{animation:title-in .45s .08s both}.hero-copy>.text-link{animation:title-in .45s .15s both}@keyframes title-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.round{transition:background .18s,color .18s,transform .18s}.round:hover{transform:rotate(-10deg)}.text-link{transition:gap .2s}.text-link:hover{gap:38px}.menu-dialog[open]{animation:menu-in .3s cubic-bezier(.16,1,.3,1)}.menu-dialog[open] nav a{animation:nav-in .38s both}.menu-dialog nav a{position:relative;transition:transform .2s,color .2s}.menu-dialog nav a:hover{transform:translateX(12px)}.menu-dialog nav a::before{content:'0' counter(nav);counter-increment:nav;font:10px Arial;letter-spacing:.1em;display:inline-block;width:45px;vertical-align:middle;color:var(--muted)}.menu-dialog nav{counter-reset:nav}.collection-image::after{content:'VIEW ↗';position:absolute;right:22px;bottom:22px;border-radius:50%;background:var(--paper);color:var(--ink);height:78px;width:78px;display:grid;place-items:center;font-size:11px;letter-spacing:.05em;opacity:0;transform:translateY(12px) rotate(-12deg);transition:opacity .22s,transform .25s}.collection:hover .collection-image::after,.collection:focus-visible .collection-image::after{opacity:1;transform:none}.collection img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}.collection-label{transition:border-color .2s}.collection:hover .collection-label{border-color:var(--accent)}.js-motion .reveal{transition:opacity .45s,transform .45s;transform:translateY(18px)}.js-motion .reveal.visible{transform:none}.cta a span{transition:transform .25s}.cta a:hover span{transform:translate(8px,-8px)}.page-head h1{font-size:clamp(58px,8vw,120px)}@media(max-width:700px){.hero h1{font-size:clamp(56px,17vw,78px)}.hero-copy{bottom:150px}.hero h1 em{font-size:1.08em}.page-head h1{font-size:clamp(43px,12.7vw,75px)}.collection-image::after{width:58px;height:58px;right:14px;bottom:14px;opacity:1;transform:none}.menu-dialog nav a::before{width:28px}.menu-dialog nav a{font-size:clamp(33px,10vw,60px)}}

.hero h1 span{font-family:Arial,Helvetica,sans-serif;font-size:.34em;font-weight:400;letter-spacing:.22em;text-transform:uppercase;line-height:1.2;margin:0 0 .42em .08em}.hero-picker{position:absolute;right:4vw;top:50%;z-index:4;display:flex;flex-direction:column;gap:4px;transform:translateY(-50%);background:#0005;border-radius:28px;padding:4px}.hero-picker button{min-width:44px;min-height:44px;font-size:10px;letter-spacing:.12em;opacity:.9;border:1px solid transparent;border-radius:50%;transition:opacity .2s,border-color .2s,background .2s}.hero-picker button:hover{opacity:1;background:#0005}.hero-picker button[aria-pressed=true]{opacity:1;border-color:#ffffffa0;background:#0003}.hero-image{object-position:var(--hero-position,center)}.hero-shade{background:linear-gradient(90deg,#0006,transparent 65%),linear-gradient(180deg,#0007,transparent 30%,#0002 50%,#000b)}@media(max-width:700px){.hero-image{object-position:var(--hero-mobile-position,60% center)}.hero-picker{top:auto;bottom:91px;left:6vw;right:6vw;transform:none;flex-direction:row;justify-content:center;gap:0;width:max-content;margin:auto;padding:0}.hero-picker button{min-width:42px;min-height:42px}.hero-copy{bottom:170px}.hero h1 span{font-size:.36em;letter-spacing:.2em}.hero-foot{bottom:22px}}
/* Full-image browsing: no fixed thumbnail ratios or hover crops. */
.collection-index{display:block;max-width:1280px;margin:auto;padding-top:0}.collection-index .collection{display:block;margin:0 0 90px}.collection-index .collection-image{background:transparent}.collection-index .collection img,.collection-index .collection:nth-child(even) img{width:100%;height:auto;aspect-ratio:auto;max-height:78vh;object-fit:contain;transform:none}.collection-index .collection-image::after{display:none}.collection-index .collection-label{padding:22px 0}.collection-label h2{font-size:clamp(30px,4vw,54px);margin:0;letter-spacing:-.045em}.collection-label>span{font-size:13px;white-space:nowrap}.gallery-page{background:#f7f7f3;color:#1b201c}.gallery-page .header{color:#1b201c}.gallery-page .brand small{color:#596155}.gallery-page .page-head p{color:#596155}.gallery-page .filters a{border-color:#1b201c40}.gallery-page .filters a[aria-current=page]{background:#1b201c;color:#fff}.gallery-page .collection-label{border-color:#1b201c35}.gallery-page .footer{background:var(--ink);color:var(--paper)}.gallery-page .cta{background:#e7e9e1}.gallery-page .intro p{color:#596155}.gallery-page .text-link{color:inherit}.full-image-gallery{display:block;max-width:1280px;margin:auto;padding:24px 6vw 80px}.full-image-gallery .photo,.full-image-gallery .photo:nth-child(5n+1){margin:0 0 75px;max-width:none}.full-image-gallery .photo button{display:block;width:100%;padding:0;background:transparent}.full-image-gallery .photo img{width:100%;height:auto;max-height:86vh;object-fit:contain;transform:none;aspect-ratio:auto}.full-image-gallery .photo button:hover img{transform:none}.full-image-gallery figcaption{color:#596155;max-width:1000px;margin:16px auto 0;line-height:1.5}.lightbox{color:var(--paper)}.resume-summary{display:grid;grid-template-columns:1fr 1.5fr;gap:9vw;padding-top:0}.resume-summary h2,.resume-callout h2{font-size:clamp(28px,3vw,46px);line-height:1.1;letter-spacing:-.04em}.resume-summary p,.resume-callout p,.contact-details p{color:var(--muted);line-height:1.75;max-width:620px}.experience-list article{border-top:1px solid var(--line);padding:28px 0}.experience-list article>span{font-size:11px;text-transform:uppercase;letter-spacing:.13em;color:var(--accent)}.experience-list h2{margin:12px 0}.experience-list h3{font:16px Arial,sans-serif}.download-button{display:inline-flex;align-items:center;justify-content:center;background:var(--paper);color:var(--ink);border:1px solid var(--paper);padding:18px 25px;font-size:14px;min-height:48px;margin-top:20px;transition:background .2s,transform .2s}.download-button:hover{background:var(--accent);transform:translateY(-2px)}.resume-callout{border-top:1px solid var(--line);margin-top:45px;padding-top:35px}.resume-callout .text-link{margin-left:24px}.contact-email{font-family:'Bricolage Grotesque',Arial,sans-serif;font-size:clamp(26px,5vw,75px);letter-spacing:-.04em;overflow-wrap:anywhere}.contact-links{display:flex;gap:30px;align-items:center;flex-wrap:wrap}.header-right{gap:26px}.menu-dialog{overflow:auto}.menu-dialog nav{gap:6px}.menu-dialog nav a{font-size:clamp(33px,5.8vw,75px)}@media(max-width:700px){.header-right>a{display:none}.collection-index .collection{margin-bottom:48px}.collection-index .collection-label{gap:14px;align-items:center}.collection-label>span{font-size:11px}.full-image-gallery{padding:12px 4vw 35px}.full-image-gallery .photo,.full-image-gallery .photo:nth-child(5n+1){margin-bottom:42px}.full-image-gallery .photo img{max-height:80svh}.full-image-gallery figcaption{font-size:11px}.resume-summary{grid-template-columns:1fr;gap:32px}.resume-callout .text-link{margin:18px 0 0;display:table}.filters{gap:9px;padding-left:4vw;padding-right:4vw}.filters a{font-size:12px;padding:12px 15px}.page-head{padding-bottom:35px}.contact-links{gap:20px}.contact-email{font-size:clamp(23px,6.8vw,36px)}}
