/* ================================================================
   First Zamir  Main CSS
   Bootstrap 5 custom layer | Mobile-first | SEO-clean markup
================================================================ */

/*  CSS Variables  */
:root {
  --fz-primary: #003DA5;   /* Brand navy  logo text colour  */
  --fz-primary-dark: #002D7A;   /* Hover / active state           */
  --fz-primary-light: #2d4fa8;   /* Lighter blue for gradients     */
  --fz-accent:        #4a90d9;   /* Mid-blue links & icon tints    */
  --fz-dark:          #0c1424;   /* Footer / dark section bg       */
  --fz-dark-hover:    #080f1c;
  --fz-white:         #ffffff;
  --fz-light:         #f4f6fb;   /* Slightly blue-tinted off-white */
  --fz-text:          #1c2340;
  --fz-muted:         #6c757d;
  --fz-border:        #dde2ef;
  --fz-shadow:        rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.1) 0px 2px 4px -2px;
  --fz-shadow-hover: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
  --fz-radius: .625rem;
  --fz-transition:    .25s ease;
}

/*  Base  */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--fz-text);
  background: var(--fz-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

a { color: var(--fz-primary); text-decoration: none; transition: color var(--fz-transition); }
a:hover { color: var(--fz-primary-dark); }

/*  Utility colours  */
.text-fz-primary  { color: var(--fz-primary) !important; }
.bg-fz-primary    { background-color: var(--fz-primary) !important; }
.bg-fz-dark       { background-color: var(--fz-dark) !important; }
.border-fz-primary{ border-color: var(--fz-primary) !important; }

/*  Buttons  */
.btn {
  font-weight: normal;
  font-size: 1rem;
  border-radius: 10px;
}
.btn-fz-primary {
  background-color: var(--fz-primary);
  border-color: transparent;
  color:            #fff;
  padding: .625rem 1.5rem;
  border-radius: 10px;
  transition: background var(--fz-transition), box-shadow var(--fz-transition);
}
.btn-fz-primary:hover, .btn-fz-primary:focus, .btn-fz-primary:first-child:active {
  background-color: var(--fz-primary-dark);
  border-color: transparent;
  color: #fff;
  /* box-shadow: 0 4px 16px rgba(26,47,114,.40); */
}

.btn-fz-outline {
  border: 2px solid #fff;
  color: #fff;
  padding: .575rem 1.5rem;
  border-radius: 10px;
  background: transparent;
  transition: background var(--fz-transition), color var(--fz-transition);
}
.btn-fz-outline:hover { background: #fff; color: var(--fz-primary); }

/* Solid white  for use on dark/coloured section backgrounds */
.btn-fz-white {
  background: #fff;
  color: var(--fz-primary);
  border: 2px solid #fff;
  padding: .625rem 1.75rem;
  border-radius: 10px;
  transition: background var(--fz-transition), color var(--fz-transition), box-shadow var(--fz-transition);
}
.btn-fz-white:hover {
  background: #e5e4e4;
  color: var(--fz-primary);
  box-shadow: 0 4px 18px rgba(0,0,0,.25);
}

.btn-fz-whatsapp {
  background-color: #25d366;
  border-color:     #25d366;
  color: #fff;
  padding: .55rem 1.5rem;
  border-radius: 10px;
  transition: background var(--fz-transition);
}
.btn-fz-whatsapp:hover { background-color: #1ebe59; border-color: #1ebe59; color: #fff; }

/* Custom Shadow */

.shadow-custom {
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.1) 0px 2px 4px -2px;
  transition: box-shadow var(--fz-transition);
}
.shadow-custom:hover {
  box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px;
}



/*  Navbar  */
.fz-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  transition: box-shadow var(--fz-transition);
}
.fz-header.scrolled .navbar { box-shadow: 0 2px 16px rgba(0,0,0,.12) !important; }
a.custom-logo-link {
    max-width: 250px;
    display: inline-block;
}

a.custom-logo-link img {
    max-height: 90px;
    max-width: 100%;
    width: auto;
}
.fz-logo {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--fz-primary) !important;
  letter-spacing: -.02em;
  display: none;
}
.fz-logo img { height: 52px; width: auto; }

