/* Extend the existing GSTS design; keep the established colours and typography. */
:focus-visible{outline:3px solid #9a742d;outline-offset:4px}
body{overflow-wrap:break-word}
.menu{min-height:44px}
.button{border:0;cursor:pointer}
.skip:focus{z-index:1000}
.service-open:after{display:none}
.service-open{display:inline-block}
.service-open:focus-visible{outline:3px solid #9a742d;outline-offset:4px}
.gallery-hint{width:100%;background:none;border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;min-height:48px;padding:14px 0 0}
.card-link{font-size:.9rem;text-decoration:underline;text-underline-offset:4px;padding:10px 0;min-height:44px;display:inline-block}
.service-card .card-link{margin-top:auto}
.service-card .gallery-hint{margin-top:0}
.hero-bottom a{display:inline-flex;align-items:center;min-height:44px}
.hero-bottom a:hover{color:var(--gold)}
.service-index-link{margin-top:32px;display:inline-flex}
.service-hero{background:var(--deep);color:white;padding:50px 0 65px}
.service-hero .eyebrow{color:var(--gold);margin-bottom:22px}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:6%}
.service-hero h1{font-size:clamp(2.6rem,4.8vw,4.7rem);line-height:1.08;max-width:780px}
.service-hero .intro{max-width:690px;color:#edf0e7;font-size:1.07rem}
.service-hero figure{margin:0;min-width:0}
.service-hero figure>img{width:100%;height:360px;object-fit:cover;border-radius:3px}
.service-hero figcaption{font-size:.76rem;line-height:1.55;color:#d4dfd2;margin-top:12px}
.breadcrumbs{display:block;color:var(--muted);font-size:.8rem;margin-bottom:32px}
.breadcrumbs ol{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.breadcrumbs li+li:before{content:'/';margin-right:14px;opacity:.7}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0}
.service-hero .breadcrumbs{color:#d4dfd2}
.service-content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);gap:8%;padding-top:65px;padding-bottom:65px}
.service-copy section+section{margin-top:42px}
.service-copy h2,.related-services h2,.project-reference h2,.service-cta h2{font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1.18;margin-bottom:22px}
.service-copy p,.project-reference p{color:var(--muted);line-height:1.85}
.scope-list{padding-left:22px;margin:24px 0;list-style-type:square}
.scope-list li{padding:7px 0 7px 6px;color:#40574a}
.related-services{padding:28px;background:var(--paper);align-self:start;border-top:2px solid var(--gold);min-width:0}
.related-services ul{list-style:none;margin:0;padding:0}
.related-services li{border-bottom:1px solid var(--line)}
.related-services a{display:block;padding:13px 0;font-size:.95rem;text-decoration:underline;text-underline-offset:4px}
.related-services p{margin-top:24px;font-size:.9rem;color:var(--muted)}
.project-reference{background:var(--paper);padding:50px 0}
.project-reference .wrap{max-width:1040px}
.service-cta{border-top:1px solid var(--line);padding-top:32px;margin-top:40px}
.service-cta .button{margin-top:10px}
.footer-service-links{background:var(--deep);color:#d4dfd2;padding:40px 0}
.footer-service-links h2{font-size:1.25rem;color:#fff;margin-bottom:20px}
.footer-service-links ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;list-style:none;padding:0;margin:0}
.footer-service-links a{display:inline-block;padding:10px 0;font-size:.88rem;min-height:44px}
.footer-service-links a:hover{text-decoration:underline;text-underline-offset:4px}
.service-card h3 a:hover{color:#3b713c}
.directory-intro{max-width:780px}
.directory-hero{padding:52px 0 60px;background:var(--paper)}
.directory-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1}
.directory-hero .lead{font-size:1.15rem;color:var(--muted);margin-top:28px;max-width:760px}
.contact-details a{overflow-wrap:anywhere;min-height:44px;padding:4px 0}
.cinematic-hero .hero-image figcaption{max-width:260px}
@media(max-width:1000px){.service-hero-grid{gap:4%}.service-hero figure>img{height:330px}.service-content{gap:5%}.related-services{padding:22px}}
@media(max-width:700px){
 .service-hero{padding:25px 0 44px}.service-hero-grid{grid-template-columns:1fr;gap:30px}
 .service-hero h1{font-size:clamp(2.35rem,9vw,3.5rem)}.service-hero figure>img{height:280px}
 .service-content{grid-template-columns:1fr;gap:34px;padding-top:45px;padding-bottom:45px}
 .related-services{padding:25px}.footer-service-links ul{grid-template-columns:1fr 1fr;gap:0 20px}
 .directory-hero{padding:28px 0 45px}.breadcrumbs{margin-bottom:25px}
 html:not(.js) .menu{display:none}
 html:not(.js) .nav{flex-wrap:wrap;padding:12px 0}
 html:not(.js) #navigation{display:flex;flex-wrap:wrap;position:static;box-shadow:none;border:0;padding:0;width:100%;gap:6px 18px}
 .cinematic-hero .hero-image figcaption{top:20px;bottom:auto}
}
@media(max-width:450px){.footer-service-links ul{grid-template-columns:1fr}.brand>span{font-size:.55rem}.nav{gap:10px}.service-hero figure>img{height:245px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}
