:root {
  --ft-green: #147348;
  --ft-green-dark: #0d4f35;
  --ft-navy: #13283f;
  --ft-ink: #1f2933;
  --ft-muted: #5f6b76;
  --ft-soft: #f5f8fb;
  --ft-mint: #dcefeb;
  --ft-amber: #f5b642;
  --ft-border: #dce4ec;
}

html {
  scroll-behavior: smooth;
}

body {
  background: #ffffff;
  color: var(--ft-ink);
  text-rendering: optimizeLegibility;
}

img {
  height: auto;
}

.site-navbar {
  backdrop-filter: saturate(140%) blur(10px);
}

.navbar-brand img {
  width: 35px;
  height: 35px;
  object-fit: contain;
}

.call-now-mobile {
  white-space: nowrap;
}

.site-brand-text {
  color: var(--ft-navy);
  font-weight: 800;
  letter-spacing: 0;
}

.navbar .navbar-nav .nav-link {
  position: relative;
  color: var(--ft-navy);
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus {
  color: var(--ft-green);
}

.navbar .navbar-nav .nav-link::after {
  position: absolute;
  left: .5rem;
  right: .5rem;
  bottom: .15rem;
  height: 2px;
  content: "";
  background: var(--ft-green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

.navbar .navbar-nav .nav-link:hover::after,
.navbar .navbar-nav .nav-link:focus::after {
  transform: scaleX(1);
}

.btn-success,
.btn-brand,
.carousel-item .btn.btn-brand {
  background: var(--ft-green);
  border-color: var(--ft-green);
  color: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(20, 115, 72, .18);
}

.btn-success:hover,
.btn-brand:hover,
.carousel-item .btn.btn-brand:hover {
  background: var(--ft-green-dark);
  border-color: var(--ft-green-dark);
  color: #fff;
}

.slide {
  isolation: isolate;
}

.slide::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background: linear-gradient(90deg, rgba(12, 22, 34, .84), rgba(12, 22, 34, .36), rgba(12, 22, 34, .1));
}

.slide > .container {
  position: relative;
  z-index: 2;
}

.slide p {
  font-weight: 700;
  letter-spacing: 0;
}

.slide h1 {
  max-width: 760px;
  text-wrap: balance;
}

.service8 {
  background: var(--ft-soft);
  padding: 72px 0;
}

.heading .span,
.section-kicker {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--ft-green);
  font-weight: 800;
  text-transform: uppercase;
  font-size: .78rem;
}

.service-box {
  position: relative;
  min-height: 300px;
  margin-top: 52px;
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 8px;
  padding: 56px 24px 26px;
  box-shadow: 0 18px 44px rgba(19, 40, 63, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.service-box:hover {
  transform: translateY(-6px);
  border-color: rgba(20, 115, 72, .28);
  box-shadow: 0 20px 48px rgba(19, 40, 63, .14);
}

.service-box .icon {
  position: absolute;
  top: -38px;
  width: 76px;
  height: 76px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 16px 34px rgba(19, 40, 63, .12);
}

.service-box .icon img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.service-title {
  color: var(--ft-navy);
}

.service-box:hover .service-title {
  color: var(--ft-green);
}

.service-box .learn {
  color: var(--ft-green);
  font-weight: 800;
}

.empowering_success_section,
#contact-form,
.blog-preview-section,
.blog-list-section {
  content-visibility: auto;
  contain-intrinsic-size: 720px;
}

.blog-preview-section,
.blog-list-section {
  background: #fff;
  padding: 72px 0;
}

.blog-hero {
  padding: 92px 0 64px;
  background:
    linear-gradient(110deg, rgba(19, 40, 63, .94), rgba(20, 115, 72, .82)),
    url("../img/hero-business.webp") center/cover no-repeat;
  color: #fff;
}

.blog-hero h1,
.blog-hero p {
  color: #fff;
}

.blog-card {
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(19, 40, 63, .08);
}

.blog-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--ft-soft);
}

.blog-card-body {
  padding: 24px;
}

.blog-card-meta {
  color: var(--ft-green);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.blog-card h3,
.blog-card h2 {
  margin-top: 10px;
  font-size: 1.25rem;
  line-height: 1.25;
}

.blog-card p {
  color: var(--ft-muted);
}

.blog-card a {
  color: var(--ft-green);
  font-weight: 800;
  text-decoration: none;
}

.blog-article {
  padding: 64px 0;
  background: #fff;
}

.blog-article img {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 32px;
}

.blog-article-content {
  max-width: 820px;
  margin: 0 auto;
}

.blog-article-content p,
.blog-article-content li {
  color: #334155;
  font-size: 1.07rem;
}

.blog-article-content h2,
.blog-article-content h3 {
  margin-top: 32px;
}

.site-footer-link {
  color: #fff;
  text-decoration: none;
}

.site-footer-link:hover,
.site-footer-link:focus {
  color: #95d5b2;
}

.bx,
.fas,
.fab,
.fa-solid {
  display: inline-flex;
  width: 1.1em;
  min-width: 1.1em;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
}

.fa-phone-alt::before { content: "\260e"; }
.fa-envelope::before { content: "\2709"; }
.fa-map-marker-alt::before { content: "\25ce"; }
.fa-arrow-right::before { content: "\2192"; }
.fa-facebook::before { content: "f"; font-family: Arial, sans-serif; }
.fa-whatsapp::before { content: "WA"; font-size: .54em; letter-spacing: 0; }
.bx-check-shield::before,
.bx-shield-quarter::before { content: "\2713"; }
.bx-money::before { content: "$"; }
.bx-stats::before,
.bx-line-chart::before,
.bx-bar-chart-alt::before { content: "\2197"; }
.bx-briefcase::before,
.bx-briefcase-alt-2::before { content: "\25a3"; }
.bx-file::before { content: "\2630"; }
.bx-list-check::before,
.bx-task::before { content: "\2713"; }
.bx-certification::before { content: "\2605"; }
.bx-user-check::before { content: "\2713"; }
.bx-world::before { content: "\25ce"; }
.bx-tachometer::before { content: "\25b2"; }
.bxl-dribbble::before { content: "\25cf"; }

.whatsapp-btn.greenBg {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 999;
  display: inline-flex;
  width: 62px;
  height: 62px;
  min-width: 62px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  overflow: visible;
  border-radius: 50%;
  background: #25d366 !important;
  background-image: radial-gradient(circle at 32% 24%, #78f3a0 0 12%, #25d366 43%, #128c7e 100%) !important;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(18, 140, 126, .32), 0 4px 12px rgba(0, 0, 0, .18);
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.whatsapp-btn.greenBg::before {
  position: absolute;
  inset: -7px;
  content: "";
  border: 1px solid rgba(37, 211, 102, .45);
  border-radius: inherit;
  pointer-events: none;
  animation: whatsappPulse 2.6s ease-out infinite;
}

.whatsapp-btn.greenBg::after {
  position: absolute;
  top: 11px;
  left: 14px;
  width: 18px;
  height: 10px;
  content: "";
  border-radius: 50%;
  background: rgba(255, 255, 255, .28);
  filter: blur(.2px);
  pointer-events: none;
  transform: rotate(-24deg);
}

.whatsapp-btn.greenBg:hover,
.whatsapp-btn.greenBg:focus {
  color: #fff;
  filter: saturate(1.08);
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 42px rgba(18, 140, 126, .38), 0 6px 16px rgba(0, 0, 0, .2);
}

.whatsapp-btn.greenBg:focus-visible {
  outline: 3px solid rgba(37, 211, 102, .35);
  outline-offset: 4px;
}

.whatsapp-icon {
  display: inline-flex;
  width: 38px;
  height: 38px;
  min-width: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.whatsapp-icon svg {
  display: block;
  width: 38px;
  height: 38px;
  fill: currentColor;
}

.whatsapp-sparkle {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .18), 0 0 12px rgba(255, 255, 255, .75);
  pointer-events: none;
  animation: whatsappSparkle 2.2s ease-in-out infinite;
}

.sparkle-one {
  top: -4px;
  right: 9px;
}

.sparkle-two {
  top: 18px;
  left: -3px;
  width: 5px;
  height: 5px;
  animation-delay: .45s;
}

.sparkle-three {
  right: 2px;
  bottom: 4px;
  width: 5px;
  height: 5px;
  animation-delay: .9s;
}

@keyframes whatsappPulse {
  0% {
    opacity: .48;
    transform: scale(.9);
  }
  70%,
  100% {
    opacity: 0;
    transform: scale(1.35);
  }
}

@keyframes whatsappSparkle {
  0%,
  100% {
    opacity: .2;
    transform: scale(.7);
  }
  45% {
    opacity: 1;
    transform: scale(1.16);
  }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-btn.greenBg::before,
  .whatsapp-sparkle {
    animation: none;
  }
}

@media (max-width: 767px) {
  .call-now-mobile {
    font-size: .85rem;
    padding: .45rem .75rem;
  }

  .navbar-toggler {
    margin-left: .25rem;
  }

  .slide {
    min-height: 62vh !important;
  }

  .slide h1 {
    font-size: 2rem;
    line-height: 1.2;
  }

  .service8,
  .blog-preview-section,
  .blog-list-section {
    padding: 48px 0;
  }

  .site-brand-text {
    font-size: 1rem;
  }

  .whatsapp-btn.greenBg {
    right: 16px;
    bottom: 18px;
    width: 56px;
    height: 56px;
    min-width: 56px;
  }

  .whatsapp-icon,
  .whatsapp-icon svg {
    width: 34px;
    height: 34px;
  }
}

@media (max-width: 390px) {
  .call-now-mobile {
    padding: .4rem .55rem;
    font-size: .78rem;
  }
}
