.site-footer{position:relative;overflow:hidden;background:#f4f5f4;color:#68716d;padding:0;font-size:13px;line-height:1.8}.site-footer>.wrap{display:block;position:relative;padding-top:48px;padding-bottom:0}.footer-projects{position:relative;overflow:hidden;padding:0 0 44px;border-bottom:1px solid #e0e5e1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.footer-projects .fl-track{display:flex;align-items:center;width:max-content;margin:0;padding:0;list-style:none;animation:fl-scroll var(--fl-duration,30s) linear infinite;will-change:transform}.footer-projects:hover .fl-track,.footer-projects:focus-within .fl-track{animation-play-state:paused}.footer-projects .fl-item{flex:none;margin:0;padding:0 clamp(28px,4vw,56px)}.footer-projects .fl-item:before{content:none}.footer-projects .fl-item a{display:flex;align-items:center;justify-content:center;height:60px;transition:transform .25s ease}.footer-projects .fl-item a:hover{transform:scale(1.06)}.footer-projects img{display:block;height:52px;width:auto;max-width:190px;object-fit:contain}.footer-projects .fl-text{display:block;text-align:center;color:#959d98;letter-spacing:2px;font-size:18px;font-weight:700;line-height:1.2;white-space:nowrap}.footer-projects .fl-text small{display:block;font-size:10px;font-weight:500;letter-spacing:4px;margin-top:4px}@keyframes fl-scroll{from{transform:translateX(0)}to{transform:translateX(var(--fl-shift,-50%))}}@media(prefers-reduced-motion:reduce){.footer-projects .fl-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center}.footer-projects .fl-item[aria-hidden=true]{display:none}.footer-projects{-webkit-mask-image:none;mask-image:none}}.site-footer a:hover{color:#007a40}.footer-columns{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:60px;padding:46px 0 56px}.site-footer h2{font-size:18px;font-weight:500;color:#243d30;margin:0 0 24px;line-height:1.4}.site-footer p{margin:0 0 20px}.site-footer address{font-style:normal;margin-bottom:24px}.site-footer a{color:#64736a;text-decoration:none;overflow-wrap:anywhere}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{position:relative;padding-left:14px;margin-bottom:13px}.site-footer li:before{content:'›';position:absolute;left:0;color:#007a40;font-weight:700}.site-footer .footer-office-link{display:inline-block;color:#007a40;margin-top:9px;font-weight:600}.site-footer a:focus-visible,.site-footer input:focus-visible{outline:2px solid #007a40;outline-offset:4px}.footer-bottom{border-top:1px solid #d9dfda;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:11px}.footer-bottom img{display:block;width:150px;height:auto}.footer-skyline{height:175px;margin-top:10px;background:url('../images/footer-skyline.svg') center bottom/auto 175px repeat-x;pointer-events:none}@media(max-width:1000px){.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 45px}}@media(max-width:600px){.site-footer>.wrap{padding-top:32px}.footer-projects{padding-bottom:30px}.footer-projects img{height:42px}.footer-projects .fl-item a{height:48px}.footer-columns{grid-template-columns:minmax(0,1fr);padding:32px 0;gap:32px}.site-footer h2{margin-bottom:16px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:15px}.footer-skyline{height:115px;background-size:auto 115px}}
.footer-social{display:flex;align-items:center;gap:12px}.footer-social a{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d9dfda;border-radius:50%;color:#64736a}.footer-social a:hover{background:#e1f1e7;color:#007a40}.footer-social svg{width:16px;height:16px}

/* Footer layout refresh shared by the React and static HTML chrome. */
.footer-brand{display:block;width:min(190px,100%);margin-top:20px}
.footer-brand img{display:block;width:100%;max-width:190px;height:auto}

.footer-skyline{display:block;width:100%;height:clamp(110px,11vw,175px);margin:0;background-position:center bottom;background-size:auto 100%}
.site-footer>.footer-bottom{background:#161d19;color:#fff;border:0;padding:18px 0}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom-inner>strong{color:#fff;font-size:12px;font-weight:700}
.footer-social-group{display:flex;flex-direction:column;align-items:center;gap:6px;color:#fff}
.footer-social-group .footer-social{gap:10px}
.footer-social-group .footer-social a{border-color:rgba(255,255,255,.55);color:#fff}
.footer-social-group .footer-social a:hover{background:#fff;color:#161d19}
.footer-social-group>span{font-size:9px;font-weight:700;letter-spacing:.14em;line-height:1.2}
@media(max-width:600px){.site-footer>.footer-bottom{padding:18px 0}.footer-bottom-inner{align-items:flex-start;flex-direction:column;gap:16px}.footer-social-group{align-items:flex-start}.footer-bottom-inner>strong{font-size:11px}}

/* Compact copyright strip with aligned copy and a single-line social group. */
.site-footer>.footer-bottom{padding:15px 0}
.footer-bottom-inner{min-height:30px;gap:18px}
.footer-bottom-inner>strong{font-size:12px;line-height:1.3;white-space:nowrap}
.footer-social-group{flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;white-space:nowrap}
.footer-social-group>span{font-size:12px;letter-spacing:0;line-height:1.3}
.footer-social-group .footer-social{flex-wrap:nowrap;gap:8px}
.footer-social-group .footer-social a{box-sizing:border-box;width:30px;height:30px;border-color:transparent}
.footer-social-group .footer-social svg{width:18px;height:18px}
@media(max-width:760px){.site-footer>.footer-bottom{padding:12px 0}.footer-bottom-inner{align-items:flex-start;flex-direction:column;gap:12px}.footer-bottom-inner>strong{white-space:normal}.footer-social-group{flex-wrap:wrap;justify-content:flex-start;white-space:normal}.footer-social-group .footer-social{flex-wrap:wrap}}
.site-footer>.footer-bottom{display:block}
@media(min-width:761px) and (max-width:1000px){.footer-bottom-inner{padding-right:96px}}
@media(max-width:760px){.footer-social-group{max-width:calc(100% - 56px)}}
.footer-columns{padding-bottom:12px}
.footer-skyline{opacity:.88}
@media(max-width:600px){.footer-columns{padding-bottom:8px}}
@media(max-width:600px){.footer-contact{display:flex;flex-direction:column}.footer-contact .footer-brand{order:-1;margin:0 0 20px}.footer-columns>nav{display:none}}
@media(min-width:601px) and (max-width:1000px){.footer-columns{grid-template-columns:1.2fr 1fr 1.2fr;gap:20px}}
