:root{
  --bg:#070707;
  --bg2:#111111;
  --panel:#161616;
  --text:#f5f5f5;
  --muted:#b7b7b7;
  --gold:#d9af57;
  --gold2:#b68a2c;
  --line:rgba(217,175,87,.35);
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --radius:20px;
  --container: min(1200px, calc(100% - 2rem));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
.container{width:var(--container); margin-inline:auto}
.skip-link{
  position:absolute; left:-999px; top:auto;
}
.skip-link:focus{left:1rem; top:1rem; background:#fff; color:#000; padding:.75rem 1rem; z-index:9999}

.site-header{
  position:sticky; top:0; z-index:1000;
  background:rgba(7,7,7,.88);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.header-inner{
  min-height:86px;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.brand-logo{width:250px; height:auto}
.nav{
  display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;
}
.nav a{
  font-size:.84rem; letter-spacing:.02em; text-transform:uppercase;
  color:#f0f0f0; opacity:.9;
}
.nav a.active,.nav a:hover{color:var(--gold)}
.nav-cta{
  padding:.85rem 1rem; border:1px solid var(--gold); border-radius:10px;
  color:var(--gold)!important;
}
.nav-toggle{
  display:none; background:none; border:0; padding:.5rem; cursor:pointer;
}
.nav-toggle span{
  display:block; width:24px; height:2px; background:var(--gold); margin:5px 0;
}

.hero{
  position:relative; min-height:740px; overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.hero-bg, .hero-overlay{
  position:absolute; inset:0;
}
.hero-bg img{
  width:100%; height:100%; object-fit:cover; opacity:.95;
}
.hero-overlay{
  background:
    linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.68) 34%, rgba(0,0,0,.18) 66%, rgba(0,0,0,.72) 100%),
    linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.4));
}
.hero-grid{
  position:relative; z-index:1;
  min-height:740px;
  display:flex; align-items:center;
}
.hero-copy{
  width:min(560px, 100%);
  padding:3rem 0;
}
.eyebrow,.section-kicker{
  color:var(--gold);
  font-size:.85rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0 0 1rem;
}
.hero h1{
  margin:0;
  font-size:clamp(3.2rem, 6vw, 5.8rem);
  line-height:.96;
  letter-spacing:.02em;
}
.hero h1 span{color:var(--gold)}
.hero-text{
  margin:1.2rem 0 0;
  font-size:1.06rem;
  color:#ececec;
  max-width:34rem;
}
.hero-actions{
  display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px;
  padding:.9rem 1.25rem;
  border-radius:10px;
  font-weight:700;
  letter-spacing:.03em;
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{
  background:linear-gradient(180deg, #dfb45e, #b7862b);
  color:#111;
  box-shadow:0 10px 28px rgba(217,175,87,.2);
}
.btn-secondary{
  border:1px solid var(--gold);
  color:#fff;
  background:rgba(0,0,0,.18);
}
.btn-sm{min-height:44px; padding:.8rem 1rem; width:fit-content}

.trust-strip{
  background:#0c0c0c;
  border-top:1px solid rgba(255,255,255,.05);
  border-bottom:1px solid rgba(255,255,255,.05);
}
.trust-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.trust-item{
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.4rem 1.1rem;
  border-right:1px solid var(--line);
}
.trust-item:last-child{border-right:0}
.trust-icon{
  width:44px; height:44px; flex:0 0 auto;
  display:grid; place-items:center;
  color:var(--gold); border:1px solid var(--line); border-radius:50%;
  font-size:1.2rem;
}
.trust-item h3{margin:0 0 .25rem; font-size:1rem}
.trust-item p{margin:0; color:var(--muted); font-size:.93rem}

.section{padding:5rem 0}
.section-alt{background:var(--bg2)}
.section-heading{margin-bottom:2rem}
.section-heading h2, .split-copy h2, .cta-panel h2{
  margin:.2rem 0 0;
  font-size:clamp(2rem, 3.6vw, 3.1rem);
  line-height:1.08;
}
.center{text-align:center}

.split{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:0;
  align-items:stretch;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.split-copy{
  padding:3rem;
  background:#0f0f0f;
}
.split-copy p{color:#d2d2d2; max-width:42rem}
.split-copy .btn{margin-top:1rem}
.split-media img{
  width:100%; height:100%; object-fit:cover; min-height:100%;
}

.service-grid{
  display:grid; gap:1rem;
  grid-template-columns: repeat(5, 1fr);
}
.service-card{
  min-height:140px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.01));
  border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:1rem;
}
.service-card span{
  width:54px; height:54px; border-radius:50%;
  border:1px solid var(--gold);
  color:var(--gold);
  display:grid; place-items:center;
  font-weight:700; margin-bottom:.8rem;
}
.service-card h3{margin:0; font-size:1rem}

.card-grid{
  display:grid;
  gap:1rem;
}
.sectors-grid{
  grid-template-columns: repeat(6, 1fr);
}
.image-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:#000;
  min-height:230px;
}
.image-card img{width:100%; height:100%; object-fit:cover; min-height:230px}
.image-card::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.03), rgba(0,0,0,.72));
}
.image-card-body{
  position:absolute; inset:auto 0 0 0; z-index:1;
  padding:1rem;
}
.image-card-body h3{
  margin:0;
  font-size:1rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.projects-grid{
  grid-template-columns: repeat(4, 1fr);
}
.project-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:#0d0d0d;
}
.project-card img{width:100%; height:240px; object-fit:cover}
.project-body{
  padding:1rem 1rem 1.1rem;
}
.project-body h3{margin:0 0 .2rem; font-size:1.05rem}
.project-body .location{margin:.15rem 0 .7rem; color:var(--gold); font-size:.92rem}
.project-body p{margin:0 0 .7rem; color:#d5d5d5; font-size:.94rem}
.project-body a{color:var(--gold); font-weight:700; font-size:.92rem}

.hse-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:1rem;
  align-items:stretch;
}
.hse-card, .cta-panel{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:#111;
  padding:1.6rem;
}
.hse-card ul{
  margin:1rem 0 0;
  padding-left:1.1rem;
  color:#e5e5e5;
}
.check-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.5rem 1rem;
  list-style:disc;
}
.hse-image{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}
.hse-image img{width:100%; height:100%; object-fit:cover; min-height:260px}

