:root{--paper:#f2efe8;--paper-deep:#e9e3d8;--ink:#151515;--muted:#68645e;--line:#15151521;--line-strong:#15151547;--rust:#9b4a32;--sand:#c8a982;--sans:"Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;--serif:Iowan Old Style, Baskerville, "Times New Roman", serif;--motion-quick:.16s;--motion-standard:.52s;--motion-slow:.9s;--motion-ease:cubic-bezier(.22, 1, .36, 1);--motion-smooth:cubic-bezier(.4, 0, .2, 1);--scroll-progress:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-width:320px}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a:focus-visible{outline:2px solid var(--rust);outline-offset:5px}img{max-width:100%}::selection{color:var(--paper);background:var(--rust)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{--opening-delay:1.32s;min-height:100vh;overflow:hidden}.scroll-progress{z-index:100;pointer-events:none;background:var(--rust);height:2px;transform:scaleX(var(--scroll-progress));transform-origin:0;transition:transform 80ms linear;position:fixed;top:0;left:0;right:0}.page-width{width:min(1320px,100% - 64px);margin-inline:auto}.site-header{z-index:20;color:#fff;min-height:92px;transition:opacity .3s var(--motion-ease), visibility 0s linear 0s;justify-content:space-between;align-items:center;gap:32px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.site-shell.is-opening .site-header{visibility:hidden;pointer-events:none;opacity:0}.site-shell:not(.is-opening) .site-header{visibility:visible;opacity:1}.identity{color:#fff;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.identity-mark{width:42px;height:42px;font-family:var(--serif);transition:color var(--motion-standard) var(--motion-smooth), background-color var(--motion-standard) var(--motion-smooth), border-color var(--motion-standard) var(--motion-smooth), transform var(--motion-standard) var(--motion-ease);border:1px solid #ffffff85;border-radius:50%;place-items:center;font-size:.8rem;font-style:italic;display:grid}.identity-copy{gap:2px;display:grid}.identity-copy strong{letter-spacing:.13em;text-transform:uppercase;font-size:.76rem;font-weight:750}.identity-copy small{color:#ffffffa8;letter-spacing:.08em;font-size:.67rem}.site-header nav{align-items:center;gap:30px;display:flex}.site-header nav a{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;transition:color var(--motion-quick) var(--motion-smooth);font-size:.74rem;font-weight:700;text-decoration:none;position:relative}.site-header nav a:not(.nav-cta):after{content:"";transform-origin:100%;height:1px;transition:transform var(--motion-standard) var(--motion-ease);background:currentColor;position:absolute;bottom:-7px;left:0;right:0;transform:scaleX(0)}.site-header nav a:hover,.site-header nav a:focus-visible{color:#fff}.site-header nav a:not(.nav-cta):hover:after,.site-header nav a:not(.nav-cta):focus-visible:after{transform-origin:0;transform:scaleX(1)}.site-header .nav-cta{color:#fff;transition:color var(--motion-standard) var(--motion-smooth), background-color var(--motion-standard) var(--motion-smooth), transform var(--motion-quick) var(--motion-ease);border:1px solid #ffffff85;border-radius:999px;padding:11px 17px}.site-header .nav-cta:hover,.site-header .nav-cta:focus-visible{color:var(--ink);background:var(--paper)}.site-header .nav-cta:active{transform:scale(.97)}.identity:hover .identity-mark,.identity:focus-visible .identity-mark{color:var(--ink);background:var(--paper);border-color:var(--paper);transform:rotate(-7deg)}.motion-enabled .site-header .identity,.motion-enabled .site-header nav a{transition:opacity var(--motion-standard) var(--motion-ease), transform var(--motion-standard) var(--motion-ease), color var(--motion-quick) var(--motion-smooth), background-color var(--motion-standard) var(--motion-smooth)}.motion-enabled .site-shell:not(.is-ready) .site-header .identity,.motion-enabled .site-shell:not(.is-ready) .site-header nav a{opacity:0;transform:translateY(-12px)}.motion-enabled .site-shell.is-ready .site-header .identity,.motion-enabled .site-shell.is-ready .site-header nav a{opacity:1;transform:translateY(0)}.motion-enabled .site-shell.is-ready .site-header nav a:first-child{transition-delay:calc(var(--opening-delay) + 70ms)}.motion-enabled .site-shell.is-ready .site-header nav a:nth-child(2){transition-delay:calc(var(--opening-delay) + .11s)}.motion-enabled .site-shell.is-ready .site-header nav a:nth-child(3){transition-delay:calc(var(--opening-delay) + .15s)}.motion-enabled .site-shell.is-ready .site-header .identity{transition-delay:var(--opening-delay)}.motion-enabled .site-shell.is-ready:not(.is-opening) .site-header .identity{transition-delay:0s}.motion-enabled .site-shell.is-ready:not(.is-opening) .site-header nav a:first-child{transition-delay:40ms}.motion-enabled .site-shell.is-ready:not(.is-opening) .site-header nav a:nth-child(2){transition-delay:80ms}.motion-enabled .site-shell.is-ready:not(.is-opening) .site-header nav a:nth-child(3){transition-delay:.12s}.hero{--hero-parallax:0px;color:#fff;isolation:isolate;background:#1d2427;min-height:100svh;display:grid;position:relative;overflow:hidden}.hero-media,.hero-overlay,.hero-content{grid-area:1/1}.hero-media{min-height:100svh;display:block;overflow:hidden}.hero-image{object-fit:cover;object-position:center 48%;opacity:1;width:100%;height:100%;min-height:100svh;scale:1.015;translate:0 var(--hero-parallax);will-change:translate}.hero-overlay{opacity:1;background:linear-gradient(90deg,#080a0a14 0%,#080a0a2e 46%,#080a0ab8 100%),linear-gradient(#0000 58%,#070909c2 100%)}.hero-content{z-index:2;flex-direction:column;justify-content:space-between;padding-block:clamp(132px,17vh,185px) 38px;display:flex}.hero-main{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#070808a8;border:1px solid #ffffff29;width:min(850px,67vw);margin-left:auto;padding:clamp(30px,3.2vw,46px)}.hero-kicker,.section-label{letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:760}.hero-kicker{color:#ffffffc2;margin-bottom:28px}.hero h1{font-family:var(--sans);letter-spacing:-.075em;margin:0;font-size:clamp(3.9rem,7.4vw,7.7rem);font-weight:650;line-height:.86}.hero h1 em{font-family:var(--serif);font-weight:400}.hero-title-line{display:block;overflow:hidden}.hero-title-line>span{transform-origin:0 100%;display:block}.hero-lede{color:#fffc;max-width:470px;margin:32px 0 30px;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65}.opening-sequence{z-index:6;color:#fff;min-height:100svh;animation:opening-sequence-out 2.4s var(--motion-smooth) both;background:#0c0c0c;grid-area:1/1;position:relative;overflow:hidden}.opening-sequence-brand{z-index:3;color:#ffffffd1;letter-spacing:.14em;text-transform:uppercase;width:min(1320px,100% - 64px);animation:opening-detail-in .78s var(--motion-ease) .12s both;justify-content:space-between;font-size:.62rem;font-weight:720;display:flex;position:absolute;top:34px;left:50%;transform:translate(-50%)}.opening-panels{background:#0c0c0c;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;position:absolute;inset:0}.opening-panel{min-width:0;height:100%;animation:opening-panel-reveal .98s var(--motion-ease) both;will-change:clip-path;background:#151515;margin:0;position:relative;overflow:hidden}.opening-panel-1{animation-delay:.1s}.opening-panel-2{animation-delay:.24s}.opening-panel-3{animation-delay:.38s}.opening-panel img{object-fit:cover;width:100%;height:100%;animation:opening-image-settle 1.5s var(--motion-ease) both;will-change:transform;display:block;scale:1.03}.opening-panel-1 img{object-position:48% center;animation-delay:.1s}.opening-panel-2 img{object-position:52% center;animation-delay:.24s}.opening-panel-3 img{object-position:50% 36%;animation-delay:.38s}.opening-panel figcaption{color:#ffffffd1;letter-spacing:.13em;text-transform:uppercase;animation:opening-detail-in .62s var(--motion-ease) both;border-top:1px solid #ffffff6b;justify-content:space-between;padding-top:11px;font-size:.58rem;font-weight:720;display:flex;position:absolute;bottom:26px;left:20px;right:20px}.opening-panel-1 figcaption{animation-delay:.52s}.opening-panel-2 figcaption{animation-delay:.62s}.opening-panel-3 figcaption{animation-delay:.72s}.opening-panel figcaption span{color:#ffffff85}@keyframes opening-sequence-out{0%,68%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes opening-panel-reveal{0%{clip-path:inset(100% 0 0);transform:translateY(18px)}to{clip-path:inset(0);transform:translateY(0)}}@keyframes opening-image-settle{0%{translate:0 18px;scale:1.12}to{translate:0;scale:1.03}}@keyframes opening-detail-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}.text-link{width:fit-content;color:var(--ink);letter-spacing:.11em;text-transform:uppercase;transition:opacity var(--motion-quick) var(--motion-smooth);border-bottom:1px solid;align-items:center;gap:12px;padding-bottom:8px;font-size:.74rem;font-weight:760;text-decoration:none;display:inline-flex}.text-link svg{width:19px;height:19px;transition:transform var(--motion-standard) var(--motion-ease)}.text-link:hover svg,.text-link:focus-visible svg{transform:translate(6px)}.text-link:active{opacity:.68}.text-link-light{color:#fff}.hero-meta{color:#ffffffb3;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:20px;padding-top:24px;font-size:.65rem;font-weight:650;display:flex;position:relative}.hero-meta:before{content:"";transform-origin:0;background:#ffffff57;height:1px;position:absolute;top:0;left:0;right:0}.motion-enabled .hero-image{transition:opacity 1.1s var(--motion-smooth), scale 1.3s var(--motion-ease)}.motion-enabled .hero-overlay{transition:opacity 1.1s var(--motion-smooth)}.motion-enabled .hero-kicker,.motion-enabled .hero-lede,.motion-enabled .hero-main>.text-link,.motion-enabled .hero-meta{transition:opacity var(--motion-slow) var(--motion-ease), transform var(--motion-slow) var(--motion-ease)}.motion-enabled .hero-title-line>span{transition:transform 1s var(--motion-ease)}.motion-enabled .hero-meta:before{transition:transform .9s var(--motion-ease)}.motion-enabled .site-shell:not(.is-ready) .hero-image{opacity:.48;scale:1.075}.motion-enabled .site-shell:not(.is-ready) .hero-overlay{opacity:.55}.motion-enabled .site-shell:not(.is-ready) .hero-kicker,.motion-enabled .site-shell:not(.is-ready) .hero-lede,.motion-enabled .site-shell:not(.is-ready) .hero-main>.text-link,.motion-enabled .site-shell:not(.is-ready) .hero-meta{opacity:0;transform:translateY(20px)}.motion-enabled .site-shell:not(.is-ready) .hero-title-line>span{transform:translateY(112%)rotate(1deg)}.motion-enabled .site-shell:not(.is-ready) .hero-meta:before{transform:scaleX(0)}.motion-enabled .site-shell.is-ready .hero-image{opacity:1;scale:1.015}.motion-enabled .site-shell.is-ready .hero-overlay{opacity:1}.motion-enabled .site-shell.is-ready .hero-kicker,.motion-enabled .site-shell.is-ready .hero-lede,.motion-enabled .site-shell.is-ready .hero-main>.text-link,.motion-enabled .site-shell.is-ready .hero-meta{opacity:1;transform:translateY(0)}.motion-enabled .site-shell.is-ready .hero-title-line>span{transform:translateY(0)rotate(0)}.motion-enabled .site-shell.is-ready .hero-meta:before{transform:scaleX(1)}.motion-enabled .site-shell.is-ready .hero-kicker{transition-delay:calc(var(--opening-delay) + 0s)}.motion-enabled .site-shell.is-ready .hero-title-line:first-child>span{transition-delay:calc(var(--opening-delay) + 70ms)}.motion-enabled .site-shell.is-ready .hero-title-line:nth-child(2)>span{transition-delay:calc(var(--opening-delay) + .14s)}.motion-enabled .site-shell.is-ready .hero-title-line:nth-child(3)>span{transition-delay:calc(var(--opening-delay) + .21s)}.motion-enabled .site-shell.is-ready .hero-lede{transition-delay:calc(var(--opening-delay) + .29s)}.motion-enabled .site-shell.is-ready .hero-main>.text-link{transition-delay:calc(var(--opening-delay) + .36s)}.motion-enabled .site-shell.is-ready .hero-meta,.motion-enabled .site-shell.is-ready .hero-meta:before{transition-delay:calc(var(--opening-delay) + .44s)}[data-reveal]{--reveal-delay:0s}.motion-enabled [data-reveal=up]{opacity:0;transition:opacity var(--motion-standard) var(--motion-ease) var(--reveal-delay), transform var(--motion-standard) var(--motion-ease) var(--reveal-delay);transform:translateY(24px)}.motion-enabled [data-reveal=up].is-visible{opacity:1;transform:translate(0,0)}.intro{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:48px;padding-block:clamp(90px,13vw,180px);display:grid}.section-label{color:var(--rust)}.intro-copy{max-width:1020px}.intro-copy h2,.section-heading h2,.about-copy h2,.contact-grid h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-weight:400;line-height:1.04}.intro-copy h2{font-size:clamp(2.6rem,5.6vw,5.7rem)}.intro-copy>p{max-width:600px;color:var(--muted);margin:34px 0 0 auto;font-size:.98rem;line-height:1.75}.work-section{padding-bottom:clamp(110px,13vw,190px)}.section-heading{border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) minmax(240px,360px);align-items:end;gap:64px;padding-block:38px 64px;display:grid}.section-heading h2{max-width:790px;margin-top:15px;font-size:clamp(2.2rem,4.5vw,4.7rem)}.section-heading-aside>p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.7}.section-heading-aside{gap:24px;display:grid}.gallery-launch{border:1px solid var(--rust);width:100%;min-height:64px;color:var(--paper);background:var(--rust);cursor:pointer;letter-spacing:.1em;text-align:left;text-transform:uppercase;transition:color var(--motion-quick) var(--motion-smooth), background-color var(--motion-quick) var(--motion-smooth), border-color var(--motion-quick) var(--motion-smooth), box-shadow var(--motion-standard) var(--motion-smooth), transform var(--motion-quick) var(--motion-ease);justify-content:space-between;align-items:center;gap:24px;padding:0 18px;font-size:.72rem;font-weight:760;display:flex;box-shadow:0 12px 28px #4f271b29}.gallery-launch-copy{color:inherit}.gallery-launch-meta{color:#f7f4edb8;align-items:center;gap:12px;display:inline-flex}.gallery-launch-meta>span{font-size:.58rem}.gallery-launch svg{width:19px;transition:transform var(--motion-quick) var(--motion-ease);flex:none}.gallery-launch:hover,.gallery-launch:focus-visible{color:var(--paper);background:var(--ink);border-color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 34px #15151533}.gallery-launch:hover svg,.gallery-launch:focus-visible svg{transform:translate(4px)}.gallery-launch:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.gallery-launch:active{transform:translateY(0)scale(.985);box-shadow:0 8px 18px #15151529}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(70px,10vw,140px) 28px;display:grid}.work-item{margin:0}.motion-enabled [data-reveal=project]{opacity:0;transition:opacity .65s var(--motion-ease) var(--reveal-delay), transform .65s var(--motion-ease) var(--reveal-delay);transform:translateY(28px)}.motion-enabled [data-reveal=project].is-visible{opacity:1;transform:translate(0,0)}.work-item-portrait{grid-column:1/span 5}.work-item-landscape{grid-column:7/-1;padding-top:16%}.work-item-landscape-left{grid-column:1/span 6}.work-item-wide{grid-column:2/span 10}.work-item-square{grid-column:1/span 6}.work-item-portrait-short{grid-column:8/-1;padding-top:24%}.work-image-wrap{color:#fff;cursor:zoom-in;text-align:left;background:#d7d1c8;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.work-image-wrap:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.motion-enabled [data-reveal=project] .work-image-wrap{clip-path:inset(0 0 100%);transition:clip-path var(--motion-slow) var(--motion-ease) var(--reveal-delay)}.motion-enabled [data-reveal=project].is-visible .work-image-wrap{clip-path:inset(0)}.work-item-portrait .work-image-wrap,.work-frame-portrait .work-image-wrap{aspect-ratio:2/3}.work-item-landscape .work-image-wrap,.work-item-landscape-left .work-image-wrap{aspect-ratio:3/2}.work-item-wide .work-image-wrap{aspect-ratio:16/8.3}.work-item-square .work-image-wrap{aspect-ratio:1}.work-item-portrait-short .work-image-wrap{aspect-ratio:4/5}.work-image-wrap img,.about-image img{object-fit:cover;width:100%;height:100%;display:block}.motion-enabled [data-reveal=project] .work-image-wrap img{transition:scale 1.1s var(--motion-ease) var(--reveal-delay);scale:1.08}.motion-enabled [data-reveal=project].is-visible .work-image-wrap img{scale:1}.work-frame-portrait img{object-position:center}.frame-mark{color:#fff;letter-spacing:.12em;text-transform:uppercase;transition:opacity var(--motion-standard) var(--motion-ease), transform var(--motion-standard) var(--motion-ease);background:#0f0e0db8;padding:7px 10px;font-size:.57rem;font-weight:760;position:absolute;top:14px;left:14px}.work-view-label{color:var(--ink);letter-spacing:.1em;opacity:0;text-transform:uppercase;transition:opacity var(--motion-standard) var(--motion-ease), transform var(--motion-standard) var(--motion-ease);background:#f7f4edf0;align-items:center;gap:9px;padding:10px 13px;font-size:.6rem;font-weight:760;display:inline-flex;position:absolute;bottom:16px;right:16px;transform:translateY(10px)}.work-view-label svg{width:16px;height:16px;transition:transform var(--motion-standard) var(--motion-ease)}.work-image-wrap:hover .work-view-label,.work-image-wrap:focus-visible .work-view-label{opacity:1;transform:translateY(0)}.work-image-wrap:hover .work-view-label svg,.work-image-wrap:focus-visible .work-view-label svg{transform:translate(4px)}.motion-enabled [data-reveal=project] .frame-mark{opacity:0;transform:translateY(8px)}.motion-enabled [data-reveal=project].is-visible .frame-mark{opacity:1;transition-delay:calc(var(--reveal-delay) + .34s);transform:translateY(0)}.work-item figcaption{border-top:1px solid var(--line);transition:opacity var(--motion-standard) var(--motion-ease), transform var(--motion-standard) var(--motion-ease);justify-content:space-between;gap:24px;padding-top:18px;display:flex}.motion-enabled [data-reveal=project] figcaption{opacity:0;transform:translateY(14px)}.motion-enabled [data-reveal=project].is-visible figcaption{opacity:1;transition-delay:calc(var(--reveal-delay) + .28s);transform:translateY(0)}.work-item figcaption p,.work-item figcaption>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.66rem}.archive-note{border-top:1px solid var(--line-strong);max-width:650px;color:var(--muted);text-align:center;margin:clamp(90px,11vw,150px) auto 0;padding-top:18px;font-size:.73rem;line-height:1.65}.about-section{color:var(--paper);background:var(--ink);padding-block:clamp(90px,12vw,170px)}.about-inner{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(60px,10vw,150px);display:grid}.about-image{margin:0;overflow:hidden}.motion-enabled .about-image[data-reveal=image]{opacity:0;clip-path:inset(0 0 100%);transition:opacity .65s var(--motion-ease), clip-path var(--motion-slow) var(--motion-ease), transform .65s var(--motion-ease);transform:translateY(24px)}.motion-enabled .about-image[data-reveal=image].is-visible{opacity:1;clip-path:inset(0);transform:translateY(0)}.about-image img{aspect-ratio:2/3;object-position:center}.motion-enabled .about-image[data-reveal=image] img{transition:scale 1.1s var(--motion-ease);scale:1.08}.motion-enabled .about-image[data-reveal=image].is-visible img{scale:1}.about-image figcaption{color:#f7f4ed85;letter-spacing:.11em;text-transform:uppercase;margin-top:11px;font-size:.6rem}.about-copy .section-label{color:var(--sand)}.about-copy h2{margin-top:22px;font-size:clamp(2.6rem,5.2vw,5.3rem)}.about-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:620px;margin:42px 0 60px auto;display:grid}.about-body p{color:#f7f4eda8;margin:0;font-size:.84rem;line-height:1.75}.discipline-list{border-top:1px solid #f7f4ed3d;margin:0;padding:0;list-style:none}.motion-enabled .discipline-list[data-reveal=list] li{opacity:0;transition:opacity var(--motion-standard) var(--motion-ease), transform var(--motion-standard) var(--motion-ease);transform:translate(18px)}.motion-enabled .discipline-list[data-reveal=list].is-visible li{opacity:1;transform:translate(0)}.motion-enabled .discipline-list[data-reveal=list].is-visible li:first-child{transition-delay:var(--reveal-delay)}.motion-enabled .discipline-list[data-reveal=list].is-visible li:nth-child(2){transition-delay:calc(var(--reveal-delay) + 55ms)}.motion-enabled .discipline-list[data-reveal=list].is-visible li:nth-child(3){transition-delay:calc(var(--reveal-delay) + .11s)}.motion-enabled .discipline-list[data-reveal=list].is-visible li:nth-child(4){transition-delay:calc(var(--reveal-delay) + .165s)}.discipline-list li{min-height:68px;font-family:var(--serif);border-bottom:1px solid #f7f4ed2e;grid-template-columns:52px 1fr;align-items:center;font-size:1.2rem;display:grid}.discipline-list span{color:#f7f4ed6b;font-family:var(--sans);font-size:.58rem}.contact-section{padding-block:clamp(100px,14vw,200px)}.contact-panel{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);color:var(--ink);grid-template-columns:minmax(210px,.56fr) minmax(0,1.44fr);gap:clamp(42px,8vw,120px);padding-block:clamp(34px,5vw,68px);display:grid}.contact-headshot{min-width:0;margin:0}.contact-headshot-image{aspect-ratio:1;border:1px solid var(--line-strong);background:var(--paper-deep);object-fit:cover;width:100%;height:auto;display:block}.contact-headshot figcaption{color:var(--muted);letter-spacing:.11em;text-transform:uppercase;margin-top:12px;font-size:.58rem}.contact-details{padding-block:clamp(6px,2vw,24px)}.contact-overline{color:var(--rust);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.6rem;font-weight:720}.contact-details h2{max-width:680px;font-family:var(--serif);letter-spacing:-.04em;margin:28px 0 18px;font-size:clamp(2.1rem,3.8vw,4.1rem);font-weight:400;line-height:1}.contact-intro{max-width:560px;color:var(--muted);margin:0 0 clamp(40px,6vw,70px);font-size:.86rem;line-height:1.7}.contact-list{border-top:1px solid var(--line-strong)}.contact-link{border-bottom:1px solid var(--line);min-height:72px;color:inherit;grid-template-columns:minmax(74px,.28fr) minmax(0,1fr) auto 22px;align-items:center;gap:16px;text-decoration:none;display:grid;position:relative}.contact-link>span,.contact-link>small{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.56rem}.contact-link strong{min-width:0;font-family:var(--serif);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.05rem,2vw,1.55rem);font-weight:400;overflow:hidden}.contact-link svg{width:18px;transition:transform var(--motion-standard) var(--motion-ease)}a.contact-link{transition:color var(--motion-standard) var(--motion-smooth), padding var(--motion-standard) var(--motion-ease)}a.contact-link:hover,a.contact-link:focus-visible{color:var(--rust);padding-inline:8px}a.contact-link:hover svg,a.contact-link:focus-visible svg{transform:translate(4px)}a.contact-link:focus-visible{outline:2px solid var(--rust);outline-offset:4px}.site-footer{border-top:1px solid var(--line-strong);grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;min-height:126px;display:grid}.site-footer div{gap:4px;display:grid}.site-footer strong{letter-spacing:.11em;text-transform:uppercase;font-size:.74rem}.site-footer span,.site-footer p,.site-footer a{color:var(--muted);margin:0;font-size:.65rem;text-decoration:none}.site-footer a{justify-self:end}.screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.gallery-modal{z-index:200;color:var(--paper);animation:gallery-modal-in .36s var(--motion-smooth) both;background:radial-gradient(circle at 50% 44%,#ffffff09,#0000 44%),#101010;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;padding:22px 28px 18px;display:grid;position:fixed;inset:0;overflow:hidden}.gallery-topbar{border-bottom:1px solid #f7f4ed2e;justify-content:space-between;align-items:center;gap:24px;min-height:42px;display:flex}.gallery-topbar p{color:#f7f4edb3;letter-spacing:.12em;text-transform:uppercase;gap:18px;margin:0;font-size:.62rem;font-weight:720;display:flex}.gallery-topbar p span{color:#f7f4ed66}.gallery-topbar-actions{align-items:center;gap:22px;display:flex}.gallery-close,.gallery-index-toggle,.gallery-arrow,.gallery-filmstrip button,.gallery-index-grid button{color:inherit;cursor:pointer;background:0 0;border:0}.gallery-index-toggle{color:#f7f4edad;letter-spacing:.12em;text-transform:uppercase;transition:color var(--motion-quick) var(--motion-smooth);align-items:center;gap:9px;padding:7px 0;font-size:.62rem;font-weight:720;display:inline-flex}.gallery-index-toggle span{color:#f7f4ed5c;font-size:.52rem}.gallery-index-toggle:hover,.gallery-index-toggle:focus-visible{color:var(--sand)}.gallery-close{letter-spacing:.12em;text-transform:uppercase;transition:color var(--motion-quick) var(--motion-smooth);align-items:center;gap:10px;padding:7px 0 7px 14px;font-size:.62rem;font-weight:720;display:inline-flex}.gallery-close span{font-family:var(--serif);transition:transform var(--motion-standard) var(--motion-ease);font-size:1.5rem;font-weight:300;line-height:.7;display:inline-block}.gallery-close:hover,.gallery-close:focus-visible{color:var(--sand)}.gallery-close:hover span,.gallery-close:focus-visible span{transform:rotate(90deg)}.gallery-close:focus-visible,.gallery-index-toggle:focus-visible,.gallery-arrow:focus-visible,.gallery-filmstrip button:focus-visible,.gallery-index-grid button:focus-visible{outline:2px solid var(--sand);outline-offset:4px}.gallery-index{scrollbar-width:thin;scrollbar-color:#f7f4ed38 transparent;min-height:0;animation:gallery-index-in .46s var(--motion-ease) both;padding:clamp(24px,5vh,58px) 4px 32px;overflow-y:auto}.gallery-index>header{grid-template-columns:minmax(120px,.28fr) minmax(0,1fr);gap:28px;padding-bottom:clamp(30px,5vw,62px);display:grid}.gallery-index>header p{color:var(--sand);letter-spacing:.13em;text-transform:uppercase;margin:8px 0 0;font-size:.6rem;font-weight:720}.gallery-index>header h2{max-width:850px;font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.3rem,5vw,5rem);font-weight:400;line-height:.98}.gallery-index-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:clamp(22px,3vw,38px) 12px;display:grid}.gallery-index-grid button{opacity:.58;text-align:left;min-width:0;transition:opacity var(--motion-standard) var(--motion-smooth), transform var(--motion-standard) var(--motion-ease), border-color var(--motion-standard) var(--motion-smooth);border-bottom:1px solid #f7f4ed24;grid-template-columns:auto 1fr;align-items:baseline;gap:5px 8px;padding:0 0 10px;display:grid;position:relative}.gallery-index-grid button:hover,.gallery-index-grid button:focus-visible,.gallery-index-grid button.is-active{opacity:1;border-color:#f7f4eda8;transform:translateY(-4px)}.gallery-index-grid img{aspect-ratio:3/2;object-fit:cover;background:#1d1d1d;grid-column:1/-1;width:100%;display:block}.gallery-index-grid button.is-portrait img{object-fit:contain}.gallery-index-grid button>span{color:#f7f4edd1;font-size:.58rem;font-weight:720}.gallery-index-grid button>small{color:#f7f4ed6b;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.5rem;overflow:hidden}.gallery-stage{touch-action:pan-y;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:18px;min-height:0;display:grid;position:relative}.gallery-arrow{z-index:2;width:48px;height:48px;transition:color var(--motion-quick) var(--motion-smooth), background-color var(--motion-standard) var(--motion-smooth), border-color var(--motion-standard) var(--motion-smooth), transform var(--motion-quick) var(--motion-ease);border:1px solid #f7f4ed47;border-radius:50%;place-items:center;display:grid;position:relative}.gallery-arrow svg{width:20px;height:20px;transition:transform var(--motion-standard) var(--motion-ease)}.gallery-arrow-previous svg{transform:rotate(180deg)}.gallery-arrow:hover,.gallery-arrow:focus-visible{color:var(--ink);background:var(--paper);border-color:var(--paper)}.gallery-arrow-next:hover svg,.gallery-arrow-next:focus-visible svg{transform:translate(4px)}.gallery-arrow-previous:hover svg,.gallery-arrow-previous:focus-visible svg{transform:rotate(180deg)translate(4px)}.gallery-arrow:active{transform:scale(.93)}.gallery-figure{width:100%;min-width:0;height:100%;min-height:0;animation:gallery-figure-in .46s var(--motion-ease) both;grid-template-rows:minmax(0,1fr) auto;justify-self:center;margin:0;display:grid}.gallery-image-frame{place-items:center;width:100%;min-width:0;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.gallery-image-frame img{object-fit:contain;width:100%;height:100%;animation:gallery-image-in .6s var(--motion-ease) both;display:block;position:absolute;inset:0}.gallery-figure figcaption{border-top:1px solid #f7f4ed2e;justify-content:space-between;align-items:start;gap:28px;width:min(100%,1120px);min-height:62px;margin-inline:auto;padding-top:14px;display:flex}.gallery-figure figcaption span,.gallery-figure figcaption p{color:#f7f4ed7a;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.58rem}.gallery-filmstrip-wrap{border-top:1px solid #f7f4ed2e;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;min-height:58px;display:grid}.gallery-filmstrip{scrollbar-width:thin;scrollbar-color:#f7f4ed38 transparent;gap:9px;padding-top:10px;display:flex;overflow-x:auto}.gallery-filmstrip button{opacity:.4;height:42px;transition:opacity var(--motion-standard) var(--motion-smooth), transform var(--motion-standard) var(--motion-ease);flex:0 0 62px;padding:0;position:relative;overflow:hidden}.gallery-filmstrip button:after{content:"";background:var(--paper);transform-origin:0;height:2px;transition:transform var(--motion-standard) var(--motion-ease);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.gallery-filmstrip button:hover,.gallery-filmstrip button:focus-visible,.gallery-filmstrip button.is-active{opacity:1}.gallery-filmstrip button.is-active:after{transform:scaleX(1)}.gallery-filmstrip button:active{transform:scale(.94)}.gallery-filmstrip img{object-fit:cover;width:100%;height:100%;display:block}.gallery-filmstrip button.is-portrait img{object-fit:contain;background:#171717}.gallery-filmstrip button>span{color:#fff;text-shadow:0 1px 3px #000c;font-size:.5rem;font-weight:760;position:absolute;bottom:3px;right:4px}.gallery-filmstrip-wrap>p{color:#f7f4ed61;letter-spacing:.08em;white-space:nowrap;margin:0 0 4px;font-size:.55rem}@keyframes gallery-modal-in{0%{opacity:0}to{opacity:1}}@keyframes gallery-index-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-figure-in{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gallery-image-in{0%{opacity:.45}to{opacity:1}}@media (hover:hover) and (pointer:fine){.motion-enabled .work-item.is-visible .work-image-wrap img{transition:scale .7s var(--motion-ease)}.work-item:hover .work-image-wrap img{scale:1.035}.work-item:hover h3{transform:translate(6px)}.work-item:hover .frame-mark{transform:translateY(-3px)}.motion-enabled .about-image[data-reveal=image].is-visible:hover img{scale:1.025}}@media (width<=960px){.intro,.section-heading,.about-inner,.contact-panel{grid-template-columns:1fr}.intro{gap:30px}.section-heading{gap:24px}.section-heading-aside>p{max-width:520px}.about-image{width:min(540px,80%)}.about-body{margin-left:0}.contact-headshot{width:min(480px,78%)}}@media (width<=760px){.site-shell{--opening-delay:.88s}.page-width{width:min(100% - 34px,1320px)}.site-header{min-height:78px}.identity-mark{width:38px;height:38px}.site-header nav{gap:16px}.site-header nav>a:not(.nav-cta){display:inline-flex}.site-header nav a{font-size:.66rem}.site-header .nav-cta{padding:9px 13px}.hero,.hero-media,.hero-image{min-height:100svh}.hero-image{object-position:center;translate:none}.hero-overlay{background:linear-gradient(90deg,#080a0a33,#080a0a5c),linear-gradient(#0709090f 28%,#070909eb)}.hero-content{justify-content:flex-end;padding-block:clamp(390px,50vh,445px) 24px}.hero-main{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070808c7;border:1px solid #fff3;width:100%;margin-left:0;padding:22px 19px 21px}.hero h1{font-size:clamp(3.15rem,13.8vw,4.4rem);line-height:.9}.hero-kicker{margin-bottom:19px;line-height:1.5}.hero-lede{color:#ffffffe0;max-width:330px;margin-block:22px;font-size:.92rem;line-height:1.55}.hero-meta{display:none}.opening-sequence{animation-duration:1.9s}.opening-sequence-brand{width:min(100% - 34px,1320px);font-size:.55rem;top:24px}.opening-sequence-brand span:last-child{display:none}.opening-panels{grid-template-columns:minmax(0,1fr)}.opening-panel-1,.opening-panel-2{display:none}.opening-panel-3{animation-delay:80ms}.opening-panel-3 img{object-position:center;animation-delay:80ms}.opening-panel-3 figcaption{animation-delay:.46s}.intro-copy>p{margin-left:0}.work-grid{grid-template-columns:1fr;gap:66px;display:grid}.work-item-portrait,.work-item-landscape,.work-item-landscape-left,.work-item-wide,.work-item-square,.work-item-portrait-short{grid-column:auto;padding-top:0}.work-item-portrait .work-image-wrap,.work-frame-portrait .work-image-wrap{aspect-ratio:2/3}.work-item-landscape .work-image-wrap,.work-item-landscape-left .work-image-wrap,.work-item-portrait-short .work-image-wrap,.work-item-wide .work-image-wrap{aspect-ratio:3/2}.work-item-square .work-image-wrap{aspect-ratio:1}.work-view-label{opacity:1;padding:8px 10px;bottom:11px;right:11px;transform:none}.about-image{width:100%}.about-body{grid-template-columns:1fr;gap:18px}.contact-panel{gap:46px}.contact-headshot{width:min(270px,100%)}.contact-link{grid-template-columns:70px minmax(0,1fr) 22px;gap:12px;min-height:68px}.contact-link>small{display:none}.site-footer{grid-template-columns:1fr auto;padding-block:28px}.site-footer p{display:none}.gallery-modal{gap:10px;padding:14px 14px 11px}.gallery-topbar{min-height:38px}.gallery-topbar p{gap:10px}.gallery-topbar-actions{gap:14px}.gallery-index-toggle span{display:none}.gallery-close{padding-right:2px}.gallery-stage{grid-template-columns:minmax(0,1fr);gap:0}.gallery-arrow{width:42px;height:42px;color:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f0f0f8f;position:absolute;top:calc(50% - 50px)}.gallery-arrow-previous{left:7px}.gallery-arrow-next{right:7px}.gallery-figure{grid-column:1}.gallery-figure figcaption{min-height:56px;padding-top:11px}.gallery-filmstrip-wrap{grid-template-columns:minmax(0,1fr)}.gallery-filmstrip-wrap>p{display:none}.gallery-filmstrip button{flex-basis:56px;height:38px}.gallery-index{padding-top:24px}.gallery-index>header{grid-template-columns:1fr;gap:10px;padding-bottom:30px}.gallery-index>header h2{font-size:clamp(2.2rem,10vw,3.4rem)}.gallery-index-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 8px}.gallery-index-grid button>small{display:none}.motion-enabled [data-reveal=up]{transform:translateY(18px)}.motion-enabled [data-reveal=project]{transform:translateY(20px)}.motion-enabled [data-reveal=up].is-visible,.motion-enabled [data-reveal=project].is-visible{transform:translate(0,0)}}@media (width<=420px){.identity-copy,.site-header .nav-cta{display:none}.work-item figcaption>span{text-align:right;max-width:110px}.contact-grid{gap:40px}.gallery-topbar p{font-size:.55rem}.gallery-topbar p>span{display:none}.gallery-figure figcaption p{text-align:right;max-width:100px}}@media (prefers-reduced-motion:reduce){.site-shell{--opening-delay:0s}.opening-sequence{display:none}.scroll-progress{transition:none}.motion-enabled .site-shell:not(.is-ready) .site-header .identity,.motion-enabled .site-shell:not(.is-ready) .site-header nav a,.motion-enabled .site-shell:not(.is-ready) .hero-kicker,.motion-enabled .site-shell:not(.is-ready) .hero-lede,.motion-enabled .site-shell:not(.is-ready) .hero-main>.text-link,.motion-enabled .site-shell:not(.is-ready) .hero-meta,.motion-enabled [data-reveal],.motion-enabled [data-reveal=project] figcaption,.motion-enabled [data-reveal=project] .frame-mark,.motion-enabled .discipline-list[data-reveal=list] li{opacity:1;transform:none}.motion-enabled .site-shell:not(.is-ready) .hero-title-line>span,.motion-enabled .site-shell.is-ready .hero-title-line>span{transform:none}.motion-enabled .site-shell:not(.is-ready) .hero-image,.motion-enabled .site-shell.is-ready .hero-image,.motion-enabled [data-reveal=project] .work-image-wrap img,.motion-enabled .about-image[data-reveal=image] img{opacity:1;translate:none;scale:1}.motion-enabled .site-shell:not(.is-ready) .hero-overlay{opacity:1}.motion-enabled [data-reveal=project] .work-image-wrap,.motion-enabled .about-image[data-reveal=image]{clip-path:none}.identity:hover .identity-mark,.identity:focus-visible .identity-mark,.text-link:hover svg,.text-link:focus-visible svg,.work-item:hover .work-image-wrap img,.work-item:hover h3,.work-item:hover .frame-mark{transform:scale(1)}}
