:root{--cream:#f3f0e8;--ink:#26392f;--muted:#62695f;--line:#cdd0c3;--sage:#dbe0d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:2px solid #ac6c35;outline-offset:5px}.skip{position:absolute;top:-60px;background:white;padding:12px;z-index:20}.skip:focus{top:0}header{height:110px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{font:44px Georgia,serif;letter-spacing:-2.5px;line-height:1}.brand span{display:block;font:7px Arial,sans-serif;letter-spacing:1.8px;margin-top:10px}.brand:after{content:'.';color:#859279}.brand span{float:none}.brand:after{display:none}nav{display:flex;gap:36px;align-items:center;font-size:12px}nav a{padding:12px 0}nav a:hover,.text-link:hover{opacity:.6}.nav-cta{border:1px solid var(--ink);padding:15px 21px}.nav-cta span{margin-left:25px}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.hero-copy{padding:70px 9% 30px 10%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:9px;letter-spacing:2px;line-height:1.7;font-weight:600;margin:0 0 30px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(50px,5.2vw,82px);line-height:1.06;letter-spacing:-3.5px;margin-bottom:27px}em{font-weight:400;color:#6c795f}p{line-height:1.8}.intro{font-size:15px;max-width:280px;margin-bottom:29px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:18px 22px;font-size:11px;min-height:52px;transition:background .2s}.button:hover{background:#52634b;color:white}.dark{background:var(--ink);color:var(--cream)}.hero-photo{position:relative;min-height:600px}.hero-photo img{position:absolute;inset:0}.photo-caption{position:absolute;bottom:28px;left:30px;color:white;font-size:8px;letter-spacing:2px;background:#26392fbd;padding:12px 16px}.hero-bottom{margin-top:auto;padding-top:60px;display:flex;width:100%;justify-content:space-between;align-items:end;gap:20px}.hero-bottom span{font-size:7px;letter-spacing:1.4px;line-height:1.8}.hero-bottom a{font-size:9px;border-bottom:1px solid;padding-bottom:5px}.manifesto{padding:32px 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font:clamp(15px,2vw,30px) Georgia,serif;letter-spacing:2px}.manifesto svg{width:35px;height:35px}.section{padding:100px 7%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px;gap:40px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:clamp(36px,4vw,58px);letter-spacing:-1.8px;line-height:1.13;margin-bottom:25px}.section-heading h2{margin:0}.section-heading>p{max-width:300px;font-size:12px;color:var(--muted);margin-bottom:3px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:48px 40px;align-items:start}.project{border:0;padding:0;background:none;text-align:left;cursor:pointer;min-width:0}.image-wrap{height:430px;position:relative;overflow:hidden}.project.wide .image-wrap{height:570px}.project.offset{padding-top:110px}.project.offset .image-wrap{height:460px}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:16px}.project-caption strong{font:20px Georgia,serif;font-weight:400}.project-caption>span{font-size:7px;letter-spacing:1.4px}.zoom{position:absolute;bottom:18px;right:18px;background:var(--cream);border-radius:50%;height:35px;width:35px;display:grid;place-items:center}.text-link{display:inline-block;font-size:11px;padding:9px 0;border-bottom:1px solid var(--ink)}.work>.text-link{margin-top:42px}.services{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:10%}.services em{color:#bbc5a9}.service-intro{max-width:340px;color:#c6cdbf;font-size:13px;margin:30px 0}.light{background:var(--cream);color:var(--ink)}.service-list article{display:flex;gap:25px;border-top:1px solid #627061;padding:25px 0 17px}.service-list article>span{font-size:9px;padding-top:7px;color:#bdc6ae}.service-list h3{font-size:27px;margin-bottom:12px}.service-list p{font-size:12px;color:#c6cdbf;max-width:310px;margin-bottom:8px}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-image{height:570px;position:relative}.about-image span{position:absolute;bottom:20px;left:22px;font-size:8px;letter-spacing:2px;color:white;background:#26392fa8;padding:12px}.about-copy p:not(.eyebrow){font-size:13px;color:var(--muted)}.about-copy p.lead{font:21px Georgia,serif;color:var(--ink);line-height:1.5;margin:30px 0 18px}.process{padding-top:0}.process>.eyebrow{border-top:1px solid var(--line);padding-top:36px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.steps article>span{font-size:8px;letter-spacing:1.5px}.steps h3{font-size:27px;margin:20px 0 15px;letter-spacing:-.4px}.steps p{font-size:12px;color:var(--muted);max-width:265px}.contact{background:var(--sage);display:grid;grid-template-columns:1.2fr 1fr;gap:12%;align-items:center}.contact h2{font-size:clamp(40px,4.5vw,64px)}.contact p:not(.eyebrow){max-width:365px;font-size:13px;margin:30px 0}.contact-note{display:block;margin-top:26px;font-size:8px;letter-spacing:1.5px}.contact-img{height:540px}.contact-img img{object-position:40% center}footer{padding:50px 7% 25px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:45px}footer p{font:17px Georgia,serif;margin:0}footer>a:not(.brand){font-size:9px;letter-spacing:1.5px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:9px;color:var(--muted)}dialog{padding:0;border:0;background:var(--cream);color:var(--ink);max-width:min(95vw,850px);max-height:94vh}dialog::backdrop{background:#15251ce8}dialog>img{height:73vh;width:100%;object-fit:contain;background:#e1e2d9}dialog>div{padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}dialog h2{font-size:23px;letter-spacing:-.5px;margin:0}dialog a{font-size:9px}.close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;background:var(--cream);height:42px;width:42px;cursor:pointer}@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:850px}}@media(max-width:900px){header{height:90px}.brand{font-size:35px}nav{gap:20px}.hero{min-height:640px}.hero-copy{padding:45px 8% 25px 10%}.hero .eyebrow{font-size:7px}h1{letter-spacing:-2px;font-size:52px}.hero-bottom{flex-direction:column;align-items:start;gap:18px;padding-top:35px}.section{padding:70px 6%}.image-wrap{height:330px}.project.wide .image-wrap{height:440px}.project.offset .image-wrap{height:350px}.project.offset{padding-top:90px}.project-caption{align-items:start;flex-direction:column}.about-image{height:470px}.steps{gap:30px}.contact-img{height:450px}.services{gap:6%}.process{padding-top:0}}
@media(max-width:600px){html{scroll-padding-top:20px}header{height:88px;padding:0 6%;position:relative;z-index:5}.brand{font-size:35px}.brand span{font-size:6px;letter-spacing:1.3px}.menu{display:flex;gap:15px;background:none;border:0;font-size:11px;padding:12px 0}.menu span{font-size:18px}nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--cream);padding:20px 6% 30px;border-bottom:1px solid var(--line);gap:12px}nav.open{display:flex;flex-direction:column;align-items:stretch}nav a{padding:14px 0}.nav-cta{padding:15px}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 7% 32px}.hero .eyebrow{font-size:7px;letter-spacing:1.4px;max-width:240px;margin-bottom:26px}h1{font-size:57px;letter-spacing:-2.6px}.intro{font-size:13px;max-width:265px;margin-bottom:24px}.hero-bottom{flex-direction:row;width:100%;align-items:end;padding-top:38px}.hero-bottom span{font-size:6px}.hero-bottom a{font-size:8px}.hero-photo{min-height:470px}.hero-photo img{object-position:center 60%}.manifesto{padding:25px 7%;font-size:12px;letter-spacing:1px}.manifesto svg{width:25px;height:25px}.section{padding:60px 7%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{font-size:11px;margin-top:22px}.eyebrow{font-size:8px;margin-bottom:22px}h2{font-size:39px}.gallery{gap:32px 17px}.image-wrap{height:220px}.project.wide{grid-column:1/-1}.project.wide .image-wrap{height:430px}.project.offset{padding-top:0}.project.offset .image-wrap{height:220px}.project-caption strong{font-size:16px;line-height:1.25}.project-caption>span{font-size:6px}.gallery .project:last-child{grid-column:1/-1}.gallery .project:last-child .image-wrap{height:350px}.zoom{width:28px;height:28px;right:12px;bottom:12px}.text-link{font-size:10px}.services,.about,.contact{grid-template-columns:1fr;gap:40px}.service-list h3{font-size:25px}.service-list p{font-size:12px}.about-image{height:390px;order:2}.about-copy .eyebrow{margin-bottom:20px}.process{padding-top:0}.steps{grid-template-columns:1fr;gap:25px}.steps article{border-bottom:1px solid var(--line);padding-bottom:15px}.steps h3{margin-top:14px;font-size:26px}.steps p{max-width:100%}.contact h2{font-size:45px}.contact-img{height:380px}footer{grid-template-columns:1fr auto;padding:40px 7% 25px;gap:28px}footer p{grid-column:1/-1;grid-row:2;font-size:16px}footer small{margin-top:0}dialog>img{height:65vh}dialog>div{display:block;padding:18px}dialog h2{font-size:21px;margin-bottom:14px}.button{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}
.map-link{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#8b9787}.map-link:hover{text-decoration-color:currentColor}
.area{background:#e9ece3}.area p:not(.eyebrow){font-size:13px;color:var(--muted)}.area iframe{display:block;width:100%;height:420px;border:0;margin-top:25px}.area .text-link{color:var(--ink)}@media(max-width:600px){.area iframe{height:330px}}
.cover-page{background:#1d2c23}.cover{position:relative;min-height:100svh;color:#fff;display:grid;place-items:center;overflow:hidden;text-align:center}.cover-image,.cover-shade{position:absolute;inset:0}.cover-image{background:url('assets/project-0.jpg') center 53%/cover no-repeat}.cover-shade{background:linear-gradient(90deg,rgba(15,27,21,.66),rgba(16,26,21,.4)),linear-gradient(0deg,rgba(15,24,19,.48),transparent 48%,rgba(15,24,19,.24))}.cover-content{position:relative;z-index:1;width:min(92%,850px);padding:70px 10px 100px}.cover-kicker{font-size:10px;letter-spacing:3px;font-weight:600;margin-bottom:25px}.cover h1{font-size:clamp(80px,13vw,160px);letter-spacing:-7px;line-height:.9;margin:0}.cover-tag{font-size:9px;letter-spacing:3px;margin:27px 0}.cover-rule{height:1px;width:85px;background:#ffffffb0;margin:29px auto}.cover-description{font:19px/1.6 Georgia,serif;margin:0 auto 37px}.cover-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 31px}.cover-nav a{font-size:10px;font-weight:600;letter-spacing:1.5px;padding:12px 0;border-bottom:1px solid #ffffff99}.cover-nav a:hover{border-color:#fff}.cover-nav span{margin-left:5px}.cover-bottom{position:absolute;z-index:1;bottom:28px;left:0;right:0;font-size:8px;letter-spacing:1.8px}.site-header .nav-cta span{margin-left:15px}body:not(.cover-page) main{min-height:65vh}body:not(.cover-page) .section{scroll-margin:0}@media(max-width:600px){.cover-content{padding:70px 10px 105px}.cover h1{font-size:90px;letter-spacing:-5px}.cover-kicker{font-size:8px;letter-spacing:2px}.cover-tag{font-size:7px;letter-spacing:2px}.cover-description{font-size:17px}.cover-nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;max-width:310px;margin:auto}.cover-nav a{padding:14px 0;font-size:9px}.cover-bottom{font-size:7px;bottom:22px}}
@media(max-width:600px){.cover .cover-nav{position:static;left:auto;right:auto;top:auto;background:transparent;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;max-width:310px;margin:auto}.cover .cover-nav a{color:#fff}.cover .cover-nav span{font-family:Arial,sans-serif;font-variant-emoji:text}}
.phone-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 25px}.contact p.phone-number{margin:25px 0 12px;font-size:16px}
.cover h1{letter-spacing:.015em;font-kerning:none;font-variant-ligatures:none;font-feature-settings:"liga" 0,"clig" 0}@media(max-width:600px){.cover h1{font-size:clamp(66px,21vw,90px);letter-spacing:.015em}}

.construction-banner{position:relative;z-index:10;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;background:var(--ink);color:var(--cream);padding:13px 20px;text-align:center;font:12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.2px}.construction-banner strong{font-weight:600}.construction-banner a{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}.cover-page .cover{min-height:calc(100svh - 44px)}@media(max-width:600px){.construction-banner{font-size:11px;padding:10px 16px;gap:4px 12px}.cover-page .cover{min-height:calc(100svh - 70px)}}

.work-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 65px}.work-categories a{font-size:12px;line-height:1.5;padding:11px 16px;border:1px solid var(--line);border-radius:2px}.work-categories a:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}.work-category{border-top:1px solid var(--line);padding-top:30px;margin-top:55px;scroll-margin-top:30px}.category-heading{display:flex;align-items:baseline;gap:20px;margin-bottom:28px}.category-heading>span{font-size:10px;letter-spacing:1.5px;color:var(--muted)}.category-heading h2{font-size:clamp(30px,3.6vw,48px);margin:0;letter-spacing:-1px}.category-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.category-gallery .image-wrap{height:auto;aspect-ratio:4/3}.category-gallery .project-caption{align-items:flex-start}.category-coming-soon{padding:35px 25px;background:#e9ece3;border:1px solid var(--line)}.category-coming-soon p{margin:0;font-size:13px;color:var(--muted)}@media(max-width:600px){.work-categories{gap:8px;margin-bottom:40px}.work-categories a{font-size:11px;padding:10px 12px}.work-category{margin-top:40px;padding-top:23px}.category-heading{gap:12px;margin-bottom:22px}.category-heading h2{font-size:31px}.category-gallery{grid-template-columns:1fr;gap:28px}.category-gallery .project-caption{flex-direction:row}.category-gallery .project-caption>span{max-width:90px;text-align:right}.category-coming-soon{padding:28px 20px}}

.category-gallery .project-portrait .image-wrap{aspect-ratio:auto;height:auto}.category-gallery .project-portrait img{height:auto;object-fit:contain}