.cta-panel{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:linear-gradient(135deg, rgba(217,175,87,.1), rgba(255,255,255,.02));
}

.site-footer{
  background:#080808;
  border-top:1px solid rgba(255,255,255,.06);
  padding:3rem 0 1.5rem;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand img{width:220px; margin-bottom:1rem}
.site-footer h3{margin:.1rem 0 .8rem; font-size:1rem; color:var(--gold)}
.site-footer a, .site-footer p{display:block; color:#d0d0d0; margin:.25rem 0; font-size:.95rem}
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-top:1rem;
  color:#aaa;
}
.socials{display:flex; gap:.6rem}
.socials a{
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--gold);
  color:var(--gold);
  font-size:.85rem;
}

.reveal{opacity:0; transform:translateY(16px); transition: .7s ease}
.reveal.is-visible{opacity:1; transform:translateY(0)}

@media (max-width: 1100px){
  .trust-grid,.service-grid,.sectors-grid,.projects-grid,.hse-grid,.footer-grid{
    grid-template-columns: repeat(2,1fr);
  }
  .split{grid-template-columns:1fr}
}
@media (max-width: 760px){
  .header-inner{min-height:74px}
  .brand-logo{width:210px}
  .nav-toggle{display:block}
  .nav{
    display:none;
    position:absolute;
    top:74px; left:0; right:0;
    background:#090909;
    flex-direction:column;
    align-items:flex-start;
    padding:1rem;
    border-top:1px solid rgba(255,255,255,.06);
  }
  .nav.open{display:flex}
  .nav a{width:100%; padding:.35rem 0}
  .hero{min-height:640px}
  .hero-grid{min-height:640px}
  .hero-copy{padding:2rem 0}
  .hero h1{font-size:clamp(2.4rem, 12vw, 4rem)}
  .trust-grid,.service-grid,.sectors-grid,.projects-grid,.hse-grid,.footer-grid{
    grid-template-columns: 1fr;
  }
  .check-grid{grid-template-columns:1fr}
  .cta-panel,.footer-bottom{flex-direction:column; align-items:flex-start}
  .section{padding:4rem 0}
  .split-copy{padding:2rem}
}
