:root{
  --brand:#0a2540;
  --brand-accent:#2f8bfd;
}
body { scroll-behavior: smooth; }

/* Header */
.header-transparent { background:transparent; transition: background .3s, box-shadow .3s; }
.header-solid { background:#ffffff; box-shadow: 0 8px 24px rgba(10,37,64,.08); }
.navbar .nav-link { color:#fff; opacity:.9; }
.header-solid .nav-link { color:#0a2540; }
.navbar .nav-link:hover { opacity:1; }

/* Hero */
.hero { margin-top:4px; }
.hero .hero-slide { min-height:72vh; background-size:cover; background-position:center; position:relative; }
.hero .overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.6)); }
.hero .hero-content { position:relative; z-index:2; padding-top:18vh; padding-bottom:14vh; }

/* Service rows */
.service-row:hover .service-img { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(10,37,64,.15); }
.service-img { transition: all .3s ease; }

/* Footer links */
.footer a { text-decoration:none; }

/* Mobile nav contrast on transparent header */
.navbar-toggler { border-color:#fff; }
.header-solid .navbar-toggler { border-color: #0a2540; }
/* Enquiry modal – corporate theme */
.enquiry-modal .modal-content {
  border: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(10, 22, 70, 0.15);
}
.enquiry-modal .modal-header {
  background: linear-gradient(135deg, #0d6efd 0%, #2563eb 60%, #0ea5e9 100%);
  color: #fff;
  border: 0;
  padding: 1.25rem 1.5rem;
}
.enquiry-modal .modal-title {
  font-weight: 700;
  letter-spacing: .3px;
}
.enquiry-modal .modal-subtitle {
  font-size: .875rem;
  opacity: .9;
}
.enquiry-modal .modal-body {
  background: #f8fafc;
  padding: 1.25rem 1.5rem 1.5rem;
}

.enquiry-field {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: .75rem;
  padding: .3rem;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.enquiry-field:focus-within {
  border-color: #83b2ff;
  box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .08);
}
.enquiry-label {
  font-size: .85rem;
  color: #334155;
  margin-bottom: .35rem;
  font-weight: 600;
}
.enquiry-input .input-group-text {
  background: #f1f5f9;
  border: none;
  border-right: 1px solid #e5e7eb;
  color: #334155;
}
.enquiry-input .form-control,
.enquiry-input .form-select,
.enquiry-input textarea {
  border: none;
  background: transparent;
  box-shadow: none !important;
}
.invalid-feedback {
  display: block;
  margin-top: .35rem;
}
.enquiry-actions .btn {
  border-radius: .65rem;
  padding: .6rem 1rem;
}
.enquiry-actions .btn i {
  vertical-align: -2px;
}
.captcha-head {
  display: flex; justify-content: space-between; align-items: center;
}
.captcha-refresh {
  font-size: .9rem; cursor: pointer; color: #0d6efd; text-decoration: none;
}
.captcha-refresh:hover { text-decoration: underline; }
.hero .hero-slide {
  background-size: cover;
  background-position: center;
  height: clamp(360px, 55vh, 560px);
  position: relative;
}
.hero .overlay {
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.15) 40%, rgba(0,0,0,0));
}
.prose p { margin-bottom: 1rem; }
@media (max-width: 767.98px){
  .float-md-end { float: none !important; margin-left: 0 !important; }
}

@media (max-width: 991.98px){
  .navbar .nav-link { color:#0a2540; }
}