*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:#fff;color:#242622;font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.13;letter-spacing:-.045em}h1{font-size:clamp(42px,5.5vw,82px)}h2{font-size:clamp(30px,3.5vw,51px)}p{line-height:1.65}header{height:126px;padding:34px 3.2vw;display:flex;align-items:flex-start;justify-content:space-between;position:relative;z-index:10}header .brand{width:185px}.brand img{height:51px;object-fit:contain;object-position:left;filter:grayscale(1) brightness(.3)}nav{display:flex;gap:44px;padding-top:9px}nav a{color:#858783;font-size:17px;transition:color .2s}nav a:hover,nav a[aria-current]{color:#242622}.menu-toggle{display:none}.eyebrow{font-size:13px;letter-spacing:.055em;color:#747772;display:block;margin-bottom:26px}.hero{margin:-126px 3.2vw 0;display:grid;grid-template-columns:61% 39%;min-height:calc(100svh - 36px);padding-top:36px;gap:0}.hero-copy{padding:245px 55px 0 0;align-self:end;position:relative}.hero-copy h1{font-size:clamp(44px,4.6vw,72px);max-width:830px}.hero-copy>p{font-size:22px;line-height:1.4;max-width:560px;margin-top:27px;letter-spacing:-.02em}.hero .eyebrow{margin-bottom:28px}.hero-photo{position:relative;overflow:hidden;min-height:630px}.hero-photo img{height:100%;position:absolute;object-position:52% center;transition:transform 1s}.hero-photo:hover img{transform:scale(1.025)}.hero-photo>span{position:absolute;bottom:18px;left:20px;background:#ffffffed;padding:7px 12px;font-size:12px}.home header{width:61%;padding-right:25px}.home header .brand{width:155px}.home nav{gap:24px}.home nav a{font-size:15px}.scroll{display:flex;justify-content:space-between;font-size:13px;margin-top:55px;padding-bottom:3px}.section{margin:140px 3.2vw}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:65px;gap:30px}.section-heading h2{font-size:28px;color:#888b85;letter-spacing:-.02em}.line-link{display:flex;gap:40px;justify-content:space-between;min-width:205px;border-bottom:1px solid #969991;padding:0 0 12px;font-size:17px}.line-link:hover{color:#71806a}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px 7vw}.project-grid>.project-card:nth-child(even),.project-grid>.project-item:nth-child(even){margin-top:145px}.project-image{position:relative;overflow:hidden;background:#f1f1ed}.project-image img{aspect-ratio:1.05;transition:transform .7s}.project-card:hover img{transform:scale(1.035)}.project-grid>:nth-child(even) .project-image img{aspect-ratio:.85}.caption{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:19px}.caption h3{font-size:23px;letter-spacing:-.025em}.caption>span{font-size:14px;color:#858780}.view{position:absolute;bottom:18px;right:22px;font-size:28px;background:white;width:42px;height:42px;text-align:center;opacity:0;transition:opacity .2s}.project-card:hover .view,.project-card:focus-visible .view{opacity:1}.status{display:block;font-size:11px;color:#75796f;margin-top:8px}.status:before{content:"";display:inline-block;width:5px;height:5px;background:#839277;border-radius:100%;margin-right:7px;vertical-align:middle}.about-strip{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#f2f3ef;padding:90px 6vw}.about-strip>img{height:650px}.about-strip>div{align-self:center}.about-strip p{margin:28px 0 45px;max-width:470px}.about-strip .line-link{max-width:260px}.services-preview>a{display:flex;align-items:baseline;gap:30px;padding:32px 0 24px;border-top:1px solid #d7dad3}.services-preview>a h3{flex:1;font-size:clamp(25px,3vw,42px)}.services-preview>a>span{color:#999;font-size:14px}.services-preview>p{max-width:720px;margin:0 0 45px 45px;color:#666b62}.tour img{height:430px;object-position:center 65%}footer{padding:75px 3.2vw 25px;background:#f2f3ef}.footer-top{display:grid;grid-template-columns:1fr 1.4fr 1fr;align-items:start;gap:50px;padding-bottom:100px}.footer-top .brand{width:170px}.footer-top p{font-size:32px;line-height:1.3;letter-spacing:-.03em}.footer-top .line-link{max-width:250px}.footer-bottom{display:grid;grid-template-columns:1fr 1.4fr 1fr 1fr;gap:40px;font-size:14px;padding-bottom:60px}.footer-bottom div{display:flex;flex-direction:column;gap:4px}.fine{border-top:1px solid #d8dcd2;padding-top:22px;font-size:11px;color:#7c8177;display:flex;justify-content:space-between}.page-intro{padding:85px 3.2vw 100px}.page-intro p{max-width:760px;margin-top:40px;font-size:22px;color:#64695f}.count{font-size:20px;vertical-align:top;margin-left:18px;letter-spacing:0;color:#888}.project-index{margin-top:0}.filter-bar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ddd;padding:25px 0 60px;gap:20px;font-size:14px;color:#777}.filter-bar>div{display:flex;gap:20px}.filter{padding:4px 0;white-space:nowrap}.filter.active{color:#242622;border-bottom:1px solid}.project-item[hidden]{display:none}.stat{display:flex;align-items:end;gap:30px;margin-top:90px}.stat strong{font-weight:400;font-size:100px;letter-spacing:-.07em;line-height:1}.stat span{font-size:14px;color:#777}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin:0 6vw 130px;align-items:center}.editorial img{max-height:780px;min-height:440px}.editorial article>p{margin-top:30px;color:#62675d}.editorial.reverse>div{order:2}.service-list{margin:30px 6vw 140px}.service-list details{border-top:1px solid #d7dad3;padding:30px 0}.service-list summary{display:flex;list-style:none;gap:25px;align-items:baseline;font-size:clamp(23px,2.7vw,38px);line-height:1.25;cursor:pointer;letter-spacing:-.035em}.service-list summary::-webkit-details-marker{display:none}.service-list summary>span:first-child{font-size:13px;color:#888;letter-spacing:0}.plus{margin-left:auto;transition:transform .2s}details[open] .plus{transform:rotate(45deg)}.service-body{margin:35px 5% 15px 37%;max-width:800px;color:#62675d}.project-intro{padding:70px 3.2vw}.project-intro h1{max-width:1000px}.project-meta{display:flex;gap:40px;margin-top:35px;font-size:14px;color:#777}.project-detail{margin:0 3.2vw}.gallery-button{position:relative;padding:0;display:block;width:100%}.lead-image img{height:80svh;object-fit:contain;background:#f3f4f0}.gallery-button span{position:absolute;bottom:15px;right:20px;background:white;padding:6px 12px;font-size:13px}.project-description{padding:85px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px}.project-description h2{font-size:28px;max-width:650px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}.gallery img{max-height:800px;object-fit:contain;background:#f4f4f0}.gallery>.gallery-button:nth-child(3n){grid-column:1/-1}.next-project{border-top:1px solid #ddd;display:flex;align-items:baseline;gap:5vw;margin:120px 0 100px;padding-top:35px}.next-project h2{flex:1}.next-project>span{font-size:14px;color:#888}.contact-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 3.2vw 130px;padding-top:50px;border-top:1px solid #ddd;gap:40px}.contact-grid a{display:block;font-size:clamp(23px,3vw,40px);line-height:1.5;letter-spacing:-.025em}.contact-grid p{color:#777;margin-top:15px}.tour-frame{margin:0 3.2vw 100px}.tour-frame iframe{border:0;width:100%;height:75svh;display:block;margin-bottom:30px}dialog{width:100vw;max-width:100vw;height:100svh;max-height:100svh;background:#161815f5;color:white;border:0;padding:50px;margin:0}dialog::backdrop{background:#141414}dialog>img{width:100%;height:calc(100% - 30px);object-fit:contain}dialog button{position:absolute;font-size:32px;background:#181a17aa;z-index:2}dialog .close{right:22px;top:10px}dialog .previous{left:15px;top:48%}dialog .next{right:15px;top:48%}.counter{text-align:center;font-size:12px}.skip{position:fixed;top:-100px;background:#fff;padding:10px;z-index:100}.skip:focus{top:0}:focus-visible{outline:2px solid #6a7e60;outline-offset:5px}
@media(min-width:1600px){body{max-width:2000px;margin:auto}.hero{min-height:900px}}
@media(max-width:1100px){.home header{width:100%;height:110px}.home nav{gap:25px}.hero{margin:0 3.2vw;min-height:650px;padding-top:0;grid-template-columns:55% 45%}.hero-copy{padding:140px 25px 0 0}.hero-copy>p{font-size:19px}.hero-photo{min-height:600px}.hero-copy h1{font-size:48px}.hero-copy .eyebrow{font-size:11px}.footer-top p{font-size:26px}.about-strip>img{height:540px}}
@media(max-width:700px){header,.home header{height:100px;padding:25px 6vw;align-items:center}.brand,header .brand,.home header .brand{width:140px}.brand img{height:42px}.menu-toggle{display:block;font-size:14px;padding:6px 0}.menu-toggle span{margin-left:15px}nav,.home nav{display:none;position:absolute;top:90px;left:0;right:0;background:#fff;padding:30px 6vw 45px;border-bottom:1px solid #ddd}nav.open,.home nav.open{display:flex;flex-direction:column;gap:22px}.home nav a,nav a{font-size:25px}.hero{margin:0 6vw;display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 0 0;order:2}.hero-copy h1{font-size:43px}.hero-copy>p{font-size:18px;max-width:440px}.hero .eyebrow{margin-bottom:20px}.hero-photo{min-height:0;height:55svh}.hero-photo img{position:static;height:100%;object-position:center 42%}.scroll{margin-top:30px}.hero-photo>span{font-size:10px;bottom:12px;left:12px}.section{margin:80px 6vw}.section-heading{margin-bottom:30px;align-items:baseline;gap:20px}.section-heading h2{font-size:23px}.section-heading>.line-link{min-width:135px;font-size:13px;gap:20px}.project-grid{gap:45px;grid-template-columns:1fr}.project-grid>.project-card:nth-child(even),.project-grid>.project-item:nth-child(even){margin-top:0}.project-grid>:nth-child(even) .project-image img{aspect-ratio:1.05}.caption h3{font-size:23px}.caption>span{font-size:13px}.view{opacity:1;width:32px;height:32px;font-size:22px}.about-strip{grid-template-columns:1fr;padding:45px 6vw;gap:35px}.about-strip>img{height:420px}.about-strip h2{font-size:38px}.services-preview .section-heading>span{display:none}.services-preview>a{gap:15px}.services-preview>p{margin-left:28px;font-size:15px}.tour img{height:330px}footer{padding:50px 6vw 25px}.footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.footer-top p{font-size:28px}.footer-bottom{grid-template-columns:1fr 1fr;gap:30px;font-size:13px}.fine{display:block;line-height:1.7}.fine>span{display:block;margin-top:10px}.page-intro{padding:45px 6vw 60px}.page-intro h1{font-size:45px}.page-intro p{font-size:19px;margin-top:25px}.filter-bar{align-items:start;flex-direction:column;padding-bottom:35px}.filter-bar>span{font-size:12px}.editorial,.editorial.reverse{grid-template-columns:1fr;margin:0 6vw 70px;gap:35px}.editorial.reverse>div{order:0}.editorial img{min-height:0;max-height:520px}.editorial h2{font-size:36px}.stat{margin-top:45px}.stat strong{font-size:80px}.service-list{margin-bottom:80px}.service-list summary{font-size:24px;gap:13px}.service-body{margin:25px 0 10px 25px;font-size:16px}.project-intro{padding:35px 6vw 45px}.project-intro h1{font-size:43px}.project-meta{gap:18px;flex-wrap:wrap;font-size:12px}.project-detail{margin:0 6vw}.lead-image img{height:auto;max-height:75svh}.gallery{grid-template-columns:1fr;gap:24px}.gallery>.gallery-button:nth-child(3n){grid-column:auto}.project-description{padding:45px 0;display:block}.project-description h2{font-size:23px}.next-project{margin:65px 0;display:grid;grid-template-columns:1fr auto;gap:20px}.next-project>span:first-child{grid-column:1/-1}.next-project h2{font-size:32px}.contact-grid{margin:0 6vw 70px;grid-template-columns:1fr}.tour-frame{margin:0 6vw 70px}.tour-frame iframe{height:65svh}dialog{padding:50px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-slideshow{position:relative;isolation:isolate}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero-slide img{width:100%;height:100%;object-fit:cover}
.hero-slide>span{position:absolute;bottom:75px;left:20px;right:20px;width:fit-content;max-width:calc(100% - 40px);background:#fffffff0;padding:7px 12px;font-size:12px}
.slide-controls{position:absolute;bottom:18px;left:20px;right:20px;z-index:2;display:flex;align-items:center;gap:14px;background:#fffffff0;padding:4px 8px;width:fit-content}
.slide-controls button{min-width:38px;min-height:38px;font-size:18px}
.slide-count{font-size:11px;min-width:47px;text-align:center}
.project-tour{margin:35px 0 70px}
.project-tour .section-heading{margin-bottom:25px}
.project-tour iframe{display:block;border:0;width:100%;height:70svh;min-height:380px}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
@media(max-width:700px){.hero-slide>span{left:12px;bottom:70px;font-size:10px}.slide-controls{left:12px;gap:8px}.project-tour .section-heading{align-items:start;flex-direction:column}.project-tour iframe{height:60svh}}
/* Full image frames and tighter project spacing. */
.lead-image img{object-fit:cover;background:transparent}
.gallery{gap:18px;align-items:stretch}
.gallery-button{overflow:hidden}
.gallery img{width:100%;height:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;background:transparent}
.gallery>.gallery-button:nth-child(3n) img{aspect-ratio:16/9}
.project-grid{gap:38px 24px}
.project-grid>.project-card:nth-child(even),.project-grid>.project-item:nth-child(even){margin-top:0}
.project-image{background:transparent}
.project-image img,.project-grid>:nth-child(even) .project-image img{aspect-ratio:1.05;object-fit:cover}
.project-description{padding-top:35px;padding-bottom:35px}
@media(max-width:700px){.gallery{gap:12px}.gallery img,.gallery>.gallery-button:nth-child(3n) img{aspect-ratio:4/3}.lead-image img{height:65svh;max-height:none;object-fit:cover}.project-grid{gap:28px}.project-description{padding:28px 0}}
/* White slideshow captions and controls directly on the photography. */
.hero-slide::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45));pointer-events:none}
.hero-slide>span{background:transparent;color:#fff;z-index:1;padding-left:0;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.slide-controls{background:transparent;color:#fff;padding-left:0;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.slide-controls button{color:#fff;text-shadow:inherit}
.slide-controls button:focus-visible,.hero-slide:focus-visible{outline-color:#fff;outline-offset:-3px}
