@charset "UTF-8";
:root{--paper:#efeee8;--ink:#23261f;--muted:#686b61;--line:#cccec3;--green:#d6f476;--dark:#2d362d;--gutter:clamp(22px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}img{display:block;width:100%;height:auto}::selection{background:var(--green);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #536a26;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;padding:15px;background:var(--green);z-index:20}.skip:focus{top:10px}.wrap{padding-inline:var(--gutter)}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:600;line-height:1.6}.muted{color:var(--muted)}.arrow{display:inline-block;font-family:Arial;font-weight:400}.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;font-size:13px;font-weight:600;line-height:1.2}.brand-symbol{font-size:38px;font-weight:400;line-height:1;letter-spacing:-.12em;margin-right:5px}.nav{display:flex;align-items:center;gap:32px;font-size:13px}.nav a{position:relative;padding:8px 0}.nav a:after{content:"";height:1px;position:absolute;left:0;right:100%;bottom:3px;background:var(--ink);transition:right .25s}.nav a:hover:after,.nav a[aria-current=page]:after{right:0}.nav sup{font-size:9px;margin-left:3px}.menu-toggle{display:none;border:0;background:none;padding:12px 0;font-size:13px}.hero{height:calc(100svh - 100px);min-height:670px;max-height:1000px;position:relative;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:51%;height:100%;object-fit:cover;object-position:49% center}.hero-copy{position:relative;z-index:1;width:49%;padding:62px var(--gutter) 190px}.hero-copy .eyebrow{display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:#526044;border-radius:50%;display:inline-block}.hero-copy h1{font-size:clamp(46px,5.2vw,82px);font-weight:400;letter-spacing:-.065em;line-height:1.03;margin:48px 0 24px}.hero-copy p{font-size:14px;line-height:1.55;max-width:300px;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid currentColor;padding:10px 0;font-size:13px}.text-link .arrow{font-size:22px;transition:transform .25s}.text-link:hover .arrow{transform:translate(3px,-3px)}.hero-copy .text-link{margin-top:15px}.hero-name{position:absolute;z-index:2;bottom:30px;left:var(--gutter);right:var(--gutter);margin:0;white-space:nowrap;font-size:8.95vw;line-height:.87;letter-spacing:-.075em;font-weight:500;color:#fff;mix-blend-mode:difference;pointer-events:none}.photo-note{position:absolute;right:30px;top:26px;color:white;font-size:10px;letter-spacing:.07em;text-transform:uppercase;writing-mode:vertical-rl;text-shadow:0 1px 5px #000}.hero-scroll{position:absolute;left:var(--gutter);bottom:155px;font-size:11px;display:flex;gap:25px;align-items:center}.hero-scroll span{font-size:20px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-block:125px 140px;border-bottom:1px solid var(--line)}.intro h2{font-size:clamp(28px,3.2vw,48px);font-weight:400;line-height:1.16;letter-spacing:-.045em;margin:0 0 30px;max-width:870px}.intro .text-link{margin-top:12px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:75px 0 36px}.section-top h2{font-size:clamp(40px,5vw,72px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:14px 0 0}.section-top sup{font-size:13px;vertical-align:top;letter-spacing:0;padding:5px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 32px;align-items:start}.work-grid .work:nth-child(even){margin-top:100px}.work{min-width:0}.work[hidden]{display:none}.work-link{display:block}.work-image{position:relative;overflow:hidden;background:#deded4;aspect-ratio:4/4.5}.work:nth-child(4n+2) .work-image{aspect-ratio:4/3.5}.work:nth-child(4n+3) .work-image{aspect-ratio:4/4.3}.work-image img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.work-link:hover img{transform:scale(1.035)}.work-image .image-overlay{position:absolute;bottom:0;left:0;right:0;padding:50px 24px 22px;background:linear-gradient(transparent,#0009);color:white}.image-overlay h3{font-size:clamp(21px,2.3vw,34px);font-weight:400;letter-spacing:-.045em;margin:8px 0 0}.image-overlay .eyebrow{font-size:9px}.work-arrow{position:absolute;right:20px;top:20px;background:var(--paper);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:24px;transition:background .2s}.work-link:hover .work-arrow{background:var(--green)}.work-caption{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-top:14px;color:var(--muted);line-height:1.4}.all-work{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;margin:70px 0 115px;font-size:23px;letter-spacing:-.025em}.all-work .arrow{font-size:32px;transition:transform .2s}.all-work:hover .arrow{transform:translate(6px,-6px)}.about-strip{background:#dedfd4;padding-block:75px 90px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.about-strip h2{font-size:clamp(30px,4vw,56px);font-weight:400;letter-spacing:-.05em;line-height:1.08;margin:0 0 30px}.about-strip p{max-width:500px;font-size:15px;line-height:1.6;margin-bottom:25px}.contact-banner{background:var(--green);padding-block:70px 80px;display:grid;grid-template-columns:1fr 2fr;gap:50px}.contact-banner h2{font-size:clamp(42px,6vw,88px);font-weight:400;line-height:1;letter-spacing:-.065em;margin:0 0 30px}.contact-banner .text-link{min-width:210px}.footer{background:var(--dark);color:var(--paper);padding:48px var(--gutter) 24px}.footer-top{display:flex;justify-content:space-between;gap:30px;font-size:13px;line-height:1.7}.footer-top nav{display:flex;gap:28px;align-items:flex-start}.footer-name{font-size:8.9vw;line-height:1;letter-spacing:-.075em;white-space:nowrap;margin:70px 0 45px;border-bottom:1px solid #697064;padding-bottom:35px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#bec4b7}.footer a:hover{text-decoration:underline}.page-top{padding-block:80px 56px}.page-top h1{font-size:clamp(62px,10vw,150px);font-weight:400;letter-spacing:-.075em;line-height:.95;margin:26px 0 30px}.page-top .lead{max-width:500px;font-size:17px;line-height:1.5;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 40px;padding-top:20px;border-top:1px solid var(--line)}.filter{border:1px solid var(--line);border-radius:30px;background:transparent;padding:12px 18px;font-size:12px;cursor:pointer;transition:.2s}.filter:hover{border-color:var(--ink)}.filter.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.filter sup{font-size:9px;margin-left:8px;opacity:.7}.portfolio-body{padding-bottom:110px}.results{font-size:11px;color:var(--muted);margin-bottom:25px}.detail-top{padding-block:60px 50px}.detail-back{font-size:12px;display:inline-flex;gap:15px;margin-bottom:65px}.detail-title{display:grid;grid-template-columns:2fr 1fr;align-items:end;gap:50px}.detail-title h1{font-size:clamp(52px,7.5vw,110px);font-weight:400;letter-spacing:-.065em;line-height:1;margin:18px 0 0}.detail-title p{font-size:17px;line-height:1.4;margin:0}.detail-hero{background:#dcded4}.detail-hero img{max-height:850px;object-fit:contain;width:100%;padding:30px}.detail-content{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:90px}.details-list{margin:0;display:grid;grid-template-columns:1fr;align-content:start}.details-list dt{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:23px}.details-list dt:first-child{margin-top:0}.details-list dd{font-size:13px;margin:7px 0 0;line-height:1.5}.prose{font-size:19px;line-height:1.6;max-width:720px}.prose p{margin:0 0 25px}.prose h2{font-size:32px;font-weight:400;letter-spacing:-.04em;line-height:1.2;margin:45px 0 24px}.prose .small{font-size:12px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:70px}.gallery-grid figure{margin:0;background:#deded5;cursor:zoom-in;display:grid;align-items:center}.gallery-grid img{max-height:650px;object-fit:contain}.gallery-grid figure:only-child{grid-column:1/-1}.gallery-grid figcaption{padding:14px;font-size:11px;color:var(--muted)}.project-next{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:45px 65px}.project-next a{font-size:clamp(24px,4vw,58px);letter-spacing:-.05em}.project-next .arrow{margin-left:30px}.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:90px}.about-hero img{aspect-ratio:4/4.6;object-fit:cover}.about-hero .prose{align-self:end;font-size:22px;padding-bottom:20px}.about-copy{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);gap:50px;padding-block:80px 100px}.practice-list{padding:0;margin:30px 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.practice-list li{font-size:12px;border:1px solid var(--line);border-radius:25px;padding:10px 16px}.milestones{border-top:1px solid var(--line);margin:40px 0}.milestone{display:grid;grid-template-columns:70px 1fr;gap:25px;border-bottom:1px solid var(--line);padding:20px 0;font-size:14px;line-height:1.6}.milestone strong{font-weight:400;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:100px;align-items:start}.contact-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:clamp(18px,2vw,28px);letter-spacing:-.025em;overflow-wrap:anywhere}.contact-links{border-top:1px solid var(--line)}.contact-note{font-size:16px;line-height:1.6;max-width:420px;margin-top:40px}.contact-photo{position:relative;max-width:480px;justify-self:end}.contact-photo img{aspect-ratio:4/4.6;object-fit:cover}.contact-photo figcaption{font-size:11px;margin-top:12px;color:var(--muted)}.lightbox{max-width:95vw;max-height:95svh;border:0;padding:0;background:var(--paper);overflow:auto}.lightbox::backdrop{background:#171d17e8}.lightbox img{max-height:85svh;max-width:90vw;object-fit:contain}.lightbox button{position:absolute;right:12px;top:12px;border:0;border-radius:25px;background:var(--paper);width:40px;height:40px;font-size:25px;cursor:pointer}.empty{padding:80px 0;font-size:22px}.wp-block-gallery{display:flex;gap:24px;flex-wrap:wrap}.wp-block-gallery figure{margin:0;flex:1 1 40%}.wp-block-image{margin:30px 0}.wp-block-image img{object-fit:contain}.wp-block-image figcaption{font-size:12px;color:var(--muted)}
@media(min-width:1600px){.hero-name{font-size:8.95vw}.hero-copy{padding-top:80px}.hero-copy h1{margin-top:80px}}
@media(max-width:1000px){.nav{gap:22px}.hero{min-height:640px}.hero-copy h1{font-size:5.8vw}.hero-copy{padding-top:40px}.intro{padding-block:85px}.work-grid{gap:45px 24px}.work-grid .work:nth-child(even){margin-top:65px}.detail-title{grid-template-columns:1fr}.detail-title p{max-width:450px}.footer-top nav{gap:15px}.contact-layout{gap:35px}.contact-photo{margin:0}}
@media(max-width:700px){.header{height:80px}.brand{font-size:12px}.brand-symbol{font-size:32px}.menu-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:20px var(--gutter) 32px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:14px;font-size:23px}.nav.open{display:flex}.hero{height:auto;max-height:none;min-height:0;padding-bottom:0;overflow:visible;display:flex;flex-direction:column}.hero-copy{width:100%;padding:35px var(--gutter) 32px;order:0}.hero-copy h1{font-size:54px;max-width:360px;margin:24px 0 20px}.hero-copy p{font-size:14px;max-width:310px}.hero-copy .text-link{margin-top:0}.hero-photo{position:static;width:100%;height:440px;order:2;object-position:center 37%}.hero-name{position:static;order:1;display:block;white-space:normal;color:var(--ink);mix-blend-mode:normal;font-size:14vw;line-height:.88;padding:22px var(--gutter) 28px;letter-spacing:-.075em}.hero-name span{display:block}.hero-scroll,.photo-note{display:none}.intro,.about-strip,.contact-banner,.about-copy{grid-template-columns:1fr;gap:30px}.intro{padding-block:60px 70px}.intro h2{font-size:30px}.section-top{margin-top:50px;align-items:center}.section-top h2{font-size:44px}.section-top>.text-link{font-size:11px;gap:15px}.work-grid{gap:35px;grid-template-columns:1fr}.work-grid .work:nth-child(even){margin-top:0}.work-image,.work:nth-child(4n+3) .work-image{aspect-ratio:4/4.5}.work:nth-child(4n+2) .work-image{aspect-ratio:4/3.7}.image-overlay h3{font-size:28px}.all-work{margin:45px 0 65px;padding:25px 0;font-size:21px}.about-strip,.contact-banner{padding-block:50px}.about-strip h2{font-size:40px}.contact-banner h2{font-size:54px}.footer{padding-top:35px}.footer-top{flex-direction:column;gap:25px}.footer-top nav{flex-wrap:wrap;gap:20px}.footer-name{white-space:normal;font-size:13.5vw;margin-top:50px;line-height:.9}.footer-bottom{font-size:10px}.page-top{padding-block:50px 30px}.page-top h1{font-size:65px;margin-top:20px}.page-top .lead{font-size:16px}.filter{padding:10px 13px;font-size:11px}.filters{gap:7px;margin-bottom:20px}.portfolio-body{padding-bottom:60px}.detail-top{padding-block:30px}.detail-back{margin-bottom:40px}.detail-title{gap:25px}.detail-title h1{font-size:55px}.detail-title p{font-size:16px}.detail-hero img{padding:15px;max-height:600px}.detail-content{grid-template-columns:1fr;gap:35px;padding-block:45px}.details-list{grid-template-columns:1fr 1fr;gap:20px}.details-list div{min-width:0}.details-list dt{margin:0}.prose{font-size:17px}.gallery-grid{gap:15px;grid-template-columns:1fr;padding-bottom:35px}.project-next{padding-block:30px 45px}.project-next a{font-size:32px}.project-next .eyebrow{display:none}.about-hero{grid-template-columns:1fr;gap:30px;padding-bottom:50px}.about-hero img{aspect-ratio:4/4}.about-hero .prose{font-size:20px}.about-copy{padding-block:45px}.contact-layout{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.contact-links a{font-size:19px;padding:22px 0}.contact-photo{max-width:none;width:100%}.contact-photo img{aspect-ratio:4/3.8}.milestone{gap:10px;font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media(min-width:701px){.hero{background:var(--paper)}}
@media(min-width:701px){.hero-name{mix-blend-mode:normal;background:linear-gradient(to right,var(--ink) 0 calc(49vw - var(--gutter)),var(--paper) calc(49vw - var(--gutter)) 100%);background-clip:text;-webkit-background-clip:text;color:transparent}}

/* Compact featured works on the home page. */
.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 24px}
.featured-grid .work:nth-child(even){margin-top:0}
.featured-grid .work .work-image{aspect-ratio:4/4.8}
.featured-grid .image-overlay{padding:55px 17px 18px}
.featured-grid .image-overlay h3{font-size:clamp(21px,1.8vw,28px);line-height:1.04;overflow-wrap:anywhere}
.featured-grid .image-overlay .eyebrow{font-size:8px;letter-spacing:.09em}
.featured-grid .work-arrow{width:34px;height:34px;right:14px;top:14px;font-size:22px}
.featured-grid .work-caption{font-size:10px;line-height:1.5;gap:8px}
@media(max-width:1100px){.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}.featured-grid .work .work-image{aspect-ratio:4/4.5}.featured-grid .image-overlay h3{font-size:26px}}
@media(max-width:540px){.featured-grid{gap:28px 14px}.featured-grid .image-overlay{padding:46px 12px 14px}.featured-grid .image-overlay h3{font-size:18px}.featured-grid .image-overlay .eyebrow{font-size:7px;letter-spacing:.04em;line-height:1.4}.featured-grid .work-arrow{width:28px;height:28px;right:10px;top:10px;font-size:19px}.featured-grid .work-caption{font-size:9px;flex-direction:column;gap:3px}.featured-grid .work-caption>span:last-child:empty{display:none}}