.fz-nav-link {
  font-size: .9rem;
  font-weight: 500;
  color: var(--fz-text) !important;
  padding: 0.75rem .75rem !important;
  position: relative;
  transition: color var(--fz-transition);
}
.fz-nav-link::after { display:none;
  content: '';
  position: absolute;
  bottom: 0; left: .75rem; right: .75rem;
  height: 3px;
  background: linear-gradient(90deg, var(--fz-primary), var(--fz-accent));
  transform: scaleX(0);
  transition: transform var(--fz-transition);
}
.fz-nav-link:hover,
.fz-nav-link.active { color: var(--fz-primary) !important; }
.fz-nav-link.active {font-weight: 600;}
.fz-nav-link:hover::after,
.fz-nav-link.active::after { transform: scaleX(1); }

.navbar-toggler:focus { box-shadow: none; }

/*  Page Hero (inner pages)  */
.fz-page-hero {
  min-height: 350px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  padding: 4rem 1rem;
}
.fz-page-hero.hero-orange {
  background: linear-gradient(135deg, #0a1428 0%, #1a2f72 60%, #2d4fa8 100%);
}
.fz-page-hero.hero-dark {
  background: linear-gradient(135deg, #003da2 0%, #002e80 50%, #001f5d 100%);
}
.fz-page-hero.hero-bg {
  background-color: #0a1428;
  background-size: cover;
  background-position: center;
}
.fz-page-hero.hero-bg::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(7,14,28,.90), rgba(26,47,114,.82));
}
.fz-page-hero .hero-content { position: relative; z-index: 1; }
.fz-page-hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: .5rem;
}
.fz-page-hero p {
  color: #ffffff;
  font-size: 1.05rem;
  margin: 0;
}

/*  Home Hero  */
.fz-home-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  background-color: #0a1428;
  overflow: hidden;
}

/* Full-cover video layer */
.fz-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

/* Fallback static image layer */
.fz-hero-bg-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* Dark gradient overlay  sits above video/image, below content */
.fz-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(7,14,28,.92) 0%, rgba(26,47,114,.82) 100%);
  z-index: 1;
}

.fz-home-hero .container {
  position: relative;
  z-index: 2;
}
.fz-home-hero .hero-inner {
  color: #fff;
  text-align: center;
  padding: 5rem 1rem;
}
.fz-home-hero h1 {
  font-size: clamp(2.25rem, 6vw, 4rem);
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 1rem;
}
.fz-home-hero .hero-sub {
  font-size: 1.15rem;
  color: rgba(255,255,255,.85);
  margin-bottom: 2rem;
}

/* On mobile: hide video (saves bandwidth), show fallback bg colour */
@media (max-width: 767.98px) {
  .fz-hero-video { display: none; }
  .fz-home-hero  { background-color: #0a1428; }
}

/*  Section headings  */
.fz-section-header {margin-bottom: 2.5rem;}
.fz-section-title {
  font-size: clamp(1.76rem, 4vw, 2.25rem);
  font-weight: 800;
  color: var(--fz-text);
  margin-bottom: .5rem;
}
.fz-section-sub {
  color: var(--fz-muted);
  max-width: 640px;
  margin: 0 auto;
  margin-bottom: 0;
}
.fz-section-divider { display: none; }

/*  Service Cards  */
.fz-service-card {
  background: #fff;
  /* border: 1px solid var(--fz-border); */
  border-radius: var(--fz-radius);
  padding: 1.75rem 1.5rem;
  transition: transform var(--fz-transition);
  height: 100%;
}
.fz-service-card:hover {
  transform: translateY(-4px);
}
.fz-service-icon {
  width: 56px; height: 56px;
  background: rgba(26,47,114,.10);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--fz-primary);
  margin-bottom: 1rem;
}

