*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f2f0eb;color:#151a1e;line-height:1.5}

/* EXACT approved hero image scaling */
.hero-wrapper{background:#070d12}
.hero-frame{
  position:relative;
  width:min(100vw, 1920px);
  margin:0 auto;
  line-height:0;
}
.hero-frame img{
  display:block;
  width:100%;
  height:auto;
}

/* Clickable overlays on approved visual */
.hotspot{
  position:absolute;
  display:block;
  z-index:5;
}
.nav-home{left:55.1%;top:2.2%;width:4.6%;height:7.2%}
.nav-services{left:60.2%;top:2.2%;width:6.3%;height:7.2%}
.nav-experience{left:67.1%;top:2.2%;width:6.9%;height:7.2%}
.nav-about{left:75.0%;top:2.2%;width:5.4%;height:7.2%}
.nav-contact{left:81.0%;top:2.2%;width:5.4%;height:7.2%}
.nav-consult{left:84.6%;top:1.4%;width:15.0%;height:9.0%}
.hero-consult{left:3.3%;top:61.8%;width:20.5%;height:11.2%}
.hero-services{left:25.6%;top:61.8%;width:15.3%;height:11.2%}

.section{padding:95px 8vw}
.eyebrow{font-size:12px;letter-spacing:3px;color:#a77d36;font-weight:800}
.section h2{font-size:52px;line-height:1.05;max-width:900px;margin:14px 0 35px}

.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d0d2d2}
.cards article{background:#faf9f6;padding:32px;min-height:260px}
.cards em{font-style:normal;color:#a47a35;font-size:11px;font-weight:800}
.cards h3{margin:24px 0 10px}
.cards p,.copy p{color:#59636b}

.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:#fff}
.copy li{margin:10px 0}

.dark{background:#111922;color:#fff}
.engage{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.engage>div{border-top:2px solid #a77d36}
.engage p{color:#bbc2c7}

.contact{text-align:center}
.contact h2{margin-left:auto;margin-right:auto}
.contact p{max-width:720px;margin:0 auto 30px;color:#59636b;font-size:18px}
.gold-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:64px;padding:0 34px;
  background:#c49b52;color:#111;
  text-decoration:none;font-weight:800
}

footer{
  background:#070c10;color:#929ba2;
  padding:38px 8vw;
  display:flex;justify-content:space-between;
  font-size:12px
}

@media(max-width:1050px){
  .cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .section{padding:65px 7vw}
  .section h2{font-size:38px}
  .cards,.split,.engage{grid-template-columns:1fr}
  footer{flex-direction:column;gap:12px}
}
