/* ==========================================================================
   RBG Prime Security — Design Enhancements
   Yeh file existing master.css ke baad load hoti hai
   aur sirf polish add karti hai. HTML touch nahi karna padta.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ---------- 1. TYPOGRAPHY ---------- */
body,
.l-theme,
p, span, div, li, td, th,
.ui-title-block,
.ui-subtitle-block,
.ui-title-inner-1,
.ui-title-inner-2,
.b-type-a__title,
.b-type-b__title,
.b-type-c__title,
.b-type-d__title,
.b-form-request__title,
.b-advantages-1__title,
.b-advantages-1-item__title,
.b-advantages-2__name,
.b-reviews-1__title,
.blockquote,
.panel-title,
.btn {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  letter-spacing: -.01em;
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6,
.ui-title-block,
.ui-title-inner-1,
.ui-title-inner-2,
.b-type-a__title,
.b-type-b__title,
.b-type-c__title,
.b-advantages-1__title,
.b-advantages-1-item__title,
.b-reviews-1__title,
.b-form-request__title {
  letter-spacing: -.5px !important;
  font-weight: 800 !important;
}

.ui-title-block {
  font-size: 36px !important;
  line-height: 1.2 !important;
}

.ui-subtitle-block {
  color: #6b7280 !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ---------- 2. SECTION SPACING ---------- */
.section-default,
.section-type-a,
.b-advantages-1,
.b-type-c {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

@media (max-width: 768px) {
  .section-default,
  .section-type-a,
  .b-advantages-1,
  .b-type-c {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .ui-title-block { font-size: 28px !important; }
}


/* ---------- 3. HERO SLIDER ---------- */
.main-slider .sp-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,28,52,.55) 0%, rgba(12,28,52,.25) 60%, rgba(0,0,0,0) 100%);
  z-index: 1;
  pointer-events: none;
}
.main-slider .sp-layer { z-index: 2; }

.main-slider__title {
  font-size: clamp(32px, 4.5vw, 56px) !important;
  font-weight: 900 !important;
  letter-spacing: -1.2px !important;
  line-height: 1.1 !important;
  text-shadow: 0 4px 24px rgba(0,0,0,.35);
}

.main-slider__info {
  font-size: 18px !important;
  line-height: 1.65 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
  max-width: 560px;
  margin-bottom: 18px !important;
}


/* ---------- 4. BUTTONS ---------- */
.btn,
.btn-primary,
.btn-default,
.btn-effect,
.main-slider__btn,
.b-type-c__btn,
.b-form-request__btn {
  border-radius: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  text-transform: uppercase !important;
  padding: 13px 26px !important;
  font-size: 13px !important;
  transition: all .25s ease !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.btn:hover,
.btn-primary:hover,
.btn-default:hover,
.btn-effect:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
}

.btn-link {
  font-weight: 600 !important;
  letter-spacing: .3px !important;
  position: relative;
  transition: all .2s ease !important;
}
.btn-link::after {
  content: "→";
  display: inline-block;
  margin-left: 6px;
  transition: transform .2s ease;
}
.btn-link:hover::after { transform: translateX(4px); }


/* ---------- 5. CONTACT BANNER (top section) ---------- */
.b-contact-banner {
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 14px 50px rgba(12,28,52,.15) !important;
  transition: transform .3s ease, box-shadow .3s ease;
}
.b-contact-banner:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(12,28,52,.22) !important;
}
.b-contact-banner__title {
  font-weight: 800 !important;
  letter-spacing: -.3px !important;
}


/* ---------- 6. VIDEO + INTRO BLOCK ---------- */
.b-type-b__media {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(12,28,52,.18);
}
.b-type-b__title { line-height: 1.2 !important; }


/* ---------- 7. WHY CHOOSE US (advantages-1) ---------- */
.b-advantages-1::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,28,52,.88) 0%, rgba(12,28,52,.7) 100%);
  z-index: 0;
}
.b-advantages-1 .container { position: relative; z-index: 2; }

.b-advantages-1-item {
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  padding: 36px 28px !important;
  margin: 0 !important;
  text-align: center;
  transition: all .3s ease;
  height: 100%;
}
.b-advantages-1-item:hover {
  transform: translateY(-6px);
  background: rgba(255,255,255,.1);
  border-color: rgba(255,255,255,.25);
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.b-advantages-1-item__icon {
  font-size: 44px !important;
  color: #fbbf24 !important;
  margin-bottom: 20px !important;
  display: inline-block;
}
.b-advantages-1-item__title {
  color: #fff !important;
  font-size: 20px !important;
  margin-bottom: 12px !important;
}
.b-advantages-1-item__text,
.b-advantages-1-item__text p {
  color: rgba(255,255,255,.78) !important;
  font-size: 14.5px !important;
}


/* ---------- 8. WHAT WE OFFER (advantages-2) ---------- */
.b-advantages-2 {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 40px 0 0 0 !important;
  width: 100% !important;
}
.b-advantages-2::before,
.b-advantages-2::after { display: none !important; }

.b-advantages-2__item {
  display: block !important;
  float: none !important;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #eef0f4 !important;
  border-radius: 16px !important;
  padding: 36px 28px !important;
  margin: 0 !important;
  transition: all .3s ease !important;
  position: relative !important;
  overflow: hidden !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
.b-advantages-2__item::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 0; height: 3px;
  background: #dc2626;
  transition: width .35s ease;
}
.b-advantages-2__item::after { display: none !important; }
.b-advantages-2__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(12,28,52,.1);
  border-color: transparent !important;
}
.b-advantages-2__item:hover::before { width: 100%; }

