:root{
  --gb-gold:#c6a55a;
  --gb-gold-soft:#e0c98f;
  --gb-dark:#151822;
  --gb-dark-2:#1f2430;
  --gb-light:#f4efe5;
  --gb-muted:#c9c1b3;
}
html{scroll-behavior:smooth;}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--gb-dark);
  color:var(--gb-light);
}
a{color:var(--gb-gold-soft);text-decoration:none;}
a:hover{color:#fff1c7;}
.section-padding{padding:5rem 0;}
.bg-dark-gb{background:linear-gradient(180deg,var(--gb-dark) 0%, var(--gb-dark-2) 100%);}
.bg-dark-gb-alt{background:linear-gradient(180deg,#10131b 0%, #1a1f2a 100%);}
.text-gold{color:var(--gb-gold-soft)!important;}
.btn-gold{
  background:var(--gb-gold);color:#141414;border:1px solid var(--gb-gold);
  font-weight:700;border-radius:.85rem;padding:.85rem 1.2rem;
}
.btn-gold:hover{background:#e5c983;border-color:#e5c983;color:#111;}
.btn-outline-gold{
  border:1px solid rgba(224,201,143,.55);color:var(--gb-light);
  border-radius:.85rem;padding:.85rem 1.2rem;font-weight:700;
}
.btn-outline-gold:hover{background:rgba(224,201,143,.08);border-color:var(--gb-gold-soft);color:#fff;}
.navbar{
  backdrop-filter:blur(10px);
  background:rgba(15,17,24,.82)!important;
  border-bottom:1px solid rgba(224,201,143,.12);
}
.navbar .nav-link{color:#efe7d8;font-weight:600;}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--gb-gold-soft);}
.brand-wrap{
  display:flex;align-items:center;gap:.7rem;color:#fff;font-weight:900;
  letter-spacing:.04em;text-transform:uppercase;
}
.brand-mark{width:46px;height:auto;flex:0 0 auto;}
.brand-title{line-height:1;font-size:.95rem;}
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;
  padding-top:5rem;
  background:
    linear-gradient(90deg, rgba(12,14,20,.92) 0%, rgba(12,14,20,.84) 40%, rgba(12,14,20,.55) 100%),
    url('../img/bridge_repair_2.png') center/cover no-repeat;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 15%, rgba(224,201,143,.16), transparent 32%);
  pointer-events:none;
}
.hero .container{position:relative;z-index:2;}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;color:var(--gb-muted);font-weight:800;}
.hero h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.02;font-weight:900;margin:.6rem 0 1rem;}
.hero p.lead{max-width:52rem;color:#f0e8d6;}
.glass-card{
  background:rgba(255,255,255,.05);border:1px solid rgba(224,201,143,.18);
  border-radius:1.25rem;box-shadow:0 20px 40px rgba(0,0,0,.28);padding:1.4rem;
}
.pill-list{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.4rem 0 1.7rem;}
.pill{
  border:1px solid rgba(224,201,143,.26);background:rgba(17,19,26,.5);color:#fff;
  padding:.7rem .95rem;border-radius:100px;font-weight:700;font-size:.95rem;
}
.section-intro{max-width:46rem;margin-bottom:2rem;}
.feature-card,.project-card,.contact-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(224,201,143,.12);
  border-radius:1.2rem;overflow:hidden;height:100%;box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.feature-card img,.project-card img{height:235px;object-fit:cover;width:100%;}
.feature-card .card-body,.project-card .card-body,.contact-card .card-body{padding:1.35rem;}
.badge-soft{
  display:inline-block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:800;padding:.45rem .6rem;border-radius:.65rem;background:var(--gb-gold);
  color:#111;margin-bottom:.75rem;
}
.process-step{position:relative;padding-left:4rem;margin-bottom:1.75rem;}
.process-step:last-child{margin-bottom:0;}
.process-step .num{
  position:absolute;left:0;top:0;width:2.6rem;height:2.6rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--gb-gold-soft);
  border:1px solid rgba(224,201,143,.4);background:rgba(224,201,143,.08);
}
.stat-box{
  background:rgba(255,255,255,.04);border:1px solid rgba(224,201,143,.14);
  border-radius:1rem;padding:1.15rem;height:100%;
}
.stat-box .value{font-size:1.8rem;font-weight:900;color:var(--gb-gold-soft);}
.contact-panel{
  background:
    linear-gradient(90deg, rgba(15,17,24,.95), rgba(15,17,24,.85)),
    url('../img/bridge_repair_3.png') center/cover no-repeat;
  border-radius:1.3rem;border:1px solid rgba(224,201,143,.15);overflow:hidden;
}
.form-control{
  background:rgba(255,255,255,.06);border:1px solid rgba(224,201,143,.18);
  color:#fff;border-radius:.85rem;padding:.9rem 1rem;
}
.form-control::placeholder{color:rgba(255,255,255,.58);}
.form-control:focus{
  background:rgba(255,255,255,.09);border-color:rgba(224,201,143,.45);
  box-shadow:0 0 0 .2rem rgba(224,201,143,.12);color:#fff;
}
footer{border-top:1px solid rgba(224,201,143,.12);background:#0f1219;}
.footer-note{color:#bdb4a4;}
.quick-contact{
  position:fixed;right:1rem;bottom:1rem;z-index:1020;display:flex;flex-direction:column;gap:.65rem;
}
.quick-contact a{
  background:rgba(15,17,24,.92);border:1px solid rgba(224,201,143,.2);color:#fff;
  border-radius:100px;padding:.8rem 1rem;font-weight:800;box-shadow:0 12px 24px rgba(0,0,0,.25);
}
.quick-contact a:hover{border-color:rgba(224,201,143,.6);}
@media (max-width: 991.98px){
  .hero{min-height:auto;padding:7rem 0 4rem;}
  .quick-contact{right:.75rem;bottom:.75rem;}
  .quick-contact a{padding:.72rem .9rem;font-size:.95rem;}
}