*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#17232a;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1400px,91.2%);margin:auto}.site-header{background:#fff;position:relative;z-index:10;box-shadow:0 1px 5px #00000013}.header-inner{height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:8px;min-width:260px}.brand-mark{font-size:57px;line-height:1;color:#16843d}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:36px;color:#188442;font-weight:900}.brand-copy>span{font-size:15px;font-weight:900;letter-spacing:.2px}.brand-copy small{display:block;color:#188442;font-size:11px}.custom-logo{max-width:255px;max-height:70px;width:auto}.menu{display:flex;align-items:center;gap:32px;list-style:none;padding:0;margin:0;font-size:12px;font-weight:700}.menu a:hover,.menu .current-menu-item a{color:#098342}.header-phone{white-space:nowrap;font-size:17px;font-weight:800}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:30px;background:#008a43;color:white;padding:13px 30px;font-weight:700;font-size:13px;box-shadow:0 3px 8px #00000013}.btn:hover{background:#007039}.btn-small{border-radius:9px;padding:12px 20px;font-size:12px;white-space:nowrap}.menu-toggle{display:none}.hero{height:324px;background-image:linear-gradient(90deg,#003b2eea 0%,#003d2fc4 25%,#00000014 65%,#0000006b 100%),var(--hero);background-size:cover;background-position:center 44%;color:#fff;position:relative;overflow:hidden}.hero-content{padding-top:34px}.eyebrow{font-size:16px;font-weight:800;letter-spacing:.25px;margin:0 0 9px}.hero h1{font-size:48px;line-height:1.02;letter-spacing:.3px;margin:0 0 12px;font-weight:900;max-width:700px}.hero-lead{font-size:17px;margin:0 0 19px;line-height:1.5}.hero-slogan{position:absolute;right:5%;top:75px;font-family:cursive;font-size:27px;font-style:italic;line-height:1.25;transform:rotate(-10deg);text-align:center;text-shadow:1px 2px 4px #000}.hero-slogan:after{content:'';display:block;height:4px;background:#5fc842;transform:rotate(-9deg);margin-top:8px}.services{background:#fafcfa;border-bottom:1px solid #e4e9e5}.services-grid{min-height:137px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center}.service{text-align:center;padding:4px 15px;min-height:97px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #d3dad7}.service:last-child{border:0}.service-icon{font-size:42px;color:#00613c;line-height:1.2}.service h3{font-size:13px;line-height:1.3;margin:9px 0 0;font-weight:800}.about{display:grid;grid-template-columns:1.04fr 1.1fr 1.4fr;gap:25px;padding-top:22px;padding-bottom:20px;align-items:stretch}.about-photo{width:100%;height:313px;object-fit:cover;border-radius:3px}.section-kicker{color:#00653e;font-size:14px;font-weight:900;margin:0 0 6px}.section-kicker:before,.section-heading h2:before,.panel-kicker:before{content:'';display:inline-block;width:24px;height:2px;background:#0b8b4c;vertical-align:middle;margin-right:10px}.about-copy h2{font-size:24px;line-height:1.08;margin:0 0 12px;font-weight:900}.about-copy p:not(.section-kicker){font-size:15px;margin:0 0 10px}.about-copy .btn{margin-top:8px}.advantages{background:#edf7f2;padding:12px 35px 10px}.advantage{display:flex;align-items:center;gap:17px;margin:10px 0}.advantage-icon{display:flex;align-items:center;justify-content:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:#00583c;color:#fff;font-size:30px}.advantage h3{margin:0 0 2px;color:#005b3a;font-size:15px}.advantage p{margin:0;font-size:13px;line-height:1.3}.projects{padding:0 0 27px}.section-heading{border-top:1px solid #e0e6e2;display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px;padding-top:0}.section-heading h2{font-size:15px;margin:0;font-weight:900}.section-heading a{color:#068348;font-size:12px}.project-grid{display:grid;grid-template-columns:1.3fr 1.3fr .82fr .88fr .88fr;gap:17px}.project img{width:100%;height:146px;object-fit:cover;border-radius:3px}.project h3{font-size:12px;font-weight:800;margin:7px 0 0}.bottom-panels{display:grid;grid-template-columns:1fr 1fr;color:white;min-height:190px}.careers{background-image:linear-gradient(90deg,#06151be8 0%,#06151bcf 52%,#06151b40 100%),var(--careers);background-size:cover;background-position:center}.contacts{background:linear-gradient(115deg,#006a3c,#007a43 70%,#006839);display:flex;justify-content:space-between}.panel-content{padding:16px max(24px,calc((100vw - 1400px)/2)) 14px max(24px,4.5vw)}.panel-kicker{font-size:11px;font-weight:800;margin:0 0 5px}.panel-kicker:before{background:#fff;width:22px}.bottom-panels h2{font-size:19px;line-height:1.2;margin:0 0 6px}.bottom-panels p{margin:4px 0;font-size:13px}.bottom-panels ul{padding-left:17px;margin:3px 0 8px;font-size:13px}.bottom-panels li::marker{color:#27b64e}.bottom-panels .btn{padding:8px 22px;border-radius:30px}.contacts .panel-content{padding-left:45px;padding-right:10px}.contacts p:not(.panel-kicker){font-weight:600;margin:10px 0}.contact-slogan{align-self:center;border-left:1px solid #ffffff9c;padding-left:24px;margin-right:10%;font:italic 25px cursive;transform:rotate(-7deg)}.footer{background:#102027;color:#d3d8d9;font-size:11px}.footer-inner{min-height:54px;display:flex;align-items:center;justify-content:space-between}.content-page{min-height:60vh;padding:60px 0}.content-page h1{font-size:34px}.content-page article{border-bottom:1px solid #ddd;padding:15px 0}@media(max-width:1150px){.header-inner{gap:12px}.brand{min-width:210px}.brand-copy strong{font-size:28px}.brand-copy>span{font-size:12px}.brand-mark{font-size:45px}.menu{gap:14px}.header-phone{font-size:14px}.about{grid-template-columns:1fr 1fr}.advantages{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.advantages .section-kicker{grid-column:1/-1}.about-photo{height:330px}}@media(max-width:800px){.header-inner{height:70px}.menu-toggle{display:block;border:0;background:none;font-size:28px;color:#006d42;cursor:pointer;margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#fff;box-shadow:0 8px 12px #0002;padding:15px 5%}.main-nav.is-open{display:block}.menu{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.header-phone{display:none}.header-inner>.btn{display:none}.hero{height:auto;min-height:350px}.hero-content{padding-top:40px;padding-bottom:45px}.hero h1{font-size:clamp(30px,6vw,45px)}.hero-slogan{display:none}.services-grid{grid-template-columns:repeat(4,1fr);padding:15px 0}.service{border-bottom:1px solid #ddd}.project-grid{grid-template-columns:repeat(3,1fr)}.bottom-panels{grid-template-columns:1fr}.contacts .panel-content{padding-left:5vw}.contact-slogan{margin-right:5%}}@media(max-width:550px){.container{width:91%}.brand{min-width:0}.brand-copy strong{font-size:25px}.brand-copy>span{font-size:10px}.brand-mark{font-size:40px}.eyebrow{font-size:12px}.hero-lead{font-size:14px}.hero-lead br{display:none}.services-grid{grid-template-columns:repeat(2,1fr)}.service:nth-child(2n){border-right:0}.about{grid-template-columns:1fr}.about-photo{height:250px}.advantages{grid-column:auto;display:block;padding:18px}.project-grid{grid-template-columns:repeat(2,1fr)}.project img{height:120px}.contacts{display:block;padding-bottom:20px}.contact-slogan{display:none}.footer-inner{gap:8px;flex-direction:column;justify-content:center;text-align:center}.bottom-panels h2{font-size:17px}}
/* v1.1 — extracted logo and seven service icons */
.brand-logo{display:block;width:250px;max-width:100%;height:auto;max-height:67px;object-fit:contain;object-position:left center}.service-icon-image{display:block;width:57px;height:52px;object-fit:contain;margin:0 auto}.service h3{margin-top:8px}@media(max-width:1150px){.brand-logo{width:210px}}@media(max-width:550px){.brand-logo{width:205px;max-height:58px}.service-icon-image{width:53px;height:48px}}