.b-advantages-2__icon {
  position: static !important;
  float: none !important;
  font-size: 32px !important;
  color: #dc2626 !important;
  background: #fef2f2 !important;
  width: 64px !important;
  height: 64px !important;
  border-radius: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 20px 0 !important;
  line-height: 1 !important;
}

.b-advantages-2__inner {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.b-advantages-2__name {
  font-weight: 700 !important;
  font-size: 19px !important;
  color: #0c1c34 !important;
  margin-bottom: 10px !important;
  text-transform: none !important;
  letter-spacing: -.2px !important;
  line-height: 1.3 !important;
}
.b-advantages-2__text {
  color: #6b7280 !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 14px !important;
}
.b-advantages-2__link {
  display: inline-block !important;
  color: #dc2626 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
}

@media (max-width: 991px) {
  .b-advantages-2 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .b-advantages-2 { grid-template-columns: 1fr !important; }
}


/* ---------- 9. FAQ ACCORDION ---------- */
.panel-group { margin-bottom: 0 !important; }

.panel-group .panel,
.accordion .panel,
.panel-default {
  background: #fff !important;
  border: 1px solid #eef0f4 !important;
  border-radius: 10px !important;
  margin-bottom: 8px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: all .25s ease !important;
}
.panel-group .panel:hover {
  border-color: #dc2626 !important;
  box-shadow: 0 6px 18px rgba(12,28,52,.06) !important;
}

.panel-heading {
  background: transparent !important;
  border: none !important;
  padding: 12px 50px 12px 16px !important;
  position: relative !important;
  min-height: auto !important;
}

.panel-title,
.panel-heading .panel-title,
.panel-default > .panel-heading .panel-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #0c1c34 !important;
  letter-spacing: -.1px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}

.panel-body {
  padding: 6px 16px 14px !important;
  color: #6b7280 !important;
  border-top: 1px solid #f3f4f6 !important;
  padding-top: 12px !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}
.panel-body p { margin-bottom: 0 !important; font-size: 13.5px !important; }

.panel-heading .btn-collapse,
.panel .btn-collapse,
a.btn-collapse {
  position: absolute !important;
  top: 50% !important;
  right: 10px !important;
  bottom: auto !important;
  left: auto !important;
  transform: translateY(-50%) !important;
  width: 26px !important;
  height: 26px !important;
  background: #fef2f2 !important;
  border-radius: 6px !important;
  color: #dc2626 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
  transition: all .2s ease !important;
}
.panel-heading .btn-collapse:hover,
.panel .btn-collapse:hover {
  background: #dc2626 !important;
}
.panel-heading .btn-collapse:hover .icon,
.panel .btn-collapse:hover .icon { color: #fff !important; }

.panel-heading .btn-collapse .icon,
.panel .btn-collapse .icon {
  font-size: 14px !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  position: static !important;
  color: #dc2626 !important;
}
.panel-heading .btn-collapse .icon::before {
  content: "+" !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.panel-heading .btn-collapse:not(.collapsed) .icon::before {
  content: "−" !important;
}

/* Reduce overall FAQ section / accordion image side margin */
.accordion_marg-top_a { margin-top: 0 !important; }

/* FAQ section ka security guard image chota karein */
img[src*="home/1.png"],
img[src*="home/1.PNG"] {
  max-width: 70% !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}


/* ---------- 10. CTA BAND (b-type-c) ---------- */
.b-type-c::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,28,52,.85) 0%, rgba(220,38,38,.6) 100%);
  z-index: 0;
}
.b-type-c .container { position: relative; z-index: 2; }
.b-type-c__title {
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 800 !important;
  letter-spacing: -.8px !important;
  margin-bottom: 14px !important;
}
.b-type-c__subtitle {
  font-size: 17px !important;
  opacity: .9;
}


/* ---------- 11. GALLERY (carousel — 4 visible, rest slide) ---------- */
.b-gallery-1 {
  padding: 0 30px !important;
  position: relative;
}

/* Gallery item — slide pe equal size */
.b-gallery-carousel .b-gallery-1__item,
.b-gallery-1 .owl-item .b-gallery-1__item {
  margin: 0 8px !important;
  padding: 0 !important;
  width: auto !important;
  display: block !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: all .3s ease !important;
  box-shadow: 0 4px 14px rgba(12,28,52,.08);
  aspect-ratio: 1 / 1 !important;
  background: #f3f4f6;
  position: relative;
}
.b-gallery-1__item:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 14px 40px rgba(12,28,52,.2);
}
.b-gallery-1__item a,
.b-gallery-1__item .js-zoom-gallery__item {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.b-gallery-1__item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  transition: transform .4s ease !important;
}
.b-gallery-1__item:hover img { transform: scale(1.05); }

