/* ===========================
   TROJAN PROTECTIVES - MAIN CSS
   =========================== */

:root {
  --primary:    #2d3192;   /* deep navy/indigo */
  --accent:     #e8192c;   /* red */
  --accent-alt: #f5a623;   /* gold/amber */
  --text-dark:  #222222;
  --text-muted: #666666;
  --light-bg:   #f7f8fc;
  --white:      #ffffff;
  --border:     #e0e0e0;
  --section-py: 70px;
}

/* ---------- RESET & BASE ---------- */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: 'Poppins', sans-serif;
  color: var(--text-dark);
  font-size: 14px;
  line-height: 1.7;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover { color: var(--accent); }
img { max-width: 100%; height: auto; }
ul { list-style: none; padding: 0; margin: 0; }

/* ---------- TOPBAR ---------- */
.topbar {
  background: #223644;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  padding: 6px 0;
}
.topbar .contact-info a { color: var(--white); margin-right: 18px;    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; }
.topbar .contact-info a i { color: var(--white); margin-right: 4px; }
.topbar .contact-info a i.fab.fa-whatsapp { color: #0dc143; font-size:22px }
.topbar .contact-info a i.fa-envelope { color:var(--accent); font-size:22px }
.topbar .social-links a {
  color: var(--white);
  margin-left: 10px;
  font-size: 14px;
  transition: color .2s;
}
.topbar .social-links a:hover { color: var(--primary); }
.topbar .btn-quote {
  background: var(--accent);
  color: var(--white) !important;
  padding: 5px 18px;
  border-radius: 3px;
  font-weight: 600;
  font-size: 13px;
  transition: background .2s;
}
.topbar .btn-quote:hover { background: #c0111f; }

/* ---------- NAVBAR ---------- */
.main-navbar {
  background: var(--white);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  padding: 10px 0;
  position: sticky;
  top: 0;
  z-index: 1000;
}
.main-navbar .navbar-brand img { height: 55px; }
.main-navbar .nav-link {
  font-weight: 500;
  color: var(--text-dark) !important;
  padding: 8px 14px !important;
  font-size: 14px;
  transition: color .2s;
}
.main-navbar .nav-link:hover,
.main-navbar .nav-link.active { color: var(--primary) !important; }
.main-navbar .navbar-toggler { border: none; }

/* ---------- HERO / CAROUSEL ---------- */
.hero-carousel .carousel-item {
  height: 420px;
  background: var(--primary);
  position: relative;
  overflow: hidden;
}
.hero-carousel .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-carousel .carousel-caption {
  left: 8%;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  text-align: left;
  bottom: auto;
  max-width: 480px;
}
.hero-carousel .carousel-caption h2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--white);
  line-height: 1.25;
  margin-bottom: 14px;
}
.hero-carousel .carousel-caption p {
  font-size: 1rem;
  color: rgba(255,255,255,.9);
  margin-bottom: 0;
}
.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next {
  width: 38px;
  height: 38px;
  background: rgba(255,255,255,.3);
  border-radius: 50%;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
}
.hero-carousel .carousel-control-prev { left: 12px; }
.hero-carousel .carousel-control-next { right: 12px; }
.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon { width: 16px; height: 16px; }

/* ---------- SECTION HELPERS ---------- */
.section { padding: var(--section-py) 0; }
.section-alt { background: var(--light-bg); }

.section-title {
  font-size: 1.9rem;
  font-weight: 700;
  color: var(--primary);
  margin-bottom: 8px;
}
.section-subtitle {
  font-size: .95rem;
  color: var(--text-muted);
  margin-bottom: 40px;
}
.underline-red {
  display: inline-block;
  width: 50px;
  height: 3px;
  background: var(--accent);
  border-radius: 2px;
  margin-bottom: 18px;
}

