@charset "UTF-8";
:root{color-scheme:dark;--ink:#10100f;--ink-soft:#171715;--paper:#e9e5dd;--paper-dim:#aaa69d;--line:rgba(233,229,221,.19);--serif:"Iowan Old Style","Baskerville","Palatino Linotype",Georgia,serif;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif;--pad:clamp(22px,5vw,80px);--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:14px;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.skip-link{position:fixed;z-index:50;top:10px;left:10px;padding:12px 16px;background:var(--paper);color:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid #d8b991;outline-offset:5px}.site-header{height:78px;position:absolute;z-index:10;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.16)}.wordmark{font-size:13px;font-weight:500;letter-spacing:.19em;line-height:1}.wordmark span{display:block;font-size:8px;letter-spacing:.52em;margin-top:6px}.primary-nav{display:flex;align-items:center;gap:clamp(24px,4vw,58px);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.primary-nav a{transition:opacity .3s}.primary-nav a:hover{opacity:.62}.nav-contact{border:1px solid rgba(255,255,255,.45);padding:11px 15px}.nav-contact span{padding-left:10px}.menu-toggle{display:none}
.hero{position:relative;min-height:min(900px,100svh);height:780px;max-height:1000px;display:flex;align-items:center;overflow:hidden;background:#242220}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:brightness(.72) saturate(.78);animation:hero-enter 1.3s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,9,.74),rgba(10,10,9,.24) 58%,rgba(10,10,9,.08)),linear-gradient(0deg,rgba(10,10,9,.56),transparent 32%)}.hero-topline,.hero-foot{position:absolute;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.19em;text-transform:uppercase}.hero-topline{top:112px;color:rgba(255,255,255,.73)}.hero-foot{bottom:29px;color:rgba(255,255,255,.76)}.hero-copy{position:relative;padding:70px var(--pad) 0;animation:fade-up 1s .2s var(--ease) both}.eyebrow{margin:0 0 24px;color:var(--paper-dim);font-size:9px;letter-spacing:.22em;text-transform:uppercase}.hero .eyebrow{color:rgba(255,255,255,.74)}h1,h2,p{margin-top:0}.hero h1{margin:0;font-size:clamp(62px,9vw,142px);font-weight:300;line-height:.91;letter-spacing:-.055em}.hero h1 em,h2 em,.intro-statement em{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}.text-link{display:inline-flex;gap:20px;align-items:center;padding-bottom:6px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.hero-link{margin-top:48px}.vertical-note{position:absolute;right:22px;top:52%;writing-mode:vertical-rl;font-size:8px;letter-spacing:.27em;color:rgba(255,255,255,.57)}
.section-shell{padding-left:var(--pad);padding-right:var(--pad)}.intro{padding-top:clamp(100px,15vw,205px);padding-bottom:clamp(95px,13vw,170px);background:var(--paper);color:var(--ink)}.intro .eyebrow{color:#77736b}.intro-statement{font-size:clamp(38px,6.2vw,89px);line-height:1.12;letter-spacing:-.05em;margin:0 0 54px}.intro-bottom{border-top:1px solid rgba(16,16,15,.23);padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.work{padding-top:clamp(100px,13vw,170px);padding-bottom:clamp(100px,12vw,155px)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:56px}.section-heading .eyebrow{margin-bottom:18px}.section-heading h2,.about h2{font-size:clamp(47px,7vw,98px);font-weight:300;line-height:.98;letter-spacing:-.055em;margin:0}.section-aside{font-size:11px;color:var(--paper-dim);margin:0 0 6px;line-height:1.7}.filters{display:flex;flex-wrap:wrap;gap:9px 30px;border-top:1px solid var(--line);padding-top:17px;margin-bottom:36px}.filter-button{border:0;background:none;padding:0 0 5px;color:#89867f;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color .25s,border-color .25s;border-bottom:1px solid transparent}.filter-button span{font-size:8px;color:#66635e;padding-left:5px}.filter-button:hover,.filter-button.is-active{color:var(--paper);border-bottom-color:var(--paper)}
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:68px 24px;align-items:start}.gallery-item{margin:0;min-width:0}.gallery-item[hidden]{display:none}.item-wide{grid-column:span 7}.item-tall{grid-column:span 5}.item-offset{grid-column:3/span 5}.gallery-item:nth-child(4n+1){margin-top:50px}.gallery-item:nth-child(4n+2){margin-top:180px}.gallery-item:nth-child(4n+3){margin-top:-60px}.gallery-item:nth-child(4n){margin-top:60px}.image-button{display:block;position:relative;width:100%;height:auto;aspect-ratio:4/5;padding:0;border:0;overflow:hidden;background:#272624;text-align:left;cursor:zoom-in}.item-wide .image-button{aspect-ratio:1.13/1}.item-tall .image-button{aspect-ratio:.78/1}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s var(--ease),filter .6s;filter:saturate(.82)}.image-button:hover img{transform:scale(1.035);filter:saturate(1)}.image-index,.image-open{position:absolute;color:#fff;opacity:0;transition:opacity .3s}.image-index{left:16px;top:16px;font-size:9px;letter-spacing:.14em}.image-open{right:16px;bottom:13px;font-size:20px}.image-button:hover .image-index,.image-button:focus-visible .image-index,.image-button:hover .image-open,.image-button:focus-visible .image-open{opacity:1}.gallery-item figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:13px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#c4c0b8}.gallery-item figcaption span:last-child{color:#858179;text-align:right}
.about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:clamp(46px,9vw,145px);align-items:center;padding-top:clamp(80px,10vw,130px);padding-bottom:clamp(110px,15vw,200px);background:var(--paper);color:var(--ink)}.about-image{position:relative;margin:0 0 0 5vw;max-width:550px}.about-image img{width:100%;height:min(72vw,680px);object-fit:cover;object-position:center 30%;filter:saturate(.78)}.image-caption{display:block;margin-top:12px;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#77736b}.about-copy{max-width:490px}.about-copy .eyebrow{color:#77736b}.about h2{margin-bottom:32px}.about-copy p:not(.eyebrow){font-family:var(--serif);font-size:17px;line-height:1.7;color:#56534d}.about-copy .text-link{margin-top:17px}.services{padding-top:clamp(100px,13vw,165px);padding-bottom:clamp(110px,15vw,190px)}.services .section-heading{margin-bottom:47px}.service-list{border-top:1px solid var(--line)}.service-row{min-height:94px;display:grid;grid-template-columns:55px 1fr minmax(200px,.55fr) 26px;gap:18px;align-items:center;border-bottom:1px solid var(--line);transition:padding .3s var(--ease),background .3s}.service-row:hover{padding-left:10px;background:rgba(255,255,255,.025)}.service-number{color:#77746e;font-size:9px;letter-spacing:.12em}.service-title{font-family:var(--serif);font-size:clamp(19px,2.5vw,30px);letter-spacing:-.025em}.service-note{font-size:10px;color:#9b978f}.service-arrow{font-size:17px;text-align:right}
.contact{position:relative;overflow:hidden;background:#dcd6ca;color:var(--ink);padding:clamp(100px,14vw,180px) var(--pad) clamp(100px,13vw,160px)}.contact-inner{position:relative;z-index:1;max-width:950px}.contact .eyebrow{color:#676259}.contact h2{font-size:clamp(53px,9.8vw,138px);font-weight:300;line-height:.92;letter-spacing:-.062em;margin-bottom:48px}.contact-button{display:inline-flex;align-items:center;gap:32px;padding:18px 21px;background:var(--ink);color:var(--paper);font-size:9px;letter-spacing:.14em;text-transform:uppercase;transition:background .3s,transform .3s}.contact-button:hover{background:#34332f;transform:translateY(-2px)}.contact-email{margin:27px 0 0;font-size:11px;letter-spacing:.08em}.contact-email a{border-bottom:1px solid rgba(16,16,15,.34)}.contact-mark{position:absolute;right:7vw;bottom:-.45em;font-family:var(--serif);font-size:min(44vw,620px);line-height:1;color:rgba(16,16,15,.045);pointer-events:none}.site-footer{min-height:92px;padding:24px var(--pad);display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:18px;align-items:center;color:#8f8b84;font-size:8px;letter-spacing:.11em;text-transform:uppercase}.site-footer .wordmark{color:var(--paper);font-size:11px}.site-footer .wordmark span{font-size:7px}.site-footer>a:nth-of-type(2){text-align:right}.site-footer>span:last-child{text-align:right}
.lightbox{width:min(94vw,1250px);max-width:none;max-height:94svh;padding:22px;border:1px solid rgba(255,255,255,.15);background:#10100f;color:var(--paper);overflow:visible}.lightbox::backdrop{background:rgba(0,0,0,.93);backdrop-filter:blur(5px)}.lightbox img{display:block;max-width:100%;max-height:calc(94svh - 80px);height:auto;width:auto;margin:auto;object-fit:contain}.lightbox-close{position:absolute;right:3px;top:-42px;width:36px;height:36px;border:0;background:none;font-size:30px;cursor:pointer}.lightbox-hint{text-align:center;color:#aaa69d;font-size:9px;letter-spacing:.08em;margin:12px 0 0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-enter{from{transform:scale(1.035);opacity:.65}to{transform:scale(1);opacity:1}}@keyframes fade-up{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:800px){.site-header{height:68px}.menu-toggle{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:42px;height:42px;background:transparent;border:1px solid rgba(255,255,255,.35);cursor:pointer}.menu-toggle span{display:block;width:15px;height:1px;background:var(--paper);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.primary-nav{position:absolute;inset:68px 0 auto;padding:32px var(--pad) 36px;background:var(--ink);display:flex;flex-direction:column;align-items:flex-start;gap:22px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .25s,transform .25s,visibility .25s}.primary-nav.is-open{visibility:visible;opacity:1;transform:translateY(0)}.primary-nav a{font-size:11px}.nav-contact{margin-top:7px}.hero{height:88svh;min-height:650px;max-height:900px}.hero-topline{top:95px;font-size:8px}.hero-topline span:last-child{max-width:135px;text-align:right}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(10,10,9,.57),rgba(10,10,9,.13)),linear-gradient(0deg,rgba(10,10,9,.55),transparent 35%)}.hero h1{font-size:clamp(60px,13vw,104px)}.vertical-note{display:none}.section-heading{align-items:start;gap:22px}.section-aside{max-width:145px;padding-top:32px}.gallery{gap:48px 15px}.item-wide{grid-column:span 7}.item-tall{grid-column:span 5}.item-offset{grid-column:2/span 6}.gallery-item:nth-child(4n+1){margin-top:24px}.gallery-item:nth-child(4n+2){margin-top:92px}.gallery-item:nth-child(4n+3){margin-top:-30px}.gallery-item:nth-child(4n){margin-top:32px}.gallery-item figcaption{font-size:8px;letter-spacing:.04em}.about{grid-template-columns:1fr 1fr;gap:35px}.about-image{margin-left:0}.about-image img{height:68vw}.about-copy p:not(.eyebrow){font-size:15px}.site-footer{grid-template-columns:1fr 1fr;row-gap:18px}.site-footer>span:nth-child(2){text-align:right}.site-footer>a:nth-of-type(2){text-align:left}.site-footer>span:last-child{text-align:right}}
@media(max-width:540px){:root{--pad:22px}.hero{min-height:640px;height:88svh}.hero-topline{left:var(--pad);right:var(--pad)}.hero-copy{padding-top:45px}.hero-link{margin-top:34px}.hero-foot{font-size:8px}.intro{padding-top:95px;padding-bottom:90px}.intro-statement{font-size:clamp(37px,9vw,52px);margin-bottom:38px}.intro-bottom{font-size:8px;gap:10px}.intro-bottom .text-link{font-size:8px;gap:10px}.work{padding-top:86px;padding-bottom:95px}.section-heading{display:block;margin-bottom:37px}.section-aside{max-width:none;padding-top:14px}.filters{gap:13px 18px;margin-bottom:25px}.filter-button{font-size:8px}.gallery{grid-template-columns:1fr 1fr;gap:36px 12px}.item-wide,.item-tall,.item-offset{grid-column:auto;margin:0!important}.gallery-item:nth-child(odd){margin-top:20px!important}.gallery-item:nth-child(even){margin-top:62px!important}.gallery-item .image-button,.item-wide .image-button,.item-tall .image-button{aspect-ratio:.71/1}.gallery-item:nth-child(3n) .image-button{aspect-ratio:.68/1}.gallery-item figcaption{display:block;line-height:1.7;padding-top:9px}.gallery-item figcaption span{display:block}.gallery-item figcaption span:last-child{text-align:left}.image-index{top:10px;left:10px;font-size:8px;opacity:1}.about{grid-template-columns:1fr;padding-top:78px;padding-bottom:95px;gap:45px}.about-image{width:78%;margin-left:7vw}.about-image img{height:112vw;max-height:580px}.about-copy{padding-left:5vw}.about h2{font-size:66px}.about-copy p:not(.eyebrow){font-size:16px}.services{padding-top:90px;padding-bottom:100px}.services .section-heading{margin-bottom:32px}.service-row{min-height:90px;grid-template-columns:30px 1fr 22px;gap:10px}.service-title{font-size:20px}.service-note{grid-column:2;grid-row:2;margin-top:-24px;font-size:9px}.service-arrow{grid-column:3;grid-row:1/3}.contact{padding-top:100px;padding-bottom:95px}.contact h2{font-size:clamp(52px,12vw,74px);margin-bottom:36px}.contact-button{font-size:8px;padding:16px;gap:22px}.contact-mark{font-size:90vw;right:-2vw}.site-footer{font-size:7px;gap:15px}.site-footer .wordmark{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
