:root{--ink:#152824;--navy:#142528;--orange:#e87940;--paper:#f8f7f3;--muted:#6c736e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:15px 'DM Sans',sans-serif}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{outline:3px solid var(--orange);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}.topbar{background:var(--ink);color:#e3e7df;display:flex;justify-content:space-between;padding:10px 5%;font-size:11px;letter-spacing:.4px}.topbar a span{color:var(--orange);margin-left:12px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);gap:28px}.brand{display:flex;align-items:center;gap:10px}.brand svg{width:39px;fill:none;stroke:var(--orange);stroke-width:2.5}.brand>span{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:1.5px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:5.2px;margin-top:4px}nav{display:flex;gap:30px;font-size:13px}nav a:hover{color:#bc592a}.button{border:0;background:var(--orange);color:#142522;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:19px 25px;font-size:13px;font-weight:700;transition:background .2s,transform .2s}.button:hover{background:#f29b6d;transform:translateY(-2px)}.button span{font-size:21px}.small{padding:13px 20px;font-size:12px}.menu{display:none}.hero{min-height:680px;height:calc(100vh - 134px);max-height:880px;position:relative;color:white;overflow:hidden}.hero-photo{position:absolute;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,26,24,.88),rgba(12,25,23,.45) 54%,rgba(10,26,22,.08)),linear-gradient(0deg,rgba(8,24,21,.4),transparent 40%)}.hero-content{position:relative;padding:80px 7%;max-width:900px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;color:#e4c2a7;display:flex;align-items:center;gap:10px;margin:0 0 25px}.eyebrow>span{width:6px;height:6px;background:var(--orange);border-radius:50%}.dark{color:#8c542f}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(48px,5.2vw,79px);font-weight:500;line-height:1.09;letter-spacing:-3.4px;margin-bottom:25px}h1 em{font-style:normal;color:#f0aa7d}.intro{max-width:405px;color:#dfdfd8;line-height:1.8;font-size:15px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:20px;align-items:center}.hero-note{display:flex;align-items:center;gap:16px;margin-top:45px;color:#cbd0c8;font-size:11px;line-height:1.7}.hero-note p{margin:0}.hero-note strong{font-weight:400;color:white}.line-icon{font-size:34px;color:#dda77c}.hero-caption{position:absolute;right:6%;bottom:45px;border-left:2px solid var(--orange);padding-left:20px}.hero-caption>span{font-size:9px;letter-spacing:2px}.hero-caption p{font-family:Manrope;font-size:20px;margin:9px 0}.hero-caption>a{position:absolute;right:0;bottom:-3px;transform:translateX(40px);font-size:25px}.side-label{position:absolute;right:24px;top:80px;writing-mode:vertical-rl;font-size:9px;letter-spacing:3px;color:#eee}.principles{padding:28px 7%;display:flex;justify-content:space-between;border-bottom:1px solid #dedfd7;gap:20px;font-size:12px}.principles i{font-style:normal;color:#b2683f;border:1px solid #d6c8b9;border-radius:50%;padding:2px 5px;margin-right:9px}.section{padding:100px 7%}h2{font-size:clamp(32px,3.2vw,48px);line-height:1.16;letter-spacing:-1.8px;font-weight:500;margin-bottom:27px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-images{height:510px;position:relative}.about-images img{object-position:40% center}.image-label{position:absolute;bottom:30px;right:-28px;background:var(--orange);padding:28px;font-family:Manrope;font-size:21px;font-weight:700;line-height:1.3}.image-corner{position:absolute;top:22px;left:22px;color:white;font-size:9px;letter-spacing:2px}.about-copy>p:not(.eyebrow){color:var(--muted);line-height:1.85;font-size:14px}.signature{border-top:1px solid #d9dcd3;display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:25px;font-size:13px;line-height:1.7}.signature strong{font-weight:500}.circle-link{border:1px solid #bec7bb;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;font-size:23px}.services{background:#eeeee7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cdd1c6}.service{position:relative;padding:35px 32px 0;border-right:1px solid #cdd1c6}.service:first-child{padding-left:0}.service:last-child{border:0}.service-number{position:absolute;top:35px;right:30px;font-size:11px;color:#899184}.service svg{width:45px;fill:none;stroke:#8b6245;stroke-width:1.3;margin-bottom:23px}.service h3{font-size:21px;letter-spacing:-.7px;font-weight:600}.service p{font-size:13px;line-height:1.8;color:var(--muted);max-width:285px}.service-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cdd1c6;padding-top:23px;margin-top:28px;font-size:11px;font-weight:600}.service-link b{font-size:23px;font-weight:400}.service:hover h3,.service:hover b{color:#b15b32}.projects{background:var(--navy);color:#fff}.projects .section-heading>p{color:#b8c2bb}.projects small{font-size:10px;color:#a5afa8}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.project{position:relative;height:440px;padding:0;border:0;text-align:left;color:white;background:#293a35;overflow:hidden}.project:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,22,19,.85),transparent 65%)}.project img{transition:transform .6s}.project:hover img{transform:scale(1.035)}.project-category{position:absolute;top:24px;left:24px;font-size:8px;letter-spacing:1.4px;background:#f8f7f3;color:var(--ink);padding:9px 11px;z-index:1}.project>div{position:absolute;bottom:25px;left:28px;z-index:1}.project h3{font-size:25px;font-weight:500;margin:0 0 9px}.project p{font-size:11px;color:#d5d9d2;margin:0}.project-arrow{position:absolute;bottom:32px;right:27px;font-size:23px;z-index:1}.projects-bottom{display:flex;justify-content:space-between;padding-top:30px;font-size:12px;color:#c2cbc3}.projects-bottom a{color:#f0b28b}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:55px}.steps article{border-top:1px solid #c8cfc3;padding-top:24px}.steps article>span{display:inline-grid;place-items:center;width:36px;height:36px;background:#eaece3;color:#936242;font-size:12px;border-radius:50%;margin-bottom:24px}.steps h3{font-size:18px;font-weight:600}.steps p{font-size:13px;line-height:1.8;color:var(--muted)}.contact{background:#213630;display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;color:white}.contact h2{font-size:43px}.contact-copy>p:not(.eyebrow){color:#bac7be;line-height:1.8;font-size:14px;max-width:360px}.contact-detail{margin-top:30px}.contact-detail small{display:block;font-size:8px;letter-spacing:1.7px;color:#b0beb2;margin-bottom:9px}.contact-detail a{font-family:Manrope;font-size:20px}.contact-bottom{font-size:11px;line-height:1.8;color:#a8b8ac;margin-top:40px}form{background:var(--paper);color:var(--ink);padding:35px}form h3{font-weight:600;font-size:23px;letter-spacing:-.8px;margin-bottom:8px}form>p{font-size:11px;color:var(--muted);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{font-size:10px;display:block;margin-bottom:17px;font-weight:600}label>span{color:#bd6639}input,select,textarea{display:block;width:100%;border:1px solid #d8ddd2;padding:12px 10px;background:transparent;font-size:11px;color:var(--ink);margin-top:8px;border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid #b46b40;outline-offset:1px}textarea{resize:vertical}form .button{width:100%;font-size:12px;padding:13px 18px}.form-note{font-size:9px;line-height:1.7;margin:12px 0 0;color:#71786e}#form-status{font-size:12px;line-height:1.6;margin-top:10px}.faq{max-width:1000px;margin:auto}.faq h2{margin-bottom:40px}details{border-top:1px solid #d5dacf;padding:23px 0}details:last-child{border-bottom:1px solid #d5dacf}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:14px;font-weight:500}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:#a66b43}details p{line-height:1.8;font-size:13px;color:var(--muted);max-width:670px;margin:18px 0 0}footer{background:#122420;color:white;padding:45px 7% 20px}.footer-main{display:flex;justify-content:space-between;align-items:center;padding-bottom:38px;border-bottom:1px solid #35463c}.footer-main>p{font-size:14px;line-height:1.7;margin:0;color:#bdc9bd}.footer-main .text-link{color:#e9b38b}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:9px;color:#a3b2a5;padding-top:22px}.footer-bottom button{border:0;background:none;color:inherit;font-size:inherit;padding:0}dialog{background:var(--paper);color:var(--ink);border:0;width:min(620px,90%);padding:45px;box-shadow:0 30px 100px #0006}dialog::backdrop{background:#10231de0}dialog h2{font-size:32px;margin-bottom:20px}dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;white-space:pre-wrap}dialog .close-dialog{position:absolute;top:12px;right:15px;border:0;background:none;font-size:28px;color:var(--ink)}#dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}#dialog-actions .button{font-size:12px;padding:13px 20px}
@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1350px)/2));padding-right:max(7%,calc((100vw - 1350px)/2))}}@media(max-width:1000px){header{gap:15px;padding:0 4%}.brand>span{font-size:15px}.brand small{font-size:8px;letter-spacing:3.8px}nav{gap:17px;font-size:11px}header .small{font-size:10px;gap:10px}.hero-content{padding-top:70px}.hero{min-height:640px}.section{padding:75px 6%}.about{gap:7%}.about-images{height:460px}.principles{padding:23px 5%;font-size:10px}.contact{gap:5%}.contact h2{font-size:35px}form{padding:25px}.contact-detail a{font-size:17px}}@media(max-width:700px){html{scroll-padding-top:25px}.topbar{font-size:9px;padding:10px 5%}.topbar>span{display:none}.topbar a{margin:auto}header{height:78px;padding:0 5%;position:relative;z-index:5}.brand>span{font-size:16px}.brand svg{width:33px}.brand small{font-size:7px;letter-spacing:4.5px}header>.button{display:none}.menu{display:block;border:1px solid #d8dcd2;background:none;padding:7px 12px;font-size:20px;color:var(--ink)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px;box-shadow:0 10px 15px #0001;font-size:14px}nav.open{display:flex;flex-direction:column;gap:24px}.hero{height:auto;min-height:680px}.hero-content{padding:65px 7% 110px}.hero-photo{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#112620e6,#12251b60),linear-gradient(0deg,#11262080,transparent)}h1{font-size:49px;letter-spacing:-2.5px}.eyebrow{font-size:8px;letter-spacing:1.6px;line-height:1.8}.intro{font-size:13px;max-width:315px}.hero-actions{align-items:start;flex-direction:column;gap:23px}.hero-actions .button{font-size:11px;padding:16px 19px}.hero-note{margin-top:30px}.hero-caption{display:none}.side-label{right:12px;font-size:7px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;font-size:9px;padding:25px 6%}.principles i{margin-right:3px}.section{padding:60px 7%}.about{grid-template-columns:1fr;gap:45px}.about-images{height:380px}.image-label{right:-10px;padding:22px;font-size:19px}.about-copy h2{font-size:37px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;font-size:12px}h2{font-size:33px;letter-spacing:-1.3px}.service-grid{grid-template-columns:1fr}.service,.service:first-child{border-right:0;border-bottom:1px solid #cdd1c6;padding:30px 0}.service:last-child{padding-bottom:0}.service-number{right:0}.service svg{margin-bottom:15px}.service p{max-width:100%}.service-link{margin-top:20px;padding-top:17px}.project-grid{grid-template-columns:1fr}.project{height:370px}.project h3{font-size:22px}.project>div{left:22px;right:45px}.project p{line-height:1.6}.projects-bottom{display:block;line-height:1.7}.projects-bottom a{display:flex;margin-top:17px}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.steps h3{font-size:16px}.steps p{font-size:12px}.steps article>span{margin-bottom:16px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{font-size:35px}.contact-bottom{margin-top:24px}form{padding:25px 20px}.form-row{gap:12px}form h3{font-size:22px}.contact-detail a{font-size:18px}.faq h2{font-size:30px}summary{font-size:13px;gap:20px}footer{padding:35px 7% 24px}.footer-main{align-items:start;flex-direction:column;gap:25px}.footer-bottom{flex-wrap:wrap;justify-content:start;line-height:1.7;gap:13px 24px}.footer-bottom>span{width:100%}dialog{padding:35px 24px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Vector icon system: consistent linework on desktop and mobile. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.menu{align-items:center;justify-content:center;min-width:44px;min-height:44px}.menu .ui-icon{width:24px;height:24px}
.topbar .ui-icon{width:13px;height:13px}.line-icon .ui-icon{width:34px;height:34px;stroke-width:1.1}
.principles i{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:3px;vertical-align:middle}.principles .ui-icon{width:14px;height:14px}
.circle-link .ui-icon{width:20px;height:20px}.hero-caption .ui-icon{width:25px;height:25px}
.service-link .ui-icon,.project-arrow .ui-icon{width:22px;height:22px}
.contact-detail .ui-icon{width:17px;height:17px;margin-left:5px}.footer-bottom .ui-icon{width:13px;height:13px}
summary .ui-icon{width:17px;height:17px;transition:transform .25s}details[open] summary .ui-icon{transform:rotate(45deg)}
.close-dialog{display:flex;align-items:center;justify-content:center;width:44px;height:44px}.close-dialog .ui-icon{width:23px;height:23px}
@media(max-width:700px){.menu{display:flex}.principles i{width:19px;height:19px}.principles .ui-icon{width:12px;height:12px}}