/* ---------- WHAT WE DO ---------- */
.what-we-do-img img {
  border-radius: 4px;
  width: 100%;
  height: 380px;
  object-fit: cover;
}
.what-we-do-text h2 { font-weight: 700; color: var(--primary); font-size: 1.8rem; }
.what-we-do-text p { color: var(--text-muted); font-size: 13.5px; text-align: justify; }
.btn-primary-custom {
  background: var(--primary);
  color: var(--white);
  border: none;
  padding: 10px 28px;
  border-radius: 3px;
  font-weight: 600;
  font-size: 13px;
  transition: background .2s;
  display: inline-block;
  margin-top: 10px;
}
.btn-primary-custom:hover { background: #1e226e; color: var(--white); }

/* ---------- OUR CULTURE ---------- */
.culture-card { text-align: center; padding: 20px 10px; }
.culture-card .icon-box {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.culture-card .icon-box img { width: 56px; height: 56px; object-fit: contain; }
.culture-card h6 { font-weight: 600; color: var(--primary); font-size: 16px; margin-bottom: 0; }

/* ---------- WHY CHOOSE US ---------- */
.choose-card {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: hidden;
  background: var(--white);
  transition: box-shadow .25s;
  height: 100%;
  padding: 20px;
}
.choose-card:hover { box-shadow: 0 8px 30px rgba(45,49,146,.13); }
.choose-card img { width: 100%; height: 190px; object-fit: cover; }
.choose-card .card-body { padding: 20px; }
.choose-card h5 {
  font-weight: 700;
  color: var(--text-dark);
  font-size: 15px;
  border-bottom: 2px solid var(--accent-alt);
  display: inline-block;
  padding-bottom: 4px;
  margin-bottom: 10px;
}
.choose-card p { font-size: 13px; color: var(--text-muted); }

/* ---------- OUR SERVICE ---------- */
.service-left h3 { font-size: 1.6rem; font-weight: 700; color: var(--primary); }
.service-left p { font-size: 13.5px; color: var(--text-muted); text-align: justify; }
.service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 8px;
  position: relative;
}
.service-tile {
  background: var(--primary);
  color: var(--white);
  border-radius: 8px;
  padding: 22px 14px;
  text-align: center;
  transition: background .2s;
}
.service-tile:hover { background: #1e226e; }
.service-tile i { font-size: 26px; margin-bottom: 8px; display: block; }
.service-tile span { font-size: 12.5px; font-weight: 600; line-height: 1.3; display: block; }
.service-tile.center-tile {
  grid-column: 1 / -1;
  background: var(--accent);
  max-width: 160px;
  margin: 0 auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 160px;
  height: 160px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.service-grid-wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.service-grid-wrapper .center-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 150px;
  background: var(--accent);
  border-radius: 50%;
  color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 2;
  padding: 10px;
}
.service-grid-wrapper .center-overlay i { font-size: 24px; margin-bottom: 6px; }
.service-grid-wrapper .center-overlay span { font-size: 12px; font-weight: 700; line-height: 1.2; }

/* ---------- CLIENTS ---------- */
.clients-carousel { position: relative; }
.client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
}
.client-logo img {
  max-height: 65px;
  max-width: 140px;
  object-fit: contain;
  filter: grayscale(30%);
  transition: filter .2s;
}
.client-logo img:hover { filter: grayscale(0%); }
.clients-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

/* ---------- FOOTER ---------- */
.footer {
  background: var(--primary);
  color: rgba(255,255,255,.85);
  padding: 50px 0 20px;
}
.footer h5 {
  color: var(--white);
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--accent);
  padding-bottom: 8px;
  display: inline-block;
}
.footer ul li { margin-bottom: 8px; }
.footer ul li a { color: rgba(255,255,255,.75); font-size: 13px; transition: color .2s; }
.footer ul li a:hover { color: var(--white); }
.footer-contact p { font-size: 13px; margin-bottom: 10px; }
.footer-contact i { margin-right: 8px; color: var(--accent-alt); }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.15);
  margin-top: 30px;
  padding-top: 16px;
  font-size: 12.5px;
  color: rgba(255,255,255,.6);
}
.footer-social a {
  color: rgba(255,255,255,.7);
  margin: 0 5px;
  font-size: 15px;
  transition: color .2s;
}
.footer-social a:hover { color: var(--white); }

/* ---------- BADGES / CERTIFICATIONS ---------- */
.cert-bar {
  background: var(--white);
  padding: 14px 0;
  border-top: 1px solid var(--border);
}
.cert-bar img { height: 48px; object-fit: contain; margin: 0 12px; }

/* ---------- PAGE BANNER (inner pages) ---------- */
.page-banner {
  background: 
  linear-gradient(120deg, rgba(34, 40, 140, 0.75) 60%, rgba(30, 34, 110, 0.85) 100%),
  url('../images/about-main.jpeg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  padding: 50px 0;
  color: var(--white);
  text-align: center;
}
.page-banner h1 { font-size: 2rem; font-weight: 700; margin-bottom: 6px; }
.page-banner .breadcrumb { background: transparent; padding: 0; margin: 0; display: flex; justify-content: center; }
.page-banner .breadcrumb-item { color: rgba(255,255,255,.75); font-size: 13px; }
.page-banner .breadcrumb-item.active { color: var(--white); }
.page-banner .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.5); }

