@charset "UTF-8";
:root{--ink:#243d34;--paper:#f7f7f1;--line:#d3d8ce;--muted:#536259;--white:#fff;--dark:#142b22;--accent:#d9e8a5;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;height:auto}::selection{background:var(--accent);color:var(--dark)}:focus-visible{outline:3px solid #b07429;outline-offset:5px}p{line-height:1.7;margin:0 0 1.3rem}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-weight:400;margin:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(3rem,5.7vw,6rem);line-height:1.03;letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4.1vw,4.5rem);line-height:1.1;letter-spacing:-.035em}h3{font-size:1.35rem;line-height:1.3}.wrap{width:min(1400px,90%);margin:auto}.eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;line-height:1.6}.muted{color:var(--muted)}.skip{position:fixed;left:1rem;top:-100px;background:white;padding:1rem;z-index:30}.skip:focus{top:1rem}.site-header{background:#fff;position:relative;z-index:5;border-bottom:1px solid #e2e6de}.header-inner{display:flex;align-items:center;gap:2rem;min-height:105px}.brand{margin-right:auto;display:block;flex-shrink:0}.brand img{width:188px;height:94px;object-fit:contain}.desktop-nav{display:flex;gap:1.75rem;font-size:.875rem;align-items:center}.desktop-nav a{padding:.75rem 0;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{border-color:var(--ink)}.languages{display:flex;gap:.65rem;font-size:.8rem;margin-left:.5rem}.languages a[aria-current=true]{text-decoration:underline;text-underline-offset:5px}.header-cta{font-size:.8rem;border:1px solid var(--ink);padding:.85rem 1rem;text-align:center}.menu-toggle{display:none;border:0;background:none;color:inherit;min-height:44px}.hero{position:relative;background:var(--dark);color:white;min-height:660px;height:calc(100svh - 150px);max-height:850px;display:flex;align-items:flex-end;isolation:isolate}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,14,.6),rgba(7,23,14,.08)),linear-gradient(0deg,rgba(7,23,14,.55),transparent 75%);z-index:-1}.hero-content{padding:5rem 0 4rem;width:min(1400px,90%)}.hero h1{max-width:850px;margin:1.25rem 0}.hero p{max-width:480px;font-size:1rem;color:#f2f5ed}.hero .eyebrow{color:#e2eccf}.actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.5rem;background:var(--ink);color:white;padding:1.1rem 1.4rem;font-size:.875rem;min-height:48px;border:1px solid var(--ink);line-height:1.4}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{background:transparent;color:inherit;border-color:currentColor}.button:hover{background:#385648;color:white}.button:disabled{opacity:.5;cursor:wait}.text-link{font-size:.875rem;border-bottom:1px solid;padding-bottom:.5rem;display:inline-flex;gap:1.8rem;align-items:center}.hero-caption{position:absolute;right:5%;bottom:2rem;font-size:.75rem;letter-spacing:.02em}.section{padding:7rem 0}.intro{display:grid;grid-template-columns:1fr 2fr;gap:5rem;border-bottom:1px solid var(--line)}.intro h2{max-width:880px}.intro p{max-width:620px;margin-top:2rem}.section-heading{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:3rem}.section-heading .eyebrow{margin-bottom:1rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.project-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.project-card .image-frame{overflow:hidden;background:#dee3d7}.project-card a:hover img{transform:scale(1.025)}.project-card h3{margin:1.25rem 0 .5rem;display:flex;justify-content:space-between;gap:.5rem}.project-card .meta{font-size:.8rem;color:var(--muted);line-height:1.5}.project-card:nth-child(2){padding-top:4rem}.project-card:nth-child(3){padding-top:8rem}.services-block{background:var(--ink);color:white}.split{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}.split>img{width:100%;aspect-ratio:4/5;object-fit:cover}.split h2{margin:1.5rem 0 2rem}.service-lines{margin-top:2rem}.service-lines a{display:flex;justify-content:space-between;padding:1.25rem 0;border-top:1px solid #ffffff40}.process{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;margin-top:3rem}.process article{border-top:1px solid var(--line);padding-top:1.2rem}.process .number{font-size:.8rem;color:var(--muted)}.process h3{font-family:Georgia,serif;margin:1.5rem 0 1rem}.process p{font-size:.875rem}.philosophy{position:relative;min-height:550px;display:flex;align-items:center;color:white;isolation:isolate}.philosophy img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.philosophy:before{content:'';position:absolute;inset:0;background:#0c24176b;z-index:-1}.philosophy h2{max-width:720px;margin:1.5rem auto;text-align:center}.philosophy .eyebrow{text-align:center}.cta{padding:7rem 0;text-align:center}.cta h2{max-width:800px;margin:1.5rem auto 2rem}.cta p{max-width:600px;margin:0 auto 2rem}.site-footer{background:var(--dark);color:#e5e9dc;padding:4rem 0 1.5rem}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;padding-bottom:4rem}.footer-title{font-family:Georgia,serif;font-size:2rem;margin-bottom:1rem}.footer-main a{display:block;font-size:.875rem;margin:0 0 1rem}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;border-top:1px solid #ffffff35;padding-top:1.5rem;font-size:.75rem}.footer-bottom nav{display:flex;gap:1.5rem}.mobile-contact{display:none}.page-head{padding:5rem 0 4rem}.page-head h1{margin:1.5rem 0;max-width:1000px}.page-head p{max-width:620px}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 2rem}.portfolio-grid .project-card{padding:0}.portfolio-grid .project-card img{aspect-ratio:4/3}.portfolio-grid .project-card:nth-child(even){padding-top:5rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.filter{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.75rem 1.2rem;font-size:.875rem}.filter[aria-pressed=true]{background:var(--ink);color:white}.project-hero{width:100%;max-height:780px;object-fit:cover;aspect-ratio:16/9}.project-details{display:grid;grid-template-columns:1fr 2fr;gap:5rem}.metadata{margin:0}.metadata div{border-top:1px solid var(--line);padding:1.1rem 0}.metadata dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.metadata dd{margin:0;line-height:1.6}.project-story h2{font-size:2rem;margin-bottom:1.5rem}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.gallery figure{margin:0}.gallery figure:nth-child(3n+1){grid-column:1/-1}.gallery button{display:block;width:100%;border:0;padding:0;background:#e4e8de}.gallery img{width:100%;height:auto;max-height:850px;object-fit:cover;aspect-ratio:4/3}.gallery figure:nth-child(3n+1) img{aspect-ratio:16/9}.gallery figcaption{font-size:.8rem;color:var(--muted);margin-top:.75rem}.next-project{border-top:1px solid var(--line);margin-top:5rem;padding:4rem 0;display:flex;justify-content:space-between;align-items:center;gap:2rem}.next-project h2{margin-top:1rem;font-size:3rem}.next-project img{width:200px;aspect-ratio:4/3;object-fit:cover}.lightbox{border:0;background:#0a1712;color:white;padding:1.5rem;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh}.lightbox::backdrop{background:#0a1712}.lightbox-inner{height:100%;display:flex;flex-direction:column}.lightbox-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}.lightbox button{background:transparent;color:white;border:1px solid #ffffff70;min-width:48px;min-height:48px;padding:.7rem}.lightbox-image{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:1rem 0}.lightbox-image img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-controls{display:flex;justify-content:center;gap:1rem}.lightbox-status{font-size:.8rem;text-align:center;margin:.75rem 0}.service-detail{border-top:1px solid var(--line);padding:3rem 0;display:grid;grid-template-columns:80px 1fr 1fr;gap:3rem}.service-detail h2{font-size:2.75rem}.about-image{width:100%;max-height:650px;object-fit:cover;aspect-ratio:16/9}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem}.contact-layout h1{font-size:clamp(3rem,5vw,5rem);margin:1.5rem 0 2rem}.contact-layout aside{padding-top:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem 1.5rem}.field{display:flex;flex-direction:column;gap:.65rem;font-size:.875rem}.field.full,.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #859486;border-radius:0;padding:.75rem .3rem;background:transparent;color:var(--ink);min-height:48px}.field textarea{min-height:130px;resize:vertical}.field input:user-invalid,.field textarea:user-invalid{border-color:#a12929}.consent{display:flex;align-items:flex-start;gap:.75rem;font-size:.8rem;line-height:1.6}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:.15rem}.consent a,.prose a{text-decoration:underline;text-underline-offset:3px}.notice{padding:1rem 1.2rem;background:#e9ede1;border-left:2px solid #758264;font-size:.875rem;line-height:1.6;margin-bottom:2rem}.form-status{font-size:.9rem;padding-top:1rem}.prose{max-width:780px}.prose h2{font-size:2rem;margin:2.5rem 0 1.2rem}.prose li{line-height:1.7;margin-bottom:.75rem}.back{font-size:.875rem;display:inline-block;margin-bottom:2rem}.empty{padding:3rem;text-align:center}.not-found{text-align:center;padding:7rem 0}.not-found h1{margin:1.5rem 0 2rem}[hidden]{display:none!important}
@media(min-width:1600px){.hero-content{padding-bottom:6rem}}
@media(max-width:1100px){.header-inner{gap:1rem}.desktop-nav{gap:1rem}.brand img{width:150px}.header-cta{max-width:150px}.split{gap:3rem}.process{grid-template-columns:repeat(3,1fr)}.contact-layout{gap:3rem}.hero{min-height:620px}}
@media(max-width:800px){.header-inner{min-height:85px;gap:1rem}.brand img{width:150px;height:75px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.desktop-nav.open{display:flex;position:absolute;top:100%;left:0;width:100%;flex-direction:column;align-items:stretch;background:#fff;padding:1rem 5% 2rem;gap:0;border-bottom:1px solid var(--line)}.desktop-nav.open a{padding:1rem 0}.hero{height:calc(100svh - 120px);min-height:620px;max-height:850px}.hero h1{max-width:620px;font-size:clamp(3.1rem,8vw,4.7rem)}.hero-content{padding:4rem 0}.hero-caption{bottom:1.25rem;font-size:.7rem}.section{padding:4rem 0}.intro,.split,.project-details,.contact-layout{grid-template-columns:1fr;gap:2rem}.intro h2{font-size:2.75rem}.section-heading{align-items:flex-start;flex-direction:column}.project-grid{grid-template-columns:1fr;gap:3rem}.project-card:nth-child(n){padding:0}.project-card img{aspect-ratio:4/3}.split>img{max-height:570px}.process{grid-template-columns:1fr 1fr}.philosophy{min-height:450px}.cta{padding:4rem 0}.footer-main{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1/-1}.site-footer{padding-bottom:6rem}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:6;background:var(--ink);color:white;justify-content:center;padding:1.1rem 1rem calc(1.1rem + env(safe-area-inset-bottom));font-size:.875rem;border-top:1px solid #ffffff50}.page-head{padding:3rem 0}.portfolio-grid{gap:2.5rem 1.25rem}.portfolio-grid .project-card:nth-child(even){padding-top:2rem}.portfolio-grid .project-card h3{font-size:1.15rem}.portfolio-grid .project-card img{aspect-ratio:4/5}.project-hero{aspect-ratio:4/3}.gallery{gap:1.25rem}.next-project h2{font-size:2rem}.next-project img{width:110px}.service-detail{grid-template-columns:40px 1fr;gap:1rem;padding:2rem 0}.service-detail p{grid-column:2}.service-detail h2{font-size:2rem}}
@media(max-width:420px){.wrap{width:90%}.hero h1{font-size:3rem}.hero{min-height:660px}.hero-content{padding-bottom:5rem}.hero .actions{flex-direction:column;align-items:flex-start;gap:1.5rem}.hero .button{padding:.9rem 1rem}.hero-caption{left:5%;right:auto}.languages{margin:0}.header-inner{gap:.65rem}.brand img{width:130px}.process,.portfolio-grid,.form-grid,.gallery{grid-template-columns:1fr}.portfolio-grid .project-card:nth-child(n){padding:0}.portfolio-grid .project-card img{aspect-ratio:4/3}.gallery figure{grid-column:auto!important}.footer-main{gap:1rem}.next-project img{display:none}.philosophy h2{font-size:2.3rem}}
.footer-main>*{min-width:0}.footer-main a{overflow-wrap:anywhere}.menu-toggle{white-space:nowrap}
@media(max-width:420px){.footer-main{grid-template-columns:minmax(0,1fr)}.footer-brand{grid-column:auto}.menu-toggle{font-size:.875rem}.footer-main>nav{margin:1rem 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.footer-main .footer-logo{display:block;width:260px;max-width:100%;padding:12px;background:#fff;margin-bottom:1.5rem}.footer-logo img{width:100%;height:auto}

/* Supplied 2026 brand: horizontal desktop, compact mobile, stacked footer. */
.brand picture{display:block}.brand img{width:270px;height:90px;object-fit:contain}.footer-main .footer-logo{width:210px;padding:12px}.footer-logo img{aspect-ratio:1;object-fit:contain}
@media(max-width:1100px) and (min-width:801px){.brand img{width:220px;height:74px}.desktop-nav{gap:.8rem}}
@media(max-width:800px){.brand img{width:150px;height:75px}}
@media(max-width:420px){.brand img{width:130px;height:65px}}
