/* Shared compact rhythm. Hero artwork, carousel sizing and image crops remain component-owned. */
:root{--fresh-section-gap:48px;--fresh-heading-gap:16px;--fresh-column-gap:32px;--fresh-shell:1480px;--fresh-gutter:32px}
#main-content .container-fluid,.fresh-regional-contact .container-fluid,.fresh-footer .container-fluid{max-width:var(--fresh-shell);padding-left:var(--fresh-gutter);padding-right:var(--fresh-gutter);margin-left:auto;margin-right:auto}
#main-content .container{max-width:1200px;padding-left:var(--fresh-gutter);padding-right:var(--fresh-gutter)}
#main-content h2:not(.imggrid-tile__title):not(.nbp):not(.stat){padding-top:0;padding-bottom:0;line-height:1.25;margin-top:0;margin-bottom:var(--fresh-heading-gap)}
#main-content .h2:after{display:none}
#main-content .green_block_title,#main-content .grey_block_title{padding:6px 16px!important;font-size:clamp(22px,1.5vw,26px);line-height:1.2;margin-bottom:var(--fresh-heading-gap)!important}
#main-content .merriweather{line-height:1.6}
#main-content .merriweather p{margin-bottom:16px;line-height:inherit}
#main-content .merriweather p:last-child{margin-bottom:0}
#main-content .fresh-page-lead{margin-bottom:32px}
#main-content .fresh-page-lead .h2{margin:0!important}
#main-content .fresh-about .pair{gap:var(--fresh-column-gap);padding-bottom:var(--fresh-section-gap)}
#main-content .fresh-about .pair+.pair{padding-top:var(--fresh-section-gap);padding-bottom:0}
#main-content .fresh-about .copy h2{margin-bottom:16px}
#main-content .expertise-row,#main-content .services-section{margin-bottom:var(--fresh-section-gap)}
#main-content .services-intro{margin-bottom:var(--fresh-section-gap)}
#main-content .services-section .grey_block_title{margin-bottom:24px!important}
#main-content .project-text:has(.text-edit){padding-top:var(--fresh-section-gap)!important;padding-bottom:var(--fresh-section-gap)!important}
#main-content .project-text h2.caps{margin-top:0;margin-bottom:16px}
#main-content .project-text h2+.merriweather{margin-top:0!important}
#main-content .project-text .merriweather{max-width:72ch;margin-left:auto;margin-right:auto}
#main-content .project-text .text-justify{text-align:left!important}
#main-content .capabilities{margin-top:0;margin-bottom:0}
#main-content .capabilities>.my-4{margin-top:0!important;margin-bottom:0!important}
#main-content .capabilities ul.vlist{padding-left:16px;padding-right:16px;line-height:1.5}
#main-content .capabilities ul.services-links{column-gap:var(--fresh-column-gap)}
#main-content .capabilities .expertise-links li a,#main-content .capabilities .services-links li a{font-size:clamp(16px,1.05vw,18px);line-height:1.5}
#main-content .fresh-about+div:has(.capabilities){margin-top:var(--fresh-section-gap)}
#page_2 #main-content .fresh-home-approach{padding-top:32px;margin-bottom:var(--fresh-section-gap)}
#page_2 #main-content .fresh-message{padding:0;margin:0 0 16px!important;font-size:clamp(22px,1.5vw,28px);line-height:1.25}
#page_2 #main-content .fresh-home-approach p{max-width:72ch;margin:0 auto;line-height:1.6}
/* The previous contact-gap rules supply 24px on normal pages. Add 24px here for 48px total. */
.fresh-regional-contact{padding-top:24px;padding-bottom:var(--fresh-section-gap)}
#main-content:has(.fresh-home-lead)+.fresh-regional-contact{padding-top:var(--fresh-section-gap)}
.fresh-regional-intro{margin-bottom:24px}
.fresh-regional-intro h2{font-size:clamp(22px,1.5vw,28px);line-height:1.25;padding:0;margin:0;text-transform:uppercase}
.fresh-regional-intro h2:after{display:none}
.fresh-regional-intro p.merriweather{max-width:72ch;margin:16px auto 0;line-height:1.6;font-size:var(--fresh-body-size)}
.fresh-region-grid{row-gap:32px;margin-bottom:0}
.fresh-region{margin-top:0;min-width:0}
.fresh-region img{display:block;width:100%;aspect-ratio:1.54;object-fit:cover}
.fresh-region h2,#main-content .fresh-regional-contact .fresh-region-grid .fresh-region h2{font-size:20px;line-height:1.25;padding:0;margin:16px 0 8px}
.fresh-region .merriweather{font-size:16px!important;line-height:1.5}
.fresh-region>a[href^="mailto:"]{display:inline-block;margin-top:8px;font-size:15px;overflow-wrap:anywhere;color:#536919}
#main-content .fresh-contact-page{padding-top:0;padding-bottom:var(--fresh-section-gap)}
/* Footer columns share a top edge; legal copy follows a single 24px gap. */
footer.fresh-footer{padding:32px 0;background:#eaeaea}
.fresh-footer-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:start}
.fresh-footer-company,.fresh-footer-enquiries{min-width:0}
.fresh-footer .fresh-footer-title{font-family:Arial,sans-serif;font-size:20px;font-weight:600;line-height:1.25;text-transform:none;padding:0;margin:0 0 24px}
.fresh-footer-legal,.fresh-footer-legal p,.fresh-footer .fresh-footer-policies{font-family:Merriweather,Georgia,serif;font-size:13px!important;line-height:1.6}
.fresh-footer-legal p{margin:0 0 12px}
.fresh-footer-legal p:last-child{margin-bottom:0}
.fresh-footer .fresh-footer-policies{margin:16px 0 0}
.fresh-footer-policies a{color:#212529}
.fresh-footer-enquiries>strong{display:block;font-size:16px;line-height:25px;margin:0 0 16px}
.fresh-footer .lime_button{font-family:Merriweather,Georgia,serif;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:16px 20px;margin:0 0 16px;font-size:20px;line-height:1.3}
.fresh-footer .lime_button span{overflow-wrap:anywhere;min-width:0}
.fresh-footer .lime_button:after{float:none;flex:0 0 39px;width:39px;line-height:0}
.fresh-footer .squrcle{margin:0}
@media(max-width:1199px){#main-content .capabilities>.my-4+.my-4{margin-top:32px!important}}
@media(max-width:991px){:root{--fresh-gutter:24px;--fresh-section-gap:40px;--fresh-column-gap:24px}.fresh-footer-grid{grid-template-columns:1fr 1fr;gap:32px}.fresh-region-grid{row-gap:32px}#main-content .expertise-row>[class*="col-lg-6"]+[class*="col-lg-6"]{margin-top:24px}}
@media(max-width:767px){:root{--fresh-section-gap:32px;--fresh-gutter:20px}.fresh-footer-grid{grid-template-columns:1fr;gap:32px}.fresh-footer-company{order:2}.fresh-footer-enquiries{order:1}.fresh-footer .fresh-footer-title{font-size:18px;margin-bottom:16px}.fresh-footer .lime_button{font-size:18px;padding:16px;min-height:64px}.fresh-regional-intro{text-align:left!important;margin-bottom:24px}.fresh-regional-intro h2{font-size:22px}#page_2 #main-content .fresh-home-approach{padding-top:24px}#main-content .capabilities>.my-4+.my-4{margin-top:24px!important}}

/* Card captions use the same image-to-heading and heading-to-copy gaps. */
#main-content .fresh-news-grid a+br,#main-content .fresh-news-grid a+br+br{display:none}
#main-content .fresh-news-grid h2.smaller{margin:16px 0 8px!important;font-size:20px}
#main-content .fresh-team-directory h2{font-size:20px!important;padding-top:0!important;margin:16px 0 8px!important}
@media(max-width:767px){.fresh-regional-contact{padding-top:8px}#main-content .fresh-team-directory h2{font-size:18px!important}}

/* Shared compact actions: same height and typography as the capability bands. */
#main-content .fresh-projects-load-more,
#main-content .fresh-news-load-more,
#main-content .fresh-about-scroll .story-copy .story-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:8px 20px;border:1px solid #a4c428;background:#a4c428;color:#212529!important;font:400 18px/1.25 FuturaBT-Bold,Arial,sans-serif;text-decoration:none!important}
#main-content .fresh-projects-load-more:hover,
#main-content .fresh-news-load-more:hover,
#main-content .fresh-about-scroll .story-copy .story-link:hover{background:#91ae21;border-color:#91ae21;color:#212529!important}
#main-content .fresh-projects-load-more[aria-disabled=true],
#main-content .fresh-news-load-more[aria-disabled=true]{background:#e9e9e9;border-color:#e9e9e9;cursor:default}
@media(max-width:575px){#main-content .fresh-projects-load-more,#main-content .fresh-news-load-more,#main-content .fresh-about-scroll .story-copy .story-link{padding:8px 16px;font-size:18px}}

#main-content .fresh-about-scroll .story-copy .story-link span{font:22px/1 Arial,sans-serif}

/* One compact regional invitation on every page, without stacked outer gaps. */
#main-content.fresh-standard-contact-gap{padding-bottom:0}
#main-content:has(.fresh-home-lead)+.fresh-regional-contact,
.fresh-regional-contact{padding-top:32px;padding-bottom:32px}
#main-content .fresh-about-capabilities{padding-bottom:0}
.fresh-regional-contact .fresh-regional-intro{margin-bottom:24px}
.fresh-regional-contact .fresh-regional-intro h1,
.fresh-regional-contact .fresh-regional-intro h2{font:400 var(--fresh-title-size,26px)/1.25 FuturaBT-Bold,Arial,sans-serif;text-transform:uppercase;padding:0;margin:0!important}
.fresh-regional-contact .fresh-regional-intro p.merriweather{margin:8px auto 0;font-size:1.1rem;line-height:1.5;max-width:72ch}
#main-content .fresh-contact-page{padding-top:var(--fresh-page-start,84px);padding-bottom:32px}
.fresh-regional-contact .fresh-region-grid{margin-bottom:0}
@media(max-width:767px){#main-content:has(.fresh-home-lead)+.fresh-regional-contact,.fresh-regional-contact{padding-top:24px;padding-bottom:24px}#main-content .fresh-contact-page{padding-top:var(--fresh-page-start,82px);padding-bottom:24px}.fresh-regional-contact .fresh-regional-intro{margin-bottom:20px}.fresh-regional-contact .fresh-regional-intro h1,.fresh-regional-contact .fresh-regional-intro h2{font-size:22px}}
