/* Homepage project carousel. Copy and enquiry links stay still. */
.home-page .hero-image.hgm-slider{isolation:isolate;min-width:0;touch-action:pan-y}
.hgm-slider-track{position:absolute;inset:0}
.hgm-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;pointer-events:none}
.hgm-slide.is-active{opacity:1;visibility:visible;z-index:1;pointer-events:auto}
.hgm-slide>img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--slide-position,center)}
.hgm-slide::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(14,29,20,.86));pointer-events:none}
.hgm-slide-caption{position:absolute;z-index:1;bottom:83px;left:28px;right:28px;color:#fff}
.hgm-slide-caption>span{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;line-height:1.5;margin-bottom:7px}
.hgm-slide-caption a{display:inline-flex;align-items:center;gap:16px;color:#fff;font-size:clamp(18px,1.8vw,25px);font-weight:600;line-height:1.35;text-decoration:none;max-width:100%;padding:3px 0}
.hgm-slide-caption a:hover{text-decoration:underline;text-underline-offset:5px}
.hgm-slide-caption a:focus-visible,.hgm-slider-controls button:focus-visible{outline:3px solid #e4f2c1;outline-offset:3px}
.hgm-slider-controls{position:absolute;z-index:3;bottom:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#fff}
.hgm-slider-controls[hidden]{display:none}
.hgm-slider-controls button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(16,34,23,.5);color:#fff;cursor:pointer;font:inherit;line-height:1}
.hgm-slider-controls button:hover{background:#294230;border-color:#fff}
.hgm-slider-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hgm-slider-dots{display:flex;align-items:center;gap:0;margin-right:auto}
.hgm-slider-dots button{border:0;background:transparent;width:44px;min-height:44px;border-radius:4px}
.hgm-slider-dots button::before{content:"";width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:transparent;transition:background .2s}
.hgm-slider-dots button[aria-current="true"]::before{background:#fff}
.hgm-slider-dots button:hover{background:rgba(255,255,255,.12)}
.hgm-slider-arrows{display:flex;gap:8px}
.hgm-slider-pause span{font-size:16px}
.hgm-slider-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:760px){
 .home-page .hero-image.hgm-slider{aspect-ratio:4/3;min-height:280px}
 .hgm-slide-caption{left:18px;right:18px;bottom:78px}
 .hgm-slide-caption>span{font-size:9px;margin-bottom:5px}
 .hgm-slide-caption a{font-size:19px}
 .hgm-slider-controls{left:14px;right:14px;bottom:16px}
 .hgm-slide>img{object-position:var(--slide-mobile-position,var(--slide-position,center))}
}
@media(max-width:359px){
 .hgm-slider-controls{left:12px;right:12px;gap:4px}
 .hgm-slider-arrows{gap:4px}
}
@media(prefers-reduced-motion:reduce){.hgm-slide,.hgm-slider-dots button::before{transition:none}}
