/* Service navigation and photographs from the forest-road works. */
.service-menu{position:relative}
.service-menu>summary{display:flex;align-items:center;gap:7px;list-style:none;font-weight:600}
.service-menu>summary::-webkit-details-marker{display:none}
.service-menu>summary>span{color:#8d692f;font-size:18px;line-height:1}
.service-menu[open]>summary{color:#795720}
.service-menu-panel{position:absolute;inset-block-start:calc(100% + 18px);inset-inline-start:0;width:300px;max-width:86vw;padding:9px;background:#fff;border:1px solid #ddd6c9;border-top:3px solid var(--gold);box-shadow:0 18px 40px #102b3d22;z-index:30;white-space:normal}
.service-menu-panel a{display:block;padding:12px 14px;line-height:1.5;border-bottom:1px solid #ece8df;font-size:13px}
.service-menu-panel a:last-child{border:0}
.service-menu-panel a:hover,.service-menu-panel a:focus-visible{background:#f2eee5;text-decoration:none}
.service-menu-panel small{display:block;color:#6c7780;font-size:11px}
.service-menu-panel .menu-overview{color:#795720;font-weight:bold}
.cards h3 .service-heading,.strategy-grid h3 .service-heading{font:inherit;margin:0;padding:0;display:inline;line-height:inherit;font-weight:inherit}
.service-heading>span{font:18px Arial,sans-serif;color:#a27d40;white-space:nowrap}
.featured .service-heading>span{color:#e6c68d}
.cards .service-detail,.strategy-grid .service-detail{margin:0;padding:0 0 18px;font-size:12px;font-weight:600;color:#795720}
.cards .featured .service-detail{color:#e6c68d}
.construction-visual{position:relative;display:block;overflow:hidden;background:#d9dfd9}
.construction-visual img{display:block;width:100%;height:440px;object-fit:cover;object-position:center 47%;transition:transform .25s}
.construction-visual:hover img{transform:scale(1.025)}
.construction-visual>span{position:absolute;inset-inline:0;bottom:0;padding:70px 24px 22px;color:#fff;background:linear-gradient(transparent,#102b3de8);font-size:14px;font-weight:700}
.construction-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.construction-actions>a:not(.button){font-size:14px;font-weight:bold;text-decoration:underline;text-underline-offset:5px}
.forest-project{margin-top:65px;padding-top:40px;border-top:1px solid #c9c3b7}
.project-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:26px}
.project-heading>div{max-width:730px}
.project-heading h3{font-size:clamp(28px,3vw,40px);margin:12px 0 16px}
.project-heading p:not(.eyebrow){color:var(--muted);font-size:15px;margin:0}
.project-enquiry{flex-shrink:0;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:13px;font-weight:bold}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.project-gallery figure{margin:0;background:#fff;border:1px solid #e2ddd2}
.project-gallery figure>a{position:relative;display:block;overflow:hidden}
.project-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 40%;transition:transform .25s}
.project-gallery figure:nth-child(5) img{object-position:center top}
.project-gallery figure>a:hover img{transform:scale(1.035)}
.photo-expand{position:absolute;bottom:12px;inset-inline-end:12px;display:grid;place-items:center;width:34px;height:34px;background:#102b3ddf;color:#fff;border:1px solid #ffffff80;border-radius:50%}
.project-gallery figcaption{display:flex;gap:12px;align-items:baseline;padding:16px;font-size:13px;font-weight:600;line-height:1.5}
.project-number{color:#99733b;font:italic 19px Georgia,serif}
.project-note{margin:18px 0 0;font-size:12px;color:var(--muted)}
.project-viewer{width:min(1040px,94vw);max-width:94vw;max-height:94vh;padding:16px 22px 20px;background:#0c2130;color:#fff;border:1px solid #70808b;box-shadow:0 24px 80px #0008}
.project-viewer::backdrop{background:#071723e8}
.viewer-toolbar,.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}
.viewer-toolbar p{margin:0;font-size:14px}
.project-viewer button{background:transparent;color:#fff;border:1px solid #70808b;padding:8px 15px;cursor:pointer;font-size:13px}
.project-viewer [data-viewer-close]{font-size:26px;border:0;padding:0 5px;line-height:1.5}
.viewer-image{display:block;width:100%;height:70vh;object-fit:contain;margin:12px 0 20px}
.viewer-counter{font-size:13px;direction:ltr}
.project-viewer-open{overflow:hidden}
@media(max-width:1000px){header>nav{overflow:visible;white-space:normal;flex-wrap:wrap}.project-heading{align-items:start;flex-direction:column;gap:20px}.project-gallery{gap:16px}}
@media(max-width:700px){header>nav{justify-content:flex-start;gap:10px 18px;font-size:12px;overflow:visible;flex-wrap:wrap}.service-menu-panel{inset-block-start:calc(100% + 10px);width:280px}.service-menu:nth-child(2) .service-menu-panel{inset-inline-start:auto;inset-inline-end:0}.construction-visual img{height:350px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.project-gallery img{aspect-ratio:4/5}.project-gallery figcaption{padding:12px;font-size:12px;gap:8px}.forest-project{margin-top:40px;padding-top:30px}.project-viewer{padding:12px;max-height:96vh}.viewer-image{height:65vh}.viewer-toolbar p{font-size:12px}.viewer-controls button{padding:8px 10px}}
@media(max-width:700px){header{position:relative}html{scroll-padding-top:20px}header>nav{position:relative}.service-menu{position:static}.service-menu-panel,.service-menu:nth-child(2) .service-menu-panel{inset-inline-start:0;inset-inline-end:auto;inset-block-start:100%;width:min(320px,88vw)}.project-gallery img{aspect-ratio:1}}
@media(max-width:360px){.project-gallery{grid-template-columns:1fr}.service-menu-panel{width:260px}}
@media(prefers-reduced-motion:reduce){.construction-visual img,.project-gallery img{transition:none}}

.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:30px 0;padding:24px 0;border-block:1px solid #c8d4d8}.project-facts dt{font-size:.8rem;color:#526975;margin-bottom:8px}.project-facts dd{margin:0;font-weight:600;line-height:1.5}.enquiry-uploads{margin-top:22px;padding:18px;border:1px solid #c8d4d8;border-radius:10px;background:#f8faf9}.enquiry-uploads input{width:100%;font:inherit;padding:10px 0;border:0;background:transparent}.enquiry-uploads input::file-selector-button{padding:10px;border:1px solid #8b9c9f;border-radius:6px;background:white;margin-inline-end:12px}.enquiry-uploads p{overflow-wrap:anywhere}@media(max-width:750px){.project-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.project-facts{grid-template-columns:1fr}}
