
:root{
  --primary-900:#0a2a6b;
  --primary-700:#0d47a1;
  --primary-500:#1976d2;
  --accent-500:#ff7a00;
  --accent-100:#ffe3cc;
  --gray-100:#f8f9fa;
  --gray-300:#e9ecef;
  --gray-700:#495057;
}
.bg-primary{ background-color: var(--primary-700) !important; }
.text-accent{ color: var(--accent-500) !important; }
.bg-accent-subtle{ background-color: var(--accent-100) !important; }
.btn-accent{ background-color: var(--accent-500); border-color: var(--accent-500); }
.btn-primary{ background-color: var(--primary-700); border-color: var(--primary-700); }
.btn-primary:hover{ background-color: var(--primary-900); border-color: var(--primary-900); }
.navbar .nav-link{ color:#e9ecef; opacity:.9; }
.navbar .nav-link:hover, .navbar .nav-link.active{ color:#fff; opacity:1; }

.hero{
  min-height: 100vh;
  background: linear-gradient(135deg, #0a2a6b 0%, #0d47a1 60%, #1976d2 100%);
  position: relative;
}
.hero .overlay{
  position:absolute; inset:0;
  background-image: url('../img/hero-bg.jpg');

  background-size: cover; background-position: center;
  opacity:.25;
}
.glass{ background: rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); backdrop-filter: blur(6px); color:#fff; }
.glass .form-control{ background: rgba(255,255,255,.2); color:#fff; border-color: rgba(255,255,255,.35); }
.section{ padding: 80px 0; }
.service-card{ border:1px solid var(--gray-300); transition: transform .2s, box-shadow .2s; }
.service-card:hover{ transform: translateY(-4px); box-shadow: 0 12px 24px rgba(0,0,0,.08); }
.project-card{ border:1px solid var(--gray-300); border-radius:.75rem; overflow:hidden; transition: transform .2s; }
.project-card:hover{ transform: translateY(-4px); }
.footer{ background: linear-gradient(180deg, var(--primary-900), var(--primary-700)); }
:target::before{ content:""; display:block; height:80px; margin-top:-80px; visibility:hidden; }
/* WhatsApp floating button */
.whatsapp-float {
  position: fixed; bottom: 20px; right: 20px;
  background-color: #25D366; color: #fff;
  font-size: 28px; width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 16px rgba(0,0,0,.25); z-index: 2000;
  transition: transform .15s ease, box-shadow .15s ease;
}
.whatsapp-float:hover { transform: scale(1.07); box-shadow: 0 8px 22px rgba(0,0,0,.28); }


/* Hero better spacing on mobile */
.hero{padding-top: 100px; padding-bottom: 60px;}
@media (min-width: 992px){
  .hero{padding-top:0; padding-bottom:0; min-height: 100vh;}
}
/* Contact map & form equal height */
.map-wrapper{height:100%;}
.map-embed{width:100%; height:100%; border:0;}