/* ---------- UTILITIES ---------- */
.text-primary-custom { color: var(--primary) !important; }
.text-accent { color: var(--accent) !important; }
.bg-primary-custom { background: var(--primary) !important; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 991px) {
  .hero-carousel .carousel-item { height: 320px; }
  .hero-carousel .carousel-caption h2 { font-size: 1.6rem; }
  :root { --section-py: 50px; }
}
@media (max-width: 767px) {
  .hero-carousel .carousel-item { height: 260px; }
  .hero-carousel .carousel-caption h2 { font-size: 1.25rem; }
  .hero-carousel .carousel-caption p { display: none; }
  .topbar .contact-info { display: none !important; }
  .service-grid-wrapper .center-overlay { width: 110px; height: 110px; font-size: 11px; }
}
/* --- About Us Page Section --- */
    /* --- Intro Section --- */
    .about-intro-img img {
      width: 100%;
      object-fit: cover;
      border-radius: 4px;
    }
    .about-intro-text h2 {
      font-size: 1.55rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 6px;
    }
    .about-intro-text .underline-red { margin-bottom: 14px; }
    .about-intro-text p {
      font-size: 13.2px;
      color: var(--text-muted);
      text-align: justify;
      line-height: 1.75;
    }

    /* --- Quality Policy --- */
    .quality-policy-box {
      border: 1px solid #dde3f0;
      border-radius: 6px;
      background: #f9fafd;
      padding: 22px 24px;
      display: flex;
      align-items: flex-start;
      gap: 20px;
    }
    .quality-policy-box .qp-logo {
      flex-shrink: 0;
      width: 80px;
      height: 80px;
      object-fit: contain;
    }
    .quality-policy-box h4 {
      font-size: 1.15rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 8px;
    }
    .quality-policy-box p {
      font-size: 13px;
      color: var(--text-muted);
      margin: 0;
      line-height: 1.7;
    }

    /* --- Key Management --- */
    .key-management-section {
      position: relative;
      padding: 70px 0;
      overflow: hidden;
    }
    .key-management-bg {
      position: absolute;
      inset: 0;
      background: url('images/key-management-bg.jpg') center/cover no-repeat;
      opacity: .13;
      z-index: 0;
    }
    .key-management-section .container { position: relative; z-index: 1; }
    .key-management-section .section-title {
      font-size: 1.7rem;
      font-weight: 700;
      color: var(--text-dark);
      text-align: center;
      margin-bottom: 6px;
    }

    .mgmt-card {
      border-radius: 4px;
      padding: 28px 22px 22px;
      color: #fff;
      height: 100%;
      position: relative;
      min-height: 200px;
    }
    .mgmt-card.blue  { background: var(--primary); }
    .mgmt-card.red   { background: var(--accent); }
    .mgmt-card .mgmt-icon {
      width: 48px;
      height: 48px;
      border: 2px solid rgba(255,255,255,.6);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 12px;
      font-size: 18px;
    }
    .mgmt-card h5 {
      font-size: 14.5px;
      font-weight: 700;
      text-align: center;
      margin-bottom: 10px;
    }
    .mgmt-card p {
      font-size: 12.5px;
      line-height: 1.65;
      color: rgba(255,255,255,.88);
      margin-bottom: 12px;
    }
    .mgmt-card a.read-more {
      font-size: 12.5px;
      font-weight: 600;
      color: #fff;
      text-decoration: underline;
    }
    .mgmt-card a.read-more:hover { opacity: .8; }

    /* --- Strength of Company --- */
    .strength-section {
      background: #f0f2f8;
    }
    .strength-image img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .strength-content {
      background: var(--primary);
      padding: 40px 36px;
      height: 100%;
    }
    .strength-content h3 {
      font-size: 1.5rem;
      font-weight: 700;
      color: #fff;
      margin-bottom: 8px;
    }
    .strength-content .underline-red { margin-bottom: 20px; }
    .strength-content ul {
      padding: 0;
      margin: 0;
      list-style: none;
    }
    .strength-content ul li {
      font-size: 13px;
      color: rgba(255,255,255,.9);
      padding: 5px 0 5px 18px;
      position: relative;
      line-height: 1.6;
    }
    .strength-content ul li::before {
      content: '•';
      position: absolute;
      left: 0;
      color: rgba(255,255,255,.7);
    }

    /* --- Recruitment / Staffing / Training alt sections --- */
    .rst-section { padding: 60px 0; }
    .rst-section h3 {
      font-size: 1.35rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 6px;
    }
    .rst-section .underline-red { margin-bottom: 14px; }
    .rst-section p {
      font-size: 13.2px;
      color: var(--text-muted);
      text-align: justify;
      line-height: 1.75;
    }
    .rst-section ul {
      padding-left: 18px;
      margin: 10px 0 0;
    }
    .rst-section ul li {
      font-size: 13px;
      color: var(--text-muted);
      padding: 3px 0;
      line-height: 1.6;
    }
    .rst-img img {
      object-fit: cover;
      border-radius: 4px;
    }

    /* --- Bottom CTA Banner --- */
    .cta-banner {
      background: var(--primary);
      padding: 50px 20px;
      text-align: center;
    }
    .cta-banner h2 {
      font-size: 1.9rem;
      font-weight: 700;
      color: #fff;
      margin-bottom: 10px;
    }
    .cta-banner p {
      font-size: 1rem;
      color: var(--accent);
      font-style: italic;
      margin: 0;
    }

    /* Divider line under section-title center */
    .center-underline {
      display: block;
      width: 50px;
      height: 3px;
      background: var(--accent);
      border-radius: 2px;
      margin: 0 auto 36px;
    }
    .hk-intro {
      padding: 42px 0 36px;
    }
    .hk-intro p {
      font-size: 13.3px;
      color: var(--text-muted);
      text-align: justify;
      line-height: 1.8;
      margin: 0;
    }

    /* --- Section heading style (Routine / Spring) --- */
    .schedule-title {
      font-size: 1.55rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 4px;
    }
    .schedule-title-underline {
      display: flex;
      gap: 4px;
      margin-bottom: 22px;
    }
    .schedule-title-underline span {
      display: inline-block;
      height: 3px;
      border-radius: 2px;
    }
    .schedule-title-underline .line1 { width: 28px; background: var(--accent); }
    .schedule-title-underline .line2 { width: 14px; background: var(--accent); opacity:.45; }

    /* --- Checklist items --- */
    .check-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .check-list li {
      display: flex;
      align-items: flex-start;
      gap: 9px;
      font-size: 13.3px;
      color: var(--text-dark);
      margin-bottom: 10px;
      line-height: 1.5;
    }
    .check-list li i {
      color: var(--accent);
      font-size: 16px;
      margin-top: 1px;
      flex-shrink: 0;
    }

    /* --- Schedule image (right-edge bleed) --- */
    .routine-img img {
      width: 100%;
      height: 100%;
      min-height: 320px;
      object-fit: cover;
      border-radius: 3px;
    }

    /* --- Spring cleaning image (left column, dark border accent) --- */
    .spring-img-wrap {
      position: relative;
    }
    .spring-img-wrap img {
      width: 100%;
      height: 280px;
      object-fit: cover;
      border-radius: 3px;
    }
    .spring-img-wrap::before {
      content: '';
      position: absolute;
      top: 14px;
      left: -10px;
      width: 100%;
      height: 100%;
      background: var(--primary);
      border-radius: 3px;
      z-index: -1;
    }

    /* --- Dark maintenance panels --- */
    .maintenance-strip {
      background: #1e2878;
    }
    .maintenance-panel {
      padding: 36px 28px;
      border-right: 1px solid rgba(255,255,255,.12);
    }
    .maintenance-panel:last-child { border-right: none; }
    .maintenance-panel h5 {
      font-size: 14.5px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 16px;
      line-height: 1.4;
    }
    .maintenance-panel ul {
      list-style: disc;
      padding-left: 16px;
      margin: 0;
    }
    .maintenance-panel ul li {
      font-size: 13px;
      color: rgba(255,255,255,.85);
      margin-bottom: 7px;
      line-height: 1.55;
    }

    /* --- Note section --- */
    .note-section {
      padding: 36px 0 40px;
    }
    .note-section .note-heading {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: 15px;
      font-weight: 700;
      color: var(--text-dark);
      margin-bottom: 12px;
    }
    .note-section .note-heading i {
      color: var(--accent);
      font-size: 13px;
    }
    .note-section ul {
      list-style: disc;
      padding-left: 18px;
      margin: 0;
    }
    .note-section ul li {
      font-size: 13px;
      color: var(--text-muted);
      margin-bottom: 6px;
      line-height: 1.6;
    }
    .note-bottom-line {
      border: none;
      border-top: 3px solid var(--accent);
      opacity: 1;
      margin: 28px 0 0;
    }

    /* Routine section spacing */
    .routine-section { padding: 10px 0 50px; }
    .spring-section   { padding: 20px 0 50px; }
    .page-banner.housekeeping {
  background: 
  linear-gradient(120deg, rgba(34, 40, 140, 0.75) 60%, rgba(30, 34, 110, 0.85) 100%),
  url('../images/housekeeping-banner.webp');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  padding: 50px 0;
  color: var(--white);
  text-align: center;
}
    .page-banner.transport {
  background: 
  linear-gradient(120deg, rgba(34, 40, 140, 0.75) 60%, rgba(30, 34, 110, 0.85) 100%),
  url('../images/transport-banner.jpeg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  padding: 50px 0;
  color: var(--white);
  text-align: center;
}
    .page-banner.client {
  background: 
  linear-gradient(120deg, rgba(34, 40, 140, 0.75) 60%, rgba(30, 34, 110, 0.85) 100%),
  url('../images/clinet-banner.jpeg');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  padding: 50px 0;
  color: var(--white);
  text-align: center;
}
    .page-banner.career {
  background: 
  linear-gradient(120deg, rgba(34, 40, 140, 0.75) 60%, rgba(30, 34, 110, 0.85) 100%),
  url('../images/carrer-banner.webp');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
  padding: 50px 0;
  color: var(--white);
  text-align: center;
}
/* Transport Intro */
  .transport-intro { padding: 60px 0; }
  .transport-intro-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 4px;
  }
  .transport-title {
    font-size: 1.65rem;
    font-weight: 700;
    color: #2d3192;
    margin-bottom: 6px;
  }
  .transport-underline {
    display: flex;
    gap: 4px;
    margin-bottom: 18px;
  }
  .transport-underline .tul-1 {
    display: inline-block;
    width: 28px;
    height: 3px;
    background: #e8192c;
    border-radius: 2px;
  }
  .transport-underline .tul-2 {
    display: inline-block;
    width: 14px;
    height: 3px;
    background: #e8192c;
    opacity: .45;
    border-radius: 2px;
  }
  .transport-subtitle {
    font-size: 14px;
    font-weight: 500;
    color: #222222;
    margin-bottom: 14px;
  }
  .transport-desc {
    font-size: 13.2px;
    color: #666666;
    text-align: justify;
    line-height: 1.8;
    margin: 0;
  }
 
  /* Role Cards */
  .transport-roles { background: #f7f8fc; padding: 50px 0 60px; }
  .role-card { text-align: center; padding: 20px 10px; }
  .role-card img {
    object-fit: contain;
    margin-bottom: 18px;
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  .role-card h5 {
    font-size: 15px;
    font-weight: 700;
    color: #222222;
    margin: 0;
  }
   /* Hero Text Block */
  .healthcare-hero {
    text-align: center;
    padding: 60px 20px 40px;
  }
  .healthcare-hero h1 {
    font-size: 2.8rem;
    font-weight: 700;
    color: #222222;
    margin-bottom: 8px;
  }
  .healthcare-hero .hc-subtitle {
    font-size: 15px;
    font-weight: 500;
    color: #444444;
    margin-bottom: 22px;
  }
  .healthcare-hero .btn-contact {
    background: #2d3192;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 32px;
    border-radius: 4px;
    border: none;
    display: inline-block;
    text-decoration: none;
    margin-bottom: 28px;
    transition: background .2s;
  }
  .healthcare-hero .btn-contact:hover {
    background: #1e226e;
    color: #ffffff;
  }
  .healthcare-hero .hc-passion {
    font-size: 13px;
    font-weight: 700;
    color: #333333;
    letter-spacing: .5px;
    margin-bottom: 6px;
  }
  .healthcare-hero .hc-desc {
    font-size: 13.5px;
    color: #555555;
    line-height: 1.7;
    margin: 0;
  }
 
  /* Service Cards Row */
  .healthcare-cards {
    padding: 10px 0 60px;
  }
  .hc-card {
    background: #f7f8fc;
    border-radius: 4px;
    padding: 36px 24px 28px;
    text-align: center;
    height: 100%;
    position: relative;
  }
  .hc-card img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    margin-bottom: 0;
  }
  .hc-card-underline {
    width: 40px;
    height: 3px;
    background: #1e3a5f;
    border-radius: 2px;
    margin: 16px auto 0;
  }
    /* --- Tagline Banner --- */
  .ww-tagline {
    text-align: center;
    padding: 50px 20px 0;
  }
  .ww-tagline h2 {
    font-size: 1.6rem;
    font-weight: 600;
    color: #2d3192;
    margin-bottom: 30px;
  }
  .ww-tagline h2 span {
    color: #e8192c;
    font-style: italic;
  }
 
  /* --- Culture Cards --- */
  .culture-cards-row {
    display: flex;
    max-width: 760px;
    margin: 0 auto;
    border-radius: 4px;
    overflow: hidden;
  }
  .culture-tile {
    flex: 1;
    padding: 36px 20px 28px;
    text-align: center;
  }
  .culture-tile.tile-grey {
    background: #efefef;
  }
  .culture-tile.tile-red {
    background: #e8192c;
    background-image: url('../images/culture-bg-red.jpg');
    background-size: cover;
    background-blend-mode: multiply;
  }
  .culture-tile.tile-blue {
    background: #2d3192;
    background-image: url('../images/culture-bg-blue.jpg');
    background-size: cover;
    background-blend-mode: multiply;
  }
  .culture-tile i {
    font-size: 38px;
    margin-bottom: 16px;
    display: block;
  }
  .culture-tile.tile-grey i { color: #555555; }
  .culture-tile.tile-red  i { color: #ffffff; }
  .culture-tile.tile-blue i { color: #ffffff; }
  .culture-tile p {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
  }
  .culture-tile.tile-grey p { color: #333333; }
  .culture-tile.tile-red  p { color: #ffffff; font-style: italic; }
  .culture-tile.tile-blue p { color: #ffffff; }
 
  /* --- Work With Us Section --- */
  .work-with-us-section {
    background: #f7f8fc;
    padding: 60px 0 70px;
    margin-top: 50px;
  }
  .work-with-us-section .section-heading {
    text-align: center;
    font-size: 1.9rem;
    font-weight: 700;
    color: #2d3192;
    margin-bottom: 6px;
  }
  .ww-underline {
    display: flex;
    gap: 4px;
    justify-content: center;
    margin-bottom: 50px;
  }
  .ww-underline .wul-1 {
    display: inline-block;
    width: 28px;
    height: 3px;
    background: #e8192c;
    border-radius: 2px;
  }
  .ww-underline .wul-2 {
    display: inline-block;
    width: 14px;
    height: 3px;
    background: #e8192c;
    opacity: .45;
    border-radius: 2px;
  }
 
  /* Left quote text */
  .ww-quote-block {
    text-align: center;
    padding: 20px 30px;
  }
  .ww-quote-block .quote-text {
    font-size: 14px;
    color: #2d3192;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 16px;
  }
  .ww-quote-block .therefore {
    font-size: 15px;
    font-style: italic;
    color: #2d3192;
    font-weight: 600;
    margin-bottom: 16px;
  }
  .ww-quote-block .mission-text {
    font-size: 13.5px;
    color: #2d3192;
    line-height: 1.75;
    margin: 0;
  }
 
  /* Apply Online Form */
  .apply-form-card {
    background: #ffffff;
    border-radius: 6px;
    padding: 32px 28px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
  }
  .apply-form-card h4 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #222222;
    margin-bottom: 24px;
  }
  .apply-field {
    margin-bottom: 20px;
  }
  .apply-field label {
    display: block;
    font-size: 12.5px;
    color: #444444;
    margin-bottom: 4px;
  }
  .apply-field label span.req { color: #e8192c; }
  .apply-field input,
  .apply-field select {
    width: 100%;
    border: none;
    border-bottom: 1.5px solid #bbbbbb;
    background: transparent;
    font-size: 13px;
    color: #222222;
    padding: 6px 0;
    outline: none;
    border-radius: 0;
    transition: border-color .2s;
  }
  .apply-field input:focus,
  .apply-field select:focus {
    border-bottom-color: #2d3192;
  }
  .apply-field .dob-wrap {
    position: relative;
  }
  .apply-field .dob-wrap input { padding-right: 28px; }
  .apply-field .dob-wrap i {
    position: absolute;
    right: 4px;
    top: 8px;
    font-size: 13px;
    color: #888888;
    pointer-events: none;
  }
  .btn-submit {
    background: #2d3192;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 36px;
    border: none;
    border-radius: 4px;
    margin-top: 8px;
    cursor: pointer;
    transition: background .2s;
  }
  .btn-submit:hover { background: #1e226e; }
    .clientele-section {
    background: #f7f8fc;
    padding: 60px 0 70px;
  }
  .clientele-heading {
    text-align: center;
    font-size: 1.9rem;
    font-weight: 700;
    color: #2d3192;
    margin-bottom: 6px;
  }
  .clientele-underline {
    display: flex;
    gap: 4px;
    justify-content: center;
    margin-bottom: 44px;
  }
  .clientele-underline .cul-1 {
    display: inline-block;
    width: 28px;
    height: 3px;
    background: #e8192c;
    border-radius: 2px;
  }
  .clientele-underline .cul-2 {
    display: inline-block;
    width: 14px;
    height: 3px;
    background: #e8192c;
    opacity: .45;
    border-radius: 2px;
  }
 
  /* Logo Card */
  .client-logo-card {
    border: 1.5px solid #d8d8d8;
    border-radius: 14px;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 16px;
    height: 110px;
    transition: box-shadow .2s, transform .2s;
  }
  .client-logo-card:hover {
    box-shadow: 0 6px 22px rgba(45,49,146,.12);
    transform: translateY(-3px);
  }
  .client-logo-card img {
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
  }
      .contact-info-card {
      background: var(--primary);
      color: #fff;
      border-radius: 8px;
      padding: 28px 24px;
    }
    .contact-info-card h5 { font-weight: 700; margin-bottom: 20px; font-size: 1.1rem; }
    .contact-info-item { display: flex; gap: 14px; margin-bottom: 18px; align-items: flex-start; }
    .contact-info-item .icon { font-size: 18px; color: var(--accent-alt); margin-top: 2px; }
    .contact-info-item p { margin: 0; font-size: 13.5px; line-height: 1.6; }
    .contact-form-card { background: var(--white); border: 1px solid var(--border); border-radius: 8px; padding: 32px; }
    .contact-form-card .form-control, .contact-form-card .form-select {
      border-radius: 4px; font-size: 13.5px; border-color: var(--border); padding: 10px 14px;
    }
    .contact-form-card .form-control:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(45,49,146,.1); }
    .contact-form-card label { font-size: 13px; font-weight: 500; margin-bottom: 5px; }
      .compliance-section {
    padding: 50px 0 70px;
  }
 
  /* Header row */
  .compliance-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px;
    flex-wrap: wrap;
    gap: 16px;
  }
  .compliance-header h2 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #222222;
    margin: 0;
  }
  .btn-view-compliance {
    background: #3a7d58;
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 500;
    padding: 11px 28px;
    border-radius: 50px;
    border: none;
    letter-spacing: .4px;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: background .2s;
  }
  .btn-view-compliance:hover {
    background: #2d6347;
    color: #ffffff;
  }
  .btn-view-compliance i {
    font-size: 14px;
  }
 
  /* Table */
  .compliance-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
  }
  .compliance-table tr {
    border-bottom: 1px solid #e0e0e0;
  }
  .compliance-table tr:last-child {
    border-bottom: none;
  }
  .compliance-table td {
    padding: 13px 16px;
    vertical-align: top;
    line-height: 1.55;
  }
  .compliance-table td:first-child {
    font-weight: 600;
    color: #222222;
    width: 42%;
    background: #ffffff;
  }
  .compliance-table td:last-child {
    color: #333333;
    background: #ffffff;
  }
  /* Alternating row background */
  .compliance-table tr:nth-child(even) td {
    background: #f2f4f0;
  }
  .compliance-table tr:nth-child(even) td:first-child {
    background: #f2f4f0;
  }
 
  /* Outer border */
  .compliance-table-wrap {
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    overflow: hidden;
  }
  /* ---- Layout ---- */
  .filebrowser-section { padding: 40px 0 70px; }
 
  /* ---- Breadcrumb ---- */
  .fb-breadcrumb {
    font-size: 14px;
    font-weight: 500;
    color: #555555;
    margin-bottom: 28px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
  }
  .fb-breadcrumb a {
    color: #555555;
    text-decoration: none;
    cursor: pointer;
  }
  .fb-breadcrumb a:hover { color: #2d3192; }
  .fb-breadcrumb .sep { color: #aaaaaa; font-size: 13px; }
  .fb-breadcrumb .current { color: #222222; font-weight: 600; }
 
  /* ---- Search ---- */
  .fb-search-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
  }
  .fb-search {
    position: relative;
    width: 100%;
    max-width: 460px;
  }
  .fb-search i {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #888888;
    font-size: 13px;
  }
  .fb-search input {
    width: 100%;
    padding: 9px 14px 9px 34px;
    border: none;
    border-bottom: 1.5px solid #cccccc;
    font-size: 13px;
    color: #333333;
    background: transparent;
    outline: none;
    transition: border-color .2s;
  }
  .fb-search input:focus { border-bottom-color: #2d3192; }
 
  /* ---- Table header ---- */
  .fb-table-header {
    display: grid;
    grid-template-columns: 32px 1fr 140px 80px 160px 40px;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1.5px solid #dddddd;
    font-size: 12.5px;
    font-weight: 600;
    color: #555555;
    gap: 10px;
  }
  .fb-table-header .sort-icon { cursor: pointer; color: #888; font-size: 13px; }
 
  /* ---- Row ---- */
  .fb-row {
    display: grid;
    grid-template-columns: 32px 1fr 140px 80px 160px 40px;
    align-items: center;
    padding: 14px 10px;
    border-bottom: 1px solid #eeeeee;
    gap: 10px;
    position: relative;
    transition: background .15s;
  }
  .fb-row:hover { background: #fafafa; }
 
  /* Checkbox */
  .fb-checkbox { width: 16px; height: 16px; cursor: pointer; accent-color: #2d3192; }
 
  /* Item name cell */
  .fb-item-name {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
  }
  .fb-item-name:hover .fb-name { color: #2d3192; }
 
  /* Folder icon */
  .fb-folder-icon {
    width: 36px;
    height: 36px;
    background: #2d6347;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .fb-folder-icon i { color: #ffffff; font-size: 16px; }
 
  /* PDF icon */
  .fb-pdf-icon {
    width: 36px;
    height: 36px;
    background: #e04b3a;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .fb-pdf-icon span {
    font-size: 9px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: .5px;
  }
 
  .fb-name {
    font-size: 13.5px;
    font-weight: 500;
    color: #222222;
    transition: color .15s;
  }
  .fb-meta {
    font-size: 12px;
    color: #888888;
    margin-top: 1px;
  }
 
  /* Date / Views */
  .fb-date, .fb-views {
    font-size: 13px;
    color: #666666;
  }
 
  /* Contributor */
  .fb-contributor {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #555555;
  }
  .fb-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    background: #ddd;
    border: 1.5px solid #cccccc;
  }
  .fb-avatar-placeholder {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3a7d58, #2d3192);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
  }
 
  /* Three-dot menu button */
  .fb-menu-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #888888;
    font-size: 16px;
    padding: 4px 6px;
    border-radius: 4px;
    transition: background .15s;
    position: relative;
  }
  .fb-menu-btn:hover { background: #eeeeee; color: #333; }
 
  /* Dropdown menu */
  .fb-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: 36px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
    z-index: 100;
    min-width: 150px;
    overflow: hidden;
  }
  .fb-dropdown.open { display: block; }
  .fb-dropdown-item {
    padding: 11px 18px;
    font-size: 13.5px;
    color: #222222;
    cursor: pointer;
    transition: background .15s;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .fb-dropdown-item:hover { background: #f5f5f5; }
  .fb-dropdown-item i { font-size: 13px; color: #666666; width: 16px; }
  .fb-dropdown-divider {
    border: none;
    border-top: 1px solid #eeeeee;
    margin: 4px 0;
  }
 
  /* Empty state */
  .fb-empty {
    text-align: center;
    padding: 50px 20px;
    color: #888888;
    font-size: 14px;
  }
  .fb-empty i { font-size: 40px; margin-bottom: 14px; display: block; color: #cccccc; }
 
  /* Toast notification */
  .fb-toast {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%) translateY(80px);
    background: #333333;
    color: #ffffff;
    font-size: 13px;
    padding: 10px 24px;
    border-radius: 6px;
    z-index: 9999;
    transition: transform .3s ease;
    pointer-events: none;
  }
  .fb-toast.show { transform: translateX(-50%) translateY(0); }
  .gallery-section {
    padding: 50px 0 70px;
    background: #ffffff;
  }
 
  /* Masonry-style 3-column grid using CSS columns */
  .gallery-grid {
    columns: 3;
    column-gap: 40px;
  }
 
  .gallery-item {
    break-inside: avoid;
    border: 1px solid #e0e0e0;
    margin-bottom: 0;
    display: block;
    background: #ffffff;
  }
 
  .gallery-item img {
    width: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 4/3;
  }
 
  .gallery-item .gallery-caption {
    font-size: 13px;
    color: #333333;
    text-align: center;
    padding: 10px 10px 12px;
    border-top: 1px solid #e8e8e8;
    background: #ffffff;
  }
 
  /* Responsive */
  @media (max-width: 767px) {
    .gallery-grid { columns: 2; }
  }
  @media (max-width: 480px) {
    .gallery-grid { columns: 1; }
  }