/* ==========================================================================
   PRODUCTION-READY FULL-WEBSITE RESPONSIVE DESIGN SYSTEM
   Supports: 320px, 360px, 375px, 390px, 414px, 430px, 768px, 820px, 1024px, 1280px, 1440px, 1920px
   Scope: All Pages (Home, About, Services, Contact)
   Zero Content Loss | Zero Desktop Breakage | Zero Horizontal Overflow
   ========================================================================== */

/* ==========================================================================
   1. GLOBAL CONTAINER & RESPONSIVE FOUNDATION
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  max-width: 100%;
  overflow-x: hidden;
  position: relative;
}

.page-wrapper {
  overflow-x: hidden;
  max-width: 100%;
  width: 100%;
  position: relative;
}

/* Large Desktop (1440px - 1920px) Container Bounds */
@media (min-width: 1400px) {
  .auto-container,
  .container {
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* Standard Desktop / Laptop (1024px - 1399px) */
@media (min-width: 1024px) and (max-width: 1399.98px) {
  .auto-container,
  .container {
    max-width: 1180px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .main-header.header-style-two .main-box .nav-outer .nav .navigation > li {
    margin-right: 22px !important;
  }

  .main-header.header-style-two .main-box .nav-outer .nav .navigation > li > a {
    font-size: 14px !important;
  }
}

/* Fluid Responsive Typography */
h1, .h1 {
  font-size: clamp(28px, 4.5vw, 56px);
  line-height: 1.18;
}

h2, .h2 {
  font-size: clamp(24px, 3.8vw, 42px);
  line-height: 1.25;
}

h3, .h3 {
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.3;
}

h4, .h4 {
  font-size: clamp(17px, 2.4vw, 24px);
  line-height: 1.35;
}

/* Responsive Image Safeguard */
img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* ==========================================================================
   2. TABLET & MOBILE NAVBAR (< 992px)
   ========================================================================== */
@media (max-width: 991.98px) {
  /* Hide desktop header-top to maintain a compact, sleek header */
  .main-header .header-top {
    display: none !important;
  }

  .main-header.header-style-two {
    border-bottom: 1px solid #edf2f7 !important;
    background: #ffffff !important;
    position: relative !important;
  }

  .main-header.header-style-two .main-box {
    padding: 10px 18px !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .main-header .logo-box {
    display: flex !important;
    align-items: center !important;
  }

  .main-header .logo-box .logo img,
  .main-header.header-style-two .logo img {
    max-height: 44px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  .main-header.header-style-two .main-box .nav-outer {
    display: none !important;
  }

  .main-header.header-style-two .main-box .outer-box {
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
  }

  .main-header.header-style-two .main-box .outer-box .info-box {
    display: none !important;
  }

  /* Universal 100% Guaranteed 3-Bar Hamburger Button (Transparent Minimal Style matching reference) */
  .mobile-nav-toggler {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #111827 !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-left: auto !important;
    position: relative !important;
  }

  /* Pure CSS 3-Bar Icon: clean dark lines matching template reference */
  .mobile-nav-toggler::before {
    content: '' !important;
    display: block !important;
    width: 24px !important;
    height: 2.5px !important;
    background: #111827 !important;
    border-radius: 2px !important;
    box-shadow: 0 7px 0 0 #111827, 0 14px 0 0 #111827 !important;
    transform: translateY(-7px) !important;
  }

  .mobile-nav-toggler::after {
    display: none !important;
  }

  .mobile-nav-toggler i,
  .mobile-nav-toggler span.icon {
    display: none !important;
  }

  /* Sticky Header on Mobile */
  .sticky-header {
    background: #ffffff !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08) !important;
    border-bottom: 1px solid #edf2f7 !important;
    display: block !important;
    padding: 0 !important;
    z-index: 9999 !important;
  }

  .sticky-header .auto-container {
    padding: 0 18px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .sticky-header .inner-container {
    padding: 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
  }

  .sticky-header .logo {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
  }

  .sticky-header .logo img {
    max-height: 42px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  .sticky-header .nav-outer,
  .main-header .sticky-header .nav-outer,
  .main-header.header-style-two .sticky-header .nav-outer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin-left: auto !important;
    position: static !important;
  }

  .sticky-header .nav-outer .main-menu,
  .main-header .sticky-header .nav-outer .main-menu,
  .main-header.header-style-two .sticky-header .nav-outer .main-menu {
    display: none !important;
  }

  .sticky-header .nav-outer .mobile-nav-toggler,
  .sticky-header .mobile-nav-toggler,
  .main-header .sticky-header .mobile-nav-toggler,
  .main-header.header-style-two .sticky-header .nav-outer .mobile-nav-toggler {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Mobile Drawer Menu */
  .mobile-menu .upper-box {
    padding: 18px 24px !important;
  }

  .mobile-menu .nav-logo {
    background: #ffffff !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    display: inline-block !important;
  }

  .mobile-menu .nav-logo img {
    max-height: 38px !important;
    width: auto !important;
  }

  .mobile-menu .navigation li > a {
    color: #ffffff !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    padding: 12px 24px !important;
    transition: all 0.2s ease !important;
  }

  .mobile-menu .navigation li.current > a,
  .mobile-menu .navigation li:hover > a {
    color: #38ef9d !important;
    padding-left: 28px !important;
  }

  .mobile-menu .contact-list-one {
    padding: 20px 24px 15px !important;
  }

  .mobile-menu .contact-list-one li {
    padding-left: 36px !important;
    min-height: auto !important;
    margin-bottom: 14px !important;
  }

  .mobile-menu .contact-list-one li .icon,
  .mobile-menu .contact-list-one li i {
    font-size: 18px !important;
    line-height: 1.2 !important;
    top: 2px !important;
    color: #ffffff !important;
  }

  .mobile-menu .contact-list-one li .title {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    color: #94a3b8 !important;
    margin-bottom: 2px !important;
    text-transform: uppercase !important;
  }

  .mobile-menu .contact-list-one li a,
  .mobile-menu .contact-list-one .contact-info-box {
    font-size: 13px !important;
    line-height: 1.4 !important;
    color: #f1f5f9 !important;
    word-break: break-all !important;
  }

  .mobile-menu .mobile-nav-appointment {
    padding: 15px 24px 5px !important;
  }

  .mobile-menu .mobile-nav-appointment a {
    display: block !important;
    background: #055f37 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 14px 20px !important;
    border-radius: 30px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(5, 95, 55, 0.25) !important;
  }
}

/* ==========================================================================
   3. HERO SECTIONS (HOME & SUB-PAGES)
   ========================================================================== */
@media (max-width: 991.98px) {
  /* Sub-page Hero Banners (About, Services, Contact) */
  .page-title {
    padding: 65px 0 50px !important;
    background-size: cover !important;
    background-position: center center !important;
    text-align: center !important;
    position: relative !important;
  }

  .page-title .title-outer {
    position: relative !important;
    z-index: 2 !important;
  }

  .page-title .page-breadcrumb {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    padding: 0 !important;
  }

  .page-title .page-breadcrumb li {
    font-size: 14px !important;
    color: #ffffff !important;
  }

  .page-title-badge {
    display: inline-block !important;
    color: #5cdba7 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin-bottom: 10px !important;
  }

  .page-title .title {
    font-size: clamp(26px, 7vw, 42px) !important;
    line-height: 1.2 !important;
    margin-bottom: 14px !important;
    color: #ffffff !important;
    font-weight: 700 !important;
  }

  .page-title .text {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #e2e8f0 !important;
    margin: 0 auto 20px auto !important;
    max-width: 580px !important;
  }

  .page-title .btn-one-rounded {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 12px 26px !important;
    background: #055f37 !important;
    color: #ffffff !important;
    border-radius: 30px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 14px rgba(5, 95, 55, 0.25) !important;
  }

  /* Home Page Hero */
  .banner-section-two {
    padding-top: 24px !important;
    padding-bottom: 35px !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  .banner-section-two .sec-shape {
    display: none !important;
  }

  .banner-section-two .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .banner-section-two .content-column,
  .banner-section-two .content-column .inner-column,
  .banner-section-two .content-column .inner-column .content-box {
    display: contents !important;
  }

  .banner-section-two .sub-title {
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: #055f37 !important;
    background: #edf7df !important;
    border: 1px solid #d4ebbe !important;
    padding: 6px 16px !important;
    border-radius: 20px !important;
    text-transform: uppercase !important;
    margin: 0 0 14px 0 !important;
    width: fit-content !important;
  }

  .banner-section-two .title {
    order: 2 !important;
    font-size: clamp(30px, 8.5vw, 38px) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    color: #071d3f !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: -0.5px !important;
    text-align: left !important;
    max-width: 100% !important;
    word-break: normal !important;
  }

  .banner-section-two .title .hero-hl-1,
  .banner-section-two .title .hero-hl-2,
  .banner-section-two .title .hero-hl-3 {
    display: block !important;
  }

  .banner-section-two .title span {
    color: #055f37 !important;
    font-weight: 800 !important;
    font-size: inherit !important;
  }

  .banner-section-two .text {
    order: 3 !important;
    font-size: 14.5px !important;
    line-height: 1.62 !important;
    color: #526071 !important;
    margin: 0 0 22px 0 !important;
    max-width: 100% !important;
    text-align: left !important;
  }

  .banner-section-two .btn-wrp {
    order: 4 !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 0 20px 0 !important;
    width: 100% !important;
  }

  .banner-section-two .btn-two-rounded {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    height: 50px !important;
    padding: 0 28px !important;
    background: #055f37 !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 30px !important;
    box-shadow: 0 6px 18px rgba(5, 95, 55, 0.25) !important;
    text-decoration: none !important;
    width: fit-content !important;
  }

  .banner-section-two .btn-two-rounded i {
    font-size: 13px !important;
  }

  .banner-section-two .image-column {
    order: 5 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 15px auto 25px auto !important;
    padding: 10px 0 !important;
    overflow: visible !important;
    text-align: center !important;
  }

  .banner-section-two .image-column .image {
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }

  .banner-section-two .image-column .image > img.animation__arryLeftRight {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 290px !important;
    height: auto !important;
    display: block !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  .banner-section-two .image-column .image .circle-bg {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -46%) !important;
    width: 260px !important;
    height: 260px !important;
    min-width: 0 !important;
    max-width: 82vw !important;
    max-height: 82vw !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    z-index: 1 !important;
    opacity: 0.95 !important;
    pointer-events: none !important;
  }

  .banner-section-two .image-column .image .star1 {
    display: block !important;
    position: absolute !important;
    top: 12% !important;
    left: 5% !important;
    width: 22px !important;
    z-index: 3 !important;
  }

  .banner-section-two .image-column .image .star2 {
    display: block !important;
    position: absolute !important;
    top: 8% !important;
    right: 5% !important;
    width: 26px !important;
    z-index: 3 !important;
  }

  .banner-section-two .image-column .image .star1 img,
  .banner-section-two .image-column .image .star2 img {
    width: 100% !important;
    height: auto !important;
  }

  .banner-section-two .banner-features {
    order: 6 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-top: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .banner-section-two .banner-feature {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 14px 16px !important;
    background: #ffffff !important;
    border: 1px solid #e7ecf2 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: auto !important;
  }

  .banner-section-two .banner-feature:first-child,
  .banner-section-two .banner-feature:last-child {
    padding-left: 16px !important;
    border-right: 1px solid #e7ecf2 !important;
  }

  .banner-section-two .banner-feature-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    border-radius: 12px !important;
    background: #edf7df !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin-right: 0 !important;
  }

  .banner-section-two .banner-feature-icon i {
    font-size: 22px !important;
    color: #055f37 !important;
  }

  .banner-section-two .banner-feature-content {
    flex: 1 !important;
  }

  .banner-section-two .banner-feature-content h6 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #071d3f !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  .banner-section-two .banner-feature-content p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
    color: #64748b !important;
    margin: 0 !important;
    white-space: normal !important;
  }

  .banner-section-two .banner-feature-content p br {
    display: none !important;
  }
}

/* ==========================================================================
   4. SERVICES PAGE CTA IMAGE & LOGO STRIP (ELIMINATES OVERLAP)
   ========================================================================== */
@media (max-width: 991.98px) {
  .cta-image {
    height: auto !important;
    min-height: 400px !important;
    padding: 60px 20px 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    background-size: cover !important;
    background-position: center center !important;
    overflow: hidden !important;
  }

  .cta-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(7, 29, 63, 0.78) !important;
  }

  .cta-content {
    height: auto !important;
    width: 100% !important;
    max-width: 650px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .cta-content h2 {
    font-size: clamp(23px, 6vw, 36px) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 16px 0 !important;
  }

  .cta-content p {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #e2e8f0 !important;
    margin: 0 0 20px 0 !important;
    max-width: 520px !important;
  }

  .yellow-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 48px !important;
    padding: 13px 28px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: #f0ed00 !important;
    color: #071d3f !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22) !important;
    cursor: pointer !important;
  }

  .cta-content .yellow-button {
    margin: 10px auto 0 !important;
    position: relative !important;
  }

  .logo-strip {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    height: auto !important;
    width: 100% !important;
    background: #e2e8f0 !important;
    gap: 1px !important;
    border-top: 1px solid #cbd5e1 !important;
    border-bottom: 1px solid #cbd5e1 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  @media (min-width: 576px) {
    .logo-strip {
      grid-template-columns: repeat(3, 1fr) !important;
    }
  }

  .logo-item {
    height: auto !important;
    min-height: 58px !important;
    padding: 15px 12px !important;
    background: #ffffff !important;
    border: none !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.35 !important;
  }
}

/* ==========================================================================
   5. FOUR BENEFIT FEATURES (SMART PLANNING, SECURE FUTURE, ETC.)
   ========================================================================== */
@media (max-width: 991.98px) {
  .feature-section {
    width: 100% !important;
    background: #f8faf9 !important;
    padding: 35px 0 !important;
    border-top: 1px solid #e9edf0 !important;
    border-bottom: 1px solid #e9edf0 !important;
  }

  .feature-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    box-sizing: border-box !important;
  }

  @media (min-width: 480px) {
    .feature-container {
      grid-template-columns: 1fr 1fr !important;
    }
  }

  .feature-item,
  .feature-item:first-child,
  .feature-item.last-item {
    width: 100% !important;
    padding: 16px 16px !important;
    background: #ffffff !important;
    border: 1px solid #e5e9f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    box-sizing: border-box !important;
    min-height: auto !important;
  }

  .feature-icon {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    background: #edf7df !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .feature-icon i {
    font-size: 22px !important;
    color: #055f37 !important;
  }

  .feature-content {
    flex: 1 !important;
  }

  .feature-content h4 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #071d3f !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.3 !important;
  }

  .feature-content p {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
    color: #64748b !important;
    margin: 0 !important;
  }
}

/* ==========================================================================
   6. BRANDS SECTION (1K+ BRANDS TRUST US)
   ========================================================================== */
@media (max-width: 991.98px) {
  .brand-section {
    padding: 40px 0 30px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    width: 100% !important;
  }

  .brand-section .outer-box {
    width: 100% !important;
    max-width: 100% !important;
  }

  .brand-section .sec-title {
    text-align: center !important;
    margin-bottom: 25px !important;
  }

  .brand-section .sec-title .title {
    display: inline-block !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    color: #055f37 !important;
    text-transform: uppercase !important;
    background: #edf7df !important;
    border: 1px solid #d4ebbe !important;
    padding: 6px 18px !important;
    border-radius: 20px !important;
    margin: 0 auto !important;
    width: fit-content !important;
  }

  .brand-slider {
    overflow: hidden !important;
    width: 100% !important;
    padding: 8px 0 !important;
  }

  .brand-slider .swiper-wrapper {
    display: flex !important;
    align-items: center !important;
  }

  .brand-slider .swiper-slide {
    padding: 0 6px !important;
    box-sizing: border-box !important;
  }

  .brand-card-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 110px !important;
    background: #ffffff !important;
    border: 1px solid #e5e9f0 !important;
    border-radius: 14px !important;
    padding: 12px 10px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  }

  .brand-card-logo {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .brand-card-logo img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  .brand-card-name {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    text-align: center !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* ==========================================================================
   7. ABOUT US & MULTI-COLUMN CONTENT SECTIONS
   ========================================================================== */
@media (max-width: 991.98px) {
  .about-section-two,
  .about-section-three,
  .about-section-seven {
    padding: 40px 0 !important;
    overflow: hidden !important;
  }

  .about-section-two .row,
  .about-section-three .row,
  .about-section-seven .row {
    row-gap: 30px !important;
  }

  .about-section-seven .content-column .inner-column,
  .about-section-two .content-column .inner-column,
  .about-section-three .content-column .inner-column {
    padding-left: 0 !important;
    margin-left: 0 !important;
    border-left: none !important;
  }

  .about-section-seven .image-column .inner-column,
  .about-section-two .image-column .inner-column,
  .about-section-three .image-column .inner-column {
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  .about-block-two {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .about-feature-item {
    width: 100% !important;
    flex: 1 1 100% !important;
  }

  .about-block-three .row {
    row-gap: 20px !important;
  }

  .about-block-three .content-box.margin-minus {
    margin-top: 0 !important;
  }
}

/* ==========================================================================
   8. FUNFACT / COUNTER SECTIONS
   ========================================================================== */
@media (max-width: 991.98px) {
  .funfact-section-two {
    padding: 40px 0 !important;
  }

  .funfact-section-two .outer-box {
    margin-right: 0 !important;
    border-radius: 26px !important;
    padding: 45px 22px 50px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important;
  }

  /* Decorative dual circle background clearly visible in the bottom right corner of the green card on mobile */
  .funfact-section-two .outer-box .sec-shape,
  .funfact-section-two .sec-shape {
    display: block !important;
    position: absolute !important;
    right: -25px !important;
    bottom: -25px !important;
    width: 250px !important;
    height: 250px !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .funfact-section-two .outer-box .sec-shape img,
  .funfact-section-two .sec-shape img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
    filter: brightness(0) invert(1) contrast(200%) !important;
    opacity: 0.75 !important;
  }

  .funfact-section-two .row {
    row-gap: 30px !important;
    position: relative !important;
    z-index: 1 !important;
  }

  /* Counter Block: Seamless, transparent, centered matching template */
  .funfact-block-two {
    margin-bottom: 40px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .funfact-block-two:last-child {
    margin-bottom: 0 !important;
  }

  .funfact-block-two .inner-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    gap: 0 !important;
  }

  .funfact-block-two .inner-box::after {
    display: none !important;
  }

  .funfact-block-two .inner-box .icon {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    margin: 0 auto 16px auto !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .funfact-block-two .inner-box .icon svg {
    width: 54px !important;
    height: 54px !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .funfact-block-two .inner-box .icon svg path {
    fill: #ffffff !important;
  }

  .funfact-block-two .content-box {
    text-align: center !important;
    width: 100% !important;
  }

  .funfact-block-two .content-box .title,
  .funfact-block-two .content-box .title .count {
    font-size: 44px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 8px 0 !important;
    text-align: center !important;
    letter-spacing: -0.5px !important;
  }

  .funfact-block-two .content-box .sub-title {
    font-size: 16px !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-align: center !important;
    display: block !important;
    margin: 0 !important;
  }

  .growth-section {
    padding: 50px 0 !important;
  }

  .growth-section .row {
    row-gap: 20px !important;
  }
}

/* ==========================================================================
   9. SERVICES & PLANNING CARDS (HOME & SERVICES PAGES)
   ========================================================================== */
@media (max-width: 991.98px) {
  .service-section-three,
  .service-section-four,
  .planning-section,
  .protection,
  .products {
    padding: 45px 0 !important;
  }

  .planning-section .planning-grid,
  .protection .protection-grid,
  .products .product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  @media (min-width: 600px) {
    .planning-section .planning-grid,
    .protection .protection-grid,
    .products .product-grid {
      grid-template-columns: 1fr 1fr !important;
    }
  }

  .service-card,
  .planning-card,
  .protection-card,
  .product-card {
    width: 100% !important;
    padding: 22px 18px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   10. STEPS SECTION (HOW IT WORKS)
   ========================================================================== */
@media (max-width: 991.98px) {
  .steps-section {
    padding: 50px 0 !important;
  }

  .steps-section .sec-title .sub-title {
    background-color: #055f37 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    padding: 6px 20px !important;
    display: inline-block !important;
    margin-bottom: 15px !important;
  }

  .steps-section .sec-title .title {
    font-size: 28px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    margin-bottom: 35px !important;
  }

  .steps-section .outer-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 45px !important;
  }

  /* Centered Step Block without box border */
  .steps-block {
    width: 100% !important;
    max-width: 320px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin: 0 auto !important;
  }

  .steps-block .line {
    display: none !important;
  }

  /* Big Round Circle Icon */
  .steps-block .icon {
    width: 170px !important;
    height: 170px !important;
    line-height: 170px !important;
    border-radius: 50% !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }

  .steps-block:nth-child(1) .icon {
    background-color: #055f37 !important;
  }

  .steps-block:nth-child(1) .icon svg path {
    fill: #ffffff !important;
  }

  .steps-block:nth-child(2) .icon,
  .steps-block.active .icon {
    background-color: #071d3f !important;
  }

  .steps-block:nth-child(2) .icon svg path,
  .steps-block.active .icon svg path {
    fill: #ffffff !important;
  }

  .steps-block:nth-child(3) .icon {
    background-color: #055f37 !important;
  }

  .steps-block:nth-child(3) .icon svg path {
    fill: #ffffff !important;
  }

  .steps-block:nth-child(4) .icon {
    background-color: #071d3f !important;
  }

  .steps-block:nth-child(4) .icon svg path {
    fill: #ffffff !important;
  }

  .steps-block .icon svg {
    width: 70px !important;
    height: 70px !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Circular Step Number Badge at bottom-right corner of circle */
  .steps-block .icon .number {
    width: 58px !important;
    height: 58px !important;
    line-height: 58px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    position: absolute !important;
    bottom: 6px !important;
    right: -2px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #071d3f !important;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.1) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .steps-block .content {
    text-align: center !important;
    margin-top: 24px !important;
    width: 100% !important;
  }

  .steps-block .content .title,
  .steps-block .title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #071d3f !important;
    margin: 0 0 10px 0 !important;
    text-align: center !important;
  }

  .steps-block .content .text,
  .steps-block .text {
    font-size: 14.5px !important;
    line-height: 1.65 !important;
    color: #595b62 !important;
    margin: 0 auto !important;
    max-width: 310px !important;
    text-align: center !important;
  }
}

/* ==========================================================================
   11. FAQ & ACCORDION SECTIONS
   ========================================================================== */
@media (max-width: 991.98px) {
  .growth-section-two,
  .faq-section-two {
    padding: 45px 0 !important;
  }

  .faq-section-two .row {
    row-gap: 30px !important;
  }

  .faq-section-two .image-column .inner-column {
    margin-top: 0 !important;
    max-width: 100% !important;
  }

  .faq-two-accordion .accordion-item {
    border-radius: 12px !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
  }

  .faq-two-accordion .accordion-button {
    font-size: 15px !important;
    line-height: 1.5 !important;
    padding: 16px 52px 16px 16px !important;
    position: relative !important;
    text-align: left !important;
    width: 100% !important;
    display: block !important;
  }

  .faq-two-accordion .accordion .accordion-button::before,
  .faq-two-accordion .accordion-button::before {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) rotate(90deg) !important;
    right: 14px !important;
    width: 28px !important;
    height: 28px !important;
    line-height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .faq-two-accordion .accordion .accordion-button.collapsed::before,
  .faq-two-accordion .accordion-button.collapsed::before {
    transform: translateY(-50%) rotate(0deg) !important;
  }

  /* Contact Info Circle Icon Centering on Mobile */
  .contact-section .content-column .info {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 20px !important;
    padding-left: 0 !important;
  }

  .contact-section .content-column .info .icon {
    width: 58px !important;
    min-width: 58px !important;
    height: 58px !important;
    line-height: 58px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .contact-section .content-column .info .icon svg {
    display: block !important;
    margin: 0 auto !important;
    max-width: 28px !important;
    max-height: 28px !important;
    width: auto !important;
    height: auto !important;
  }

  .contact-section .content-column .info .title {
    font-size: 16px !important;
  }

  .contact-section .content-column .info .sub-title {
    font-size: 13.5px !important;
    line-height: 1.3 !important;
    margin-bottom: 4px !important;
  }

  /* Form spacing reduction on Mobile */
  .contact-block {
    padding: 24px 18px !important;
    border-radius: 20px !important;
  }

  .contact-block .head {
    margin-bottom: 16px !important;
  }

  .contact-block .head .title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }

  .contact-block .head .sub-title {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }

  /* Reduced gap between form input boxes on Mobile */
  #appointmentForm .row.g-4 {
    --bs-gutter-y: 12px !important;
    row-gap: 12px !important;
    margin-top: 0 !important;
  }

  #appointmentForm .row.g-4 > [class*="col-"] {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }

  #appointmentForm .input input,
  #appointmentForm .input .form-control {
    height: 48px !important;
    font-size: 14px !important;
    margin-bottom: 0 !important;
  }

  #appointmentForm select.mt-4,
  #appointmentForm select {
    margin-top: 12px !important;
    height: 48px !important;
    font-size: 14px !important;
  }

  #appointmentForm textarea.mt-4,
  #appointmentForm textarea {
    margin-top: 12px !important;
    min-height: 100px !important;
    font-size: 14px !important;
  }

  #appointmentForm .btn-two-rounded.mt-30,
  #appointmentForm button[type="submit"] {
    margin-top: 16px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   12. INVESTMENT SECTION & CARDS
   ========================================================================== */
@media (max-width: 991.98px) {
  .investment-section {
    padding: 40px 0 30px !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .investment-container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
  }

  .investment-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
  }

  @media (min-width: 650px) {
    .investment-row {
      grid-template-columns: 1fr 1fr !important;
    }
  }

  .investment-card {
    height: auto !important;
    min-height: 180px !important;
    overflow: visible !important;
    padding: 20px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }

  .investment-content {
    width: 100% !important;
    position: relative !important;
    z-index: 2 !important;
  }

  .investment-title {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }

  .investment-description {
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #555555 !important;
    margin-top: 6px !important;
    max-width: 100% !important;
  }

  .investment-image {
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    align-self: flex-end !important;
    margin-top: 10px !important;
    max-height: 95px !important;
  }

  .investment-image img {
    max-height: 85px !important;
    width: auto !important;
    object-fit: contain !important;
  }
}

/* ==========================================================================
   13. CALCULATOR SECTION (ABOUT PAGE)
   ========================================================================== */
@media (max-width: 991.98px) {
  .calculator-section {
    padding: 40px 16px !important;
  }

  .calculator-box {
    padding: 24px 18px !important;
    border-radius: 18px !important;
  }

  .calculator-box .row {
    row-gap: 25px !important;
  }

  .calculator-slider,
  input[type="range"] {
    width: 100% !important;
  }
}

/* ==========================================================================
   14. CONTACT & FORMS (HOME & CONTACT PAGES)
   ========================================================================== */
@media (max-width: 991.98px) {
  .page-title {
    padding: 60px 0 45px !important;
  }

  .page-title .title {
    font-size: 32px !important;
    line-height: 1.25 !important;
  }

  .contact-section {
    padding: 45px 0 !important;
    overflow: hidden !important;
  }

  .contact-section .shape,
  .contact-section .contact-image {
    display: none !important;
  }

  .contact-section .row {
    row-gap: 30px !important;
  }

  .contact-section .sec-title .title {
    font-size: 26px !important;
    line-height: 1.3 !important;
  }

  .contact-section .sec-title .text {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
  }

  .contact-section .info {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 18px !important;
    padding-left: 0 !important;
  }

  .contact-section .info .icon {
    flex-shrink: 0 !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .contact-section .info .icon svg {
    max-width: 26px !important;
    max-height: 26px !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
  }

  .contact-section .info .title {
    font-size: 16px !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    margin: 0 !important;
  }

  .contact-section .info .title a {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    display: inline-block !important;
    max-width: 100% !important;
  }

  .contact-section .info .sub-title {
    font-size: 13.5px !important;
    margin-bottom: 3px !important;
  }

  /* Contact Form Block */
  .contact-block {
    padding: 24px 18px !important;
    border-radius: 20px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .contact-block .head {
    margin-bottom: 18px !important;
  }

  .contact-block .head .title {
    font-size: 22px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  .contact-block .head .sub-title {
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }

  #appointmentForm .row.g-4 {
    --bs-gutter-y: 12px !important;
    row-gap: 12px !important;
    margin-top: 0 !important;
  }

  #appointmentForm .row.g-4 > [class*="col-"] {
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }

  #appointmentForm .input input,
  #appointmentForm .input .form-control {
    height: 48px !important;
    font-size: 14px !important;
    margin-bottom: 0 !important;
  }

  #appointmentForm select.mt-4,
  #appointmentForm select {
    margin-top: 12px !important;
    height: 48px !important;
    font-size: 14px !important;
  }

  #appointmentForm textarea.mt-4,
  #appointmentForm textarea {
    margin-top: 12px !important;
    min-height: 100px !important;
    font-size: 14px !important;
  }

  #appointmentForm .btn-two-rounded.mt-30,
  #appointmentForm button[type="submit"] {
    margin-top: 16px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 30px !important;
  }

  /* Contact Details Cards (3 Column items) */
  .contact-details {
    padding: 40px 0 !important;
  }

  .contact-details .row {
    row-gap: 20px !important;
  }

  .contact-details-block {
    padding: 30px 18px !important;
    border-radius: 16px !important;
    margin-bottom: 0 !important;
  }

  .contact-details-block .icon svg {
    max-width: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
  }

  .contact-details-block .title {
    font-size: 18px !important;
    margin-bottom: 8px !important;
  }

  .contact-details-block .text {
    font-size: 14.5px !important;
    line-height: 1.5 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  .contact-details .mt-100 {
    margin-top: 40px !important;
  }

  /* Google Map responsive */
  .google-map,
  .google-map iframe,
  .contact-map,
  .map-section iframe {
    width: 100% !important;
    height: 280px !important;
    border-radius: 16px !important;
  }
}

/* ==========================================================================
   15. FOOTER (ALL PAGES)
   ========================================================================== */
@media (max-width: 991.98px) {
  .main-footer {
    padding: 45px 0 20px !important;
    background: #000000 !important;
    color: #ffffff !important;
  }

  .footer-container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
  }

  @media (min-width: 600px) {
    .footer-container {
      display: grid !important;
      grid-template-columns: 1fr 1fr !important;
      gap: 30px !important;
    }
  }

  .footer-about,
  .footer-section,
  .footer-links,
  .footer-contact {
    width: 100% !important;
  }

  .main-footer h4 {
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    margin: 0 0 16px 0 !important;
    letter-spacing: 0.3px !important;
  }

  .main-footer p {
    color: #cbd5e1 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }

  .footer-about .footer-logo {
    margin-bottom: 16px !important;
  }

  .footer-about .footer-logo img {
    max-height: 48px !important;
    width: auto !important;
  }

  .footer-section ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .footer-section ul li a {
    color: #94a3b8 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline-block !important;
  }

  .footer-section ul li a:hover,
  .footer-section ul li a:active {
    color: #38ef9d !important;
  }

  .footer-follow .footer-nav {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
  }

  .footer-follow .footer-nav li a {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: #181f29 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    transition: all 0.25s ease !important;
  }

  .footer-follow .footer-nav li a:hover {
    background: #055f37 !important;
    color: #ffffff !important;
  }

  .footer-contact-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .footer-contact-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    font-size: 13.5px !important;
    color: #cbd5e1 !important;
    line-height: 1.5 !important;
  }

  .footer-contact-item .contact-icon {
    color: #38ef9d !important;
    font-size: 14px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
  }

  .footer-contact-item a.contact-text {
    color: #cbd5e1 !important;
    text-decoration: none !important;
    word-break: break-all !important;
  }

  .footer-bottom {
    padding: 24px 18px 0 !important;
    text-align: center !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .footer-bottom p {
    color: #94a3b8 !important;
    font-size: 13px !important;
  }
}

/* ==========================================================================
   16. SMALL PHONE BREAKPOINTS (<= 430px, 390px, 375px, 360px, 320px)
   ========================================================================== */
@media (max-width: 575.98px) {
  .banner-section-two .title {
    font-size: clamp(28px, 8.8vw, 34px) !important;
    line-height: 1.14 !important;
  }

  .banner-section-two .btn-two-rounded {
    width: 100% !important;
    justify-content: center !important;
  }

  .banner-section-two .image-column .image {
    max-width: 280px !important;
  }

  .banner-section-two .image-column .image > img.animation__arryLeftRight {
    max-width: 250px !important;
  }

  .banner-section-two .image-column .image .circle-bg {
    width: 230px !important;
    height: 230px !important;
  }

  .form-control,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  select,
  textarea {
    font-size: 15px !important;
    border-radius: 10px !important;
  }

  .contact-block {
    padding: 20px 14px !important;
  }

  .auto-container,
  .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 360px) {
  .banner-section-two .title {
    font-size: 26px !important;
  }

  .banner-section-two .image-column .image {
    max-width: 240px !important;
  }

  .banner-section-two .image-column .image > img.animation__arryLeftRight {
    max-width: 215px !important;
  }

  .banner-section-two .image-column .image .circle-bg {
    width: 195px !important;
    height: 195px !important;
  }

  .brand-card-item {
    height: 100px !important;
    padding: 8px 6px !important;
  }

  .brand-card-logo {
    width: 36px !important;
    height: 36px !important;
  }

  .brand-card-name {
    font-size: 10px !important;
  }
}

/* =========================================================
   CONTACT DETAILS CARDS - UNIFORM EQUAL SIZE FOR ALL BOXES
========================================================= */
.contact-details .row {
  display: flex !important;
  flex-wrap: wrap !important;
}

.contact-details .row > [class*="col-"] {
  display: flex !important;
  flex-direction: column !important;
}

.contact-details-block {
  width: 100% !important;
  height: 100% !important;
  min-height: 380px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 55px 25px 45px 25px !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease !important;
  box-sizing: border-box !important;
}

.contact-details-block:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 18px 40px rgba(5, 95, 55, 0.14) !important;
}

.contact-details-block .inner-box {
  width: 100% !important;
  max-width: 290px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 auto !important;
  flex-grow: 1 !important;
}

.contact-details-block .icon {
  width: 90px !important;
  height: 85px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 22px !important;
  flex-shrink: 0 !important;
}

.contact-details-block .icon svg {
  max-width: 65px !important;
  max-height: 75px !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
}

.contact-details-block .title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 14px !important;
  text-transform: capitalize !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  min-height: 28px !important;
}

.contact-details-block .text {
  font-size: 15.5px !important;
  line-height: 26px !important;
  color: #555555 !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: center !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.contact-details-block .text a {
  color: #555555 !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}

.contact-details-block:hover .icon svg path,
.contact-details-block:hover .icon i path {
  fill: #1A4137 !important;
}

.contact-details-block:hover .icon svg,
.contact-details-block:hover .icon i {
  color: #1A4137 !important;
}

.contact-details-block:hover .title {
  color: #111827 !important;
}

.contact-details-block:hover .text {
  color: #555555 !important;
}

.contact-details-block:hover .text a {
  color: #555555 !important;
}

.contact-details-block .text a:hover,
.contact-details-block:hover .text a:hover {
  color: #055f37 !important;
}

@media (max-width: 767px) {
  .contact-details-block {
    min-height: auto !important;
    padding: 35px 20px !important;
  }
}
