:root {
  --charcoal:#263238;
  --charcoal-dark:#182228;
  --copper:#b56a32;
  --copper-light:#d18a53;
  --stone:#e9e2d8;
  --light:#f3f5f6;
  --mid:#657078;
  --white:#fff;
  --max:1180px;
  --shadow:0 18px 45px rgba(18,31,38,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Aptos,Arial,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.6}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px;z-index:1000}.skip-link:focus{left:10px;top:10px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(38,50,56,.10)}
.nav-wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{width:230px;max-height:68px;object-fit:contain;object-position:left center}
.site-nav{display:flex;align-items:center;gap:28px;font-size:.92rem;font-weight:650}.site-nav a{text-decoration:none}.site-nav a:hover{color:var(--copper)}
.nav-cta{border:1px solid var(--copper);padding:10px 17px;border-radius:3px;color:var(--copper)}
.nav-toggle{display:none;background:none;border:1px solid var(--charcoal);padding:8px 12px;font:inherit}
.hero{min-height:720px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url('assets/hero-mining-rehabilitation.png') center center/cover no-repeat;transform:scale(1.01)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,30,36,.95) 0%,rgba(25,37,44,.88) 39%,rgba(25,37,44,.40) 70%,rgba(25,37,44,.10) 100%)}
.hero-content{position:relative;padding-block:105px;max-width:760px;margin-left:max(20px,calc((100vw - var(--max))/2))}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:var(--copper-light);margin:0 0 16px}.eyebrow span{color:#fff;margin:0 5px}.eyebrow.dark{color:var(--copper)}
h1{font-size:clamp(2.6rem,5.4vw,5rem);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px;max-width:850px}
.hero-copy{font-size:1.18rem;line-height:1.65;max-width:700px;color:rgba(255,255,255,.88);margin:0 0 34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:3px;text-decoration:none;font-weight:750;border:1px solid transparent;cursor:pointer;font:inherit}.button-primary{background:var(--copper);color:#fff}.button-primary:hover{background:#9e5726}.button-secondary{background:transparent;border-color:rgba(255,255,255,.72);color:#fff}.button-secondary:hover{background:#fff;color:var(--charcoal)}
.availability{font-size:.88rem;margin-top:22px;color:rgba(255,255,255,.75)}.availability span{color:var(--copper-light);margin:0 8px}
.section-pad{padding:100px 0}.section-heading{margin-bottom:48px}.section-heading h2,.about h2,.contact h2{font-size:clamp(2rem,3.7vw,3.5rem);line-height:1.1;letter-spacing:-.035em;margin:0}.split-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:end}.split-heading>p{font-size:1.08rem;color:var(--mid);margin:0}.centred{text-align:center;max-width:800px;margin-inline:auto;margin-bottom:54px}.centred>p:last-child{color:var(--mid);font-size:1.05rem}
.needs{background:#fff}.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d9dfe2;border:1px solid #d9dfe2}.need-grid article{background:#fff;padding:30px;min-height:205px}.need-grid span,.service-number{color:var(--copper);font-size:.8rem;font-weight:800;letter-spacing:.12em}.need-grid h3{font-size:1.22rem;margin:17px 0 8px}.need-grid p{color:var(--mid);margin:0}
.services{background:var(--charcoal);color:#fff}.services .section-heading h2{color:#fff}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{background:#fff;color:var(--charcoal);padding:38px;border-top:4px solid var(--copper);box-shadow:0 10px 25px rgba(0,0,0,.08)}.service-card h3{font-size:1.45rem;margin:12px 0}.service-card>p{color:var(--mid)}.service-card ul{padding-left:19px;margin:20px 0 0}.service-card li{margin:7px 0}
.experience{background:var(--light)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cdd5d9;border-bottom:1px solid #cdd5d9;margin:0 0 50px}.metrics div{padding:28px 24px;border-right:1px solid #cdd5d9}.metrics div:last-child{border-right:0}.metrics strong{display:block;color:var(--copper);font-size:2.15rem;line-height:1.1}.metrics span{display:block;color:var(--mid);font-size:.88rem;margin-top:8px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.case-grid article{background:#fff;padding:32px;box-shadow:var(--shadow)}.case-tag,.location{color:var(--copper);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800}.case-grid h3,.international-grid h3{font-size:1.35rem;line-height:1.25}.case-grid article>p:last-child,.international-grid article>p:last-child{color:var(--mid)}.award{display:flex;align-items:center;gap:22px;background:var(--charcoal);color:#fff;padding:22px 28px;margin-top:24px}.award-mark{color:var(--copper-light);font-weight:850;text-transform:uppercase;letter-spacing:.12em}.award strong{display:block}.award span{font-size:.9rem;color:rgba(255,255,255,.75)}
.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:35px}.about-panel{padding:52px;background:var(--charcoal);color:#fff}.about-panel h2{color:#fff}.about-panel p{color:rgba(255,255,255,.82)}.about-panel .lead{font-size:1.2rem;color:#fff}.qualification-tags,.capability-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.qualification-tags span{border:1px solid rgba(255,255,255,.25);padding:8px 11px;font-size:.78rem}.difference-panel{padding:48px;background:var(--stone)}.difference-panel h3{font-size:1.7rem}.check-list{list-style:none;padding:0;margin:26px 0 0}.check-list li{padding:13px 0 13px 28px;border-bottom:1px solid rgba(38,50,56,.13);position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--copper);font-weight:900}
.international{background:linear-gradient(135deg,#1f2b31,#344149);color:#fff}.international .section-heading h2{color:#fff}.international .section-heading>p:last-child{color:rgba(255,255,255,.72)}.international-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.international-grid article{padding:38px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.international-grid h3{color:#fff}.international-grid article>p:last-child{color:rgba(255,255,255,.72)}.capability-tags{justify-content:center}.capability-tags span{border:1px solid rgba(255,255,255,.22);padding:9px 12px;font-size:.8rem;color:rgba(255,255,255,.88)}
.engagement-band{background:var(--copper);color:#fff}.engagement-band .container{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap;padding-block:20px}.engagement-band p{margin:0;font-weight:750;font-size:.88rem}.engagement-band span{opacity:.65}
.contact{background:var(--light)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-grid>div>p{color:var(--mid);font-size:1.04rem}.contact-details{border-left:3px solid var(--copper);padding-left:22px;margin:32px 0}.contact-details p{color:var(--charcoal)!important}.contact-details a{text-decoration:none}.text-link{color:var(--copper);font-weight:800}.contact-form{background:#fff;padding:36px;box-shadow:var(--shadow)}.contact-form label{display:block;font-size:.82rem;font-weight:800;margin-bottom:15px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #bdc6ca;padding:12px;font:inherit;background:#fff;border-radius:2px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(181,106,50,.35);border-color:var(--copper)}.contact-form .button{width:100%;border:0}.form-note{font-size:.76rem;color:var(--mid);margin:13px 0 0}
.site-footer{background:var(--charcoal-dark);color:#fff;padding:34px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid p{margin:4px 0;color:rgba(255,255,255,.65);font-size:.84rem}.footer-grid a{color:var(--copper-light)}
.privacy{padding:80px 0;max-width:800px}.privacy h1{color:var(--charcoal);font-size:3rem}.privacy h2{margin-top:35px}
@media(max-width:900px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:84px;background:#fff;padding:20px;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.site-nav.open{display:flex}.hero{min-height:670px}.hero-overlay{background:linear-gradient(90deg,rgba(20,30,36,.94),rgba(20,30,36,.62))}.hero-content{margin:0 auto;padding-inline:0}.split-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.need-grid,.case-grid{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid #cdd5d9}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.brand img{width:180px}.nav-wrap{height:72px}.site-nav{top:72px}.hero{min-height:720px}.hero-content{padding-block:85px}.hero-overlay{background:linear-gradient(rgba(20,30,36,.78),rgba(20,30,36,.90))}.hero-image{background-position:58% center}h1{font-size:2.75rem}.hero-copy{font-size:1.03rem}.section-pad{padding:72px 0}.need-grid,.service-grid,.case-grid,.international-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metrics div{border-right:0;border-bottom:1px solid #cdd5d9}.about-panel,.difference-panel,.contact-form{padding:30px}.footer-grid{flex-direction:column}.hero-actions .button{width:100%}}

/* Contact form privacy and anti-spam controls */
.consent-row { display: grid !important; grid-template-columns: 1.1rem 1fr; gap: .7rem; align-items: start; font-size: .88rem; line-height: 1.45; }
.consent-row input { width: 1rem; height: 1rem; margin-top: .2rem; accent-color: #b56a32; }
.consent-row a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.website-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-form button:disabled { opacity: .7; cursor: wait; }
.privacy { max-width: 880px; padding-top: 8rem; padding-bottom: 5rem; }
.privacy h1 { margin-bottom: .7rem; }
.privacy h2 { margin-top: 2rem; margin-bottom: .55rem; }
.privacy p { max-width: 78ch; }


/* Insights */
.insights{background:#fff}
.insights .split-heading>div:last-child>p{font-size:1.08rem;color:var(--mid);margin:0 0 14px}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.insight-grid.featured-only{grid-template-columns:1fr}
.insight-card{background:var(--light);border:1px solid #dbe1e4;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.insight-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.featured-insight{display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(360px,1fr);background:var(--charcoal);color:#fff;border:0}
.insight-image{display:block;min-height:320px;overflow:hidden;background:var(--charcoal)}
.insight-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.insight-content{padding:34px}
.insight-meta{display:flex;gap:15px;flex-wrap:wrap;color:var(--copper-light);font-size:.74rem;text-transform:uppercase;letter-spacing:.10em;font-weight:800}
.insight-meta time{color:rgba(255,255,255,.62)}
.insight-card h3{font-size:1.7rem;line-height:1.18;margin:16px 0 13px}
.insight-card h3 a{text-decoration:none}
.insight-card p{color:rgba(255,255,255,.74);margin:0 0 17px}
.insight-card .text-link{color:var(--copper-light)}

.insights-hero{background:var(--charcoal);color:#fff;padding:92px 0 72px}
.insights-hero h1{font-size:clamp(2.5rem,5vw,4.6rem);max-width:900px}
.insights-hero p{max-width:720px;color:rgba(255,255,255,.75);font-size:1.1rem}
.insights-list{background:var(--light)}
.insights-list .insight-grid{grid-template-columns:repeat(3,1fr)}
.insights-list .insight-card{background:#fff;color:var(--charcoal)}
.insights-list .insight-image{min-height:0;aspect-ratio:16/7;background:var(--charcoal)}
.insights-list .insight-content{padding:27px}
.insights-list .insight-meta time{color:var(--mid)}
.insights-list .insight-card h3{font-size:1.35rem}
.insights-list .insight-card p{color:var(--mid)}
.insights-list .insight-card .text-link{color:var(--copper)}

.article-hero{background:var(--charcoal);color:#fff;padding:68px 0 0}
.article-breadcrumb{font-size:.82rem;color:rgba(255,255,255,.68);margin-bottom:24px}
.article-breadcrumb a{color:var(--copper-light)}
.article-hero h1{font-size:clamp(2.45rem,5vw,4.5rem);max-width:1000px}
.article-deck{max-width:850px;font-size:1.15rem;color:rgba(255,255,255,.76);margin-bottom:28px}
.article-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.62);padding-bottom:42px}
.article-meta .category{color:var(--copper-light);font-weight:800}
.article-feature{width:min(calc(100% - 40px),var(--max));margin:0 auto -100px;position:relative;z-index:2;box-shadow:var(--shadow)}
.article-feature{background:var(--charcoal);overflow:hidden}.article-feature img{width:100%;aspect-ratio:16/7;object-fit:contain;object-position:center;background:var(--charcoal)}
.article-body{padding:160px 0 90px;background:#fff}
.article-layout{display:grid;grid-template-columns:minmax(0,760px) 290px;gap:70px;align-items:start}
.article-copy{font-family:Georgia,'Times New Roman',serif;font-size:1.08rem;line-height:1.82}
.article-copy p{margin:0 0 1.35em}
.article-copy .standfirst{font-size:1.3rem;line-height:1.6;color:#3f4a50}
.article-copy h2{font-family:Aptos,Arial,sans-serif;font-size:1.75rem;line-height:1.25;margin:2.1em 0 .7em;color:var(--charcoal)}
.article-copy ul{padding-left:1.25em;margin:0 0 1.5em}
.article-copy li{margin:.55em 0}
.article-copy .pull-quote{font-family:Aptos,Arial,sans-serif;font-size:1.55rem;line-height:1.35;font-weight:750;border-left:5px solid var(--copper);padding:12px 0 12px 25px;margin:2em 0;color:var(--charcoal)}
.article-sidebar{position:sticky;top:112px}
.author-card,.article-cta{background:var(--light);padding:27px;margin-bottom:22px;border-top:4px solid var(--copper)}
.author-card h3,.article-cta h3{margin:0 0 10px;font-size:1.22rem}
.author-card p,.article-cta p{font-size:.9rem;color:var(--mid)}
.article-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;padding-top:28px;border-top:1px solid #d8dfe2}
.article-actions .button-secondary{border-color:var(--copper);color:var(--copper)}
.article-actions .button-secondary:hover{background:var(--copper);color:#fff}
.related-insights{background:var(--light)}
.placeholder-card{border:1px dashed #adb8bd;background:rgba(255,255,255,.55);padding:30px;color:var(--mid)}

@media(max-width:900px){
 .featured-insight{grid-template-columns:1fr}.insight-image{min-height:280px}
 .insights-list .insight-grid{grid-template-columns:repeat(2,1fr)}
 .article-layout{grid-template-columns:1fr}.article-sidebar{position:static}
}
@media(max-width:620px){
 .insights-list .insight-grid{grid-template-columns:1fr}
 .featured-insight .insight-content{padding:28px}.insight-image{min-height:220px}
 .article-feature{width:100%;margin-bottom:-65px}.article-body{padding-top:115px}
 .article-copy{font-size:1rem}.article-copy .standfirst{font-size:1.15rem}
}
