:root{--ink:#282c29;--paper:#f5f3ed;--copper:#aa4c2d;--line:#d6d4ca;--muted:#626760;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--copper);outline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.07;letter-spacing:-.045em;font-weight:500}h1{font-size:clamp(54px,7.6vw,112px)}h2{font-size:clamp(38px,4.5vw,68px)}h3{font-size:28px}p{color:var(--muted);max-width:65ch}small{font-size:12px}em{font-family:Georgia,serif;font-weight:400}.wrap{max-width:1440px;margin:auto;padding-left:6vw;padding-right:6vw}.eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}.header{height:102px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:700;line-height:1.15;letter-spacing:.025em}.brand small{font-size:9px}.mark{display:grid;position:relative;place-items:center;letter-spacing:-.12em;padding-right:6px;width:54px;height:54px;border:1px solid currentColor;font-size:27px;line-height:1}.mark span{color:var(--copper);position:absolute;right:4px;bottom:0;font-size:22px}.header nav{display:flex;gap:27px;font-size:13px}.header nav a{padding:8px 0}.header nav a:hover,.header nav [aria-current]{border-bottom:1px solid var(--copper)}.header-cta{font-size:12px;display:flex;gap:25px;border-bottom:1px solid;padding:9px 0}.menu-toggle{display:none}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:42px;padding:17px 24px;background:var(--copper);color:white;border:1px solid var(--copper);font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#8b3b23;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:34px;border-bottom:1px solid;padding:10px 0;font-size:14px}.hero{position:relative;min-height:760px;height:calc(100svh - 102px);max-height:1050px;background:#252823;color:white;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,13,.76),rgba(10,16,13,.1) 80%),linear-gradient(0deg,rgba(10,16,13,.4),transparent 35%)}.hero-copy{position:relative;z-index:1;padding:7vh 6vw 100px;max-width:1100px}.hero h1{margin:24px 0;font-size:clamp(66px,7.7vw,120px);line-height:.98}.hero .eyebrow{color:#e0d9c8}.hero p{color:#e4e2d9;font-size:17px;margin:28px 0}.hero-actions{display:flex;gap:35px;align-items:center}.hero-bottom{position:absolute;bottom:27px;left:6vw;right:6vw;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;z-index:1}.discipline-strip{display:flex;justify-content:space-around;padding:25px 3vw;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.12em;gap:20px}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:7vw;padding-top:120px;padding-bottom:120px}.intro-grid h2{margin-bottom:35px}.intro-grid p{margin:20px 0}.intro-grid .lead{font-size:23px;line-height:1.5;color:var(--ink)}.intro-grid .text-link{margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:start;gap:50px;margin-bottom:55px}.section-heading h2{width:66%}.capabilities{padding-bottom:120px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px 32px}.capability img{aspect-ratio:1.5;transition:filter .3s}.capability:hover img{filter:brightness(.88)}.capability>div{padding-top:22px}.capability h3{display:flex;justify-content:space-between;margin:12px 0 16px}.capability p{max-width:43ch;font-size:15px}.feature-band{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:570px}.feature-image img{height:100%;min-height:570px}.feature-copy{align-self:center;padding:70px 6vw}.feature-copy h2{margin:25px 0}.feature-copy p{color:#c9cdc4;margin-bottom:34px}.process{padding-top:120px;padding-bottom:120px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:30px}.steps article>span{color:var(--copper);font-size:13px}.steps h3{margin:30px 0 20px;font-size:27px}.steps p{font-size:15px}.project-teaser{display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;padding-bottom:100px}.project-teaser img{aspect-ratio:1.1}.project-teaser h2{margin:25px 0}.project-teaser .text-link{margin:20px 0}.project-teaser small{display:block;color:var(--muted)}.cta{border-top:1px solid var(--line);padding-top:75px;padding-bottom:85px;position:relative}.cta h2{margin-top:22px}.cta .button{position:absolute;right:6vw;bottom:95px}.page-intro{padding-top:88px;padding-bottom:75px}.page-intro h1{margin:25px 0 28px;font-size:clamp(55px,7vw,102px)}.page-intro p{font-size:19px;max-width:58ch}.wide-photo img{aspect-ratio:2.1}.duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-bottom:100px}.duo img{aspect-ratio:1.2}.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;padding-bottom:100px;align-items:start}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:25px}.filters button{border:1px solid var(--line);background:transparent;padding:9px 15px;font-size:12px}.filters [aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.catalog-note{font-size:12px;margin-bottom:35px}.service-item{display:grid;grid-template-columns:118px 1fr 120px;gap:23px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.service-item[hidden]{display:none}.service-item img{aspect-ratio:1;object-fit:cover}.service-item h2{font-size:25px;letter-spacing:-.025em;margin:8px 0 12px}.service-item p{font-size:13px;line-height:1.65}.service-purchase{text-align:right}.service-purchase strong{font-size:25px;font-weight:500}.service-purchase button{background:none;border:0;border-bottom:1px solid var(--copper);padding:8px 0;margin-top:15px;font-size:11px;color:var(--copper)}.cart{position:sticky;top:25px;border:1px solid var(--line);padding:25px;background:#eeece4}.cart h2{font-size:29px;margin:20px 0}.cart ul{list-style:none;margin:0;padding:0;font-size:13px}.cart li{padding:13px 0;border-bottom:1px solid var(--line)}.cart li button{display:block;background:none;border:0;text-decoration:underline;font-size:11px;padding:5px 0;color:var(--muted)}.cart-total{display:flex;justify-content:space-between;margin:26px 0}.cart-total strong{font-size:25px}.cart p{font-size:12px;margin:14px 0}.cart .button{display:block;text-align:center;padding:14px;font-size:12px}.cart .text-link{font-size:11px}.disabled{opacity:.4;pointer-events:none}.image-disclosure{font-size:12px;color:var(--muted);margin-bottom:45px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 35px;padding-bottom:90px}.projects-grid img{aspect-ratio:1.4;margin-bottom:25px}.projects-grid h2{font-size:35px;margin:12px 0 17px}.projects-grid p{font-size:15px}.projects-grid .text-link{margin-top:15px}.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;padding-bottom:110px}.contact-grid h2{margin:20px 0 30px}.contact-grid p{margin:20px 0}.contact-grid img{aspect-ratio:1.5;margin-top:40px}.contact-email{border-bottom:1px solid;font-size:14px;overflow-wrap:anywhere}.enquiry{background:#eeece4;padding:35px}.enquiry h2{font-size:35px;margin:0 0 30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.enquiry label{display:block;font-size:12px;margin-bottom:20px}.enquiry input,.enquiry textarea,.enquiry select{width:100%;border:0;border-bottom:1px solid #aaa99d;background:transparent;border-radius:0;padding:12px 0;color:var(--ink)}.enquiry textarea{resize:vertical}.enquiry .consent{display:flex;gap:12px;align-items:start;margin:25px 0}.enquiry .consent input{width:17px;margin-top:4px}.enquiry .consent a{text-decoration:underline}.enquiry small{display:block;margin-top:20px;color:var(--muted)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.legal{max-width:1000px;padding-bottom:100px}.legal section{margin-bottom:40px}.legal h2{font-size:30px;margin-bottom:15px}footer{background:#252a26;color:#f4f2e9;padding:70px 6vw 25px}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:50px;border-bottom:1px solid #4d534b}.footer-top p{color:#e3e3d8;font:28px/1.2 Georgia,serif}.footer-top .text-link{align-self:center}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding:50px 0}.footer-grid .eyebrow{color:#a7aea3;margin-bottom:20px}.footer-grid p{color:#e3e3d8;margin-bottom:15px}.footer-grid a{display:block;font-size:13px;margin:7px 0;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid #4d534b;padding-top:23px;display:flex;justify-content:space-between;font-size:10px;color:#b7bdb2}.skip{position:fixed;left:20px;top:-100px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s,transform .65s}.motion .reveal.visible{opacity:1;transform:none}@media(min-width:1600px){.hero-copy{padding-left:max(6vw,calc((100vw - 1268px)/2))}}@media(max-width:1050px){.header-cta{display:none}.catalog-layout{grid-template-columns:1fr 260px;gap:25px}.service-item{grid-template-columns:85px 1fr}.service-purchase{grid-column:2;text-align:left;display:flex;align-items:center;gap:25px}.service-purchase button{margin:0}.hero{min-height:670px}.contact-grid{gap:5vw}.footer-top{flex-wrap:wrap}}@media(max-width:720px){.header{height:85px;padding:0 6vw}.brand{font-size:12px}.mark{width:44px;height:44px;font-size:22px}.menu-toggle{display:flex;gap:20px;border:0;background:none;font-size:13px}.header nav{display:none;position:absolute;top:85px;left:0;right:0;padding:25px 6vw;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:12px}.header nav.open{display:flex}.hero{height:auto;min-height:720px}.hero-copy{padding-top:65px}.hero h1{font-size:67px}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-bottom span:last-child{display:none}.hero>img{object-position:62%}.discipline-strip{display:grid;grid-template-columns:1fr 1fr;font-size:8px;padding:22px 6vw;gap:18px}.intro-grid{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px;gap:30px}.intro-grid .lead{font-size:20px}.section-heading{display:block;margin-bottom:35px}.section-heading h2{width:auto;margin-top:25px}.capability-grid{gap:40px;grid-template-columns:1fr}.capabilities{padding-bottom:65px}.feature-band{grid-template-columns:1fr}.feature-image img{min-height:0;height:330px}.feature-copy{padding:55px 6vw}.process{padding:65px 6vw}.steps{grid-template-columns:1fr;gap:35px}.steps h3{margin-top:15px}.steps article{padding-bottom:25px;border-bottom:1px solid var(--line)}.project-teaser{grid-template-columns:1fr;gap:35px;padding-bottom:65px}.cta{padding-top:50px;padding-bottom:55px}.cta .button{position:static;margin-top:30px}.page-intro{padding-top:55px;padding-bottom:45px}.page-intro p{font-size:17px}.catalog-layout{grid-template-columns:1fr;padding-bottom:60px}.cart{position:static}.service-item{gap:17px;grid-template-columns:75px 1fr}.service-item h2{font-size:23px}.service-purchase{grid-column:2}.projects-grid{grid-template-columns:1fr;gap:45px}.duo{gap:15px;padding-bottom:65px}.wide-photo img{aspect-ratio:1.3}.contact-grid{grid-template-columns:1fr;gap:45px;padding-bottom:60px}.enquiry{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.footer-top{flex-direction:column;gap:30px}.footer-top .text-link{align-self:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px;flex-direction:column}footer{padding-top:50px}.hero .eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}}