/* v1.2: typography, navigation, aligned hero and lower panels */
html,body,button,input,select,textarea{font-family:"Trebuchet MS",Arial,sans-serif}
.hero-slogan-wrap{position:absolute;inset:0;left:0;right:0;pointer-events:none}
.hero-slogan-wrap .hero-slogan{position:absolute;right:0;top:75px}
.main-nav .menu>li>a{position:relative;display:inline-block;padding:9px 0 12px;transition:color .2s ease}
.main-nav .menu>li>a::after{content:"";position:absolute;bottom:3px;left:0;right:0;height:3px;background:#078c48;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.main-nav .menu>li.current-menu-item>a::after,.main-nav .menu>li.current_page_item>a::after,.main-nav .menu>li.current-menu-ancestor>a::after,.main-nav .menu>li.is-active>a::after,.main-nav .menu>li>a:hover::after,.main-nav .menu>li>a:focus-visible::after{transform:scaleX(1)}
.main-nav .menu>li.current-menu-item>a,.main-nav .menu>li.current_page_item>a,.main-nav .menu>li.is-active>a{color:#078c48}
.advantage-icon img{width:35px;height:35px;object-fit:contain}
.bottom-panels{position:relative;display:block;min-height:220px;isolation:isolate}
.bottom-panels-bg{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;z-index:-1}
.careers-bg{background-image:linear-gradient(90deg,#06151be8 0%,#06151bcf 52%,#06151b40 100%),var(--careers);background-size:cover;background-position:center}
.contacts-bg{background:linear-gradient(115deg,#006a3c,#007a43 70%,#006839)}
.bottom-panels-inner{display:grid;grid-template-columns:1fr 1fr;min-height:220px}
.bottom-panels .panel-content{padding:20px 26px 22px 0}
.bottom-panels .contacts{background:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-left:34px;padding-right:0}
.bottom-panels .contact-info{min-width:0}
.bottom-panels .contacts p:not(.panel-kicker){overflow-wrap:anywhere}
.bottom-panels .contact-slogan{flex:0 0 auto;margin:0 0 0 12px;padding-left:17px;font:italic 23px cursive}
@media(max-width:1150px){.bottom-panels .contact-slogan{font-size:19px}.bottom-panels .contacts{padding-left:24px}}
@media(max-width:800px){.hero-slogan-wrap .hero-slogan{display:none}.bottom-panels-bg{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.bottom-panels-inner{grid-template-columns:1fr}.bottom-panels .panel-content{padding:24px 0}.bottom-panels .contacts{padding:24px 0;min-height:200px}.bottom-panels .contact-slogan{font-size:23px}.main-nav .menu>li>a{padding:4px 0 9px}}
@media(max-width:550px){.bottom-panels .contacts{display:block}.bottom-panels .contact-slogan{display:block;margin:20px 0 0;max-width:max-content}.bottom-panels-bg{grid-template-rows:1fr 1.2fr}}

/* v1.3 — restrained hero headline, no aggressive image zoom, reference-style contact icons */
.hero h1{font-weight:400}
.hero{background-size:cover;background-position:center center;background-repeat:no-repeat}
.header-phone{display:inline-flex;align-items:center;gap:9px}
.contact-glyph{display:inline-block;flex:0 0 18px;width:18px;height:18px;background-color:currentColor;vertical-align:-3px;mask-repeat:no-repeat;mask-size:contain;mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center}
.glyph-phone{mask-image:url('../images/phone.svg');-webkit-mask-image:url('../images/phone.svg')}
.glyph-email{mask-image:url('../images/email.svg');-webkit-mask-image:url('../images/email.svg')}
.glyph-location{mask-image:url('../images/location.svg');-webkit-mask-image:url('../images/location.svg')}
.header-phone .contact-glyph{color:#00653e;width:19px;height:19px}
.contacts .contact-info p:not(.panel-kicker){display:flex;align-items:center;gap:10px}
.contacts .contact-glyph{color:#fff}
@media(max-width:800px){.hero{background-position:55% center}}

/* v1.4 theme settings and service submenu */
.main-nav .menu{font-size:var(--ges-menu-size,14px);font-weight:600;gap:clamp(10px,1.4vw,24px)}
.header-phone{font-size:20px;font-weight:700}.header-phone .contact-glyph{width:23px;height:23px;flex-basis:23px}
.main-nav .menu>li{position:relative}.main-nav .menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:255px;max-width:340px;margin:0;padding:8px 0;background:#fff;box-shadow:0 9px 20px #0002;border-top:3px solid #078c48;list-style:none;z-index:40;font-size:13px}
.main-nav .menu>li:hover>.sub-menu,.main-nav .menu>li:focus-within>.sub-menu,.main-nav .menu>li.submenu-open>.sub-menu{display:block}
.main-nav .sub-menu li a,.main-nav .sub-menu li span{display:block;padding:10px 15px;line-height:1.3}
.main-nav .sub-menu li a:hover,.main-nav .sub-menu li a:focus{background:#edf7f2;color:#078c48}
.submenu-toggle{background:none;border:0;color:#078c48;font-size:18px;cursor:pointer;padding:5px}
.service-linked{color:inherit;transition:background .2s}.service-linked:hover,.service-linked:focus-visible{background:#e8f4ed}
@media(max-width:1250px){.header-inner{gap:10px}.brand{min-width:190px}.brand-logo{width:205px}.main-nav .menu{gap:10px}.header-inner>.btn{padding:10px 13px}}
@media(max-width:1050px){.header-phone{font-size:17px}.header-phone .contact-glyph{width:20px;height:20px;flex-basis:20px}}
@media(max-width:800px){.main-nav .menu .sub-menu{position:static;box-shadow:none;border-top:0;min-width:0;max-width:none;padding-left:18px}.main-nav .menu>li:hover>.sub-menu{display:none}.main-nav .menu>li.submenu-open>.sub-menu{display:block}.header-phone{display:none}}

/* v1.5 */
.services-grid{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;padding:16px 0;min-height:137px}.services-grid .service{flex:0 1 calc(100% / 7);min-width:0}.services-grid .service:last-child{border-right:0}.submenu-toggle{display:none}.menu-item-services{position:relative}.menu-item-services>a{display:inline-block}.main-nav .menu>li:hover>.sub-menu,.main-nav .menu>li:focus-within>.sub-menu{display:block}.header-phone{font-size:20px}.header-phone .contact-glyph{width:23px;height:23px}.menu{font-size:var(--ges-menu-size,14px)}.ges-contact-form{max-width:650px;margin:36px 0}.ges-contact-form form{display:grid;gap:14px}.ges-contact-form label{display:grid;gap:6px;font-weight:600}.ges-contact-form input,.ges-contact-form textarea{width:100%;padding:12px;border:1px solid #bfcac3;border-radius:4px;font:inherit}.ges-contact-form .btn{justify-self:start;border:0;cursor:pointer}.ges-honeypot{position:absolute;left:-10000px;opacity:0}.service-detail img{max-height:450px;width:auto}@media(max-width:800px){.services-grid .service{flex:0 1 25%}.submenu-toggle{display:inline-block;position:absolute;right:0;top:0;width:40px;height:40px;opacity:0}.menu-item-services>a{padding-right:40px}.main-nav .menu>li:hover>.sub-menu{display:none}.main-nav .menu>li.submenu-open>.sub-menu{display:block}}@media(max-width:550px){.services-grid .service{flex:0 1 50%}}

/* v1.6 — shared page composition and editable three-photo banners */
.ges-inner-hero{height:324px;background:#163b34;isolation:isolate}.ges-slides{position:absolute;inset:0;z-index:-2}.ges-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity .9s ease}.ges-slide.is-current{opacity:1}.ges-inner-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#00352ed9 0%,#00352e82 48%,#0004 100%);z-index:-1}.ges-inner-hero-content{padding-top:72px}.ges-inner-hero h1{font-weight:600;font-size:clamp(29px,3.4vw,48px);max-width:950px;line-height:1.13}.ges-slider-controls{position:absolute;right:max(4.4%,calc((100vw - 1400px)/2));bottom:18px;display:flex;align-items:center;gap:13px}.ges-slider-controls>button{background:#0b332b99;color:white;border:1px solid #ffffff6b;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:24px;line-height:1}.ges-slider-dots{display:flex;gap:9px}.ges-slider-dots button{width:9px;height:9px;border:1px solid white;background:#ffffff77;border-radius:50%;padding:0;cursor:pointer}.ges-slider-dots button[aria-current=true]{background:#3dc778}.ges-shared-projects{padding-top:14px;padding-bottom:32px}.ges-inner-contact{background:linear-gradient(115deg,#00633b,#087d47);color:#fff;padding:30px 0}.ges-inner-contact-content{display:flex;align-items:center;justify-content:space-between;gap:30px}.ges-inner-contact h2{margin:5px 0 12px;font-size:21px}.ges-inner-contact p:not(.panel-kicker){display:flex;align-items:center;gap:12px;margin:8px 0}.ges-inner-contact .contact-glyph{color:#fff}.ges-page-copy{max-width:1050px;font-size:16px;line-height:1.75}.content-page{min-height:250px;padding:38px 0}.ges-service-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:22px 0 35px}.ges-service-gallery img{width:100%;height:200px;object-fit:cover;border-radius:3px}.ges-page-copy h2{margin-top:24px}.services-grid .service:last-child{border-right:0}@media(max-width:800px){.ges-inner-hero{height:350px;min-height:350px}.ges-inner-hero-content{padding-top:80px}.ges-service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.ges-inner-contact-content{flex-direction:column;align-items:flex-start}}@media(max-width:550px){.ges-service-gallery img{height:140px}.ges-inner-hero{height:350px}}@media(prefers-reduced-motion:reduce){.ges-slide{transition:none}}

/* v1.7 */
.ges-slider-controls{display:none!important}.ges-v17-services-list{display:grid;gap:0}.ges-v17-service-item{display:flex;align-items:flex-start;gap:25px;padding:23px 5px;border-bottom:1px solid #dce6e0}.ges-v17-service-item>img{width:72px;height:72px;object-fit:contain;flex-shrink:0}.ges-v17-service-item h2{font-size:22px;margin:0 0 8px;color:#075a36}.ges-v17-service-item p{font-size:15px;line-height:1.7;margin:0 0 10px}.ges-v17-read{color:#087e47;font-weight:700}.ges-v17-work-list{display:grid;gap:0}.ges-v17-work{display:grid;grid-template-columns:minmax(250px,42%) 1fr;gap:36px;align-items:center;padding:22px 0;border-bottom:1px solid #dce6e0}.ges-v17-work img{width:100%;height:260px;object-fit:cover;border-radius:3px}.ges-v17-work h2{color:#06472c;font-size:26px;margin:0 0 8px}.ges-v17-work h3{font-size:18px;margin:0 0 12px}.ges-v17-work p{font-size:15px;line-height:1.7}.ges-v17-disclaimer{font-size:13px;color:#63736a;margin-top:18px}.ges-socials{display:flex;align-items:center;gap:12px;margin-top:14px}.ges-socials a{display:inline-flex;align-items:center;justify-content:center;color:#fff;border:1px solid #ffffff80;border-radius:5px;width:40px;height:40px;transition:background .2s}.ges-socials a:hover{background:#ffffff30}.ges-contact-form{max-width:790px;margin:30px auto;padding:28px;background:#f8fbf9;border:1px solid #d8e7df}.ges-contact-form form{display:grid;gap:15px}.ges-contact-form form>label:not(.ges-consent){display:grid;gap:6px;font-weight:700}.ges-contact-form input:not([type=checkbox]),.ges-contact-form textarea,.ges-contact-form select{width:100%;padding:12px;border:1px solid #b9c8c0;border-radius:3px;font:inherit}.ges-contact-form .ges-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px}.ges-contact-form .ges-consent input{margin-top:3px}.ges-contact-form .ges-consent a{color:#007b42;text-decoration:underline}.ges-honeypot{position:absolute!important;left:-9999px!important}.ges-contact-form .btn{justify-self:start;border:0;cursor:pointer}@media(max-width:700px){.ges-v17-work{grid-template-columns:1fr;gap:12px}.ges-v17-work img{height:210px}.ges-v17-service-item{gap:14px}.ges-v17-service-item>img{width:54px;height:54px}}

/* v1.7.1 general services index */
.ges-services-index-content{padding-top:42px;padding-bottom:45px}
.ges-services-index-title{font-size:clamp(28px,3vw,38px);color:#104b31;margin:0 0 14px}
.ges-services-index-intro{font-size:16px;line-height:1.8;max-width:950px;margin:0 0 26px;color:#33443b}
.ges-services-index .ges-v17-service-item h2 a{color:inherit;text-decoration:none}
.ges-services-index .ges-v17-service-item h2 a:hover{text-decoration:underline}

/* v1.7.3 — service index: icon / text / photo */
.ges-services-index .ges-v17-service-item{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(240px,34%);gap:24px;align-items:center;padding:24px 4px}
.ges-services-index .ges-v17-service-item>.ges-v17-service-icon{width:70px;height:70px;object-fit:contain}
.ges-v17-service-copy{min-width:0}
.ges-v17-service-photo{display:block;overflow:hidden;border-radius:3px;line-height:0}
.ges-v17-service-photo img{width:100%;height:205px;object-fit:cover;transition:transform .25s ease}
.ges-v17-service-photo:hover img{transform:scale(1.035)}
@media(max-width:800px){.ges-services-index .ges-v17-service-item{grid-template-columns:58px minmax(0,1fr);gap:15px}.ges-services-index .ges-v17-service-item>.ges-v17-service-icon{width:54px;height:54px}.ges-v17-service-photo{grid-column:2}.ges-v17-service-photo img{height:190px}}
@media(max-width:480px){.ges-services-index .ges-v17-service-item{grid-template-columns:44px minmax(0,1fr);gap:12px}.ges-services-index .ges-v17-service-item>.ges-v17-service-icon{width:42px;height:42px}.ges-v17-service-photo img{height:160px}}