/* Owl carousel nav arrows for gallery */
.b-gallery-1 .owl-buttons {
  position: static !important;
}
.b-gallery-1 .owl-prev,
.b-gallery-1 .owl-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important;
  height: 42px !important;
  background: #fff !important;
  color: #0c1c34 !important;
  border-radius: 50% !important;
  box-shadow: 0 6px 18px rgba(12,28,52,.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  z-index: 10 !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: all .25s ease !important;
}
.b-gallery-1 .owl-prev { left: -10px !important; }
.b-gallery-1 .owl-next { right: -10px !important; }
.b-gallery-1 .owl-prev:hover,
.b-gallery-1 .owl-next:hover {
  background: #dc2626 !important;
  color: #fff !important;
  transform: translateY(-50%) scale(1.08) !important;
}

/* Hide the old load-more button if it appears anywhere */
.b-gallery-1__btn { display: none !important; }


/* ---------- 12. TESTIMONIALS (Protected Clients) ---------- */
.owl-carousel .owl-wrapper-outer { overflow: visible !important; }

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  display: flex !important;
  align-items: stretch !important;
}
.owl-carousel .owl-item {
  padding: 12px !important;
  box-sizing: border-box !important;
  float: none !important;
  height: auto !important;
}

.b-reviews-1 {
  background: #fff !important;
  border: 1px solid #eef0f4 !important;
  border-radius: 16px !important;
  padding: 28px !important;
  margin: 0 !important;
  transition: all .3s ease;
  box-shadow: 0 4px 14px rgba(12,28,52,.04);
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-height: 340px !important;
}
.b-reviews-1:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(12,28,52,.12) !important;
}

/* Blockquote ko card ke andar evenly distribute karein */
.b-reviews-1 .blockquote {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  margin: 0 !important;
}
.b-reviews-1 .blockquote p {
  flex: 1 !important;
  margin-bottom: 18px !important;
}
.b-reviews-1 .blockquote__footer {
  margin-top: auto !important;
  padding-top: 16px !important;
  border-top: 1px solid #f3f4f6;
}
.b-reviews-1__title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0c1c34 !important;
  margin-bottom: 14px !important;
}
.blockquote {
  border: none !important;
  padding: 0 !important;
  font-size: 15px !important;
  color: #374151 !important;
  font-style: italic;
}
.blockquote::before {
  content: "\201C";
  font-size: 48px;
  color: #dc2626;
  line-height: 0;
  vertical-align: -12px;
  margin-right: 4px;
}
.blockquote__author {
  font-weight: 700 !important;
  color: #0c1c34 !important;
  font-style: normal;
}
.blockquote__category {
  font-size: 12px !important;
  color: #6b7280 !important;
  font-style: normal;
}
.blockquote__img img {
  border-radius: 50% !important;
  border: 3px solid #fef2f2;
}


/* ---------- 13. BRANDS STRIP ---------- */
.b-brands {
  padding: 20px 0;
  border-top: 1px solid #eef0f4;
  border-bottom: 1px solid #eef0f4;
}
.b-brands__item img {
  filter: grayscale(100%);
  opacity: .55;
  transition: all .3s ease;
}
.b-brands__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}


/* ---------- 14. ASK A QUOTE FORM ---------- */
.b-form-request__parallax::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,28,52,.9) 0%, rgba(12,28,52,.7) 100%);
}
.b-form-request__title {
  font-size: 36px !important;
  font-weight: 800 !important;
  letter-spacing: -.8px !important;
}

.b-form-request input,
.b-form-request select,
.b-form-request textarea,
.b-form-request .form-control {
  border-radius: 10px !important;
  border: 1.5px solid rgba(255,255,255,.2) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  padding: 13px 16px !important;
  transition: all .2s ease !important;
  font-size: 14.5px !important;
}
.b-form-request input::placeholder,
.b-form-request textarea::placeholder {
  color: rgba(255,255,255,.55) !important;
}
.b-form-request input:focus,
.b-form-request select:focus,
.b-form-request textarea:focus,
.b-form-request .form-control:focus {
  border-color: #fbbf24 !important;
  background: rgba(255,255,255,.12) !important;
  box-shadow: 0 0 0 4px rgba(251,191,36,.12) !important;
  outline: none !important;
}

/* Contact page form (light section) — dark text inputs */
.ui-form .form-control,
.section-contacts ~ .section-default .form-control {
  border-radius: 10px !important;
  border: 1.5px solid #e5e7eb !important;
  background: #fff !important;
  color: #0c1c34 !important;
  padding: 13px 16px !important;
  font-size: 14.5px !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
}
.ui-form .form-control::placeholder { color: #9ca3af !important; }
.ui-form .form-control:focus {
  border-color: #dc2626 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(220,38,38,.10) !important;
  outline: none !important;
}


/* ---------- 15. BORDERS WITH 2 COLORS (decor) ---------- */
.border-2-colors {
  border-radius: 18px !important;
  overflow: hidden;
}


/* ---------- 16. SECTION DECOR LINES ---------- */
.ui-decor-type-1,
.ui-decor-type-3 {
  margin-top: 14px !important;
  margin-bottom: 28px !important;
}


/* ---------- 17. SCROLLBAR (subtle) ---------- */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f8fafc; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }


