:root{--ink:#132e27;--ink-soft:#455b53;--green:#0a754a;--green-mid:#11714c;--green-deep:#0c3429;--green-bright:#b0e0c3;--cream:#f6f8f5;--white:#fff;--border:#dbe7df;--soft:#eef4ef;--shadow:0 24px 55px rgba(19,46,39,.12);--width:1200px;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.75 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3{letter-spacing:-.038em;line-height:1.14}h1{font-size:clamp(2.65rem,4.5vw,4.85rem);font-weight:750}h2{font-size:clamp(2rem,3.15vw,3.15rem);font-weight:750}h3{font-size:1.22rem}p{margin-bottom:1.2rem;color:var(--ink-soft)}strong{font-weight:700}.shell{width:min(calc(100% - 64px),var(--width));margin-inline:auto}.skip-link{position:absolute;left:12px;top:-100px;z-index:999;background:var(--green);color:#fff;padding:10px 18px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #65b484;outline-offset:3px}
.site-header{height:92px;position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 1px 0 rgba(11,61,40,.09)}.nav-shell{height:100%;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{text-decoration:none;display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{width:106px;height:65px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-mark img{width:100%;height:100%;object-fit:contain;max-width:100%}.brand-name{font-size:16px;line-height:1.22;letter-spacing:-.025em;color:#203a30;white-space:nowrap}.brand-name strong{font-weight:800}.site-nav{display:flex;align-items:center;gap:28px}.site-nav>a:not(.nav-cta){text-decoration:none;font-size:14px;font-weight:650;color:#344a41;position:relative;padding:11px 0}.site-nav>a:not(.nav-cta):hover,.site-nav>a[aria-current="page"]{color:var(--green)}.site-nav>a[aria-current="page"]:after{content:"";position:absolute;bottom:3px;left:0;right:0;height:2px;background:var(--green)}.nav-cta{text-decoration:none;background:var(--green-deep);border:1px solid var(--green-deep);border-radius:8px;padding:11px 16px;color:white;font-size:13px;font-weight:750;white-space:nowrap;transition:background .15s}.nav-cta:hover{background:var(--green)}.nav-cta span{font-size:17px;margin-left:7px}.menu-button{display:none;appearance:none;background:transparent;border:0;padding:12px}.menu-button span{display:block;height:2px;width:24px;background:var(--ink);margin:5px 0}
.hero{position:relative;isolation:isolate;background-color:var(--green-deep);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--hero-image);background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,32,26,.95) 0%,rgba(6,41,32,.87) 31%,rgba(6,41,32,.37) 63%,rgba(6,41,32,.06) 100%)}.hero-home{min-height:585px;display:flex;align-items:center}.hero-content{padding-block:88px;position:relative}.hero-content>*{max-width:680px}.hero h1{color:#fff;max-width:710px;margin:25px 0 20px}.hero h1 em{font-style:normal;color:#a8ddb9}.hero p{color:#edf6ef;font-size:clamp(1rem,1.3vw,1.13rem);line-height:1.72;max-width:545px;margin-bottom:27px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.eyebrow{font-weight:800;letter-spacing:.21em;text-transform:uppercase;color:var(--green);font-size:11px;line-height:1.5;margin-bottom:19px}.eyebrow.light{color:#b7e5c6}.tiny-line{display:inline-block;width:24px;height:2px;vertical-align:middle;background:currentColor;margin-right:12px}.hero-edge{position:absolute;bottom:0;right:0;width:27%;height:7px;background:#83bf98}.button{border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:25px;border-radius:8px;padding:13px 21px;font-weight:750;font-size:14px;white-space:nowrap;transition:transform .15s,background .15s;color:#fff;min-height:47px}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green);color:#fff}.button-green:hover{background:#04613d}.button-outline{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.08)}.button-outline:hover{background:rgba(255,255,255,.15)}.button-dark{background:var(--green-deep)}.button-dark:hover{background:var(--green)}.button-light{background:#fff;color:var(--green-deep)}.button-light:hover{background:#daf0e3}.facts-strip{background:#fff;border-bottom:1px solid var(--border)}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:27px}.fact{display:flex;gap:12px;align-items:baseline;justify-content:center;border-right:1px solid var(--border)}.fact:first-child{justify-content:flex-start}.fact:last-child{border:0;justify-content:flex-end}.fact-num{font-size:clamp(1.16rem,2vw,1.85rem);font-weight:800;letter-spacing:-.035em;color:var(--green-deep)}.fact-label{font-size:13px;font-weight:550;color:#6a7c74}.section{padding-block:92px}.section-muted{background:var(--cream)}.content-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(35px,7vw,92px);align-items:center}.content-grid h2{max-width:700px}.content-grid p,.narrow p{font-size:16px}.lead{font-size:19px!important;line-height:1.65;font-weight:500;color:#294f3b}.text-link{text-underline-offset:4px;text-decoration-thickness:1px;font-weight:750;color:var(--green)}.text-link:hover{text-decoration-thickness:2px}.editorial-card{position:relative;margin-bottom:54px}.editorial-card>img{width:100%;aspect-ratio:4/4.3;object-fit:cover;object-position:center;border-radius:14px}.editorial-note{position:absolute;right:-18px;bottom:-53px;width:min(88%,370px);padding:28px 30px;display:grid;gap:9px;background:#fff;box-shadow:var(--shadow);border-left:4px solid #229263;border-radius:8px}.small-label{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--green);text-transform:uppercase}.editorial-note strong{font-size:21px;letter-spacing:-.035em;line-height:1.25}.editorial-note span:last-child{font-size:12px;color:#6c7c72;line-height:1.6}.split-panel{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-panel p{font-size:18px;max-width:510px}.mini-photo img{border-radius:16px;width:100%;height:320px;object-fit:cover}
.hero-subpage{min-height:370px;display:flex;align-items:center}.hero-subpage .hero-content{padding-block:70px}.hero-subpage h1{font-size:clamp(2.65rem,4.2vw,4.4rem);max-width:720px}.hero-subpage p{margin-bottom:0}.hero-subpage:after{background:linear-gradient(90deg,rgba(5,32,26,.93) 0%,rgba(5,32,26,.78) 36%,rgba(6,41,32,.11) 100%)}.about-grid{align-items:start}.mission-card{background:linear-gradient(155deg,#124d36,#09291e);border-radius:16px;min-height:385px;padding:54px 48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:var(--shadow)}.mission-card blockquote{font-size:clamp(1.65rem,2.3vw,2.5rem);line-height:1.4;color:white;letter-spacing:-.032em;font-weight:570;margin:12px 0 30px}.mission-accent{height:4px;background:#8eca9e;width:90px}.narrow{max-width:820px}.narrow h2{max-width:700px}.narrow p{font-size:18px}.narrow .button{margin-top:12px}
.service-cards{display:grid;gap:16px}.service-card{display:flex;gap:20px;padding:24px;border:1px solid var(--border);background:#fff;box-shadow:0 10px 30px rgba(15,43,28,.045);border-radius:12px}.service-card h3{margin:0 0 5px}.service-card p{font-size:14px;line-height:1.6;margin:0}.card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:12px;background:#e6f2e9;color:var(--green);font-weight:800;font-size:16px}.service-photo{width:100%;max-height:210px;object-fit:cover;border-radius:12px}
.project-intro{background:#103b2b;color:#fff;overflow:hidden}.project-intro-inner{display:grid;grid-template-columns:.85fr 1fr;align-items:center;gap:60px;padding-block:60px}.project-intro h1{font-size:clamp(3rem,5.6vw,5.3rem);margin:0 0 16px}.project-intro p{color:#e1f2e7;font-size:17px;line-height:1.8;max-width:510px}.intro-photo img{width:100%;height:280px;object-fit:cover;border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.15)}.gallery-section{padding-bottom:100px}.gallery-heading{display:flex;justify-content:space-between;gap:20px;align-items:end}.gallery-heading h2{margin-bottom:12px}.gallery-help{max-width:620px}.gallery-status{white-space:nowrap;font-weight:800;font-size:26px;color:var(--green-deep);letter-spacing:-.04em;padding-bottom:20px}.gallery-status span:nth-child(2),.gallery-status span:nth-child(3){color:#a5bbb0}.gallery{max-width:1050px;margin:22px auto 0}.gallery-frame{position:relative;background:#123628;border-radius:14px;overflow:hidden;aspect-ratio:1.7;display:flex;align-items:center;justify-content:center}.gallery-frame img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .23s ease}.gallery-frame img.is-switching{opacity:.3}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:rgba(255,255,255,.92);color:#103b2b;border:0;border-radius:100px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px #0003}.gallery-arrow:hover{background:#c9e8d6}.gallery-arrow span{font-size:35px;line-height:1;transform:translateY(-2px)}.gallery-arrow.prev{left:18px}.gallery-arrow.next{right:18px}.gallery-count{position:absolute;right:15px;bottom:13px;border-radius:60px;background:rgba(3,23,15,.75);color:#fff;backdrop-filter:blur(9px);padding:6px 13px;font-weight:700;font-size:12px;letter-spacing:.1em}.gallery-thumbs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px;margin-top:16px}.gallery-thumb{padding:0;border:3px solid transparent;border-radius:8px;overflow:hidden;background:#e6ede8;opacity:.65;transition:opacity .15s,border-color .15s;aspect-ratio:1.24}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.gallery-thumb:hover,.gallery-thumb.is-active{opacity:1}.gallery-thumb.is-active{border-color:var(--green)}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:13px;color:#687f73}.gallery-pause{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:9px 13px;font-weight:650;color:var(--ink)}.gallery-pause:hover{background:#edf5f0}.extras-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:28px}.extra-photo{overflow:hidden;border-radius:10px;background:#dfe5df;box-shadow:0 8px 20px rgba(18,48,34,.06);min-height:160px}.extra-photo img{width:100%;height:100%;aspect-ratio:1.14;object-fit:cover;transition:transform .25s}.extra-photo:hover img{transform:scale(1.04)}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,8vw,105px);align-items:start}.contact-copy{padding-top:15px}.contact-copy p{font-size:17px}.phone-card{padding:25px 30px;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;background:var(--cream);margin-top:36px}.phone-card a{display:block;text-decoration:none;font-size:clamp(1.5rem,2vw,2.1rem);font-weight:850;letter-spacing:-.035em}.phone-card a span{font-size:23px;color:var(--green)}.contact-hint{font-size:13px!important;color:#697c71;margin-top:14px}.form-panel{border:1px solid var(--border);border-radius:17px;box-shadow:var(--shadow);padding:35px 38px;background:white;scroll-margin-top:110px}.form-panel-heading{display:flex;align-items:center;justify-content:space-between}.form-panel-heading .eyebrow{margin:0 0 10px}.form-panel-heading h2{font-size:28px;margin-bottom:27px}.form-indicator{width:45px;height:45px;border-radius:50%;background:#edf5ef;color:var(--green);display:grid;place-items:center;font-size:23px}.contact-form{display:grid;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field label{font-size:13px;font-weight:750;color:#274238}.field label span{color:#138858}.field label small{font-size:12px;color:#7a8880;font-weight:450}.field input,.field textarea{border:1px solid #cbdad0;background:#fcfdfc;padding:13px 14px;border-radius:8px;outline:0;width:100%;font-size:14px;color:var(--ink)}.field input:focus,.field textarea:focus{background:white;border-color:#148657;box-shadow:0 0 0 3px rgba(20,134,87,.15)}.field textarea{resize:vertical;min-height:138px}.field input::placeholder,.field textarea::placeholder{color:#9bad9e}.submit-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.submit-row p{margin:0;max-width:245px;font-size:12px;line-height:1.5}.hidden-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.alert{padding:15px 18px;border-radius:9px;margin-bottom:23px;font-size:14px}.alert p{margin:4px 0 0}.alert ul{margin:8px 0 0;padding-left:20px}.alert-success{background:#ecf8ef;border:1px solid #a5d6ad;color:#15583a}.alert-error{background:#fff1ee;border:1px solid #e8b8a6;color:#803522}
.cta-band{background:linear-gradient(115deg,#0d7044,#123c2a);color:#fff}.cta-band-inner{padding-block:52px;display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-band h2{font-size:clamp(1.65rem,2.6vw,2.65rem);margin-bottom:0;max-width:630px}.cta-band .eyebrow{margin-bottom:9px}.site-footer{background:#102b21;color:#f0f6f2}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:51px;border-bottom:1px solid rgba(255,255,255,.16)}.footer-info strong{font-size:16px}.footer-info p{margin:6px 0 0;font-size:13px;color:#bed1c4}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{color:#e6f0e9;text-decoration:none;font-size:13px}.footer-links a:hover{color:#9ed7b8}.footer-phone{font-size:15px;font-weight:800;color:#fff;white-space:nowrap;text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:21px;font-size:12px;color:#9bb5a6}
@media(max-width:1050px){.site-nav{gap:17px}.site-nav>a:not(.nav-cta){font-size:13px}.brand-name{font-size:14px}.brand{gap:7px}.facts-grid{gap:12px}.fact{flex-direction:column;align-items:center;gap:0}.fact:first-child{align-items:start}.fact:last-child{align-items:end}.fact-label{text-align:center}.contact-grid{gap:42px}}
@media(max-width:850px){.shell{width:min(calc(100% - 42px),var(--width))}.site-header{height:78px;position:relative;top:auto}.menu-button{display:block;margin-left:auto}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-top:1px solid var(--border);box-shadow:0 20px 25px #0526191c;padding:20px 21px;gap:0;flex-direction:column;align-items:stretch}.site-nav.is-open{display:flex}.site-nav>a:not(.nav-cta){padding:12px 14px;border-bottom:1px solid #eef3f0}.site-nav>a[aria-current="page"]:after{display:none}.nav-cta{margin-top:12px;text-align:center}.hero-home{min-height:510px}.hero-content{padding-block:68px}.section{padding-block:65px}.content-grid{grid-template-columns:1fr;gap:35px}.editorial-card>img{aspect-ratio:16/9}.editorial-note{right:12px}.split-panel{gap:30px}.project-intro-inner{grid-template-columns:1fr 1fr;gap:24px}.contact-grid{grid-template-columns:1fr}.form-panel{max-width:720px}.footer-top{align-items:start;flex-wrap:wrap}.footer-info{width:100%}}
@media(max-width:610px){.shell{width:calc(100% - 36px)}.brand-mark{width:76px;height:48px}.brand-mark img{width:100%}.brand-name{font-size:12px}.hero-home{min-height:525px}.hero:after{background:linear-gradient(90deg,rgba(5,32,26,.92),rgba(5,32,26,.55))}.hero-content{padding-block:56px}.hero h1{font-size:clamp(2.2rem,9vw,3.25rem);margin-block:21px 15px}.hero p{font-size:15px}.hero-actions{gap:11px}.hero-actions .button{width:100%}.facts-grid{padding-block:16px;gap:4px}.fact{gap:3px;padding-inline:8px;text-align:center}.fact:first-child{align-items:center}.fact:last-child{align-items:center}.fact-num{font-size:16px}.fact-label{font-size:10px;line-height:1.3}.section{padding-block:54px}.content-grid p{font-size:15px}.editorial-card{margin-bottom:51px}.editorial-note{width:90%;right:0;padding:19px}.editorial-note strong{font-size:18px}.split-panel{grid-template-columns:1fr}.mini-photo img{height:230px}.hero-subpage{min-height:315px}.hero-subpage .hero-content{padding-block:60px}.hero-subpage h1{font-size:clamp(2.15rem,8.8vw,3.3rem)}.mission-card{min-height:auto;padding:38px 30px}.mission-card blockquote{font-size:1.6rem}.project-intro-inner{display:flex;flex-direction:column;align-items:stretch;padding-block:40px}.project-intro h1{font-size:3.4rem}.project-intro p{font-size:15px}.intro-photo img{height:190px}.gallery-heading{align-items:flex-start}.gallery-heading h2{font-size:2rem}.gallery-status{font-size:20px}.gallery-frame{aspect-ratio:1.13}.gallery-arrow{width:39px;height:39px}.gallery-arrow.prev{left:8px}.gallery-arrow.next{right:8px}.gallery-arrow span{font-size:28px}.gallery-thumbs{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-right:-18px;padding-right:18px}.gallery-thumb{min-width:66px;width:66px;height:59px;scroll-snap-align:start}.gallery-toolbar{flex-wrap:wrap;gap:12px}.extras-grid{grid-template-columns:repeat(2,1fr);gap:11px}.extra-photo{min-height:110px}.form-panel{padding:24px 20px}.form-row{grid-template-columns:1fr}.submit-row .button{width:100%}.cta-band-inner{padding-block:40px;align-items:stretch;flex-direction:column;gap:22px}.cta-band h2{font-size:1.75rem}.footer-top{gap:22px;padding-block:36px}.footer-links{gap:10px 22px}.footer-bottom{line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Hero images use document-relative URLs, so this design also works in /testsite/1/. */
.hero:before{display:none}.hero-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;z-index:-2}

/* Version 1.2: restored business address and additional gallery lightbox. */
.footer-info address{color:#bed1c4;font-style:normal;font-size:12px;line-height:1.55;margin-top:10px}
.address-card{padding:22px 26px;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:10px;background:var(--cream);margin-top:25px}
.address-card address{margin-top:6px;font-size:17px;font-weight:650;line-height:1.5;color:var(--green-deep);font-style:normal}
.address-card + .phone-card{margin-top:14px}
.extras-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.extra-photo{position:relative;border:0;display:block;min-height:0;aspect-ratio:1.22;padding:0;text-align:left;cursor:zoom-in}
.extra-photo img{aspect-ratio:auto;position:absolute;inset:0;width:100%;height:100%}
.extra-view-label{position:absolute;left:10px;bottom:10px;border-radius:5px;padding:5px 9px;color:#fff;background:#0c3027db;font-size:11px;font-weight:750;opacity:0;transition:opacity .16s}
.extra-photo:hover .extra-view-label,.extra-photo:focus-visible .extra-view-label{opacity:1}
.project-lightbox{padding:0;border:0;max-width:min(1200px,calc(100vw - 36px));max-height:calc(100dvh - 36px);width:min(1100px,calc(100vw - 36px));color:#fff;border-radius:14px;background:#092319;box-shadow:0 26px 95px #06160ce0;overflow:hidden}
.project-lightbox::backdrop{background:rgba(3,19,13,.88);backdrop-filter:blur(4px)}
.project-lightbox[open]{display:flex;flex-direction:column}
.lightbox-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lightbox-image{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 115px);object-fit:contain;display:block}
.lightbox-close,.lightbox-arrow{border:0;display:grid;place-items:center;position:absolute;color:#173828;background:#fffffff0;z-index:3;box-shadow:0 5px 22px #0004}
.lightbox-close{right:13px;top:13px;border-radius:50%;font-size:27px;line-height:1;width:40px;height:40px}
.lightbox-arrow{top:50%;transform:translateY(-50%);width:47px;height:47px;border-radius:50%;font-size:38px;line-height:1;padding-bottom:5px}
.lightbox-prev{left:12px}.lightbox-next{right:12px}
.lightbox-close:hover,.lightbox-arrow:hover{background:#c4e6d0}
.lightbox-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid #496857;background:#0f3023;font-size:13px}
.lightbox-counter{font-weight:800;white-space:nowrap}
.lightbox-description{color:#bdcec2}
@media(max-width:610px){.extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-arrow{width:40px;height:40px;font-size:30px}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox-close{right:7px;top:7px}.lightbox-footer{padding:10px 13px}.lightbox-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){.extra-view-label{transition:none}}
