
:root{--forest:#173f35;--deep:#12372f;--navy:#203847;--muted:#647579;--line:#e1e8e5;--page:#fff;--soft:#fbfcfb;--w:1260px;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--page);color:var(--navy);font-family:Inter,"Segoe UI",Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit}img{display:block;max-width:100%}.container{width:min(calc(100% - 104px),var(--w));margin-inline:auto}a:focus-visible{outline:3px solid #56a992;outline-offset:4px;border-radius:3px}
header{height:96px;display:flex;align-items:center;background:#fff;position:relative;z-index:5;border-bottom:1px solid #eff2f0;}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.logo img{width:301px;height:auto}.nav{display:flex;gap:42px;align-items:center}.nav a{text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.nav a:hover{color:#46806d}
.hero{position:relative;min-height:445px;isolation:isolate;overflow:hidden;background:#fdfefd}.hero-photo{position:absolute;z-index:-2;right:0;top:0;height:100%;width:59%;background-position:center 57%;background-size:cover;clip-path:polygon(26% 0,100% 0,100% 100%,26% 100%,0 50%)}.hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(231,240,235,.58) 0%,rgba(23,65,53,.33) 59%,rgba(14,57,46,.48) 100%)}.hero-photo:after{content:"";position:absolute;inset:0;background:rgba(27,66,51,.16);mix-blend-mode:multiply}.hero-fade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#fff 0%,#fff 39%,rgba(255,255,255,.97) 43%,rgba(255,255,255,.75) 49%,rgba(255,255,255,.05) 62%,transparent 78%);pointer-events:none}.hero-chevron{position:absolute;z-index:-1;top:0;right:34%;height:100%;width:16%;background:rgba(240,247,241,.43);clip-path:polygon(74% 0,100% 0,24% 50%,100% 100%,74% 100%,0 50%);pointer-events:none}.hero-inner{min-height:445px;display:flex;align-items:center}.hero-copy{max-width:585px;padding:38px 0 42px}.hero h1{font-weight:400;letter-spacing:-.048em;line-height:1.09;color:var(--deep);font-size:clamp(39px,4.05vw,59px);margin:0 0 25px}.hero p{font-size:19px;font-weight:400;line-height:1.62;color:#617279;max-width:520px;margin:0 0 31px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--forest);border:1px solid var(--forest);color:#fff;text-decoration:none;padding:15px 25px;min-height:51px;border-radius:5px;font-size:15px;transition:background .2s,transform .2s}.cta:hover{background:#255a4b;transform:translateY(-1px)}.cta .arrow{font-size:22px;line-height:0;font-weight:300}
.section{scroll-margin-top:20px}.project{padding:37px 0 39px;background:white}.eyebrow{display:flex;gap:16px;align-items:center;color:var(--forest);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 23px}.eyebrow:before{content:"";display:inline-block;width:38px;height:1px;background:#356552}.project-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch;padding:9px;border:1px solid #dae3df;border-radius:8px;background:#fff;overflow:hidden}.project-image{width:100%;height:163px;object-fit:fill;border-radius:4px}.project-content{padding:18px 24px 12px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.project-content h2{font-size:26px;font-weight:400;letter-spacing:-.025em;margin:0 0 10px;color:#253947}.project-content p{font-size:15px;color:#6a7b80;line-height:1.55;margin:0 0 17px}.text-link{font-size:15px;color:var(--forest);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.text-link:hover{color:#3c7963}.external{display:inline-block;padding-left:5px;font-size:16px;text-decoration:none}
.about{padding:35px 0 58px;border-top:1px solid #e8eeeb}.about .eyebrow{margin-bottom:20px}.about-copy{margin-left:53px;max-width:750px}.about h2{font-size:30px;letter-spacing:-.032em;font-weight:400;line-height:1.25;margin:0 0 11px}.about p{font-size:17px;line-height:1.6;color:#66777d;margin:0;max-width:720px}
footer{border-top:1px solid var(--line);padding:27px 0;background:#fff;scroll-margin-top:20px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-logo img{width:258px}.company{font-size:13px;color:#607276;line-height:1.7;display:flex;gap:40px;align-items:center}.company strong{display:block;font-weight:500;color:var(--navy)}.contact-block{border-left:1px solid #cbd8d1;padding-left:38px;max-width:330px}
@media(max-width:880px){.container{width:min(calc(100% - 52px),var(--w))}.hero{min-height:425px}.hero-inner{min-height:425px}.hero-copy{max-width:490px}.hero p{font-size:17px;max-width:420px}.hero-photo{width:70%;opacity:.72}.hero-fade{background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.99) 39%,rgba(255,255,255,.88) 54%,rgba(255,255,255,.15) 85%)}.hero-chevron{right:30%}.nav{gap:21px}.logo img{width:245px}.project-card{gap:17px}.project-content{padding-right:14px}}
@media(max-width:640px){header{height:76px}.container{width:calc(100% - 34px)}.logo img{width:188px}.nav{gap:14px}.nav a{font-size:12px}.hero{min-height:auto;padding-top:180px}.hero-photo{height:218px;width:100%;top:0;left:0;right:0;clip-path:none;background-position:center 47%;opacity:1}.hero-fade{background:linear-gradient(to bottom,transparent 0,transparent 125px,rgba(255,255,255,.5) 172px,#fff 218px,#fff 100%)}.hero-chevron{display:none}.hero-inner{min-height:0}.hero-copy{padding:10px 0 35px}.hero h1{font-size:40px;margin-bottom:15px}.hero p{font-size:16px;line-height:1.55;margin-bottom:21px}.cta{min-height:46px;padding:12px 19px;font-size:14px}.project{padding:28px 0 30px}.eyebrow{margin-bottom:17px}.project-card{grid-template-columns:1fr;gap:7px;padding:7px}.project-image{height:auto;aspect-ratio:599/131;object-fit:fill}.project-content{padding:12px 13px 17px}.project-content h2{font-size:24px}.project-content p{margin-bottom:14px}.about{padding:29px 0 37px}.about-copy{margin-left:0}.about h2{font-size:27px}.about p{font-size:16px}.footer-inner{flex-direction:column;align-items:flex-start;gap:19px}.footer-logo img{width:205px}.company{align-items:flex-start;flex-direction:column;gap:12px}.contact-block{border-left:none;padding-left:0}footer{padding:26px 0 31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
/* Reduced-copy homepage: preserve the visual design, let the photography lead. */
.hero{min-height:415px}
.hero-inner{min-height:415px}
.hero-copy{padding:40px 0 44px;max-width:580px}
.hero h1{font-size:clamp(37px,3.85vw,56px);letter-spacing:-.044em;line-height:1.13;margin:0}
.project{padding-top:44px;padding-bottom:52px}
.project-card{max-width:1190px}
footer{padding-top:30px;padding-bottom:30px}
@media(max-width:880px){.hero{min-height:405px}.hero-inner{min-height:405px}}
@media(max-width:640px){
  .hero{min-height:auto;padding-top:180px}
  .hero-inner{min-height:0}
  .hero-copy{padding:10px 0 34px}
  .hero h1{font-size:38px;line-height:1.14}
  .project{padding:27px 0 34px}
}

/* Footer: company details only — no repeated brand logo. */
.footer-inner{justify-content:center;text-align:center}
.company{justify-content:center}
@media(max-width:640px){.footer-inner{align-items:center}.company{align-items:center;text-align:center}}