/* ---------- 18. PRELOADER POLISH ---------- */
#page-preloader {
  background: linear-gradient(135deg, #fafbfc 0%, #fff 100%);
}


/* ---------- 19. SMOOTH ANIMATIONS ---------- */
.wow {
  animation-duration: .9s !important;
  animation-fill-mode: both;
}
* {
  -webkit-tap-highlight-color: transparent;
}
img { transition: opacity .25s ease; }


/* ---------- 20. CAREER + CONTACT US TWIN CTA ---------- */
.row-no-mrg { margin: 0 !important; }

.b-container-without-1 {
  position: relative !important;
  padding: 70px 40px !important;
  min-height: 320px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: hidden !important;
}

/* LEFT (Career) — dark with image */
.b-container-without-1_mod-a {
  background: linear-gradient(135deg, rgba(12,28,52,.92) 0%, rgba(12,28,52,.7) 100%),
              url('../images/components/b-banners/bg-1.jpg') center/cover no-repeat !important;
  color: #fff !important;
}
.b-container-without-1_mod-a::before {
  content: "💼";
  position: absolute;
  top: 24px;
  right: 32px;
  font-size: 48px;
  opacity: .15;
}

/* RIGHT (Contact Us) — gradient red->navy, no flat blue */
.b-container-without-1_mod-b,
.b-container-without-1.bg-secondary {
  background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%) !important;
  color: #fff !important;
  border: none !important;
}
.b-container-without-1_mod-b::before {
  content: "🛡️";
  position: absolute;
  top: 24px;
  left: 32px;
  font-size: 48px;
  opacity: .18;
}
.b-container-without-1_mod-b::after {
  content: "";
  position: absolute;
  bottom: -80px;
  right: -80px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.12), transparent 70%);
  pointer-events: none;
}

/* override border-2-colors styling here */
.b-container-without-1.border-2-colors {
  border-radius: 0 !important;
  border: none !important;
}

.b-container-without-1__title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #fff !important;
  letter-spacing: -.4px !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
  position: relative;
  z-index: 2;
}
.b-container-without-1__text {
  position: relative;
  z-index: 2;
  max-width: 460px;
}
.b-container-without-1__text p {
  font-size: 15px !important;
  color: rgba(255,255,255,.85) !important;
  margin-bottom: 26px !important;
  line-height: 1.65 !important;
}
.b-container-without-1__btn {
  position: relative;
  z-index: 2;
  display: inline-block !important;
  padding: 13px 32px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border-radius: 10px !important;
  transition: all .25s ease !important;
  border: none !important;
}
/* Career button — gold */
.b-container-without-1_mod-a .b-container-without-1__btn {
  background: #fbbf24 !important;
  color: #0c1c34 !important;
  box-shadow: 0 6px 20px rgba(251,191,36,.3) !important;
}
.b-container-without-1_mod-a .b-container-without-1__btn:hover {
  background: #f59e0b !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(251,191,36,.45) !important;
}
/* Contact button — white */
.b-container-without-1_mod-b .b-container-without-1__btn {
  background: #fff !important;
  color: #dc2626 !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.18) !important;
}
.b-container-without-1_mod-b .b-container-without-1__btn:hover {
  background: #0c1c34 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,.3) !important;
}

@media (max-width: 768px) {
  .b-container-without-1 {
    padding: 50px 24px !important;
    min-height: 260px !important;
  }
  .b-container-without-1__title { font-size: 22px !important; }
}


/* ---------- 21. FOOTER BEAUTIFUL REDESIGN ---------- */
.footer { position: relative; }

.footer__main,
.footer .footer__main,
.footer__main_mod-a {
  background: linear-gradient(135deg, #0c1c34 0%, #0a1628 50%, #1a1a1a 100%) !important;
  padding: 60px 0 30px !important;
  position: relative !important;
  overflow: hidden !important;
  border-top: 3px solid #d4af37 !important;
}

.footer__main::before {
  content: "";
  position: absolute;
  top: -150px;
  right: -150px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(212,175,55,.08), transparent 70%);
  pointer-events: none;
}
.footer__main::after {
  content: "";
  position: absolute;
  bottom: -100px;
  left: -100px;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(220,38,38,.06), transparent 70%);
  pointer-events: none;
}
.footer__main .container { position: relative; z-index: 2; }

/* Logo block */
.footer__logo {
  display: inline-block !important;
  transition: transform .3s ease !important;
  margin-bottom: 16px !important;
}
.footer__logo:hover { transform: scale(1.04); }
.footer__logo img {
  width: 220px !important;
  filter: drop-shadow(0 8px 20px rgba(212,175,55,.25));
}

/* Marathi quote — make it look like a brand mantra */
.footer__main p[style*="Devanagari"],
.footer__main p[style*="d4af37"] {
  color: #d4af37 !important;
  font-size: 15px !important;
  font-style: italic !important;
  line-height: 1.7 !important;
  max-width: 440px;
  margin: 0 auto !important;
  padding: 16px 24px !important;
  border-left: 3px solid #d4af37 !important;
  border-right: 3px solid #d4af37 !important;
  background: rgba(212,175,55,.04) !important;
  border-radius: 8px !important;
}

