*{box-sizing:border-box}body{margin:0;background:#00271f;color:#fff;font-family:Arial,Helvetica,sans-serif}
main{min-height:70vh;padding:80px 8%;background:linear-gradient(120deg,#003b2f,#00271f)}
h1{font-size:clamp(40px,6vw,76px);margin:0 0 20px}h1 span{color:#d9a52d}
p{font-size:18px;line-height:1.6;max-width:760px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.card{background:#f5f0df;color:#10221e;border-top:4px solid #d9a52d;padding:28px}
footer{padding:35px 8%;border-top:1px solid #d9a52d;background:#001d17}
@media(max-width:800px){.cards{grid-template-columns:1fr}nav{flex-wrap:wrap;gap:8px}nav a{margin:4px}}

.site-banner{position:relative;width:100%;max-width:1600px;margin:auto;overflow:hidden;border-bottom:2px solid #d9a52d}.site-banner img{display:block;width:100%;height:auto}.hotspot{position:absolute;display:block;z-index:5;border-radius:3px}.hotspot:hover{outline:2px solid rgba(217,165,45,.9);background:rgba(217,165,45,.08)}
.home{left:12.55%;top:2.35%;width:3.45%;height:2.8%}.services{left:17.85%;top:2.35%;width:4.25%;height:2.8%}.why{left:23.15%;top:2.35%;width:4.25%;height:2.8%}.markets{left:29.0%;top:2.35%;width:3.8%;height:2.8%}.about{left:34.65%;top:2.35%;width:3.0%;height:2.8%}.contact{left:39.25%;top:2.35%;width:3.7%;height:2.8%}.get1{left:89.3%;top:1.55%;width:7.2%;height:3.6%}.partner{left:5.8%;top:33.9%;width:13.8%;height:4.3%}.services-panel{left:2.75%;top:42.65%;width:14.5%;height:3.0%}.why-panel{left:36.45%;top:42.65%;width:23.2%;height:3.0%}.markets-panel{left:68.9%;top:42.65%;width:14.5%;height:3.0%}.get2{left:87.0%;top:91.2%;width:9.5%;height:4.1%}
@media(max-width:700px){.site-banner{width:100%;overflow:hidden}.site-banner img{min-width:900px;width:1600px;max-width:none}.hotspot{display:none}}

/* MASTER FIX: interior navigation lives only in the banner artwork. */
.interior-banner{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  background:#002b22!important;
  z-index:10!important;
}
.interior-banner > img{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  z-index:10!important;
}
.banner-hotspot{
  position:absolute!important;
  display:block!important;
  z-index:100!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0;
  background:transparent!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
/* Exact locations for the menu printed into banner-horizontal-full.png (1536x390). */
.hs-home{left:12.8%;top:4.0%;width:3.4%;height:7.0%}
.hs-services{left:17.8%;top:4.0%;width:4.5%;height:7.0%}
.hs-why{left:23.0%;top:4.0%;width:4.7%;height:7.0%}
.hs-markets{left:28.7%;top:4.0%;width:4.2%;height:7.0%}
.hs-about{left:34.4%;top:4.0%;width:3.7%;height:7.0%}
.hs-contact{left:39.0%;top:4.0%;width:4.2%;height:7.0%}
.hs-quote{left:88.8%;top:3.0%;width:8.1%;height:9.0%}
.banner-hotspot:hover{
  outline:2px solid rgba(215,166,42,.9)!important;
  background:rgba(215,166,42,.10)!important;
}
.interior-nav{display:none!important}


/* Request a Quote — company contact information */
.company-contact {
  margin: 40px auto 0;
  max-width: 1000px;
  padding: 0 24px 48px;
}
.company-contact-inner {
  border-top: 2px solid #d7a62a;
  padding-top: 24px;
}
.company-contact h2 {
  margin: 0 0 10px;
}
.contact-intro {
  margin: 0 0 22px;
}
.contact-details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.contact-detail {
  padding: 18px;
  border-radius: 8px;
}
.contact-label {
  display: block;
  font-weight: 700;
  letter-spacing: .08em;
  margin-bottom: 7px;
}
.contact-detail a {
  text-decoration: none;
}
@media (max-width: 760px) {
  .contact-details {
    grid-template-columns: 1fr;
  }
}

/* FINAL INTERIOR BANNER HOTSPOTS
   Coordinates use the same 1536px artwork geometry as the home page.
   IMPORTANT: these values are LEFT edges, not center points. */
.interior-banner .banner-hotspot{
  position:absolute!important;
  display:block!important;
  box-sizing:border-box!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  outline:none!important;
  box-shadow:none!important;
  border-radius:3px!important;
  z-index:100!important;
}

/* Tight boxes around the actual menu lettering in banner-horizontal-full.png */
.interior-banner .hs-home{
  left:12.55%!important; top:2.35%!important; width:3.45%!important; height:2.8%!important;
}
.interior-banner .hs-services{
  left:17.85%!important; top:2.35%!important; width:4.25%!important; height:2.8%!important;
}
.interior-banner .hs-why{
  left:23.15%!important; top:2.35%!important; width:4.25%!important; height:2.8%!important;
}
.interior-banner .hs-markets{
  left:29.0%!important; top:2.35%!important; width:3.8%!important; height:2.8%!important;
}
.interior-banner .hs-about{
  left:34.65%!important; top:2.35%!important; width:3.0%!important; height:2.8%!important;
}
.interior-banner .hs-contact{
  left:39.25%!important; top:2.35%!important; width:3.7%!important; height:2.8%!important;
}
.interior-banner .hs-quote{
  left:89.3%!important; top:1.55%!important; width:7.2%!important; height:3.6%!important;
}

/* Only the current page gets a visible hover/active treatment.
   No permanent Home underline is added by CSS. */
.interior-banner .banner-hotspot:hover{
  outline:2px solid rgba(217,165,45,.9)!important;
  background:rgba(217,165,45,.08)!important;
}
.interior-banner .banner-hotspot.active{
  outline:2px solid rgba(217,165,45,.95)!important;
  background:rgba(217,165,45,.12)!important;
}


/* ================================================================
   FINAL FIX: INTERIOR HOTSPOTS LOCKED TO THE ACTUAL MENU LETTERS
   Banner artwork: 1536 x 389.
   IMPORTANT: horizontal and vertical positions are tied to the
   image width, so they scale exactly with the artwork.
   Home page is NOT changed by these rules.
   ================================================================ */
@media (min-width:701px){
  .interior-banner .banner-hotspot{
    position:absolute!important;
    transform:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    z-index:9999!important;
  }

  /* Actual printed menu lettering begins at about y=29px.
     30px / 1536px = 1.953125vw. */
  .interior-banner .hs-home{
    left:12.630208vw!important; top:1.953125vw!important;
    width:3.385417vw!important; height:1.563vw!important;
  }
  .interior-banner .hs-services{
    left:17.969000vw!important; top:1.953125vw!important;
    width:3.385417vw!important; height:1.563vw!important;
  }
  .interior-banner .hs-why{
    left:23.242188vw!important; top:1.953125vw!important;
    width:3.710938vw!important; height:1.563vw!important;
  }
  .interior-banner .hs-markets{
    left:29.036458vw!important; top:1.953125vw!important;
    width:3.385417vw!important; height:1.563vw!important;
  }
  .interior-banner .hs-about{
    left:34.635417vw!important; top:1.953125vw!important;
    width:2.604167vw!important; height:1.563vw!important;
  }
  .interior-banner .hs-contact{
    left:39.257813vw!important; top:1.953125vw!important;
    width:3.320313vw!important; height:1.563vw!important;
  }

  /* Get In Touch is a larger button, so keep its own artwork position. */
  .interior-banner .hs-quote{
    left:89.258000vw!important; top:1.042000vw!important;
    width:7.161458vw!important; height:2.734375vw!important;
  }
}

@media (max-width:700px){
  .interior-banner .banner-hotspot{display:none!important}
}


/* Partner With Us button — exact location in horizontal banner (1536x389). */
.interior-banner .hs-partner{
  position:absolute!important;
  left:5.92%!important;
  top:89.46%!important;
  width:13.54%!important;
  height:10.28%!important;
  transform:none!important;
  z-index:10000!important;
  display:block!important;
  cursor:pointer!important;
}
.interior-banner .hs-partner:hover{
  outline:2px solid rgba(215,166,42,.95)!important;
  background:rgba(215,166,42,.08)!important;
}
