:root{--pine:#164c43;--dark:#103b36;--deep:#102e2c;--mint:#eef5f1;--lime:#d6e58b;--cream:#fafbf8;--text:#273b39;--muted:#63736f;--line:#dfe7e2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.7}h1,h2,h3{letter-spacing:-.035em;line-height:1.17}a{text-decoration:none;color:var(--pine)}a:hover{color:#267363}.skip-link{position:absolute;top:-100px;left:10px;background:white;padding:10px;z-index:9999}.skip-link:focus{top:10px}.utility-strip{background:var(--deep);color:#c9ddcf;font-size:.75rem;padding:5px 0}.utility-strip a{color:#c9ddcf}.site-nav{border-bottom:1px solid var(--line);min-height:83px;box-shadow:0 3px 13px #062b2410}.logo-wordmark{display:flex;align-items:center;gap:11px;color:var(--dark)!important}.logo-wordmark span:last-child{display:flex;flex-direction:column;line-height:1}.logo-wordmark strong{font-size:1.3rem;letter-spacing:.08em}.logo-wordmark small{font-size:.55rem;letter-spacing:.22em;margin-top:6px;font-weight:750}.brand-mark{display:grid;place-items:center;background:var(--pine);border:2px solid var(--lime);color:var(--lime);font-size:1.6rem;font-weight:800;border-radius:7px;width:45px;height:45px;transform:skew(-5deg)}.navbar-nav .nav-link{font-size:.9rem;font-weight:600;color:#36514d;padding:10px}.navbar-nav .nav-link.active{color:var(--pine);box-shadow:inset 0 -2px var(--pine)}.btn{border-radius:6px;font-weight:700;padding:.77rem 1.25rem}.btn-sm{padding:.57rem 1rem}.btn-brand{background:var(--pine);border:1px solid var(--pine);color:white}.btn-brand:hover,.btn-brand:focus{background:#0c302a;border-color:#0c302a;color:white}.btn-outline-brand{border:1px solid var(--pine);color:var(--pine)}.btn-outline-brand:hover{background:var(--pine);color:#fff}.btn-accent{background:var(--lime);border:1px solid var(--lime);color:var(--dark)}.btn-accent:hover{background:#c5d574;color:var(--dark)}.hero-home{background:linear-gradient(110deg,#113b38 0%,#1c554b 70%,#28655a 100%);color:white;position:relative;overflow:hidden;padding:112px 0 120px}.hero-grid{position:absolute;inset:0;opacity:.14;background-image:linear-gradient(90deg,#fff 1px,transparent 1px),linear-gradient(#fff 1px,transparent 1px);background-size:68px 68px;transform:rotate(-13deg) scale(1.4)}.hero-home h1{font-size:clamp(2.55rem,5vw,4.9rem);max-width:810px;font-weight:750;margin:18px 0 22px}.hero-summary{color:#e5f1eb;max-width:630px;font-size:1.22rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.eyebrow{text-transform:uppercase;display:inline-block;font-size:.75rem;letter-spacing:.16em;font-weight:800;color:#3a7867}.eyebrow-light{color:var(--lime)}.hero-art{width:100%;max-width:300px;aspect-ratio:1;margin-left:auto;display:grid;place-items:center;position:relative;border-radius:50%;border:2px solid #ffffff65;box-shadow:0 0 0 22px #ffffff10,0 0 0 48px #ffffff0e}.hero-art:before,.hero-art:after{content:"";position:absolute;border:1px solid #f3ffdd60;border-radius:45% 55% 48% 52%;width:85%;height:55%;transform:rotate(33deg)}.hero-art:after{transform:rotate(-38deg)}.hero-art span{font-weight:800;letter-spacing:.12em;text-align:center;font-size:1.4rem;color:var(--lime);z-index:1}.section-pad{padding:86px 0}.section-soft{background:var(--cream)}.section-heading{font-size:clamp(2rem,3.5vw,3.05rem);font-weight:750;color:var(--dark);margin:10px 0 0}.text-accent{color:#39846c}.intro-copy{font-size:1.35rem;color:#3d5750;max-width:810px}.text-link{display:inline-flex;gap:8px;align-items:center;font-weight:750;color:var(--pine);border-bottom:2px solid #acc7ad;padding-bottom:2px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px;flex-wrap:wrap}.service-card{display:flex;position:relative;flex-direction:column;min-height:255px;height:100%;border:1px solid var(--line);background:white;padding:33px;border-radius:9px;color:var(--text);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #164c4315}.service-number{color:#4b8e6e;font-size:.95rem;font-weight:800;letter-spacing:.1em}.service-card h3{font-size:1.42rem;margin:17px 0 12px;color:var(--dark);font-weight:750}.service-card p{color:var(--muted);font-size:.95rem}.service-arrow{font-size:1.45rem;color:var(--pine);margin-top:auto;align-self:end}.portfolio-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;transition:box-shadow .2s}.portfolio-card:hover{box-shadow:0 14px 35px #15382d15}.card-visual{height:210px;overflow:hidden}.card-visual img,.post-image{width:100%;height:100%;object-fit:cover}.card-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(130deg,#397667,#a8c2a0);color:#f2fff4}.card-placeholder span{font-size:4rem;letter-spacing:.18em;font-weight:900;opacity:.3}.card-info{padding:25px}.tag{font-size:.68rem;background:var(--mint);color:var(--pine);text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:5px 9px;border-radius:3px}.card-info h3{font-size:1.4rem;margin:15px 0 12px;font-weight:750}.card-info h3 a,.insight-card h3 a{color:var(--dark)}.card-info p{color:var(--muted);font-size:.92rem;min-height:48px}.card-meta{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:.79rem;color:#657b73}.insight-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:29px}.insight-card h2,.insight-card h3{font-size:1.42rem;margin:14px 0;font-weight:750}.insight-card p{color:var(--muted);font-size:.95rem}.post-image{height:180px;display:block;border-radius:4px;margin-bottom:20px}.cta-strip{background:var(--pine);color:white;padding:64px 0}.cta-strip h2{font-size:2.4rem;font-weight:750;margin:10px 0}.cta-strip p{color:#d5e5dc;margin:0}.page-hero{background:linear-gradient(110deg,#123f3a,#2b6758);color:white;padding:76px 0 53px}.page-hero h1{font-weight:750;font-size:clamp(2.5rem,5vw,4rem);margin:15px 0}.page-hero p{max-width:720px;font-size:1.15rem;color:#e5efea}.breadcrumb{margin-top:28px}.breadcrumb a{color:#e8f4dc}.breadcrumb-item.active,.breadcrumb-item+.breadcrumb-item:before{color:#c3dbcb}.value-card,.service-detail,.contact-aside,.project-facts{padding:36px;background:#fff;border:1px solid var(--line);border-radius:9px;height:100%}.value-card h3,.service-detail h2{font-weight:750;color:var(--dark);margin:14px 0}.service-detail{scroll-margin-top:115px}.service-detail-image{display:block;width:100%;height:220px;object-fit:cover;border-radius:5px;margin:16px 0}.lead-sm{font-size:1.12rem;color:#405a52}.content-prose{font-size:1.05rem;line-height:1.85;overflow-wrap:anywhere}.content-prose p{margin-bottom:1.15em}.content-prose h2,.content-prose h3{margin:1.4em 0 .5em}.team-card img,.team-placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--mint);border-radius:7px}.team-placeholder{display:grid;place-items:center;font-size:4rem;font-weight:800;color:var(--pine)}.team-card h3{font-size:1.25rem;margin-top:15px;font-weight:750}.team-card p{color:var(--muted);font-size:.9rem}.filter-bar{padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--cream);margin-bottom:24px}.filter-bar label{font-weight:700;font-size:.84rem}.form-control,.form-select{border-color:#d3dfd7;border-radius:5px;padding:.78rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--pine);box-shadow:0 0 0 .2rem #164c4321}.portfolio-toolbar{margin-bottom:24px}.portfolio-count{font-weight:800;color:var(--pine)}#projectMap,#projectDetailMap{height:540px;border:1px solid var(--line);border-radius:9px;z-index:0}#projectDetailMap{height:410px}.map-help{font-size:.83rem;color:var(--muted);margin-top:12px}.detail-cover{width:100%;max-height:490px;object-fit:cover;border-radius:8px;margin-bottom:30px}.detail-lead{font-size:1.3rem;font-weight:500;color:#3f6357;margin-bottom:25px}.project-facts{height:auto;background:var(--cream);position:sticky;top:110px}.project-facts h2{font-size:1.35rem;font-weight:750;margin-bottom:25px}.project-facts dt{text-transform:uppercase;color:var(--muted);font-size:.76rem;letter-spacing:.09em}.project-facts dd{font-weight:650;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.article-wrap{max-width:830px;margin:auto}.contact-form label{font-weight:650}.contact-aside{background:var(--mint)}.contact-aside h2{font-weight:750;font-size:2rem;margin:12px 0}.contact-line{display:flex;flex-direction:column;gap:4px;margin:24px 0;padding-top:18px;border-top:1px solid #cfe0d4}.contact-line strong{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.empty-note{border:1px dashed #b3c6bb;border-radius:8px;padding:40px;color:var(--muted);width:100%;background:var(--cream)}.site-footer{background:var(--deep);color:#d1e3d7;padding:70px 0 0}.footer-title{font-weight:800;font-size:1.1rem;color:white;letter-spacing:.09em}.footer-intro{max-width:370px}.footer-heading{font-size:.9rem;color:white;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.footer-links{list-style:none;padding:0}.footer-links li{margin-bottom:7px}.site-footer a{color:#c8dfd0}.site-footer a:hover{color:var(--lime)}.footer-contact{font-weight:750}.footer-bottom{margin-top:48px;border-top:1px solid #ffffff25;padding:23px 0;font-size:.8rem;color:#afc8bc}@media(max-width:991px){.hero-home{padding:80px 0}.section-pad{padding:64px 0}.site-nav{min-height:72px}.navbar-nav .nav-link.active{box-shadow:none}.project-facts{position:static}}@media(max-width:575px){.hero-home h1{font-size:2.65rem}.page-hero{padding:55px 0}.section-heading{font-size:2rem}.service-card,.service-detail,.value-card{padding:25px}.cta-strip h2{font-size:1.9rem}}

.page-hero{position:relative;overflow:hidden}
.page-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,46,32,.92),rgba(8,49,35,.67) 55%,rgba(9,51,37,.35))}
.page-hero>.container{position:relative}

.website-logo{display:block;max-width:min(230px,55vw);height:56px;object-fit:contain}
@media(max-width:575px){.website-logo{height:44px}}