/* Section headings */
.footer__main h4 {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 0 16px !important;
  position: relative !important;
  padding-bottom: 10px !important;
  display: inline-block !important;
}
.footer__main h4::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 2px;
  background: linear-gradient(90deg, #d4af37, transparent);
}

/* Contact items */
.footer__main .row > div > div[style*="margin-top"] > div[style*="margin-bottom"],
.footer__main div[style*="color: #ccc"] {
  color: #cbd5e1 !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
  line-height: 1.6 !important;
  padding: 6px 0 !important;
  transition: color .2s ease !important;
}
.footer__main div[style*="color: #ccc"]:hover { color: #fff !important; }

.footer__main .icon,
.footer__main i.icon {
  color: #d4af37 !important;
  font-size: 16px !important;
}

/* Social icons — beautiful circles */
.social-net li {
  margin-right: 8px !important;
}
.social-net li a {
  width: 38px !important;
  height: 38px !important;
  line-height: 38px !important;
  border-radius: 50% !important;
  border: 1.5px solid rgba(212,175,55,.3) !important;
  color: #d4af37 !important;
  background: rgba(212,175,55,.06) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  transition: all .3s cubic-bezier(.4,0,.2,1) !important;
  position: relative !important;
  overflow: hidden !important;
}
.social-net li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #d4af37, #f59e0b);
  transform: scale(0);
  border-radius: 50%;
  transition: transform .3s ease;
  z-index: 0;
}
.social-net li a:hover {
  border-color: #d4af37 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 18px rgba(212,175,55,.35) !important;
  color: #0c1c34 !important;
}
.social-net li a:hover::before { transform: scale(1); }
.social-net li a i {
  position: relative;
  z-index: 1;
}

/* Service lists */
.footer__main div[style*="columns: 2"] {
  font-size: 13.5px !important;
  line-height: 2.2 !important;
}
.footer__main div[style*="columns: 2"] > div {
  color: #94a3b8 !important;
  padding: 2px 0 !important;
  position: relative;
  padding-left: 14px !important;
  transition: all .2s ease !important;
  cursor: default;
  margin-bottom: 0 !important;
}
.footer__main div[style*="columns: 2"] > div::before {
  content: "›";
  position: absolute;
  left: 0;
  color: #d4af37;
  font-weight: 700;
  transition: transform .2s ease;
}
.footer__main div[style*="columns: 2"] > div:hover {
  color: #fff !important;
  padding-left: 18px !important;
}
.footer__main div[style*="columns: 2"] > div:hover::before {
  transform: translateX(2px);
}

/* Divider row */
.footer__main .row[style*="border-bottom"] {
  border-bottom: 1px solid rgba(212,175,55,.15) !important;
  padding-bottom: 36px !important;
  margin-bottom: 36px !important;
}

/* COPYRIGHT bar */
.copyright {
  background: #050810 !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(212,175,55,.1) !important;
}
.copyright .text-center {
  color: #6b7280 !important;
  font-size: 13px !important;
  letter-spacing: .3px !important;
}
.copyright a {
  color: #d4af37 !important;
  font-weight: 600 !important;
  transition: color .2s ease !important;
}
.copyright a:hover { color: #fff !important; }

@media (max-width: 768px) {
  .footer__main { padding: 50px 0 20px !important; }
  .footer__logo img { width: 160px !important; }
  .footer__main h4 { font-size: 12px !important; }
  .footer__main div[style*="columns: 2"] { columns: 1 !important; }
  .social-net { text-align: center; display: block; margin-top: 12px !important; }
}


/* ==========================================================================
   SERVICE PAGE SPECIFIC POLISH
   ========================================================================== */

/* ---------- S1. SERVICE PAGE HERO (b-title-page) ---------- */
.section-title-page {
  position: relative !important;
  padding: 58px 0 50px !important;
  overflow: hidden !important;
}
.section-title-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(12,28,52,.92) 0%, rgba(12,28,52,.7) 50%, rgba(220,38,38,.6) 100%);
  z-index: 1;
}
.section-title-page .container,
.section-title-page > * {
  position: relative;
  z-index: 2;
}

.b-title-page {
  font-size: clamp(36px, 5vw, 60px) !important;
  font-weight: 900 !important;
  letter-spacing: -1.5px !important;
  color: #fff !important;
  text-transform: capitalize !important;
  margin-bottom: 18px !important;
  text-shadow: 0 4px 20px rgba(0,0,0,.35);
  line-height: 1.1 !important;
}
.b-title-page__info {
  color: rgba(255,255,255,.9) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  max-width: 720px;
  margin: 0 auto !important;
  line-height: 1.65 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.3);
}