/*  Why Choose Us pills  */
.fz-feature-pill {
  background: #fff;
  /* border: 1.5px solid var(--fz-border); */
  background: #F0F7FF;
  border-radius: 0.625rem;
  padding: .75rem 1.25rem;
  display: flex;
  align-items: center;
  gap: .625rem;
  font-weight: 500;
  transition: border-color var(--fz-transition), box-shadow var(--fz-transition);
}
.fz-feature-pill:hover {
  border-color: var(--fz-primary);
  box-shadow: 0 2px 12px rgba(26,47,114,.18);
}
.fz-feature-pill .bi { color: var(--fz-primary); font-size: 1.1rem; }

/*  Equipment cards  */
.fz-equip-card {
  background: oklch(98.5% 0.002 247.839);
  /* border: 1px solid var(--fz-border); */
  border-radius: var(--fz-radius);
  overflow: hidden;
  height: 100%;
  transition: transform var(--fz-transition);
}
.fz-equip-card:hover {
  transform: translateY(-4px);
}
.fz-equip-card .card-img-top {
  height: 200px;
  object-fit: cover;
  width: 100%;
}
.fz-equip-card .card-body { padding: 1.25rem; }
.fz-equip-card .card-title {font-weight: 700;margin-bottom: .5rem;}
.fz-equip-card .card-text {color: var(--fz-muted);/* font-size: .9rem; */margin-bottom: 1rem;line-height: 1.5;}

