/* Direct contact, clearer project facts and a focused HGM homepage. */
header{gap:18px}
header #nav{margin-left:auto;gap:22px}
.header-contact{display:flex;align-items:center;gap:8px;flex:none}
.header-contact>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 10px;border:1px solid #cbd3c3;border-radius:4px;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap}
.header-contact svg{width:19px;height:19px;flex:none}
.header-contact .header-whatsapp{background:#e9eddf}
.header-contact a:hover{background:#dde7cc}
.header-contact a:focus-visible{outline:3px solid #66842b;outline-offset:3px}
.home-page .hero{min-height:0;align-items:stretch}
.home-page .hero-copy{padding-top:42px;padding-bottom:36px}
.home-page .hero-copy h1{font-size:clamp(40px,4.4vw,64px)}
.home-page .hero-signature{display:none}
.home-page .hero-image{min-height:510px;background:#e9eddf}
.home-page .hero-image>img{object-position:center;object-fit:cover}
.home-page .hero-image .photo-label{font-size:11px;gap:16px}
.home-page .value-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:23px;padding-bottom:23px}
.home-page .value-strip>div{display:flex;align-items:flex-start;gap:13px;min-width:0}
.home-page .value-strip>div>span{font-size:11px;padding-top:3px;flex:none}
.home-page .value-strip strong{font-size:14px;line-height:1.45;display:block}
.home-page .value-strip p{font-size:12px;line-height:1.65;margin:5px 0 0}
.home-page .section{padding-top:60px;padding-bottom:60px}
.home-page .hgm-project-feature{margin-top:28px;margin-bottom:28px;padding:24px}
.home-page .hgm-feature-copy h3{font-size:clamp(26px,2.8vw,36px);margin-bottom:14px}
.home-page .hgm-feature-copy .reference-tags{display:none}
.home-page .hgm-feature-copy .button{font-size:12px;padding:13px 18px}
.project-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin:22px 0;padding:0;border-top:1px solid #cbd3c3}
.project-facts>div{display:grid;grid-template-columns:minmax(90px,.34fr) minmax(0,1fr);gap:14px;padding:11px 0;border-bottom:1px solid #cbd3c3;min-width:0}
.project-facts dt{font-size:11px;font-weight:700;line-height:1.65;color:#4c622c}
.project-facts dd{font-size:13px;line-height:1.65;color:var(--ink);margin:0;overflow-wrap:break-word}
.project-overview-copy .project-facts{margin:15px 0}
.project-overview-copy .project-facts>div{grid-template-columns:minmax(76px,.3fr) minmax(0,1fr);gap:10px}
.project-overview-copy .project-facts dd{font-size:12px}
.home-page .process{gap:7%}
.home-page .process li{padding:18px 0}
.home-page .process h3{font-size:20px;margin-bottom:6px}
.home-page .partners{grid-template-columns:minmax(160px,.6fr) minmax(0,2fr);gap:30px;padding-top:28px;padding-bottom:28px}
.home-page .partner-heading h2{font-size:24px;letter-spacing:-.025em;margin-top:10px;line-height:1.3}
.home-page .partner-card{padding:16px 20px;gap:22px}
.home-page .partner-logo{width:76px;height:76px}
.home-page .partner-copy h3{font-size:21px;margin:5px 0 7px}
.home-page .partner-location{font-size:12px;margin-top:6px}
.home-page .partner-copy .text-link{margin-top:0;min-height:44px;padding:8px 0}
.jobs-teaser{display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);background:#eef0e5}
.home-page .jobs-teaser{padding-top:30px;padding-bottom:30px}
.jobs-teaser h2{font-size:clamp(23px,2.8vw,34px);line-height:1.3;margin:12px 0;letter-spacing:-.025em}
.jobs-teaser p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted)}
.jobs-teaser>.button{flex:none;min-height:48px}
.jobs-page .recruitment{padding-top:45px;padding-bottom:60px}
.jobs-page .recruitment h2{font-size:clamp(48px,5vw,72px);letter-spacing:-.04em}
@media(min-width:1051px) and (max-width:1250px){header{padding-left:4%;padding-right:4%;gap:12px}header .brand img{width:150px}header #nav{gap:16px;font-size:12px}.header-contact>a{padding:9px 7px;font-size:11px}.button.small{padding:10px 12px;font-size:12px}}
@media(max-width:1050px){header{height:75px;gap:10px;padding:12px 5%}header .brand img{width:143px}header #nav{display:none;position:absolute;top:75px;left:0;right:0;flex-direction:column;align-items:stretch;margin:0;padding:18px 6%;gap:10px;background:var(--paper);border-bottom:1px solid var(--line);font-size:15px}header #nav.open{display:flex}header #nav>a{min-height:44px;display:flex;align-items:center}header .menu{display:block;min-width:44px;min-height:44px;border:1px solid var(--line);background:transparent;font-size:24px;color:var(--ink);padding:4px 10px}.header-contact{margin-left:auto;gap:6px}.header-contact>a{width:44px;height:44px;padding:0}.header-contact>a>span{display:none}.home-page .hero-copy{padding-top:34px}.home-page .hero-image{min-height:440px}.home-page .hero-image .photo-label{flex-wrap:wrap}}
@media(max-width:760px){.home-page .hero-copy{padding:25px 6%}.home-page .hero-copy h1{font-size:clamp(34px,9.3vw,54px)}.home-page .hero-image{min-height:0;aspect-ratio:4/3}.home-page .hero-image .photo-label{left:12px;right:12px;bottom:12px;padding:11px 13px;gap:4px;font-size:10px;flex-direction:column;align-items:flex-start}.home-page .section{padding-top:40px;padding-bottom:40px}.home-page .value-strip{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:21px;padding-bottom:21px}.home-page .value-strip strong{font-size:14px}.home-page .value-strip p{font-size:13px;margin-top:3px}.home-page .hgm-project-feature{padding:18px;margin-top:24px;margin-bottom:24px}.home-page .hgm-feature-copy .button{width:100%;font-size:12px}.project-facts>div{grid-template-columns:minmax(80px,.32fr) minmax(0,1fr);gap:12px}.home-page .partners{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:24px;padding-bottom:24px}.home-page .partner-heading h2{font-size:23px}.home-page .partner-card{flex-direction:row;align-items:center;gap:16px;padding:16px}.home-page .partner-logo{width:62px;height:62px;align-self:center}.home-page .partner-copy h3{font-size:18px}.home-page .partner-copy p{font-size:12px}.jobs-teaser{flex-direction:column;align-items:flex-start;gap:18px}.jobs-teaser>.button{width:100%}.home-page .jobs-teaser{padding-top:26px;padding-bottom:26px}.jobs-page .recruitment{padding-top:28px;padding-bottom:40px}html{scroll-padding-top:75px}}
@media(max-width:359px){header{gap:6px;padding-left:4%;padding-right:4%}header .brand img{width:119px}.header-contact{gap:4px}.home-page .partner-card{align-items:flex-start}.home-page .partner-logo{width:48px;height:48px}.project-facts>div{grid-template-columns:minmax(0,1fr);gap:3px}.home-page .hero-copy h1{font-size:32px}}

.jobs-page .recruitment h1{font-family:Manrope,sans-serif;font-size:clamp(48px,5vw,72px);line-height:1.05;letter-spacing:-.04em;margin:0 0 25px;font-weight:600}.jobs-page .recruitment h1 em{color:var(--lime);font-style:normal}

/* Keep footer links within the page, including tablet and landscape widths. */
.footer-bottom{flex-wrap:wrap;align-items:center}
.footer-bottom>*{min-width:0;max-width:100%;overflow-wrap:break-word}

/* A shorter introduction brings the first project photo into the mobile view. */
.hero-description-mobile{display:none}
@media(max-width:760px){
 .home-page .hero-copy{padding:18px 6% 16px}
 .home-page .hero-copy h1{font-size:clamp(32px,8.7vw,50px);margin:12px 0}
 .home-page .hero-copy>p{font-size:15px;line-height:1.55}
 .hero-description-full{display:none}
 .hero-description-mobile{display:inline}
 .home-page .hero-actions{margin-top:12px;gap:4px}
 .home-page .hero-actions .button{min-height:48px;padding:12px 18px}
 .home-page .hero-actions .text-link{min-height:44px;padding:8px 0}
 .home-page .hero-rating{margin-top:10px;padding:8px 12px}
}

/* Keep every menu item reachable in landscape and when the viewport is short. */
@media(max-width:1050px){
 header #nav{max-height:calc(100vh - 75px);max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}
}
.office-contact{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.office-contact p{font-size:14px;line-height:1.8;margin:0 0 6px;color:var(--ink)}
.office-contact .text-link{display:inline-flex;align-items:center;min-height:44px;gap:12px;font-size:13px}
.gallery-enquiry{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.gallery-enquiry>p{font-size:14px;line-height:1.65;margin:0 0 12px}
.gallery-enquiry>div{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.gallery-enquiry .button{font-size:13px;min-height:48px}
.gallery-enquiry .text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.gallery-enquiry a:focus-visible,.office-contact a:focus-visible{outline:3px solid #66842b;outline-offset:4px}
@media(max-width:480px){.gallery-enquiry>div{align-items:stretch;flex-direction:column;gap:4px}.gallery-enquiry .button{justify-content:space-between;padding:12px 14px}.gallery-enquiry .text-link{justify-content:center}}

/* Required project address and accessible address suggestions */
.project-address{grid-column:1/-1;min-width:0}
.address-heading{font-size:13px;font-weight:700;margin:2px 0 6px}
.project-address .address-intro{margin:0 0 15px}
.address-locality{display:grid;grid-template-columns:minmax(90px,.65fr) minmax(0,1.7fr);gap:17px;margin-top:17px}
.address-options{list-style:none;margin:6px 0 0;padding:4px;border:1px solid var(--line);background:#fff;border-radius:4px;max-height:240px;overflow:auto}
.address-options[hidden]{display:none}
.address-options [role=option]{font-size:13px;line-height:1.5;padding:12px 10px;cursor:pointer;border-radius:2px;overflow-wrap:anywhere}
.address-options [role=option]:hover,.address-options [aria-selected=true]{background:#edf1e6;color:#283b11}
.project-address .address-provider{font-size:10px;margin-top:8px}
.address-provider a{color:inherit;text-underline-offset:2px}
.address-status:empty{display:none}
@media(max-width:420px){.address-locality{grid-template-columns:minmax(75px,.65fr) minmax(0,1.5fr);gap:12px}}