/* ---------- S2. TOP 3 ADVANTAGES (b-advantages-3) ---------- */
.b-advantages-3,
ul.b-advantages-3,
.b-advantages-3_mod-b {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.b-advantages-3::before,
.b-advantages-3::after { display: none !important; content: none !important; }

.b-advantages-3__item {
  display: block !important;
  float: none !important;
  width: 100% !important;
  background: #fff !important;
  border: 1px solid #eef0f4 !important;
  border-radius: 16px !important;
  padding: 36px 28px !important;
  margin: 0 !important;
  text-align: center !important;
  transition: all .3s ease !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  min-height: auto !important;
  height: 100%;
}
.b-advantages-3__item::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 3px !important;
  background: linear-gradient(90deg, #dc2626, #fbbf24) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform .35s ease !important;
}
.b-advantages-3__item::after { display: none !important; content: none !important; }
.b-advantages-3__item:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(12,28,52,.12);
  border-color: transparent !important;
}
.b-advantages-3__item:hover::before { transform: scaleX(1) !important; }

.b-advantages-3__inner {
  display: block !important;
  float: none !important;
  width: 100% !important;
  text-align: center !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.b-advantages-3__icon {
  position: static !important;
  float: none !important;
  font-size: 44px !important;
  color: #dc2626 !important;
  background: #fef2f2 !important;
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 18px 0 !important;
  line-height: 1 !important;
}
.b-advantages-3__icon.color-primary { color: #dc2626 !important; }

.b-advantages-3__subtitle {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #dc2626 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin: 0 0 8px 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}
.b-advantages-3__title {
  display: block !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  color: #0c1c34 !important;
  letter-spacing: -.3px !important;
  text-transform: capitalize !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}
.b-advantages-3__text {
  display: block !important;
  width: 100% !important;
  color: #6b7280 !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  .b-advantages-3,
  ul.b-advantages-3,
  .b-advantages-3_mod-a,
  .b-advantages-3_mod-b { grid-template-columns: 1fr !important; }
}

/* About page: heading ("Skilled & Qualified...") aur cards ke beech space */
ul.b-advantages-3.b-advantages-3_mod-a { margin-top: 44px !important; }
.ui-title-block.text-center { margin-bottom: 8px !important; }


/* ---------- S3. ANIMATED COUNTERS (b-progress) ---------- */
.b-progress {
  background: linear-gradient(135deg, #0c1c34 0%, #1a1a1a 100%);
  padding: 60px 40px !important;
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}
.b-progress::after {
  content: "";
  position: absolute;
  top: -100px;
  right: -100px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(251,191,36,.08), transparent 70%);
}
.b-progress-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  z-index: 2;
}
.b-progress-list__item {
  text-align: center !important;
  border-right: 1px solid rgba(255,255,255,.08);
  padding: 0 !important;
}
.b-progress-list__item:last-child { border-right: none; }

.b-progress-list__label {
  font-size: 12px !important;
  color: #94a3b8 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
}
.b-progress-list__percent {
  display: block !important;
  font-size: 48px !important;
  font-weight: 900 !important;
  color: #fbbf24 !important;
  letter-spacing: -1.5px !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}
.b-progress-list__name {
  display: block !important;
  font-size: 14px !important;
  color: #cbd5e1 !important;
  font-weight: 500 !important;
  text-transform: capitalize !important;
  letter-spacing: .3px !important;
}

@media (max-width: 768px) {
  .b-progress-list {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .b-progress-list__item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 20px !important; }
  .b-progress-list__item:last-child { border-bottom: none; }
  .b-progress-list__percent { font-size: 36px !important; }
}


/* ---------- S4. AWARD SECTION (b-type-a icon) ---------- */
.b-type-a__icon {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
  color: #0c1c34 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 36px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 14px 30px rgba(251,191,36,.3);
}
.b-type-a__title {
  font-size: 28px !important;
  font-weight: 800 !important;
  letter-spacing: -.5px !important;
  color: #0c1c34 !important;
  margin-bottom: 14px !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}
.b-type-a__title_emphasis {
  color: #dc2626 !important;
  font-weight: 900 !important;
}


/* ---------- S5. TESTIMONIALS DARK (b-reviews-3) ---------- */
.b-reviews-3 {
  background: rgba(255,255,255,.05) !important;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 16px !important;
  padding: 32px !important;
  margin: 0 12px !important;
  transition: all .3s ease;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
}
.b-reviews-3:hover {
  background: rgba(255,255,255,.08) !important;
  transform: translateY(-4px);
  border-color: rgba(251,191,36,.3) !important;
}
.b-reviews-3 .blockquote {
  color: #fff !important;
  border: none !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-style: italic;
  flex: 1;
}
.b-reviews-3 .blockquote::before {
  content: "\201C";
  font-size: 48px;
  color: #fbbf24;
  line-height: 0;
  vertical-align: -10px;
  margin-right: 4px;
}
.b-reviews-3 .blockquote__author { color: #fff !important; font-weight: 700 !important; font-style: normal; }
.b-reviews-3 .blockquote__category { color: #cbd5e1 !important; font-size: 12px !important; }


/* ---------- S6. LATEST NEWS (b-post-1) ---------- */
.b-post-1 {
  background: #fff !important;
  border: 1px solid #eef0f4 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
  transition: all .3s ease !important;
}
.b-post-1:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(12,28,52,.1);
  border-color: transparent !important;
}
.b-post-1 .entry-thumb img,
.b-post-1 img {
  border-radius: 0 !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
}
.b-post-1 .entry-main,
.b-post-1 .entry-content {
  padding: 24px !important;
}
.b-post-1 .entry-title,
.b-post-1 h2.entry-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #0c1c34 !important;
  line-height: 1.35 !important;
  margin: 0 0 12px !important;
  letter-spacing: -.2px !important;
}
.b-post-1 .entry-meta,
.b-post-1 .entry-date {
  font-size: 12px !important;
  color: #dc2626 !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}


/* ---------- S7. Service page section spacing override ---------- */
.section-default_top-padd { padding-top: 90px !important; }
.section-default_bottom-padd { padding-bottom: 90px !important; }


/* ==========================================================================
   END SERVICE PAGE
   ========================================================================== */


/* ==========================================================================
   23. HEADER — social icon spacing + sticky bar visibility
   ========================================================================== */

/* Top-bar social icons ko proper breathing space.
   theme.css `.header .header-top { height:45px }` fix karta hai jisse 38px icons
   neeche overflow karte the — height auto + padding se proper space milta hai. */
.header .header-top {
  height: auto !important;
  padding-top: 9px !important;
  padding-bottom: 11px !important;
}
/* Contact info + social icons ko vertically center align karein */
.header .header-top .col-xs-12 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
}
.header .header-top .header-contact,
.header .header-top .social-net {
  float: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.header-top .social-net,
.header .social-net {
  padding-left: 0 !important;
}
.header-top .social-net > li,
.header .social-net > li {
  margin: 0 0 0 14px !important;
  padding: 0 !important;
}
.header-top .social-net > li:first-child,
.header .social-net > li:first-child {
  margin-left: 0 !important;
}

/* Sticky nav — theme isko #020202 + opacity:.7 (links dark-on-dark) banata hai,
   jisse scroll par header invisible lagta hai. Yahan use proper visible karte hain. */
.l-theme.sticky .header-nav {
  opacity: 1 !important;
  background-color: rgba(12, 28, 52, 0.97) !important;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25) !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  backdrop-filter: blur(6px);
}
.l-theme.sticky .header-nav:hover { opacity: 1 !important; }

/* Links hamesha visible (white), active/hover par gold */
.l-theme.sticky .header-nav .yamm .nav > li > a,
.l-theme.sticky .header-nav:hover .yamm .nav > li > a,
.l-theme.sticky .search-trigger {
  color: #fff !important;
}
.l-theme.sticky .header-nav .yamm .nav > li > a:hover,
.l-theme.sticky .header-nav .yamm .nav > li.active > a {
  color: #fbbf24 !important;
}


/* ---------- 22. RESPONSIVE TWEAKS ---------- */
@media (max-width: 991px) {
  .b-type-b__title { font-size: 26px !important; }
  .main-slider__title { font-size: 32px !important; }
  .main-slider__info { font-size: 15px !important; }
}


/* ==========================================================================
   24. READABILITY — description / body text thoda bada & clearer
   ========================================================================== */
.ui-subtitle-block {
  font-size: 17px !important;
  line-height: 1.7 !important;
}

/* Section descriptions / body paragraphs */
.b-advantages-1-item__text,
.b-advantages-1-item__text p,
.b-advantages-2__text,
.b-advantages-3__text,
.b-type-a__text,
.b-type-c__text,
.b-type-c__text p,
.b-type-e__text p,
.b-history-list__description,
.b-team__description,
.b-container-without-1__text p,
.b-form-request__text p,
.b-reviews-1 .blockquote,
.b-reviews-1 .blockquote p,
.b-reviews-3 .blockquote,
.b-reviews-3 .blockquote p,
.blockquote,
.section-default p,
.section-type-a p,
.section-type-b p {
  font-size: 16px !important;
  line-height: 1.75 !important;
}

/* FAQ answers */
.panel-body,
.panel-body p { font-size: 15px !important; line-height: 1.7 !important; }

/* Hero intro lines */
.main-slider__info { font-size: 19px !important; }
.b-title-page__info { font-size: 18px !important; line-height: 1.7 !important; }

/* Blog / news post text */
.b-post-1 .entry-content p,
.b-post-1 .entry-content { font-size: 15.5px !important; line-height: 1.7 !important; }


/* ==========================================================================
   25. MOBILE RESPONSIVE FIXES
   ========================================================================== */
@media (max-width: 767px) {
  /* Top bar: contact + social ko stack & center karein taaki cramped na ho */
  .header .header-top .col-xs-12 {
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 8px !important;
  }
  .header .header-top { height: auto !important; padding: 10px 0 12px !important; }
  .header-contact { margin-right: 0 !important; }
  .header-contact__item { margin-left: 0 !important; margin-right: 14px !important; }
  .header-top .social-net,
  .header .social-net { text-align: center !important; }
  .header-top .social-net > li:first-child,
  .header .social-net > li:first-child { margin-left: 0 !important; }

  /* Descriptions thoda compact but still readable on phones */
  .ui-subtitle-block { font-size: 16px !important; }
  .section-default p,
  .section-type-a p,
  .section-type-b p,
  .b-advantages-2__text,
  .b-advantages-3__text { font-size: 15.5px !important; }

  /* Hero text scale */
  .main-slider__info { font-size: 16px !important; }
  .b-title-page__info { font-size: 16px !important; }

  /* Contact cards center align on mobile */
  .b-contacts { text-align: center !important; margin-bottom: 24px !important; }

  /* Ask-a-quote two-panel: stack instead of side-by-side table */
  .section-table { display: block !important; }
  .section-table__inner { display: block !important; width: 100% !important; }

  /* Twin CTA blocks already stack via col-sm-6; ensure no negative gap */
  .row-no-mrg > [class*="col-"] { padding: 0 !important; }
}

@media (max-width: 480px) {
  .ui-title-block { font-size: 24px !important; }
  .b-title-page { font-size: 30px !important; }
  .b-advantages-2,
  .b-advantages-3 { grid-template-columns: 1fr !important; }
  .b-contacts__icon { font-size: 40px !important; }
}


/* ==========================================================================
   26. ABOUT — Mission Statement (content + CEO image proper align)
   ========================================================================== */
.mission-section .row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.mission-section .col-sm-6 {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
/* CEO image: constrain width, rounded + subtle shadow, centered */
.mission-section img {
  width: 100% !important;
  max-width: 420px !important;
  height: auto !important;
  margin: 0 auto !important;
  display: block !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 50px rgba(12, 28, 52, 0.18) !important;
  object-fit: cover !important;
}

@media (max-width: 767px) {
  .mission-section .row { flex-direction: column !important; }
  .mission-section .col-sm-6 { width: 100% !important; }
  .mission-section img {
    max-width: 320px !important;
    margin-top: 28px !important;
  }
}


/* ==========================================================================
   27. ABOUT — "Our Journey" modern timeline
   ========================================================================== */
.rbg-timeline {
  position: relative;
  max-width: 620px;
  margin: 44px auto 0;
  text-align: left;
  padding-left: 4px;
}
/* vertical connecting line */
.rbg-timeline::before {
  content: "";
  position: absolute;
  left: 27px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  background: #e7e9ee;
}

.rbg-timeline__item {
  position: relative;
  display: flex;
  gap: 20px;
  margin-bottom: 26px;
}
.rbg-timeline__item:last-child { margin-bottom: 0; }

/* icon node */
.rbg-timeline__node {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fef2f2;
  border: 2px solid #dc2626;
  color: #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  transition: transform .3s ease, box-shadow .3s ease;
}
.rbg-timeline__node .fa,
.rbg-timeline__node i { line-height: 1; }

/* alternate red / navy nodes */
.rbg-timeline__item:nth-child(even) .rbg-timeline__node {
  background: #eef1f6;
  border-color: #0c1c34;
  color: #0c1c34;
}

/* card */
.rbg-timeline__card {
  flex: 1;
  background: #fff;
  border: 1px solid #eef0f4;
  border-radius: 16px;
  padding: 18px 22px;
  box-shadow: 0 4px 14px rgba(12, 28, 52, .05);
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.rbg-timeline__item:hover .rbg-timeline__card {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(12, 28, 52, .12);
  border-color: transparent;
}
.rbg-timeline__item:hover .rbg-timeline__node {
  transform: scale(1.06);
  box-shadow: 0 8px 18px rgba(220, 38, 38, .25);
}
.rbg-timeline__item:nth-child(even):hover .rbg-timeline__node {
  box-shadow: 0 8px 18px rgba(12, 28, 52, .25);
}

.rbg-timeline__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #dc2626;
  margin-bottom: 5px;
}
.rbg-timeline__item:nth-child(even) .rbg-timeline__label { color: #0c1c34; }

.rbg-timeline__title {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #0c1c34 !important;
  margin: 0 0 8px !important;
  line-height: 1.3 !important;
  letter-spacing: -.2px !important;
}
.rbg-timeline__desc {
  font-size: 15px !important;
  color: #6b7280 !important;
  line-height: 1.7 !important;
  margin: 0 !important;
}

@media (max-width: 767px) {
  .rbg-timeline { padding-left: 0; }
  .rbg-timeline::before { left: 22px; }
  .rbg-timeline__item { gap: 14px; }
  .rbg-timeline__node { width: 46px; height: 46px; font-size: 18px; }
  .rbg-timeline::before { left: 22px; }
  .rbg-timeline__card { padding: 14px 16px; }
  .rbg-timeline__title { font-size: 16px !important; }
  .rbg-timeline__desc { font-size: 14px !important; }
}


/* ==========================================================================
   28. HOME testimonials — company clients (no person photos)
   ========================================================================== */
.b-reviews-1 .blockquote__img { display: none !important; }
.b-reviews-1 .blockquote__footer cite,
.b-reviews-1 .blockquote__footer-inner {
  display: block !important;
  width: 100% !important;
}
.b-reviews-1 .blockquote__footer { text-align: left; }
.b-reviews-1 .blockquote__author {
  display: block !important;
  font-size: 16px !important;
}
.b-reviews-1 .blockquote__category { display: block !important; }