/*  Project cards  */
.fz-project-card {
  background: #fff;
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  overflow: hidden;
  height: 100%;
  transition: transform var(--fz-transition);

}
.fz-home-project-cards .fz-project-card {  background: oklch(96.7% 0.003 264.542);}
.fz-project-card:hover {
  transform: translateY(-4px);
}
.fz-project-card .proj-img-wrap {
  position: relative;
  overflow: hidden;
}
.fz-project-card .proj-img-wrap img {
  height: 220px;
  object-fit: cover;
  width: 100%;
  transition: transform .4s ease;
}
.fz-project-card:hover .proj-img-wrap img { transform: scale(1.05); }
.fz-project-badge {
  position: absolute;
  top: .75rem; right: .75rem;
  font-size: .75rem;
  font-weight: 600;
  padding: .25rem .75rem;
  border-radius: 50rem;
}
.badge-completed { background: #198754; color: #fff; }
.badge-ongoing   { background: #0d6efd; color: #fff; }
.fz-project-card .card-body {padding: 1.25rem;}
.fz-project-card .card-title {font-weight: 600;font-size: 1.135rem;margin-bottom: .75rem;line-height: 1.35;}
.fz-project-client {font-size: .85rem;border-top: 1px solid #e5e5e5;padding-top: 16px;margin-top: 16px;}
.fz-project-client .fz-project-client-label { color: oklch(55.1% 0.027 264.364); }

/*  Filter buttons (projects)  */
.fz-filter-btn {
  border: 1.5px solid var(--fz-border);
  background: #fff;
  color: var(--fz-text);
  border-radius: 50rem;
  padding: .5rem 1.25rem;
  font-size: .875rem;
  font-weight: 500;
  cursor: pointer;
  transition: all var(--fz-transition);
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.fz-filter-btn:hover,
.fz-filter-btn.active {
  background: var(--fz-primary);
  border-color: var(--fz-primary);
  color: #fff;
}

/*  Download cards  */
.fz-download-card {
  background: #fff;
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  padding: 1.75rem 1.5rem;
  height: 100%;
  transition: transform var(--fz-transition);
}
.fz-download-card:hover {
  transform: translateY(-4px);
}
.fz-download-icon {
  width: 56px;
  height: 56px;
  background: rgba(26,47,114,.10);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: var(--fz-primary);
  /* margin-bottom: 1rem; */
}
.fz-download-card .doc-size { color: var(--fz-muted); font-size: .8rem; }

/*  Downloads  Need Custom Documents CTA  */
.fz-doc-cta {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 32px rgba(26,47,114,.1);
  padding: 3rem 2.5rem;
  max-width: 820px;
}
@media (max-width:575.98px) { 
  .fz-doc-cta { padding: 2rem 1.5rem; } }

/*  Downloads  Document Authenticity dark card  */
.fz-doc-auth {
  background: linear-gradient(135deg, var(--fz-dark) 0%, #0f1f50 100%);
  border-radius: 16px;
  padding: 2.5rem 2rem;
}
.fz-doc-auth-sub {
  color: rgba(255,255,255,.7);
  max-width: 640px;
}
.fz-doc-auth-icon {
  font-size: 1.5rem;
  opacity: .85;
  flex-shrink: 0;
}

/*  Contact page  */
.fz-contact-info { list-style: none; padding: 0; margin: 0; }
.fz-contact-info li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.fz-contact-icon-wrap {
  flex-shrink: 0;
  width: 48px; height: 48px;
  background: rgba(26,47,114,.10);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem;
  color: var(--fz-primary);
}
.fz-contact-info a { color: var(--fz-text); }
.fz-contact-info a:hover { color: var(--fz-primary); }

.fz-form-card {
  background: #fff;
  border-radius: var(--fz-radius);
  box-shadow: var(--fz-shadow);
  padding: 2.5rem 2rem;
}
.fz-form-card .form-label { font-weight: 600; font-size: .9rem; }
.fz-form-card .form-control,
.fz-form-card .form-select {
  border: 1.5px solid var(--fz-border);
  border-radius: var(--fz-radius);
  padding: .65rem 1rem;
  font-size: .925rem;
  transition: border-color var(--fz-transition), box-shadow var(--fz-transition);
}
.fz-form-card .form-control:focus,
.fz-form-card .form-select:focus {
  border-color: var(--fz-primary);
  box-shadow: 0 0 0 .2rem rgba(26,47,114,.18);
}

/*  About page specifics  */
.fz-value-card {
  background: #f9fafb;
  /* border: 1px solid var(--fz-border); */
  border-radius: var(--fz-radius);
  padding: 1.75rem 1.5rem;
  height: 100%;
  transition: transform var(--fz-transition);
}
.fz-value-card:hover {
  transform: translateY(-4px);
}

/* Safety & Quality rounded card */
.fz-safety-card {
  background: linear-gradient(135deg, #121929 0%, #354052 100%);
  border-radius: 16px;
  padding: 2.5rem 3rem;
}
@media (max-width: 575.98px) {
  .fz-safety-card { padding: 2rem 1.5rem; }
}

/* Company Strength stat cards (light bg) */
.fz-stat-card {
  background: #fff;
  /* border: 1px solid var(--fz-border); */
  border-radius: var(--fz-radius);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: transform var(--fz-transition);
}
.fz-stat-card:hover {
  transform: translateY(-3px);
}
.fz-stat-card .stat-num {
  font-size: 2.25rem;
  font-weight: 800;
  color: var(--fz-primary);
  line-height: 1;
  margin-bottom: .5rem;
}
.fz-stat-card .stat-label {
  font-size: .95rem;
  color: var(--fz-muted);
}

/* Legacy dark-bg stat (home page counter) */
.fz-stat {
  text-align: center;
  padding: 1.5rem;
}
.fz-stat .stat-num {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--fz-primary);
  line-height: 1;
}
.fz-stat .stat-label { color: var(--fz-muted); font-size: .9rem; margin-top: .25rem; }

/*  Equipment Rental dark section  */
.fz-rental-dark {
  background: linear-gradient(135deg, var(--fz-dark) 0%, #111f54 100%);
  color: #fff;
}
.fz-rental-dark .rental-img {
  border-radius: var(--fz-radius);
  height: 380px;
  object-fit: cover;
  width: 100%;
}

/*  Download CTA (navy strip)  */
.fz-cta-orange {
  background: #003DA5
}

/*  WhatsApp Quick Contact Card  */
.fz-wa-quick-card {
  background: #f0f6ff;
  border-left: 4px solid var(--fz-primary);
  border-radius: 0 var(--fz-radius) var(--fz-radius) 0;
  padding: 1.25rem 1.5rem;
}
.fz-wa-quick-icon {
  font-size: 1.75rem;
  color: #25d366;
  flex-shrink: 0;
  margin-top: 2px;
}

/*  Google Map iframe  */
.fz-map iframe {
  width: 100%;
  height: 450px;
  border: 0;
  border-radius: var(--fz-radius);
  filter: grayscale(15%);
}
@media (max-width: 767.98px) {
  .fz-map iframe { height: 300px; }
}

/*  Footer  */
.fz-footer-links li { margin-bottom: .5rem; }
.fz-footer-links a  { color: rgba(255,255,255,.55); font-size: .9rem; transition: color var(--fz-transition); }
.fz-footer-links a:hover { color: #fff; }

.fz-footer-contact li { margin-bottom: .85rem; color: rgba(255,255,255,.7); font-size: .9rem; display: flex; align-items: flex-start; gap: .5rem; }
.fz-footer-contact a  { color: rgba(255,255,255,.7); }
.fz-footer-contact a:hover { color: #fff; }

/*  Services list (full page)  */
.fz-service-row {
  background: #fff;
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  padding: 1.75rem;
  transition: box-shadow var(--fz-transition);
}
.fz-service-row:hover {/* box-shadow: var(--fz-shadow); */}
.fz-service-row + .fz-service-row { margin-top: 1.25rem; }
.fz-service-row .service-sub-list {
  columns: 2;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: .75rem 0 0;
}
.fz-service-row .service-sub-list li {
  padding: .2rem 0;
  font-size: .9rem;
  color: var(--fz-muted);
  break-inside: avoid;
}
.fz-service-row .service-sub-list li::before {
  content: 'â—';
  color: var(--fz-accent);
  font-size: .5rem;
  vertical-align: middle;
  margin-right: .5rem;
}

/*  Animations  */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp .6s ease both; }
.fade-up-delay-1 { animation-delay: .1s; }
.fade-up-delay-2 { animation-delay: .2s; }
.fade-up-delay-3 { animation-delay: .3s; }

/*  Alert (form feedback)  */
#fz-form-message { display: none; }

/*  Equipment Rental Inquiry Form  */
.fz-inq-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 32px rgba(26,47,114,.10);
  padding: 2.5rem 3rem;
  max-width: 820px;
  margin: 0 auto;
}
@media (max-width:575.98px) { .fz-inq-card { padding: 1.5rem 1.25rem; } }

/* Equipment checklist */
.fz-equip-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
  background: #f8f9fa;
  border: 1px solid var(--fz-border);
  border-radius: var(--fz-radius);
  padding: 1rem;
}

.fz-equip-item {
  background: #fff;
  border: 1px solid var(--fz-border);
  border-radius: 6px;
  padding: .5rem .75rem;
  transition: border-color .2s;
}
.fz-equip-item:has(.fz-equip-cb:checked) {
  border-color: var(--fz-primary);
  background: #f0f4ff;
}

.fz-equip-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: .9rem;
  font-weight: 500;
  color: var(--fz-dark);
  margin: 0;
  user-select: none;
}
.fz-equip-label input[type="checkbox"] {
  width: 16px; height: 16px;
  accent-color: var(--fz-primary);
  cursor: pointer;
  flex-shrink: 0;
}

.fz-equip-qty-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed var(--fz-border);
}
.fz-qty-label { font-size: .8rem; color: var(--fz-muted); white-space: nowrap; }
.fz-qty-input { width: 70px !important; text-align: center; }
.fz-qty-unit  { font-size: .8rem; color: var(--fz-muted); white-space: nowrap; }

/*  Equipment Rental  Contact Strip  */
.fz-contact-strip {
  /* background: linear-gradient(135deg, #0c1424 0%, #1a2f72 100%); */
  background: #2a3446;
  border-radius: 0.625rem;
  overflow: hidden;
}

.fz-cs-item {
  padding: 2.5rem 1.5rem;
  position: relative;
}

/* Vertical divider between items on desktop */
.fz-cs-mid {
  border-left: 1px solid rgb(255 255 255 / 7%);
  border-right: 1px solid rgb(255 255 255 / 7%);
}

.fz-cs-icon {
  /* width: 56px; */
  /* height: 56px; */
  border-radius: 50%;
  /* background: rgba(255,255,255,.12); */
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 2.5rem;
  color: #fff;
  transition: background var(--fz-transition);
  line-height: 1;
}
.fz-cs-item:hover .fz-cs-icon {/* background: rgba(255,255,255,.22); */}

.fz-cs-text {
  /* color: rgba(255,255,255,.7); */
  font-size: .875rem;
  margin-top: .15rem;
}

/* On mobile: horizontal dividers instead of vertical */
@media (max-width: 767.98px) {
  .fz-cs-mid { border-left: 0; border-right: 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
}

/*  Responsive tweaks  */
@media (max-width: 991.98px) {
  .fz-nav-link { padding: .65rem .75rem !important; }
  .fz-nav-link::after { display: none; }
  .fz-home-hero {min-height: 70vh;}
  .fz-service-row .service-sub-list { columns: 1; }
}

@media (max-width: 575.98px) {
  .fz-form-card { padding: 1.5rem 1.25rem; }
  .fz-home-hero h1 { font-size: 2rem; }
  .fz-stat .stat-num { font-size: 2rem; }
}

/*  Client Carousel  */
.fz-client-section {/* background: #f5f7fb; */}

.fz-cc-wrap { overflow: hidden; }

.fz-cc-track {
  display: flex;
  gap: 1.5rem;
  transition: transform .65s cubic-bezier(.4,0,.2,1);
}

.fz-cc-item {
  flex: 0 0 calc((100% - 7.5rem) / 6);   /* 6 visible, 5 gaps of 1.5rem */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
  text-align: center;
  padding: 1rem .5rem;
}
@media (max-width: 991.98px) {
  .fz-cc-item { flex: 0 0 calc((100% - 3rem) / 3); }   /* 3 visible */
}
@media (max-width: 575.98px) {
  .fz-cc-item { flex: 0 0 calc((100% - 1.5rem) / 2); } /* 2 visible */
  .fz-page-hero {
    min-height: 30vh;
    padding: 3rem 1rem;
}
  a.custom-logo-link {
    max-width: 200px;
}
}

/* Icon circle */
.fz-cc-icon {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: #eaedf3;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s;
}
.fz-cc-icon i { font-size: 2.4rem; color: #b0b8cc; transition: color .3s; }
.fz-cc-item:hover .fz-cc-icon { background: #e0e6f5; }
.fz-cc-item:hover .fz-cc-icon i { color: var(--fz-primary); }

/* Image wrapper */
.fz-cc-img-wrap {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
  border: 1px solid #cccccc2e;
}

/* Real logo image */
.fz-cc-img {
  height: auto;
  width: 100%;
  max-height: 100%;
  object-fit: contain;
  /* border-radius: 50%; */
  filter: grayscale(1);
  opacity: .55;
  transition: filter .3s, opacity .3s;
}
.fz-cc-item:hover .fz-cc-img { filter: grayscale(0); opacity: 1; }

/* Name label */
.fz-cc-name {
  font-size: .85rem;
  font-weight: 700;
  color: #2d3142;
  white-space: nowrap;
}

/* Dot navigation */
.fz-cc-dots {
  display: flex;
  justify-content: center;
  gap: .45rem;
  margin-top: 1rem;
  padding-bottom: 7px;
}
.fz-cc-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: none;
  background: #cdd2df;
  padding: 0;
  cursor: pointer;
  transition: background .25s, transform .25s;
}
.fz-cc-dot.active {
  background: #2d3142;
  transform: scale(1.3);
}

/*  Collapsible toggle sections (Team / Clients)  */
.fz-toggle-section { border-bottom: 1px solid var(--fz-border); }
.fz-toggle-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: none;
  border: none;
  padding: 1.5rem 0;
  cursor: pointer;
  gap: 1rem;
}
.fz-toggle-title {
  font-size: clamp(1.4rem, 3.5vw, 2rem);
  font-weight: 800;
  color: var(--fz-dark);
  transition: color .25s;
  text-align: left;
}
.fz-toggle-trigger:not(.collapsed) .fz-toggle-title {
  color: var(--fz-primary);
}
.fz-toggle-icon {
  font-size: 1.25rem;
  color: var(--fz-muted);
  flex-shrink: 0;
  transition: transform .3s, color .25s;
}
.fz-toggle-trigger:not(.collapsed) .fz-toggle-icon {
  transform: rotate(180deg);
  color: var(--fz-primary);
}

/*  Team Section  */
.fz-team-section { background: #eef2fb; }

.fz-team-card {
  background: #fff;
  border-radius: 20px;
  padding: 2.5rem 1.75rem 2rem;
  text-align: center;
  transition: transform var(--fz-transition);
  height: 100%;
}
.fz-team-card:hover {
  transform: translateY(-5px);
}

/* Icon circle */
.fz-team-icon-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(26,47,114,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
}
.fz-team-icon-wrap i { font-size: 2.4rem; color: var(--fz-primary); }

/* Photo (when uploaded) */
.fz-team-photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1.5rem;
}
.fz-team-photo img { width: 100%; height: 100%; object-fit: cover; }

.fz-team-name  { font-size: 1.1rem; font-weight: 700; margin-bottom: .3rem; color: var(--fz-dark); }
.fz-team-role  { font-size: .9rem; color: var(--fz-primary); font-weight: 500; margin-bottom: .75rem; }
.fz-team-linkedin { color: #0077b5; font-size: 1.15rem; transition: opacity .25s; }
.fz-team-linkedin:hover { opacity: .7; color: #0077b5; }

/*  FAQ Accordion  */
.fz-faq-accordion { max-width: 780px; margin: 0 auto; }
.fz-faq-item { border: 1px solid var(--fz-border); border-radius: 10px !important; margin-bottom: .75rem; overflow: hidden; }
.fz-faq-item .accordion-button {
  font-weight: 600;
  font-size: 1rem;
  background: #fff;
  color: var(--fz-text);
  border-radius: 10px !important;
  box-shadow: none;
}
.fz-faq-item .accordion-button:not(.collapsed) {
  background: #fff;
  color: var(--fz-primary);
  box-shadow: none;
}
.fz-faq-item .accordion-button:focus { box-shadow: none; }
.fz-faq-item .accordion-button::after { opacity: .5; }
.fz-faq-item .accordion-button:not(.collapsed)::after { opacity: 1; filter: none; }
.fz-faq-item .accordion-body { background: #fff; font-size: .95rem; border-top: 1px solid var(--fz-border); }

/*  Footer social icons  */
.fz-social-links {display: flex;gap: .5rem;/* justify-content: flex-end; */}
.fz-social-btn { width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.1); color: rgba(255,255,255,.7); display: inline-flex; align-items: center; justify-content: center; font-size: .95rem; transition: background var(--fz-transition), color var(--fz-transition); }
.fz-social-btn:hover { background: var(--fz-primary); color: #fff; }
@media (max-width: 767.98px) { .fz-social-links { justify-content: center; } }

/*  Back-to-top  */
#back-to-top {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  width: 42px; height: 42px;
  background: var(--fz-primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  font-size: 1.2rem;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 999;
  box-shadow: 0 4px 16px rgba(26,47,114,.45);
  transition: background var(--fz-transition), transform var(--fz-transition);
}
#back-to-top:hover { background: var(--fz-primary-dark); transform: translateY(-2px); }
#back-to-top.visible { display: flex; }

/*  WhatsApp float  */
.fz-whatsapp-float {
  position: fixed;
  bottom: 5rem;
  right: 1.5rem;
  z-index: 998;
}
.fz-whatsapp-float a {
  width: 52px; height: 52px;
  background: #25d366;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  color: #fff;
  box-shadow: 0 4px 16px rgba(37,211,102,.45);
  transition: transform var(--fz-transition), box-shadow var(--fz-transition);
}
.fz-whatsapp-float a:hover { transform: scale(1.1); color: #fff; }

/*  404 quick-link cards  */
.fz-404-card {
  transition: transform var(--fz-transition);
  background: #fff;
}
.fz-404-card:hover {
  transform: translateY(-3px);
  border-color: var(--fz-primary) !important;
}

/*  Global section spacing  responsive  */
/* Mobile <768px: 2.25rem | Tablet 768 991px: 3rem | Desktop 992px: 4.375rem */
section.py-5  {padding-top: 2.5rem !important;pad;padding-bottom: 2.5rem !important;}
section.pb-5  { padding-bottom: 2.25rem !important; }
section.pt-5  { padding-top: 2.25rem !important; }

@media (min-width: 768px) {
  section.py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  section.pb-5 { padding-bottom: 3rem !important; }
  section.pt-5 { padding-top: 3rem !important; }
}

@media (min-width: 992px) {
  section.py-5 { padding-top: 4.375rem !important; padding-bottom: 4.375rem !important; }
  section.pb-5 { padding-bottom: 4.375rem !important; }
  section.pt-5 { padding-top: 4.375rem !important; }
}

/*  Legal page typography  */
.fz-legal-content {
  line-height: 1.85;
  color: var(--fz-text);
  font-size: 1rem;
}
.fz-legal-content h2 {
  font-size: 1.35rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: .75rem;
  color: var(--fz-primary);
}
.fz-legal-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 1.75rem;
  margin-bottom: .5rem;
}
.fz-legal-content p { margin-bottom: 1.1rem; }
.fz-legal-content ul,
.fz-legal-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1.1rem;
}
.fz-legal-content li { margin-bottom: .4rem; }
.fz-legal-content a {
  color: var(--fz-primary);
  text-decoration: underline;
}
.fz-legal-content a:hover { color: var(--fz-primary-dark); }
.fz-legal-content strong { color: var(--fz-text); }

/*  Equipment availability badge  */
.fz-avail-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem 1rem;
  border-radius: 2rem;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.fz-avail-badge-sm {
  padding: .25rem .7rem;
  font-size: .75rem;
}
.fz-badge-available    { background: #d1fae5; color: #065f46; }
.fz-badge-onsite       { background: #dbeafe; color: #1e40af; }
.fz-badge-maintenance  { background: #fef3c7; color: #92400e; }

/*  Equipment specs table  */
.fz-specs-table { border-collapse: collapse; }
.fz-specs-table tr { border-bottom: 1px solid var(--fz-border); }
.fz-specs-table tr:last-child { border-bottom: 0; }
.fz-spec-label {
  padding: .65rem .5rem .65rem 0;
  color: var(--fz-muted);
  font-size: .85rem;
  width: 45%;
  vertical-align: top;
}
.fz-spec-value {
  padding: .65rem 0;
  font-weight: 600;
  font-size: .9rem;
  color: var(--fz-text);
}

/*  Equipment detail  CTA card  */
.fz-equip-cta-card {
  background: var(--fz-light);
  border-radius: var(--fz-radius);
  padding: 1.75rem;
  border: 1px solid var(--fz-border);
}

#fz-projects-grid {
  --bs-gutter-x: 2rem;
  --bs-gutter-y: 2rem;
}
@media (max-width: 1199px) {
 .fz-project-card .card-title {
    font-size: 1rem;

}
}
@media (max-width: 991.98px) {
  #fz-projects-grid {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
  }
  .fz-equip-card .btn { padding-inline: 1rem;}
}
@media (max-width: 767px) {
  .container { max-width: 100%;}
}
