@import "./fonts.css";
:root {
   --ecbz-white: #ffffff;
   --ecbz-white-rgb: 255, 255, 255;
   --ecbz-white-soft: #f8f8f8;
   --ecbz-white-soft-rgb: 248, 248, 248;
   --ecbz-gray: #3e4046;
   --ecbz-gray-rgb: 62, 64, 70;
   --ecbz-gray-soft: #c5c7c8;
   --ecbz-gray-soft-rgb: 197, 199, 200;
   --ecbz-black: #181818;
   --ecbz-black-rgb: 24, 24, 24;
   --ecbz-black-soft: #222222;
   --ecbz-black-soft-rgb: 34, 34, 34;
   --ecbz-dark: #0C1233;
   --ecbz-dark-rgb: 12, 18, 51;
   --ecbz-accent-one: #83a8d9;
   --ecbz-accent-one-rgb: 131, 168, 217;
   --ecbz-accent-two: #d74d00;
   --ecbz-accent-two-rgb: 215, 77, 0;
   --ecbz-accent-three: #ffffff;
   --ecbz-accent-three-rgb: 255, 255, 255;
   --ecbz-accent-four: #000000;
   --ecbz-accent-four-rgb: 0, 0, 0;

   --ecbz-primary: #104a29;
   --ecbz-primary-rgb: 16, 74, 41;
   --ecbz-primary-light: #00776d;
   --ecbz-primary-light-rgb: 0, 119, 109;
   --ecbz-secondary: #1c71d8;
   --ecbz-secondary-rgb: 28, 113, 216;
   --ecbz-secondary-light: #efc38b;
   --ecbz-secondary-light-rgb: 239, 195, 139;
   --ecbz-theme-gradient: linear-gradient(to right, var(--ecbz-primary) 0%, var(--ecbz-secondary) 100%);
   --ecbz-theme-gradient-light: linear-gradient(to right, var(--ecbz-primary-light) 0%, var(--ecbz-secondary-light) 100%);
   --ecbz-body-color: #ffffff;
   --ecbz-body-text-color: #22303e;
   --ecbz-link-color: #696cff;
   --ecbz-border-radius: 8px;
   --ecbz-border-style: solid;
   --ecbz-border-color: #dee2e6;
   --ecbz-card-shadow: none;
   --ecbz-input-border-radius: 6px;
   --ecbz-input-border-color: #d9dee3;
   --ecbz-input-bg-color: #ffffff;
   --ecbz-input-focus-color: #696cff;
   --ecbz-heading-font: "Montserrat";
   --ecbz-sub-heading-font: "Montserrat";
   --ecbz-body-font: "Lato";
   --ecbz-body-font-style: normal;
   --ecbz-text-transform: none;
   --ecbz-font-size: 16px;
   --ecbz-line-height: 1.7;
   --ecbz-letter-spacing: 0em;
   --ecbz-word-spacing: 0px;
   --ecbz-section-padding-top: 80px;
   --ecbz-section-padding-bottom: 80px;
   --ecbz-column-gap: 24px;
   --ecbz-row-gap: 24px;
   --ecbz-transition-speed: 500ms;
   --ecbz-nav-height:88px;
   --ecbz-nav-height-scrolled:66px;
}

@media (prefers-reduced-motion: no-preference) {
   :root {
      scroll-behavior: smooth;
   }
}
html {
   scroll-behavior: smooth;
}
body {
   font-family: var(--ecbz-body-font), sans-serif;
   font-style: var(--ecbz-body-font-style);
   font-weight: 400;
   font-size: var(--ecbz-font-size) !important;
   line-height: var(--ecbz-line-height);
   letter-spacing: var(--ecbz-letter-spacing);
   word-spacing: var(--ecbz-word-spacing);
   background-color: var(--ecbz-body-color);
   color: var(--ecbz-body-text-color);
   text-transform: var(--ecbz-text-transform);
}
h1, h2, h3, h4, h5, h6, .navbar-brand {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 600;
   font-style: var(--ecbz-body-font-style) !important;
}
a {
   font-family: var(--ecbz-body-font), sans-serif !important;
   font-weight: 400 !important;
   font-style: var(--ecbz-body-font-style) !important;
   text-decoration: none !important;
   color: var(--ecbz-body-text-color);
}
.sticky-bar {
   position: sticky !important;
   top: 90px;
}
.hero p {
   font-size: 1.2rem !important;
}
.btn {
   font-family: var(--ecbz-body-font), sans-serif;
   font-weight: 400;
   border-radius: var(--ecbz-border-radius) !important;
   border-style: var(--ecbz-border-style) !important;
   padding: .65rem 1.3rem;
   border-width: 1px;
   color: var(--ecbz-white-soft) !important;
   transition: background var(--ecbz-transition-speed) ease, color var(--ecbz-transition-speed) ease,
   border-color var(--ecbz-transition-speed) ease, transform var(--ecbz-transition-speed) ease,
   /*box-shadow var(--ecbz-transition-speed) ease;*/
}
/*.btn i {*/
/*   margin-right: .45rem;*/
/*   font-size: 1.05em;*/
/*   vertical-align: -2px;*/
/*}*/
.btn:focus-visible {
   outline: none;
   box-shadow: var(--ecbz-card-shadow) !important;
}
.btn:disabled, .btn.disabled {
   opacity: .5;
   cursor: not-allowed;
   transform: none !important;
   box-shadow: none !important;
}
.btn.btn-sm {
   padding: .4rem 1rem;
   font-size: .85rem;
}
.btn.btn-lg {
   padding: .85rem 2rem;
   font-size: 1.05rem;
}
.btn.btn-primary {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
   transition: color var(--ecbz-transition-speed);
}
.btn.btn-primary:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff !important;
   /*transform: translateY(-2px);*/
   /*box-shadow: 0 10px 22px rgba(var(--ecbz-primary-rgb), .28);*/
}
.btn.btn-secondary {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
}
.btn.btn-secondary:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff !important;
   /*transform: translateY(-2px);*/
   /*box-shadow: 0 10px 22px rgba(var(--ecbz-secondary-rgb), .28);*/
}
.btn.btn-outline-primary {
   background: transparent;
   border-color: var(--ecbz-primary);
   color: var(--ecbz-primary) !important;
}
.btn.btn-outline-primary:hover {
   color: var(--ecbz-primary) !important;
}
.btn.btn-outline-secondary {
   background: transparent;
   border-color: var(--ecbz-secondary) !important;
   color: var(--ecbz-secondary) !important;
}
.btn.btn-outline-secondary:hover {
   color: var(--ecbz-secondary) !important;
}
.btn.btn-outline-default {
   background: transparent;
   border-color: var(--ecbz-white) !important;
   color: var(--ecbz-white);
}
.btn.btn-outline-default:hover {
   background: var(--ecbz-white-soft) !important;
   border-color: var(--ecbz-white-soft) !important;
   color: var(--ecbz-black-soft) !important;
}
.btn.btn-outline-dark {
   background: transparent;
   border-color: var(--ecbz-black-soft);
   color: var(--ecbz-black-soft);
}
.btn.btn-outline-dark:hover {
   background: var(--ecbz-black-soft);
   border-color: var(--ecbz-black-soft);
   color: var(--ecbz-white-soft);
}
.btn.btn-ghost-primary {
   background: transparent;
   border-color: transparent;
   color: var(--ecbz-primary);
}
.btn.btn-ghost-primary:hover {
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
}
.btn.btn-ghost-secondary {
   background: transparent;
   border-color: transparent;
   color: var(--ecbz-secondary);
}
.btn.btn-ghost-secondary:hover {
   background: rgba(var(--ecbz-secondary-rgb), .08);
   color: var(--ecbz-secondary);
}
.btn.btn-soft-primary {
   background: rgba(var(--ecbz-primary-rgb), .12);
   border-color: transparent;
   color: var(--ecbz-primary);
}
.btn.btn-soft-primary:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
}
.btn.btn-soft-secondary {
   background: rgba(var(--ecbz-secondary-rgb), .12);
   border-color: transparent;
   color: var(--ecbz-secondary);
}
.btn.btn-soft-secondary:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
}
.btn.btn-whatsapp {
   background-color: #075E54 !important;
}
.btn.btn-icon.btn-sm.btn-whatsapp {
   height: auto;
   width: auto;
}
body:has(.pricing-sticky) .whatsapp-icon,
body:has(.pricing-sticky) .back-to-top {
   bottom: calc(var(--pricing-bar-height) + 20px); /* extra spacing */
}
body:has(.pricing-sticky) .whatsapp-icon,
body:has(.pricing-sticky) .back-to-top {
   bottom: calc(var(--pricing-bar-height) + 20px); /* extra spacing */
}
body:has(.pricing-sticky) {
   padding-bottom: 107px;
}
@media (max-width: 768px) {
   .sticky-pricing-bar {
      padding: 10px;
   }
   .sticky-pricing-bar .pricing-info {
      text-align: start;
      padding-bottom: 1.5rem;
   }
   body:has(.pricing-sticky) {
      padding-bottom: 180px;
   }
   body:has(.pricing-sticky) .whatsapp-icon {
      bottom: 190px !important;
   }
   body:has(.pricing-sticky) .back-to-top {
      bottom: 190px !important;
   }
}
@media (max-width: 576px) {
   body:has(.pricing-sticky) {
      padding-bottom: 180px;
   }
   body:has(.pricing-sticky) .whatsapp-icon {
      bottom: 250px !important;
   }
   body:has(.pricing-sticky) .back-to-top {
      bottom: 250px !important;
   }
}
.border-gray {
   border-color: #A0AABA2B;
}
.border-top-bottom {
   border-top: 0.01rem solid rgba(255,255,255,0.5);
   border-bottom: 0.01rem solid rgba(255,255,255,0.5);
}
.btn.btn-icon {
   height: 44px;
   width: 44px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0 !important;
}
.btn-whatsapp {
   background-color: #2db742 !important;
   border-radius: 50%;
   --webkit-border-radius: 50%;
   --moz-border-radius: 50%;
   height: 56px !important;
   width: 56px !important;
}
.btn-whatsapp::before {
   box-sizing: border-box;
   --webkit-box-sizing: border-box;
   --moz-box-sizing: border-box;
}
.wa-popup-txt {
   background-color: #f5f7f9;
   border-radius: 4px;
   -webkit-border-radius: 4px;
   -moz-border-radius: 4px;
   color: #43474e;
   font-size: 12px;
   letter-spacing: -.03em;
   line-height: 1.5;
   margin-right: 7px;
   padding: 8px;
   position: absolute;
   right: 100%;
   top: 50%;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
   transition: all .4s ease;
   -webkit-transition: all .4s ease;
   -moz-transition: all .4s ease;
   width: 156px;
}
/*.btn.btn-icon.btn-sm.btn-whatsapp {*/
/*   height: auto;*/
/*   width: auto;*/
/*}*/
.btn-whatsapp {
   border-radius: var(--ecbz-border-radius) !important;
   border-style: var(--ecbz-border-style) !important
}
.text-body {
   color: var(--ecbz-body-color) !important;
}
.text-primary {
   color: var(--ecbz-primary) !important;
}
.bg-primary {
   background-color: var(--ecbz-primary) !important;
}
.bg-soft-primary {
   background-color: rgba(var(--ecbz-primary-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-primary-rgb), 0.1);
   color: var(--ecbz-primary) !important;
}
.text-primary-light {
   color: var(--ecbz-primary-light) !important;
}
.bg-primary-light {
   background-color: var(--ecbz-primary-light) !important;
}
.text-secondary {
   color: var(--ecbz-secondary) !important;
}
.bg-secondary {
   background-color: var(--ecbz-secondary) !important;
}
.bg-soft-secondary {
   background-color: rgba(var(--ecbz-secondary-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-secondary-rgb), 0.1);
   color: var(--ecbz-secondary) !important;
}
.text-secondary-light {
   color: var(--ecbz-secondary-light) !important;
}
.bg-secondary-light {
   background-color: var(--ecbz-secondary-light) !important;
}
.text-accent-one {
   color: var(--ecbz-accent-one) !important;
}
.bg-accent-one {
   background-color: var(--ecbz-accent-one) !important;
}
.bg-soft-accent-one {
   background-color: rgba(var(--ecbz-accent-one-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-accent-one-rgb), 0.1);
   color: var(--ecbz-accent-one) !important;
}
.text-accent-two {
   color: var(--ecbz-accent-two) !important;
}
.bg-accent-two {
   background-color: var(--ecbz-accent-two) !important;
}
.bg-soft-accent-two {
   background-color: rgba(var(--ecbz-accent-two-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-accent-two-rgb), 0.1);
   color: var(--ecbz-accent-two) !important;
}
.text-accent-three {
   color: var(--ecbz-accent-three) !important;
}
.bg-accent-three {
   background-color: var(--ecbz-accent-three) !important;
}
.bg-soft-accent-three {
   background-color: rgba(var(--ecbz-accent-three-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-accent-three-rgb), 0.1);
   color: var(--ecbz-accent-three) !important;
}
.text-accent-four {
   color: var(--ecbz-accent-four) !important;
}
.bg-accent-four {
   background-color: var(--ecbz-accent-four) !important;
}
.bg-soft-accent-four {
   background-color: rgba(var(--ecbz-accent-four-rgb), 0.1) !important;
   border: 1px solid rgba(var(--ecbz-accent-four-rgb), 0.1);
   color: var(--ecbz-accent-four) !important;
}
.text-gray {
   color: #f7f8fa !important;
}
.bg-gray {
   background-color: #f7f8fa !important;
}
.text-black {
   color: #000000 !important;
}
.bg-black {
   background-color: #000000 !important;
}
.text-dark {
   color: #25272b !important;
}
.bg-dark {
   background-color: #25272b !important;
}
.bg-soft-dark {
   background-color: rgba(60, 72, 88, 0.1) !important;
   border: 1px solid rgba(60, 72, 88, 0.1) !important;
   color: #3c4858 !important;
}
.bg-soft-dark .border {
   border-color: #3c4858 !important;
}
.bg-light {
   background-color: #f6f6f8 !important;
}
.bg-light-2 {
   background-color: #f7f8fa !important;
}
.text-muted {
   color: #9da9bb !important;
}
.bg-muted {
   background-color: #9da9bb !important;
}
.text-white {
   color: #ffffff !important;
}
.bg-white {
   background-color: #ffffff !important;
}
.text-blue {
   color: #1058df !important;
}
.bg-blue {
   background-color: #1058df !important;
}
.bg-overlay {
   position: absolute;
   background-color: rgba(0, 0, 0, 0.9);
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1000;
}
.bg-overlay-gray {
   position: absolute;
   background-color: rgba(var(--ecbz-gray-soft-rgb), 0.1);
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-gradient {
   position: absolute;
   background: var(--ecbz-theme-gradient);
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-gradient-light {
   position: absolute;
   background: var(--ecbz-theme-gradient-light);
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-primary {
   position: absolute;
   background: var(--ecbz-primary);
   /*opacity: 0.85;*/
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-primary-light {
   position: absolute;
   background: var(--ecbz-primary-light);
   /*opacity: 0.85;*/
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-secondary {
   position: absolute;
   background: var(--ecbz-secondary);
   /*opacity: 0.85;*/
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.bg-overlay-secondary-light {
   position: absolute;
   background: var(--ecbz-secondary-light);
   /*opacity: 0.85;*/
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   z-index: -1;
   pointer-events: none;
}
.rounded {
   border-radius: 6px !important;
}
.rounded-top {
   border-top-left-radius: 6px !important;
   border-top-right-radius: 6px !important;
}
.rounded-left {
   border-top-left-radius: 6px !important;
   border-bottom-left-radius: 6px !important;
}
.rounded-bottom {
   border-bottom-left-radius: 6px !important;
   border-bottom-right-radius: 6px !important;
}
.rounded-right {
   border-top-right-radius: 6px !important;
   border-bottom-right-radius: 6px !important;
}
.rounded-md {
   border-radius: 10px !important;
}
.rounded-lg {
   border-radius: 30px !important;
}
.border {
   border-color: #e9ecef !important;
}
.border-top {
   border-top: 1px solid #e9ecef !important;
   /*border-top-color: #e9ecef !important;*/
}
.border-bottom {
   border-bottom: 1px solid #e9ecef !important;
   /*border-bottom-color: #e9ecef !important;*/
}
.border-left {
   border-left: 1px solid #e9ecef !important;
   /*border-left-color: #e9ecef !important;*/
}
.border-right {
   border-right: 1px solid #e9ecef !important;
   /*border-right-color: #e9ecef !important;*/
}
.small, small {
   font-size: .875em;
}
.section {
   padding-top: var(--ecbz-section-padding-top);
   padding-bottom: var(--ecbz-section-padding-bottom);
   position: relative;
}
.fs-13, .fs-13 p {
   font-size: 13px !important;
}
.fs-14, .fs-14 p {
   font-size: 14px !important;
}
.fs-15, .fs-15 p {
   font-size: 15px !important;
}
.fs-16, .fs-16 p {
   font-size: 16px !important;
}
.fs-17, .fs-17 p {
   font-size: 17px !important;
}
.fs-18, .fs-18 p {
   font-size: 18px !important;
}
.fs-19, .fs-19 p {
   font-size: 19px !important;
}
.fs-20, .fs-20 p {
   font-size: 20px !important;
}
.avatar.avatar-ex-sm {
   max-height: 25px;
}
.avatar.avatar-md-sm {
   height: 45px;
   width: 45px;
}
.avatar.avatar-small {
   height: 65px;
   width: 65px;
}
.avatar.avatar-md-md {
   height: 80px;
   width: 80px;
}
.avatar.avatar-medium {
   height: 110px;
   width: 110px;
}
.avatar.avatar-large {
   height: 140px;
   width: 140px;
}
.avatar.avatar-ex-large {
   height: 180px;
   width: 180px;
}
.avatar-md {
   height: auto;
   width: 74px;
}
.icon-size-15 {
   height: 15px;
   width: 15px;
}
.icon-size-15 svg {
   height: 15px !important;
   width: 15px !important;
}
.icon-sm {
   height: 18px;
   width: 18px;
}
.icon-sm svg {
   height: 18px !important;
   width: 18px !important;
}
.icon-xs {
   height: 20px;
   width: 20px;
}
.icon-xs svg {
   height: 20px !important;
   width: 20px !important;
}
.icon-md {
   height: 25px;
   width: 25px;
}
.icon-md svg {
   height: 25px !important;
   width: 25px !important;
}
.icon-lg {
   height: 30px;
   width: 30px;
}
.icon-lg svg {
   height: 30px !important;
   width: 30px !important;
}
.icon-xl {
   height: 35px;
   width: 35px;
}
.icon-xl svg {
   height: 35px !important;
   width: 35px !important;
}
.icon-xxl {
   height: 45px;
   width: 45px;
}
.icon-xxl svg {
   height: 45px !important;
   width: 45px !important;
}
.icon-xxxl {
   height: 60px;
   width: 60px;
}
.icon-xxxl svg {
   height: 60px !important;
   width: 60px !important;
}
.line-height-1_6 {
   line-height: 1.6;
}
.line-height-1_4 {
   line-height: 1.4;
}
.fw-medium {
   font-weight: 500;
}
.fw-semibold {
   font-weight: 600;
}
.box-shadow {
   box-shadow: var(--ecbz-card-shadow) !important;
}

.btn-nav-cta {
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   background: var(--ecbz-primary);
   color: #fff;
   font-weight: 700;
   font-size: .86rem;
   padding: .62rem 1.35rem;
   border-radius: var(--ecbz-border-radius);
   border: 1px solid var(--ecbz-primary);
   transition: background var(--ecbz-transition-speed), transform var(--ecbz-transition-speed);
}
.btn-nav-cta:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
   transform: translateY(-1px);
}
.navbar.bg-primary .btn-nav-cta {
   border: 1px solid var(--ecbz-secondary);
}
.navbar.bg-primary .btn-nav-cta:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
}
.tagline {
   position: relative;
   width: 100%;
   z-index: 99;
   font-size: 14px;
   padding: 13px 0;
   height: 48px;
}
@media screen and (max-width: 575px) {
   .tagline {
      display: none;
   }
}
.social-icon li a {
   color: #3c4858;
   border: 1px solid #3c4858;
   display: inline-block;
   height: 32px;
   width: 32px;
   /*display: flex;*/
   align-items: center;
   justify-content: center;
   transition: all 0.4s ease;
   overflow: hidden;
   position: relative;
}
.social-icon.tagline-social li a {
   border: none;
   height: auto;
   width: auto;
   /*padding: 5px 8px 5px 8px;*/
   transition: all 0.5s ease;
}
.social-icon.tagline-social li a i {
   font-size: 1.2rem;
   color: #8c98a4;
}
.social-icon.tagline-social li a i:hover {
   color: var(--ecbz-primary) !important;
}
.social-icon.tagline-social li a:hover {
   background: transparent !important;
   border: 1px solid var(--ecbz-primary) !important;
}
.tagline.bg-primary .social-icon.tagline-social li a i {
   color: #ffffff;
   transition: all 0.5s ease;
}
.tagline.bg-primary .social-icon.tagline-social li a:hover i {
   color: var(--ecbz-secondary) !important;
}
.tagline.bg-primary .social-icon.tagline-social li a:hover {
   background: transparent;
}
.tagline.bg-secondary .social-icon.tagline-social li a i {
   color: #ffffff;
}
.tagline.bg-secondary .social-icon.tagline-social li a i:hover {
   color: var(--ecbz-primary) !important;
}
.tagline.bg-secondary .social-icon.tagline-social li a:hover {
   background: transparent;
   border: 1px solid var(--ecbz-primary) !important;
}
.tagline.bg-secondary .social-icon.tagline-social li a:hover i {
   color: var(--ecbz-primary) !important;
}
.social-icon.tagline-social.social-white li a i {
   color: #ffffff;
}
.social-icon.tagline-social.social-dark li a i {
   color: #3c4858;
}
.tagline.bg-primary .list-inline-item a,
.tagline.bg-secondary .list-inline-item a{
   color: #ffffff !important;
}
.tagline .list-inline-item a i {
   color: var(--ecbz-primary) !important;
}
.tagline.bg-primary .list-inline-item a i {
   color: var(--ecbz-white) !important;
}
.tagline.bg-secondary .list-inline-item a i{
   color: var(--ecbz-white) !important;
}

.header {
   position: relative;
   font-family: var(--ecbz-body-font), sans-serif;
}
.header .navbar {
   position: sticky;
   top: 0;
   z-index: 20;
   background: #fff;
   /*border-bottom: 1px solid var(--ecbz-border-color);*/
   transition: box-shadow var(--ecbz-transition-speed);
}
.header .navbar.is-scrolled {
   box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
}
@media screen and (max-width: 575px) {
   .tagline-height {
      top: 0 !important;
   }
}
@media (min-width: 576px) {
   .tagline-height {
      top: 48px !important;
   }
}
.header .nav-inner {
   display: grid;
   grid-template-columns:auto 1fr auto;
   align-items: center;
   column-gap: 1rem;
   width: 100%;
}
.header .main-links {
   justify-content: center; /* was already flex; now centers within its own grid track */
}
.header .navbar.is-scrolled .nav-inner {
   height: var(--ecbz-nav-height-scrolled);
}
.header .brand {
   font-weight: 800;
   font-size: 1.15rem;
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   gap: .5rem;
   font-family: var(--ecbz-heading-font), sans-serif;
}
.header .brand .mark {
   width: 34px;
   height: 34px;
   border-radius: 8px;
   background: var(--ecbz-primary);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 800;
   font-size: .95rem;
}
.header .main-links {
   display: flex;
   align-items: center;
   gap: .4rem;
   list-style: none;
   margin: 0;
   padding: 0;
}
.header .main-links > li {
   position: relative;
}
.header .main-links > li > a {
   font-weight: 600;
   font-size: .92rem;
   color: var(--ecbz-body-text-color);
   padding: .5rem .95rem;
   border-radius: var(--ecbz-border-radius);
   display: inline-flex;
   align-items: center;
   gap: .3rem;
   transition: background var(--ecbz-transition-speed), color var(--ecbz-transition-speed);
}
.header .main-links > li:hover > a {
   background: rgba(var(--ecbz-primary-light-rgb), .08);
   color: var(--ecbz-primary);
}
.header .main-links > li.active > a {
   background: var(--ecbz-primary);
   color: var(--ecbz-white);
}
.header .navbar.bg-primary .main-links > li > a {
   border-radius: 0;
   color: var(--ecbz-white);
}
.header .navbar.bg-primary .main-links > li:hover > a,
.header .navbar.bg-primary .main-links > li.active > a {
   color: var(--ecbz-secondary);
   border-bottom: 3px solid var(--ecbz-secondary);
}
.header .dropdown-panel {
   position: absolute;
   top: calc(100% + 10px);
   left: 0;
   min-width: 230px;
   background: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: 10px;
   box-shadow: 0 16px 32px rgba(0, 0, 0, .09);
   padding: .5rem;
   list-style: none;
   margin: 0;
   opacity: 0;
   visibility: hidden;
   transform: translateY(6px);
   transition: opacity 200ms ease, transform 200ms ease, visibility 200ms;
}
.header .main-links > li:hover > .dropdown-panel {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
}
.header .dropdown-panel li {
   position: relative;
}
.header .dropdown-panel a {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: .5rem;
   padding: .55rem .75rem;
   border-radius: 6px;
   font-size: .87rem;
   color: var(--ecbz-body-text-color);
   font-weight: 500;
}
.header .dropdown-panel a:hover {
   background: rgba(var(--ecbz-primary-rgb), .06);
   color: var(--ecbz-primary);
}
.header .dropdown-panel .dropdown-panel.sub {
   top: -.5rem;
   left: calc(100% + 8px);
}
.header .icon-actions {
   display: flex;
   align-items: center;
   gap: 1rem;
}
.header .icon-actions a {
   color: var(--ecbz-primary);
   font-size: 1.1rem;
   position: relative;
   display: inline-flex;
}
.header .icon-actions .cart-count {
   position: absolute;
   top: -8px;
   right: -10px;
   background: var(--ecbz-secondary);
   color: #fff;
   font-size: .65rem;
   font-weight: 700;
   border-radius: 999px;
   min-width: 16px;
   height: 16px;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 0 4px;
}
.header .search-panel {
   min-width: 280px;
   padding: 1rem;
}
.header .search-panel input {
   border-radius: 8px;
}
.btn-nav-cta {
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   background: var(--ecbz-primary);
   color: #fff;
   font-weight: 700;
   font-size: .86rem;
   padding: .62rem 1.35rem;
   border-radius: 999px;
   border: 1px solid var(--ecbz-primary);
   transition: background var(--ecbz-transition-speed), transform var(--ecbz-transition-speed);
}
.btn-nav-cta:hover {
   background: var(--ecbz-primary-light);
   border-color: var(--ecbz-primary-light);
   color: #fff;
   transform: translateY(-1px);
}
.header .mobile-menu-panel {
   position: absolute;
   top: 100%;
   left: 0;
   right: 0;
   background: #fff;
   border-top: 1px solid var(--ecbz-border-color);
   box-shadow: 0 18px 30px rgba(0, 0, 0, .08);
   max-height: 0;
   overflow: hidden;
   opacity: 0;
   transition: max-height 360ms ease, opacity 280ms ease;
}
.header .mobile-menu-panel.is-open {
   max-height: 75vh;
   opacity: 1;
   overflow-y: auto;
}
.header .mobile-menu-panel .mm-link {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: .9rem 1.5rem;
   font-weight: 600;
   font-size: .95rem;
   color: var(--ecbz-body-text-color);
   border-bottom: 1px solid #f0f1f2;
   cursor: pointer;
}
.header .mobile-menu-panel .mm-link:hover {
   background: rgba(var(--ecbz-primary-rgb), .06);
}
.header .mobile-menu-panel .mm-link.active {
   background: rgba(var(--ecbz-primary-rgb), .4);
}
.header .mobile-menu-panel .mm-submenu {
   display: none;
   background: #fafbfa;
}
.header .mobile-menu-panel .mm-submenu.is-open {
   display: block;
}
.header .mobile-menu-panel .mm-submenu a {
   display: block;
   padding: .7rem 2.25rem;
   font-size: .88rem;
   color: #5c6773;
}
.header .mobile-menu-panel .mm-submenu .mm-subsub a {
   padding-left: 3.25rem;
   font-size: .84rem;
   color: #7a8390;
}
.hamburger {
   width: 38px;
   height: 38px;
   border: none;
   background: transparent;
   position: relative;
   cursor: pointer;
   display: none;
   align-items: center;
   justify-content: center;
}
.hamburger span, .hamburger span::before, .hamburger span::after {
   content: '';
   position: absolute;
   width: 20px;
   height: 2px;
   background: var(--ecbz-body-text-color);
   transition: transform 260ms ease, opacity 200ms ease;
}
.hamburger span::before {
   transform: translateY(-6px);
}
.hamburger span::after {
   transform: translateY(6px);
}
.hamburger.is-open span {
   background: transparent;
}
.hamburger.is-open span::before {
   transform: rotate(45deg);
}
.hamburger.is-open span::after {
   transform: rotate(-45deg);
}
@media (max-width: 991.98px) {
   .header .main-links {
      display: none;
   }
   .header .hamburger {
      display: flex;
   }
}
.hero-banner--overlay {
   position: relative;
   min-height: 600px;
   display: flex;
   align-items: flex-start;
   overflow: hidden;
   color: #fff;
}
.hero-banner__bg {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.hero-banner__bg img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.hero-banner__scrim {
   position: absolute;
   inset: 0;
   background: linear-gradient(160deg, rgba(var(--ecbz-primary-rgb), .86) 0%, rgba(var(--ecbz-primary-rgb), .55) 45%, rgba(var(--ecbz-primary-rgb), .30) 100%);
}
.hero-banner--overlay .hero-banner__inner {
   position: relative;
   z-index: 1;
   padding-top: 120px;
   width: 100%;
}
.hero-banner__eyebrow {
   display: inline-flex;
   align-items: center;
   gap: .5rem;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   background: rgba(255, 255, 255, .14);
   border: 1px solid rgba(var(--ecbz-secondary-rgb), .3);
   padding: .4rem .9rem;
   border-radius: 999px;
   margin-bottom: 1.2rem;
}
.hero-banner--overlay .hero-banner__title {
   font-size: 2.9rem;
   font-weight: 800;
   line-height: 1.12;
   max-width: 620px;
   margin-bottom: 1.1rem;
}
.hero-banner--overlay .hero-banner__lede {
   font-size: 1.05rem;
   opacity: .88;
   line-height: 1.7;
   max-width: 520px;
   margin-bottom: 1.8rem;
}
.hero-banner__cta-row {
   display: flex;
   gap: 1rem;
   flex-wrap: wrap;
}
@media (max-width: 760px) {
   .hero-banner--overlay {
      min-height: 480px;
   }
   .hero-banner--overlay .hero-banner__inner {
      padding-top: 80px;
   }
   .hero-banner--overlay .hero-banner__title {
      font-size: 2.1rem;
   }
}
.hero-banner--gallery {
   position: relative;
   min-height: 620px;
   display: flex;
   align-items: flex-start;
   overflow: hidden;
   color: #fff;
}
.hero-banner__bg-slider {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.hero-banner__bg-slider .swiper, .hero-banner__bg-slider .swiper-slide {
   width: 100%;
   height: 100%;
}
.hero-banner__slide-img {
   width: 100%;
   height: 100%;
   background-size: cover;
   background-position: center;
   animation: hb-kenburns 8s ease-out forwards;
}
@keyframes hb-kenburns {
   0% {
      transform: scale(1);
   }
   100% {
      transform: scale(1.15);
   }
}
.hero-banner {
   display: flex;
   align-items: center; /* vertical centering */
}
.hero-banner__content {
   width: 100%;
   align-items: center;
   justify-content: center;
}
.hero-banner__scrim {
   position: absolute;
   inset: 0;
   z-index: 1;
   background: linear-gradient(120deg, rgba(var(--ecbz-primary-rgb), .82) 0%, rgba(var(--ecbz-primary-rgb), .55) 45%, rgba(var(--ecbz-primary-rgb), .28) 100%);
}
.hero-banner--gallery .hero-banner__inner {
   position: relative;
   z-index: 2;
   padding: 80px 0;
   width: 100%;
}
.hero-banner--gallery .hero-banner__title {
   font-size: 3.9rem;
   font-weight: 800;
   line-height: 1.12;
   max-width: 720px;
   margin-bottom: 1.1rem;
}
.hero-banner--gallery .hero-banner__lede {
   font-size: 1.05rem;
   opacity: .88;
   line-height: 1.7;
   max-width: 520px;
   margin-bottom: 1.8rem;
}
.hero-banner__cta-row {
   display: flex;
   gap: 1rem;
   flex-wrap: wrap;
}
.hero-banner__dots {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 28px;
   z-index: 2;
   display: flex;
   justify-content: center;
   gap: .5rem;
}
.hero-banner__dots .swiper-pagination-bullet {
   background: rgba(255, 255, 255, .5);
   opacity: 1;
   width: 8px;
   height: 8px;
}
.hero-banner__dots .swiper-pagination-bullet-active {
   background: #fff;
   width: 22px;
   border-radius: 4px;
}
@media (max-width: 760px) {
   .hero-banner--gallery {
      min-height: 480px;
   }
   .hero-banner--gallery .hero-banner__inner {
      padding-top: 80px;
   }
   .hero-banner--gallery .hero-banner__title {
      font-size: 2.1rem;
   }
}
.hero-cta {
   display: inline-flex;
   align-items: center;
   gap: .45rem;
   font-weight: 700;
   font-size: .92rem;
   padding: .85rem 1.7rem;
   border-radius: 8px;
   transition: transform var(--ecbz-transition-speed), background var(--ecbz-transition-speed);
}
.hero-cta--ghost {
   background: rgba(255, 255, 255, .14);
   color: #fff;
   border: 1.5px solid rgba(255, 255, 255, .5);
   backdrop-filter: blur(2px);
}
.hero-cta--ghost:hover {
   background: rgba(255, 255, 255, .22);
   transform: translateY(-2px);
   color: #fff;
}
.hero-banner--video .hero-banner__bg {
   position: absolute;
   inset: 0;
   overflow: hidden;
}
.hero-banner__video {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.btn-cta {
   display: inline-flex;
   align-items: center;
   gap: .45rem;
   font-weight: 700;
   font-size: .92rem;
   padding: .65rem 1.4rem;
   border-radius: 8px;
   transition: transform var(--ecbz-transition-speed), background var(--ecbz-transition-speed);
}
.btn-cta.solid {
   background: var(--ecbz-primary);
   color: #fff;
}
.btn-cta.solid:hover {
   background: var(--ecbz-secondary);
   transform: translateY(-2px);
   color: #fff;
}
.btn-cta.outline {
   background: transparent;
   color: var(--ecbz-primary) !important;
   border: 1px solid var(--ecbz-border-color) !important;
}
.btn-cta.outline:hover {
   border-color: var(--ecbz-primary) !important;
   transform: translateY(-2px);
   color: var(--ecbz-primary) !important;
}
.section-title {
   /*max-width: 640px;*/
   margin: 0 auto 2rem;
}
.section-title .sub {
   display: inline-block;
   font-size: .88rem;
   font-weight: 500;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin-bottom: .7rem;
}
.section-title h2 {
   font-size: 3rem;
   font-weight: 800;
   color: var(--ecbz-primary) !important;
   margin-bottom: .7rem;
   /*text-align: center;*/
}
.section-title .details {
   margin: 0 auto;
   max-width: 90ch;
}
.section-title .details p, .section-title p {
   color: var(--ecbz-body-text-color) !important;
   font-size: .98rem;
   line-height: 1.7;
   margin: 0;
}
.sec-image {
   padding: 80px 0;
}
.sec-image .row-flex {
   display: flex;
   /*align-items: center;*/
   gap: 60px;
}
.sec-image .col-text {
   flex: 1;
}
.sec-image .col-media {
   flex: 0 0 44%;
}
.sec-image .eyebrow, .icbx-split .eyebrow {
   display: flex;
   align-items: center;
   gap: 8px;
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: .88rem;
   font-weight: 500;
   letter-spacing: .18em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin-bottom: .8rem;
}
.sec-image .eyebrow::before, .icbx-split .eyebrow::before {
   content: '';
   display: block;
   width: 24px;
   height: 2px;
   background: var(--ecbz-primary);
   border-radius: 1px;
   flex-shrink: 0;
}
.sec-image h2 {
   font-size: 3rem;
   font-weight: 800;
   color: var(--ecbz-primary);
   line-height: 1.18;
   margin-bottom: 1rem;
}
section:has(.bg-overlay-primary) .section-title h2 {
   color: var(--ecbz-white) !important;
}
.sec-image .details {
   color: var(--ecbz-body-text-color);
   font-size: 1rem;
   line-height: 1.75;
   margin-bottom: 1.6rem;
}
.details.content-mb-0 p {
   margin-bottom: 0 !important;
}
.sec-image .details ul {
   padding-left: 1.2rem;
   margin: 0;
}
.sec-image .details li {
   margin-bottom: .5rem;
}
.sec-image .media-frame {
   border-radius: var(--ecbz-border-radius);
   overflow: hidden;
   box-shadow: var(--ecbz-card-shadow);
   aspect-ratio: 4/3.3;
   transition: box-shadow 800ms;
}
.sec-image .media-frame:hover {
   box-shadow: 10px 28px 44px rgba(0, 0, 0, .12);
}
.sec-image .media-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   border-radius: var(--ecbz-border-radius);
}
@media (max-width: 860px) {
   .sec-image .row-flex {
      flex-direction: column;
   }
}
.icard {
   display: flex;
   /*flex-direction: column;*/
   align-items: center;
   /*text-align: center;*/
   color: inherit;
   text-decoration: none;
   height: 100%;
   background: transparent;
   border: 1px var(--ecbz-border-style) var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   box-shadow: var(--ecbz-card-shadow);
   transition: transform var(--ecbz-transition-speed), border-color var(--ecbz-transition-speed);
}
.icard.padded {
   padding: 12px 18px;
}
.icard:hover {
   transform: translateY(-4px);
   border-color: transparent;
}
.icard .icon-wrap {
   width: 50px;
   height: 50px;
   border-radius: var(--ecbz-border-radius);
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   font-size: 2.1rem;
   transition: background var(--ecbz-transition-speed), color var(--ecbz-transition-speed);
}
.icard .icon-wrap .num {
   font-size: var(--ecbz-font-size);
}
.icard:hover .icon-wrap {
   background: var(--ecbz-primary);
   color: #fff;
}
.icard.no-link {
   padding: 0;
}
.icard h4 {
   font-size: 28px;
   font-weight: 700;
}
.section:has(.bg-overlay-primary) .icard,
.section:has(.bg-overlay-secondary) .icard {
   border: none !important;
   box-shadow: none;
}
.section:has(.bg-overlay-primary) .icard h4 {
   color: var(--ecbz-white);
}
.section:has(.bg-overlay-primary) .icard .icon-wrap {
   background: rgba(var(--ecbz-secondary-rgb), .08);
   color: var(--ecbz-secondary);
}
.cards-grid {
   padding: 80px 0;
   /*background: #fbfbf9;*/
}
.cards-grid .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 28px;
}
.cards-grid .icard {
   padding: 2rem;
}
.cards-grid .icard h5 {
   font-weight: 700;
   font-size: 1.05rem;
   margin: 1.1rem 0 .6rem;
   color: var(--ecbz-body-text-color);
}
.cards-grid .icard p {
   color: var(--ecbz-body-text-color);
   font-size: var(--ecbz-font-size);
   line-height: 1.65;
   margin: 0;
}
@media (max-width: 860px) {
   .cards-grid .grid {
      grid-template-columns:1fr;
   }
}
.cards-carousel {
   padding: 80px 0;
}
.cards-carousel .swiper {
   padding-bottom: 8px;
}
.cards-carousel .icard {
   padding: 1.9rem;
   height: 100%;
}
.cards-carousel .icard h5 {
   font-weight: 700;
   font-size: 1rem;
   margin: 1rem 0 .55rem;
}
.cards-carousel .icard p {
   color: var(--ecbz-body-text-color) !important;
   font-size: .9rem;
   line-height: 1.6;
   margin: 0;
}
.cards-carousel .carousel-nav {
   display: flex;
   justify-content: center;
   gap: .75rem;
   margin-top: 2rem;
}
.cards-carousel .carousel-nav button {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   border: 1px solid var(--ecbz-border-color);
   background: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all var(--ecbz-transition-speed);
}
.cards-carousel .carousel-nav button:hover {
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.cards-with-image {
   padding: 80px 0;
   background: #fbfbf9;
}
.cards-with-image .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 28px;
}
.cards-with-image .icard {
   overflow: hidden;
}
.cards-with-image .icard .img-wrap {
   aspect-ratio: 16/10.5;
   overflow: hidden;
}
.cards-with-image .icard .img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.cards-with-image .icard:hover .img-wrap img {
   transform: scale(1.06);
}
.cards-with-image .icard .body, .icard .body {
   padding: 1.5rem;
}
.cards-with-image .icard .icon-wrap {
   width: 42px;
   height: 42px;
   font-size: 1.1rem;
   margin-bottom: .9rem;
}
.cards-with-image .icard h5 {
   font-weight: 700;
   font-size: 1.02rem;
   margin-bottom: .55rem;
}
.cards-with-image .icard p {
   color: #6b7684;
   font-size: .9rem;
   line-height: 1.6;
   margin: 0;
}
@media (max-width: 860px) {
   .cards-with-image .grid {
      grid-template-columns:1fr;
   }
}
.contact-cards {
   padding: 76px 0;
   background: #fbfbf9;
}
.contact-cards .grid {
   display: grid;
   grid-template-columns:repeat(4, 1fr);
   gap: 22px;
}
.contact-card {
   background: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   padding: 1.7rem 1.4rem;
   text-align: center;
   transition: transform var(--ecbz-transition-speed), box-shadow var(--ecbz-transition-speed);
}
.contact-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 14px 30px rgba(0, 0, 0, .07);
}
.contact-card .icon-wrap {
   width: 52px;
   height: 52px;
   border-radius: var(--ecbz-border-radius);
   margin: 0 auto .9rem;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   font-size: 2.1rem;
}
.icon-wrap {
   width: 50px;
   height: 50px;
   border-radius: var(--ecbz-border-radius);
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   font-size: 1.8rem;
   flex-shrink: 0;
}
.contact-card h6 {
   font-weight: 700;
   font-size: .92rem;
   margin-bottom: .35rem;
}
.contact-card p {
   font-size: .85rem;
   color: #6b7684;
   margin: 0;
   word-break: break-word;
}
@media (max-width: 860px) {
   .contact-cards .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.video-section {
   padding: 80px 0;
}
.video-frame {
   position: relative;
   max-width: 920px;
   margin: 0 auto;
   border-radius: 16px;
   overflow: hidden;
   aspect-ratio: 16/9;
   box-shadow: 0 26px 54px rgba(0, 0, 0, .16);
   cursor: pointer;
}
.video-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.video-frame:hover img {
   transform: scale(1.03);
}
.video-frame .scrim {
   position: absolute;
   inset: 0;
   background: rgba(0, 0, 0, .28);
}
.video-frame .play-btn {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 76px;
   height: 76px;
   border-radius: 50%;
   background: #fff;
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.5rem;
   box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
   transition: transform var(--ecbz-transition-speed);
}
.video-frame:hover .play-btn {
   transform: translate(-50%, -50%) scale(1.08);
}
.video-frame .play-btn::before {
   content: '';
   position: absolute;
   inset: -14px;
   border-radius: 50%;
   border: 1.5px solid rgba(255, 255, 255, .6);
   animation: pulse-ring 2.4s ease-out infinite;
}
@keyframes pulse-ring {
   0% {
      transform: scale(.9);
      opacity: .7;
   }
   100% {
      transform: scale(1.25);
      opacity: 0;
   }
}
.partners-grid {
   padding: 64px 0;
}
.partners-grid .grid {
   display: grid;
   grid-template-columns:repeat(5, 1fr);
   gap: 1px;
   background: var(--ecbz-border-color);
   border: 1px solid var(--ecbz-border-color);
}
.partners-grid .logo-cell {
   background: #fff;
   padding: 1.8rem;
   display: flex;
   align-items: center;
   justify-content: center;
}
.partners-grid .logo-cell img {
   max-height: 36px;
   max-width: 120px;
   filter: grayscale(1) opacity(.55);
   transition: filter var(--ecbz-transition-speed);
}
.partners-grid .logo-cell:hover img {
   filter: grayscale(0) opacity(1);
}
@media (max-width: 860px) {
   .partners-grid .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.partners-carousel {
   padding: 64px 0;
   background: #fbfbf9;
   overflow: hidden;
}
.partners-carousel .swiper-slide {
   display: flex;
   align-items: center;
   justify-content: center;
   width: auto;
   padding: 0 2.6rem;
}
.partners-carousel .swiper-slide img {
   max-height: 34px;
   filter: grayscale(1) opacity(.6);
   transition: filter var(--ecbz-transition-speed);
}
.partners-carousel .swiper-slide:hover img {
   filter: grayscale(0) opacity(1);
}
.partners-carousel .swiper-wrapper {
   transition-timing-function: linear;
}
.partners-marquee {
   /*padding-block: 3rem;*/
}
.partners-marquee__viewport {
   position: relative;
   -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
   mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.partners-marquee__card {
   width: 100px;
   height: 70px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #fff;
   border-radius: 14px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
   padding: .75rem;
}
.partners-marquee__card img {
   max-height: 50px;
   max-width: 80px;
   object-fit: contain;
   /*filter: grayscale(1) opacity(.65);*/
   transition: filter .3s ease, transform .3s ease;
}
.partners-marquee__card:hover img {
   filter: grayscale(0) opacity(1);
   transform: scale(1.05);
}
.board-grid {
   padding: 80px 0;
   background: #fbfbf9;
}
.board-grid .grid {
   display: grid;
   grid-template-columns:repeat(4, 1fr);
   gap: 26px;
}
.member-card {
   text-align: center;
}
.member-card .photo-wrap {
   position: relative;
   border-radius: 14px;
   overflow: hidden;
   aspect-ratio: 1/1.05;
   margin-bottom: 1.1rem;
}
.member-card .photo-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.member-card:hover .photo-wrap img {
   transform: scale(1.05);
}
.member-card .socials {
   position: absolute;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   justify-content: center;
   gap: .6rem;
   padding: .9rem;
   background: linear-gradient(to top, rgba(0, 0, 0, .55), transparent);
   opacity: 0;
   transform: translateY(8px);
   transition: opacity var(--ecbz-transition-speed), transform var(--ecbz-transition-speed);
}
.member-card:hover .socials {
   opacity: 1;
   transform: translateY(0);
}
.member-card .socials a {
   width: 32px;
   height: 32px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .92);
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: .85rem;
}
.member-card h6 {
   font-weight: 700;
   font-size: .98rem;
   margin-bottom: .2rem;
}
.member-card .role {
   font-size: .82rem;
   color: var(--ecbz-primary-light);
   font-weight: 600;
}
@media (max-width: 860px) {
   .board-grid .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.service-grid {
   padding: 80px 0;
   /*background: #fbfbf9;*/
}
.service-grid .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 26px;
}
.service-grid .icard {
   padding: 2rem;
}
.service-grid .icard h5 {
   font-weight: 700;
   font-size: 1.05rem;
   margin: 1.1rem 0 .6rem;
}
.service-grid .icard p {
   color: #6b7684;
   font-size: .92rem;
   line-height: 1.65;
   margin-bottom: 1rem;
}
@media (max-width: 860px) {
   .service-grid .grid {
      grid-template-columns:1fr;
   }
}
.service-noimg {
   padding: 80px 0;
}
.service-noimg .list {
   max-width: 820px;
   margin: 0 auto;
}
.service-row {
   display: flex;
   gap: 1.2rem;
   padding: 1.6rem 0;
   border-bottom: 1px solid var(--ecbz-border-color);
}
.service-row:first-child {
   border-top: 1px solid var(--ecbz-border-color);
}
.service-row .icon-wrap {
   flex-shrink: 0;
}
.service-row h5 {
   font-weight: 700;
   font-size: 1rem;
   margin-bottom: .4rem;
}
.service-row p {
   color: #6b7684;
   font-size: .9rem;
   margin: 0;
   line-height: 1.6;
}
.service-carousel {
   padding: 80px 0;
   background: #fbfbf9;
}
.service-carousel .icard {
   overflow: hidden;
   height: 100%;
}
.service-carousel .img-wrap {
   aspect-ratio: 16/11;
   overflow: hidden;
}
.service-carousel .img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.service-carousel .body {
   padding: 1.5rem;
}
.service-carousel .body h5 {
   font-weight: 700;
   font-size: 1rem;
   margin: .9rem 0 .5rem;
}
.service-carousel .body p {
   color: #6b7684;
   font-size: .88rem;
   margin: 0;
   line-height: 1.6;
}
.carousel-nav {
   display: flex;
   justify-content: center;
   gap: .75rem;
   margin-top: 2rem;
}
.carousel-nav button {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   border: 1px solid var(--ecbz-border-color);
   background: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   transition: all var(--ecbz-transition-speed);
}
.carousel-nav button:hover {
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.service-blog {
   padding: 80px 0;
}
.service-blog .grid {
   display: grid;
   grid-template-columns:1.15fr 1fr 1fr;
   gap: 26px;
}
.service-blog .icard {
   overflow: hidden;
}
.service-blog .grid > .icard:first-child {
   grid-row: span 2;
}
.service-blog .grid > .icard:first-child .img-wrap {
   aspect-ratio: 1/1.05;
}
.service-blog .img-wrap {
   aspect-ratio: 16/11.5;
   overflow: hidden;
}
.service-blog .img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.service-blog .icard:hover .img-wrap img {
   transform: scale(1.05);
}
.service-blog .body {
   padding: 1.4rem;
}
.service-blog .body h5 {
   font-weight: 700;
   font-size: 1rem;
   margin-bottom: .5rem;
}
.service-blog .body p {
   color: #6b7684;
   font-size: .87rem;
   margin: 0;
   line-height: 1.6;
}
@media (max-width: 860px) {
   .service-blog .grid {
      grid-template-columns:1fr;
   }
   .service-blog .grid > .icard:first-child {
      grid-row: auto;
   }
}
.service-faq .accordion-list {
   max-width: 760px;
   margin: 0 auto;
}
.faq-item {
   border-bottom: 1px solid var(--ecbz-border-color);
}
.faq-item:first-child {
   border-top: 1px solid var(--ecbz-border-color);
}
.faq-q {
   display: flex;
   align-items: center;
   gap: 1rem;
   padding: 1.3rem 0;
   cursor: pointer;
   font-weight: 700;
   font-size: 1rem;
}
.grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(220px, 1fr));
   gap: 14px;
}
.faq-q .icon-wrap {
   width: 38px;
   height: 38px;
   font-size: 1rem;
   flex-shrink: 0;
}
.faq-q .plus {
   margin-left: auto;
   flex-shrink: 0;
   width: 26px;
   height: 26px;
   border-radius: 50%;
   border: 1px solid var(--ecbz-border-color);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform var(--ecbz-transition-speed);
   color: var(--ecbz-primary);
}
.faq-item.is-open .faq-q .plus {
   transform: rotate(45deg);
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.faq-a {
   max-height: 0;
   overflow: hidden;
   transition: max-height 320ms ease;
}
.faq-a-inner {
   padding: 0 0 1.3rem 3.6rem;
   color: #5c6773;
   font-size: .92rem;
   line-height: 1.7;
}
.service-detail-nav {
   position: sticky;
   top: var(--ecbz-nav-height-scrolled, 66px);
   z-index: 10;
   background: #fff;
   border-bottom: 1px solid var(--ecbz-border-color);
   padding: 1rem 0;
   margin-bottom: 3rem;
}
.service-detail-nav .pills {
   display: flex;
   gap: .6rem;
   flex-wrap: wrap;
   justify-content: center;
}
.service-detail-nav .pills a {
   padding: .55rem 1.3rem;
   border-radius: 999px;
   border: 1px solid var(--ecbz-border-color);
   font-weight: 600;
   font-size: .85rem;
   color: var(--ecbz-body-text-color);
   transition: all var(--ecbz-transition-speed);
}
.service-detail-nav .pills a:hover, .service-detail-nav .pills a.is-active {
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.service-sub-block {
   scroll-margin-top: 140px;
   padding: 56px 0;
}
.service-sub-block:not(:last-child) {
   border-bottom: 1px solid var(--ecbz-border-color);
}
.service-gallery .grid {
   display: grid;
   grid-template-columns:repeat(4, 1fr);
   gap: 16px;
}
.service-gallery .g-item {
   position: relative;
   border-radius: var(--ecbz-border-radius);
   overflow: hidden;
   aspect-ratio: 1/0.85;
}
.service-gallery .g-item img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.service-gallery .g-item:hover img {
   transform: scale(1.06);
}
.service-gallery .g-item .zoom-btn {
   position: absolute;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(0, 0, 0, 0);
   transition: background var(--ecbz-transition-speed);
}
.service-gallery .g-item:hover .zoom-btn {
   background: rgba(0, 0, 0, .28);
}
.service-gallery .g-item .zoom-btn i {
   opacity: 0;
   transform: scale(.8);
   transition: opacity var(--ecbz-transition-speed), transform var(--ecbz-transition-speed);
   color: #fff;
   font-size: 1.4rem;
   width: 44px;
   height: 44px;
   border-radius: 50%;
   background: rgba(255, 255, 255, .18);
   display: flex;
   align-items: center;
   justify-content: center;
   backdrop-filter: blur(2px);
}
.service-gallery .g-item:hover .zoom-btn i {
   opacity: 1;
   transform: scale(1);
}
@media (max-width: 860px) {
   .service-gallery .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.other-services-swiper .icard {
   overflow: hidden;
   height: 100%;
   display: flex;
   flex-direction: column;
}
.other-services-swiper .img-wrap {
   aspect-ratio: 16/11;
   overflow: hidden;
}
.other-services-swiper .img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.other-services-swiper .icard:hover .img-wrap img {
   transform: scale(1.05);
}
.other-services-swiper .body {
   padding: 1.5rem;
   flex: 1;
   display: flex;
   flex-direction: column;
}
.other-services-swiper .body h5 {
   font-weight: 700;
   font-size: 1.02rem;
   margin-bottom: .6rem;
}
.other-services-swiper .body .desc {
   color: #6b7684;
   font-size: .88rem;
   line-height: 1.6;
   margin-bottom: 1.2rem;
   flex: 1;
}
.products-grid {
   padding: 80px 0;
}
.product-tabs {
   display: flex;
   justify-content: center;
   gap: .6rem;
   margin-bottom: 2.6rem;
   flex-wrap: wrap;
}
.product-tabs button {
   padding: .55rem 1.3rem;
   border-radius: 999px;
   border: 1px solid var(--ecbz-border-color);
   background: #fff;
   font-weight: 600;
   font-size: .85rem;
   cursor: pointer;
   transition: all var(--ecbz-transition-speed);
}
.product-tabs button.active, .product-tabs button:hover {
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.products-grid .grid {
   display: grid;
   grid-template-columns:repeat(5, 1fr);
   gap: 12px;
}
.product-card {
   overflow: hidden;
}
.product-card:hover {
   cursor: pointer;
}
.product-card .img-wrap {
   aspect-ratio: 1/1;
   overflow: hidden;
}
.product-card .img-wrap img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform 500ms ease;
}
.product-card:hover .img-wrap img {
   transform: scale(1.06);
}
.product-card .body {
   padding: 1.1rem 1.2rem;
}
.product-card .cat {
   font-size: .72rem;
   text-transform: uppercase;
   letter-spacing: .05em;
   color: var(--ecbz-primary-light);
   font-weight: 700;
   margin-bottom: .3rem;
}
.product-card h6 {
   font-weight: 700;
   font-size: .95rem;
   margin: 0;
}
@media (max-width: 860px) {
   .products-grid .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.product-modal {
   max-height: 90vh !important;
   justify-content: center;
   align-items: center;
}
.product-modal .modal-dialog {
   max-width: 42rem;
}
.product-modal .modal-content {
   padding: 0;
   border: 0;
   border-radius: 12px;
   overflow-y: auto;
}
.product-modal .modal-body {
   padding: 0;
}
.product-modal__close {
   position: absolute;
   top: -16px;
   right: 10px;
   z-index: 2;
   background: #fff !important;
   border-radius: 50%;
   opacity: 1 !important;
   width: 36px;
   height: 36px;
   padding: 0;
}
.product-modal__grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
}
.product-modal__media {
   position: relative;
   /*min-height: 420px;*/
   aspect-ratio: auto;
}
.product-modal__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.product-modal__info {
   padding: 1.5rem;
   /*display: flex;*/
   /*flex-direction: column;*/
   /*justify-content: center;*/
}
.product-modal__info .cat {
   display: inline-block;
   font-size: 0.85rem;
   color: var(--ecbz-white);
   background-color: var(--ecbz-primary);
   margin-bottom: 8px;
   border-radius: 992px;
   padding: 4px 12px;
}
.product-modal__info h3 {
   margin-bottom: 16px;
}
.product-modal__info .details {
   /*color: var(--ecbz-body-text-color);*/
   color: rgb(75 85 99 / 1);
   line-height: 1.625;
   font-size: .875rem;
}
.product-modal__info .details ul li p {
   margin: 0;
}
@media (max-width: 767.98px) {
   .product-modal__grid {
      grid-template-columns: 1fr;
   }
   .product-modal__media {
      min-height: 260px;
   }
   .product-modal__info {
      padding: 24px;
   }
}
.faqs-single {
   padding: 80px 0;
   background: #fbfbf9;
}
.faqs-single .accordion-list {
   max-width: 760px;
   margin: 0 auto;
}
.faq-item {
   border-bottom: 1px solid var(--ecbz-border-color);
}
.faq-item:first-child {
   border-top: 1px solid var(--ecbz-border-color);
}
.faq-q {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 1rem;
   padding: 1.35rem 0;
   cursor: pointer;
   font-weight: 700;
   font-size: 1rem;
   color: var(--ecbz-body-text-color);
}
.faq-q .plus {
   flex-shrink: 0;
   width: 28px;
   height: 28px;
   border-radius: 50%;
   border: 1px solid var(--ecbz-border-color);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform var(--ecbz-transition-speed), background var(--ecbz-transition-speed), border-color var(--ecbz-transition-speed);
   color: var(--ecbz-primary);
}
.faq-item.is-open .faq-q .plus {
   transform: rotate(45deg);
   background: var(--ecbz-primary);
   color: #fff;
   border-color: var(--ecbz-primary);
}
.faq-a {
   max-height: 0;
   overflow: hidden;
   transition: max-height 320ms ease;
}
.faq-a-inner {
   padding: 0 0 1.4rem;
   color: var(--ecbz-body-text-color);
   font-size: .94rem;
   line-height: 1.7;
}
.faqs-two-col {
   padding: 80px 0;
}
.faqs-two-col .col-grid {
   column-count: 2;
   column-gap: 32px;
}
.faqs-two-col .faq-item {
   break-inside: avoid;
   margin-bottom: 6px;
}
@media (max-width: 760px) {
   .faqs-two-col .col-grid {
      column-count: 1;
   }
}
.testimonial-grid .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 26px;
}
.testimonial-card {
   background: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   padding: 2rem;
   display: flex;
   flex-direction: column;
}
.testimonial-card .quote-mark {
   color: var(--ecbz-secondary);
   font-size: 1.6rem;
   margin-bottom: .6rem;
}
.testimonial-card .quote {
   color: #5c6773;
   font-size: .94rem;
   line-height: 1.7;
   margin-bottom: 1.4rem;
   flex: 1;
}
.testimonial-card .person {
   display: flex;
   align-items: center;
   gap: .8rem;
   padding-top: 1.2rem;
   border-top: 1px solid var(--ecbz-border-color);
}
.testimonial-card .avatar {
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: rgba(var(--ecbz-primary-rgb), .09);
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 700;
   font-size: .85rem;
   flex-shrink: 0;
}
.testimonial-card .name {
   font-weight: 700;
   font-size: .9rem;
}
.testimonial-card .role {
   font-size: .8rem;
   color: #8a93a0;
}
@media (max-width: 860px) {
   .testimonial-grid .grid {
      grid-template-columns:1fr;
   }
}
.testimonial-carousel {
   padding: 88px 0;
}
.testimonial-carousel .inner {
   max-width: 720px;
   margin: 0 auto;
   text-align: center;
}
.testimonial-carousel .quote-mark {
   color: var(--ecbz-secondary);
   font-size: 2.2rem;
   margin-bottom: 1rem;
}
.testimonial-carousel .quote {
   font-size: 1.25rem;
   font-weight: 600;
   color: var(--ecbz-body-text-color);
   line-height: 1.55;
   margin-bottom: 1.8rem;
}
.testimonial-carousel .avatar {
   width: 56px;
   height: 56px;
   border-radius: 50%;
   background: rgba(var(--ecbz-primary-rgb), .09);
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   font-weight: 700;
   margin: 0 auto .8rem;
}
.testimonial-carousel .name {
   font-weight: 700;
}
.testimonial-carousel .role {
   font-size: .85rem;
   color: #8a93a0;
}
.testimonial-carousel .swiper-pagination {
   position: static;
   margin-top: 2rem;
}
.testimonial-carousel .swiper-pagination-bullet {
   background: var(--ecbz-border-color);
   opacity: 1;
   width: 8px;
   height: 8px;
}
.testimonial-carousel .swiper-pagination-bullet-active {
   background: var(--ecbz-primary);
   width: 22px;
   border-radius: 4px;
}
.impact-editorial {
   padding-top: var(--ecbz-section-padding-top);
   padding-bottom: var(--ecbz-section-padding-bottom);
   /*background: #fbf9f4;*/
}
.impact-editorial .cols {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
}
.impact-editorial .stat {
   flex: 1;
   text-align: center;
   padding: 0 1.5rem;
   position: relative;
}
.impact-editorial .stat + .stat::before {
   content: '';
   position: absolute;
   left: 0;
   top: 10%;
   bottom: 10%;
   width: 1px;
   background: var(--ecbz-border-color);
}
.impact-editorial .num {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 3rem;
   color: var(--ecbz-primary);
   line-height: 1;
}
.impact-editorial .label {
   font-size: .85rem;
   color: #6b7684;
   margin-top: .6rem;
   letter-spacing: .02em;
}
@media (max-width: 760px) {
   .impact-editorial .cols {
      flex-wrap: wrap;
   }
   .impact-editorial .stat {
      flex: 0 0 50%;
      margin-bottom: 2rem;
   }
   .impact-editorial .stat:nth-child(even)::before {
      display: none;
   }
}
.section:has(.bg-overlay-primary) .num,
.section:has(.bg-overlay-primary) .suffix,
.section:has(.bg-overlay-primary) .label {
   color: var(--ecbz-white) !important;
}
.impact-cinematic {
   padding: 88px 0;
   background: #0c1233;
   color: #fff;
}
.impact-cinematic .eyebrow {
   /*font-family: var(--ecbz-sub-heading-font) monospace, sans-serif;*/
   /*font-size: .72rem;*/
   /*letter-spacing: .12em;*/
   /*text-transform: uppercase;*/
   /*color: var(--ecbz-secondary-light);*/
   /*text-align: center;*/
   /*margin-bottom: 2.6rem;*/
   display: flex;
   align-items: center;
   gap: 8px;
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   font-size: .88rem;
   font-weight: 500;
   letter-spacing: .18em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin-bottom: .8rem;
}
.impact-cinematic .cols {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 12px;
}
.impact-cinematic .stat {
   flex: 1;
   text-align: center;
   padding: 1.5rem 1rem;
}
.impact-cinematic .num {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 2.5rem;
   color: #fff;
   line-height: 1;
}
.impact-cinematic .label {
   font-size: var(--ecbz-font-size);
   color: rgba(255, 255, 255, .55);
   margin-top: .6rem;
}
.impact-cinematic .bar {
   height: 2px;
   background: rgba(255, 255, 255, .12);
   margin-top: 1.4rem;
   position: relative;
   overflow: hidden;
}
.impact-cinematic .bar-fill {
   position: absolute;
   left: 0;
   top: 0;
   bottom: 0;
   width: 70%;
   background: var(--ecbz-secondary);
   transform-origin: left;
}
@media (max-width: 760px) {
   .impact-cinematic .cols {
      flex-wrap: wrap;
   }
   .impact-cinematic .stat {
      flex: 0 0 50%;
      margin-bottom: 2rem;
   }
}
.contact-form-card {
   background: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   padding: 2.2rem;
   box-shadow: 0 16px 40px rgba(0, 0, 0, .06);
}
.contact-form-card label {
   font-weight: 600;
   font-size: .85rem;
   margin-bottom: .35rem;
   display: block;
}
.contact-form-card .form-control {
   border-radius: 6px;
   border: 1px solid var(--ecbz-border-color);
   padding: .65rem .9rem;
   font-size: .92rem;
}
.contact-form-card .form-control:focus {
   border-color: var(--ecbz-primary-light);
   box-shadow: 0 0 0 3px rgba(var(--ecbz-primary-light-rgb), .15);
}
.icon-card--horizontal {
   background: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   padding: 1.1rem 1.25rem;
   display: flex;
   align-items: center;
   gap: 1rem;
}
.icon-card--horizontal .icon-wrap {
   width: 44px;
   height: 44px;
   border-radius: 10px;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}
.icon-card--horizontal h6 {
   margin-bottom: .1rem;
   font-weight: 700;
   font-size: .88rem;
}
.icon-card--horizontal p {
   margin: 0;
   font-size: .85rem;
   color: #6b7684;
}
.contact-details-list {
   display: flex;
   flex-direction: column;
   gap: .85rem;
}
.form-split {
   padding: 80px 0;
   background: #fbfbf9;
}
.form-split .row-flex {
   display: flex;
   gap: 56px;
   align-items: flex-start;
}
.form-split.align-left .row-flex {
   flex-direction: row-reverse;
}
.form-split .col-form {
   flex: 0 0 46%;
}
.form-split .col-text {
   flex: 1;
   padding-top: 1rem;
}
@media (max-width: 860px) {
   .form-split .row-flex {
      flex-direction: column;
   }
   .form-split.align-left .row-flex {
      flex-direction: column;
   }
}
.form-with-cards {
   padding: 80px 0;
}
.form-with-cards .row-flex {
   display: flex;
   gap: 56px;
   align-items: flex-start;
}
.form-with-cards .col-form {
   flex: 0 0 46%;
}
.form-with-cards .col-text {
   flex: 1;
}
@media (max-width: 860px) {
   .form-with-cards .row-flex {
      flex-direction: column;
   }
}
.icbx-split {
   padding: 80px 0;
}
.icbx-split .row-flex {
   display: flex;
   /*align-items: center;*/
   gap: 56px;
}
.icbx-split .col-text {
   flex: 1;
}
.icbx-split .col-media {
   flex: 0 0 44%;
}
.icbx-split .media-frame {
   overflow: hidden;
   box-shadow: var(--ecbz-card-shadow);
   aspect-ratio: 4/3.4;
   border-radius: var(--ecbz-border-radius);
   transition: box-shadow 800ms;
}
.icbx-split .media-frame:hover {
   box-shadow: 10px 28px 44px rgba(0, 0, 0, .12);
}
.icbx-split .media-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   border-radius: var(--ecbz-border-radius);
}
/*.icbx-split .eyebrow {*/
/*   display: flex;*/
/*   align-items: center;*/
/*   gap: 8px;*/
/*   font-size: .78rem;*/
/*   font-weight: 700;*/
/*   letter-spacing: .06em;*/
/*   text-transform: uppercase;*/
/*   color: var(--ecbz-primary-light);*/
/*   margin-bottom: .7rem;*/
/*}*/
.icbx-split h2 {
   font-size: 3rem;
   font-weight: 800;
   color: var(--ecbz-primary);
   margin-bottom: .9rem;
}
.icbx-row {
   display: flex;
   gap: 1rem;
   padding-top: 1.1rem;
   /*border-bottom: 1px solid var(--ecbz-border-color);*/
}
.icbx-row:last-child {
   border-bottom: none;
}
.icbx-row h6 {
   font-weight: 700;
   font-size: 1.18rem;
   line-height: .84;
   margin-bottom: .3rem;
}
.icbx-row .details p {
   margin-bottom: .78rem !important;
}
@media (max-width: 860px) {
   .icbx-split .row-flex {
      flex-direction: column;
   }
}
.icbx-noimg {
   padding-top: var(--ecbz-section-padding-top, 60px);
   padding-bottom: var(--ecbz-section-padding-bottom, 60px);
   /*background: #fbfbf9;*/
}
.icbx-noimg .grid {
   display: grid;
   grid-template-columns:repeat(4, 1fr);
   gap: 16px;
}
.icbx-noimg .icard h5 {
   font-weight: 700;
   font-size: 1.02rem;
   margin: 1rem 0 .5rem;
}

@media (max-width: 860px) {
   .icbx-noimg .grid {
      grid-template-columns:1fr;
   }
}
.icbx-noimg-two {
   padding: 80px 0;
}
.icbx-noimg-two .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 26px;
}
.icbx-tinted {
   background: rgba(var(--ecbz-primary-rgb), .04);
   border-radius: var(--ecbz-border-radius);
   padding: 2.2rem;
   text-align: center;
   transition: background var(--ecbz-transition-speed);
}
.icbx-tinted:hover {
   background: rgba(var(--ecbz-primary-rgb), .09);
}
.icbx-tinted .icon-wrap {
   margin: 0 auto 1.1rem;
   width: 58px;
   height: 58px;
   font-size: 1.5rem;
   background: var(--ecbz-primary);
   color: #fff;
}
.icbx-tinted h5 {
   font-weight: 700;
   font-size: 1.02rem;
   margin-bottom: .5rem;
}
@media (max-width: 860px) {
   .icbx-noimg-two .grid {
      grid-template-columns:1fr;
   }
}
.icbx-left {
   padding: 80px 0;
   background: #fbfbf9;
}
.icbx-left .section-heading-left {
   max-width: 640px;
   margin-bottom: 2.6rem;
}
.icbx-left .eyebrow {
   display: inline-block;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--ecbz-primary-light);
   margin-bottom: .7rem;
}
.icbx-left h2 {
   font-size: 2rem;
   font-weight: 800;
   color: var(--ecbz-primary);
}
.icbx-left .grid {
   display: grid;
   grid-template-columns:repeat(2, 1fr);
   gap: 1.6rem 3rem;
}
@media (max-width: 760px) {
   .icbx-left .grid {
      grid-template-columns:1fr;
   }
}
.icbx-list {
   padding: 80px 0;
}
.flat-list {
   max-width: 880px;
   margin: 0 auto;
}
.flat-row {
   display: flex;
   align-items: flex-start;
   gap: 1.3rem;
   padding: 1.5rem 0;
   border-bottom: 1px solid var(--ecbz-border-color);
}
.flat-row:first-child {
   border-top: 1px solid var(--ecbz-border-color);
}
.flat-row .index {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 1.3rem;
   color: var(--ecbz-border-color);
   width: 36px;
   flex-shrink: 0;
}
.flat-row .icon-wrap {
   width: 40px;
   height: 40px;
   font-size: 1.05rem;
   flex-shrink: 0;
}
.flat-row .title {
   font-weight: 700;
   font-size: 1rem;
   flex: 0 0 220px;
}
.flat-row .details {
   flex: 1;
}
@media (max-width: 760px) {
   .flat-row {
      flex-wrap: wrap;
   }
   .flat-row .title {
      flex-basis: 100%;
   }
}
.site-footer {
   background: var(--ecbz-primary);
   color: rgba(255, 255, 255, .82);
}
@media (max-width: 598px) {
   .site-footer {
      padding: 0 15px;
   }
}
.site-footer a {
   color: inherit;
   text-decoration: none;
}
.site-footer__bottom {
   border-top: 1px solid rgba(255, 255, 255, .12);
   padding: 1.3rem 0;
   font-size: .82rem;
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: .8rem;
}
.site-footer__socials {
   display: flex;
   gap: .7rem;
}
.site-footer__socials a {
   width: 34px;
   height: 34px;
   border-radius: 50%;
   border: 1px solid rgba(255, 255, 255, .25);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: background var(--ecbz-transition-speed);
}
.site-footer__socials a:hover {
   background: rgba(255, 255, 255, .12);
}
.footer-default .footer-default__row {
   padding: 2.6rem 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   gap: 1.2rem;
}
.footer-default .brand {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 1.1rem;
   color: #fff;
}
.footer-default .quick-links {
   display: flex;
   gap: 1.6rem;
   flex-wrap: wrap;
   font-size: .86rem;
   font-weight: 600;
}
.footer-default .quick-links a:hover {
   color: var(--ecbz-secondary-light);
}
.footer-with-menu .footer-with-menu__top {
   padding: 4.2rem 0 3rem;
}
.footer-with-menu .grid {
   display: grid;
   grid-template-columns:1.4fr 1fr 1fr 1.2fr;
   gap: 2.4rem;
}
.footer-with-menu .about p {
   font-size: .87rem;
   line-height: 1.7;
   color: rgba(255, 255, 255, .65);
   margin-top: .9rem;
}
.footer-with-menu h6 {
   color: var(--ecbz-secondary);
   font-weight: 700;
   font-size: .88rem;
   text-transform: uppercase;
   letter-spacing: .04em;
   margin-bottom: 1.2rem;
}
.footer-with-menu ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: .65rem;
}
.footer-with-menu ul a {
   font-size: .87rem;
   transition: color var(--ecbz-transition-speed);
}
.footer-with-menu ul a:hover {
   color: var(--ecbz-secondary-light);
}
.footer-with-menu .contact-item {
   display: flex;
   gap: .6rem;
   font-size: .85rem;
   margin-bottom: .7rem;
   align-items: flex-start;
}
.footer-with-menu .contact-item i {
   margin-top: .15rem;
   color: var(--ecbz-secondary) !important;
}
.newsletter-form {
   display: flex;
   gap: .5rem;
   margin-top: .4rem;
}
.newsletter-form input {
   flex: 1;
   border: 1px solid rgba(255, 255, 255, .25);
   background: rgba(255, 255, 255, .06);
   border-radius: 8px;
   padding: .65rem .9rem;
   color: #fff;
   font-size: .85rem;
}
.newsletter-form input::placeholder {
   color: rgba(255, 255, 255, .5);
}
.newsletter-form button {
   background: var(--ecbz-secondary);
   border: none;
   border-radius: 8px;
   padding: 0 1.1rem;
   color: #fff;
   font-weight: 700;
   cursor: pointer;
}
@media (max-width: 900px) {
   .footer-with-menu .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.footer-custom .footer-custom__top {
   padding: 4.2rem 0 3rem;
}
.footer-custom .grid {
   display: grid;
   grid-template-columns:1.4fr repeat(3, 1fr);
   gap: 2.4rem;
}
.footer-custom .about p {
   font-size: .87rem;
   line-height: 1.7;
   color: rgba(255, 255, 255, .65);
   margin-top: .9rem;
}
.footer-custom h6 {
   color: #fff;
   font-weight: 700;
   font-size: .88rem;
   text-transform: uppercase;
   letter-spacing: .04em;
   margin-bottom: 1.2rem;
}
.footer-custom ul {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   flex-direction: column;
   gap: .65rem;
}
.footer-custom ul a:hover {
   color: var(--ecbz-secondary-light);
}
@media (max-width: 900px) {
   .footer-custom .grid {
      grid-template-columns:repeat(2, 1fr);
   }
}
.page-banner {
   position: relative;
   overflow: hidden;
}
.page-banner__inner {
   position: relative;
   z-index: 1;
}
.page-banner__title {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 2.3rem;
   margin-bottom: .5rem;
}
.page-banner__subtitle {
   font-size: 1.02rem;
   opacity: .85;
   max-width: 600px;
   margin: 0 auto 1rem;
}
.page-banner__crumb {
   display: flex;
   flex-wrap: wrap;
   list-style: none;
   padding: 0;
   margin: 1rem 0 0;
   gap: .35rem;
   justify-content: center;
}
.page-banner__crumb li {
   display: flex;
   align-items: center;
   font-size: .86rem;
   font-weight: 600;
}
.page-banner__crumb li + li::before {
   content: "/";
   margin: 0 .5rem;
   opacity: .5;
   font-weight: 400;
}
.page-banner__crumb a {
   color: inherit;
   opacity: .85;
}
.page-banner__crumb a:hover {
   opacity: 1;
   text-decoration: underline;
}
.page-banner__crumb li.active {
   opacity: 1;
}
.page-banner--centered {
   padding: 96px 0;
   text-align: center;
   color: #fff;
}
.page-banner__bg {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.page-banner__bg img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.page-banner__scrim {
   position: absolute;
   inset: 0;
   background: linear-gradient(160deg, rgba(var(--ecbz-primary-rgb), .86), rgba(var(--ecbz-primary-rgb), .6));
}
.page-banner--centered.no-image {
   background: linear-gradient(135deg, var(--ecbz-primary), var(--ecbz-primary-light));
}

.page-banner--vertical {
   padding: 64px 0;
   text-align: left;
}
.page-banner--vertical.with-image {
   color: #fff;
}
.page-banner--vertical.no-image {
   background: rgba(var(--ecbz-primary-rgb), .04);
   border-bottom: 1px solid var(--ecbz-border-color);
}
.page-banner--vertical .page-banner__crumb {
   justify-content: flex-start;
   margin: 0 0 1rem;
}
.page-banner--vertical.no-image .page-banner__title {
   color: var(--ecbz-primary);
}
.page-banner__blob {
   position: absolute;
   top: -60px;
   right: -60px;
   width: 260px;
   height: 260px;
   border-radius: 50%;
   background: var(--ecbz-secondary-light);
   opacity: .35;
   filter: blur(40px);
   z-index: 0;
}
@media (max-width: 760px) {
   .page-banner--centered {
      padding: 64px 0;
   }
   .page-banner__title {
      font-size: 1.7rem;
   }
}
.back-to-top {
   width: 40px;
   height: 40px;
   line-height: 40px;
   background-color: var(--ecbz-secondary);
   color: #ffffff !important;
   font-size: 16px;
   border: none;
   text-align: center;
   z-index: 99;
   position: fixed;
   bottom: 30px;
   right: 30px;
   display: none;
   transition: all 0.5s ease;
}
.section:has(.bg-overlay-primary) .number.counter-value,
.section:has(.bg-overlay-primary) .suffix,
.section:has(.bg-overlay-primary) .title,
.section:has(.bg-overlay-primary-light) .title,
.section:has(.bg-overlay-primary) .details h1,
.section:has(.bg-overlay-primary-light) .details h1,
.section:has(.bg-overlay-primary) .details h2,
.section:has(.bg-overlay-primary-light) .details h2,
.section:has(.bg-overlay-primary) .details h3,
.section:has(.bg-overlay-primary-light) .details h3,
.section:has(.bg-overlay-primary) .details h4,
.section:has(.bg-overlay-primary-light) .details h4,
.section:has(.bg-overlay-primary) .details h5,
.section:has(.bg-overlay-primary-light) .details h5,
.section:has(.bg-overlay-primary) .details h6,
.section:has(.bg-overlay-primary-light) .details h6 {
   color: var(--ecbz-white) !important;
}
.section:has(.bg-overlay-primary) p,
.section:has(.bg-overlay-primary) .details p,
.section:has(.bg-overlay-primary-light) .details p {
   color: var(--ecbz-white) !important;
}
.section:has(.bg-overlay-secondary) .title,
.section:has(.bg-overlay-secondary-light) .title,
.section:has(.bg-overlay-secondary) .details h1,
.section:has(.bg-overlay-secondary-light) .details h1,
.section:has(.bg-overlay-secondary) .details h2,
.section:has(.bg-overlay-secondary-light) .details h2,
.section:has(.bg-overlay-secondary) .text-muted.details h3,
.section:has(.bg-overlay-secondary-light) .details h3,
.section:has(.bg-overlay-secondary) .details h4,
.section:has(.bg-overlay-secondary-light) .details h4,
.section:has(.bg-overlay-secondary) .details h5,
.section:has(.bg-overlay-secondary-light) .details h5,
.section:has(.bg-overlay-secondary) .details h6,
.section:has(.bg-overlay-secondary-light) .details h6 {
   color: var(--ecbz-primary) !important;
}
.section:has(.bg-overlay-secondary) .details p,
.section:has(.bg-overlay-secondary-light) .details p {
   color: var(--ecbz-body-text-color) !important;
}
.section:has(.bg-overlay-black) .section-title h2,
.section:has(.bg-overlay-black-light) .section-title h2,
.section:has(.bg-overlay-black) .details h1,
.section:has(.bg-overlay-black-light) .details h1,
.section:has(.bg-overlay-black) .details h2,
.section:has(.bg-overlay-black-light) .details h2,
.section:has(.bg-overlay-black) .details h3,
.section:has(.bg-overlay-black-light) .details h3,
.section:has(.bg-overlay-black) .details h4,
.section:has(.bg-overlay-black-light) .details h4,
.section:has(.bg-overlay-black) .details h5,
.section:has(.bg-overlay-black-light) .details h5,
.section:has(.bg-overlay-black) .details h6,
.section:has(.bg-overlay-black-light) .details h6,
.section:has(.bg-overlay-black) .stat .num,
.section:has(.bg-overlay-black) .stat span,
.section:has(.bg-overlay-black) .stat .label {
   color: var(--ecbz-white) !important;
}
.section:has(.bg-overlay-black) .details p,
.section:has(.bg-overlay-black-light) .details p,
.section:has(.bg-overlay-black) .content-text {
   color: var(--ecbz-white) !important;
}
.bg-overlay img, .bg-overlay-gray img, .bg-overlay-gradient img, .bg-overlay-gradient-light img,
.bg-overlay-primary img, .bg-overlay-primary-light img,
.bg-overlay-secondary img, .bg-overlay-secondary-light img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   opacity: 0.2;
}
.cards-process-step {
   padding: 5rem 0;
}
.cards-process-step__header {
   max-width: 640px;
   margin: 0 auto 3rem;
   text-align: center;
}
.cards-process-step__eyebrow {
   display: inline-block;
   font-size: .8125rem;
   font-weight: 600;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--bs-primary);
   margin-bottom: .5rem;
}
.cards-process-step__title {
   font-size: 2rem;
   font-weight: 700;
   margin-bottom: .75rem;
}
.cards-process-step__desc {
   color: #6b7280;
   font-size: 1rem;
   line-height: 1.6;
}
.cards-process-step__list {
   display: flex;
   flex-direction: column;
}
.cards-process-step__item {
   display: flex;
   flex-direction: column;
   align-items: center;
}
.cards-process-step__card {
   width: 100%;
   display: flex;
   align-items: flex-start;
   gap: 1.25rem;
   background: #fff;
   border: 1px solid #eef0f2;
   border-radius: .75rem;
   padding: 1.75rem;
   box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
   transition: transform .25s ease, box-shadow .25s ease;
}
.cards-process-step__card:hover {
   transform: translateY(-2px);
   box-shadow: 0 12px 24px rgba(16, 24, 40, .08);
}
.cards-process-step__step {
   flex: 0 0 auto;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2.75rem;
   height: 2.75rem;
   border-radius: 50%;
   background: rgba(var(--bs-primary-rgb), .1);
   color: var(--bs-primary);
   font-size: .875rem;
   font-weight: 700;
}
.cards-process-step__body {
   flex: 1;
}
.cards-process-step__icon {
   width: 2rem;
   height: 2rem;
   margin-bottom: .75rem;
}
.cards-process-step__icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}
.cards-process-step__card-title {
   font-size: 1.0625rem;
   font-weight: 700;
   margin-bottom: .375rem;
}
.cards-process-step__card-desc {
   font-size: .9375rem;
   color: #6b7280;
   line-height: 1.6;
   margin: 0;
}
.cards-process-step__connector {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 2.75rem;
   height: 2.5rem;
   color: var(--bs-primary);
   opacity: .55;
}
.cards-process-step__connector svg {
   width: 20px;
   height: 20px;
}
/*[data-reveal] {*/
/*   opacity: 0;*/
/*   transform: translateY(16px);*/
/*   transition: opacity .5s ease, transform .5s ease;*/
/*}*/
/*[data-reveal].is-visible {*/
/*   opacity: 1;*/
/*   transform: translateY(0);*/
/*}*/
@media (max-width: 575.98px) {
   .cards-process-step__card {
      flex-direction: column;
      gap: .75rem;
   }
}
.cards-timeline {
   padding: 5rem 0;
}
.cards-timeline__header {
   max-width: 640px;
   margin: 0 auto 3rem;
   text-align: center;
}
.cards-timeline__eyebrow {
   display: inline-block;
   font-size: .8125rem;
   font-weight: 600;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--bs-primary);
   margin-bottom: .5rem;
}
.cards-timeline__title {
   font-size: 2rem;
   font-weight: 700;
   margin-bottom: .75rem;
}
.cards-timeline__desc {
   color: #6b7280;
   font-size: 1rem;
   line-height: 1.6;
}
.cards-timeline__list {
   display: flex;
   align-items: stretch;
   gap: 0;
   overflow-x: auto;
   padding-bottom: .5rem;
}
.cards-timeline__item {
   display: flex;
   align-items: center;
   flex: 1 1 0;
   min-width: 220px;
}
.cards-timeline__card {
   flex: 1;
   background: #fff;
   border: 1px solid #eef0f2;
   border-radius: .75rem;
   padding: 1.75rem 1.5rem;
   position: relative;
   height: 100%;
   box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
   transition: transform .25s ease, box-shadow .25s ease;
}
.cards-timeline__card:hover {
   transform: translateY(-4px);
   box-shadow: 0 12px 24px rgba(16, 24, 40, .08);
}
.cards-timeline__step {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 2rem;
   height: 2rem;
   border-radius: 50%;
   background: rgba(var(--bs-primary-rgb), .1);
   color: var(--bs-primary);
   font-size: .8125rem;
   font-weight: 700;
   margin-bottom: 1rem;
}
.cards-timeline__icon {
   width: 2.5rem;
   height: 2.5rem;
   margin-bottom: 1rem;
}
.cards-timeline__icon img {
   width: 100%;
   height: 100%;
   object-fit: contain;
}
.cards-timeline__card-title {
   font-size: 1.0625rem;
   font-weight: 700;
   margin-bottom: .5rem;
}
.cards-timeline__card-desc {
   font-size: .9375rem;
   color: #6b7280;
   line-height: 1.6;
   margin: 0;
}
.cards-timeline__connector {
   flex: 0 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 2.5rem;
   height: 2.5rem;
   color: var(--bs-primary);
   opacity: .55;
}
.cards-timeline__connector svg {
   width: 22px;
   height: 22px;
}
/*[data-reveal] {*/
/*   opacity: 0;*/
/*   transform: translateY(16px);*/
/*   transition: opacity .5s ease, transform .5s ease;*/
/*}*/
/*[data-reveal].is-visible {*/
/*   opacity: 1;*/
/*   transform: translateY(0);*/
/*}*/
@media (max-width: 767.98px) {
   .cards-timeline__list {
      flex-direction: column;
      overflow-x: visible;
   }
   .cards-timeline__item {
      flex-direction: column;
      min-width: 0;
   }
   .cards-timeline__card {
      width: 100%;
   }
   .cards-timeline__connector {
      width: 100%;
      height: 2rem;
   }
   .cards-timeline__connector svg {
      transform: rotate(90deg);
   }
}
.partners-detail {
   padding: 5rem 0;
}
.partners-detail__header {
   max-width: 640px;
   margin: 0 auto 3rem;
   text-align: center;
}
.partners-detail__eyebrow {
   display: inline-block;
   font-size: .8125rem;
   font-weight: 600;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--ecbz-primary);
   margin-bottom: .5rem;
}
.partners-detail__title {
   font-size: 2rem;
   font-weight: 700;
   margin-bottom: .75rem;
}
.partners-detail__desc {
   color: #6b7280;
   font-size: 1rem;
   line-height: 1.6;
}
.partners-detail__list {
   display: grid;
   grid-template-columns:repeat(2, 1fr);
   gap: 26px;
}
.partners-detail__item {
   display: flex;
   align-items: flex-start;
   gap: 1.5rem;
   background: #fff;
   border: 1px solid #eef0f2;
   border-radius: .75rem;
   padding: 1.75rem;
   box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
   transition: transform .25s ease, box-shadow .25s ease;
}
.partners-detail__item:hover {
   transform: translateY(-2px);
   box-shadow: 0 12px 24px rgba(16, 24, 40, .08);
}
.partners-detail__logo {
   flex: 0 0 auto;
   width: 5rem;
   height: 5rem;
   display: flex;
   align-items: center;
   justify-content: center;
   border: 1px solid #eef0f2;
   border-radius: .5rem;
   background: #fafbfc;
   padding: .75rem;
}
.partners-detail__logo img {
   max-width: 100%;
   max-height: 100%;
   object-fit: contain;
}
.partners-detail__logo-fallback {
   font-size: 1.25rem;
   font-weight: 700;
   color: var(--bs-primary);
   text-transform: uppercase;
}
.partners-detail__body {
   flex: 1;
   min-width: 0;
}
.partners-detail__heading {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: .625rem;
   margin-bottom: .625rem;
}
.partners-detail__name {
   font-size: 1.125rem;
   font-weight: 700;
   margin: 0;
}
.partners-detail__name a {
   color: inherit;
   text-decoration: none;
}

.partners-detail__name a:hover {
   color: var(--bs-primary);
}
.partners-detail__role {
   display: inline-flex;
   align-items: center;
   font-size: .75rem;
   font-weight: 600;
   letter-spacing: .03em;
   text-transform: uppercase;
   color: var(--bs-primary);
   background: rgba(var(--bs-primary-rgb), .1);
   border-radius: 999px;
   padding: .25rem .625rem;
}
.partners-detail__item-desc {
   font-size: .9375rem;
   color: #4b5563;
   line-height: 1.65;
   margin: 0 0 .5rem;
}
.partners-detail__note {
   font-size: .8125rem;
   color: #9ca3af;
   font-style: italic;
   margin: 0;
}
/*[data-reveal] {*/
/*   opacity: 0;*/
/*   transform: translateY(14px);*/
/*   transition: opacity .5s ease, transform .5s ease;*/
/*}*/
/*[data-reveal].is-visible {*/
/*   opacity: 1;*/
/*   transform: translateY(0);*/
/*}*/
@media (max-width: 575.98px) {
   .partners-detail__item {
      flex-direction: column;
   }
   .partners-detail__logo {
      width: 4rem;
      height: 4rem;
   }
}
.doc-card {
   background: #ffffff;
   border: 1px solid #e8e8e8;
   border-radius: 6px;
   transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.doc-card:hover {
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
   border-color: #d0d0d0;
}
.doc-icon {
   width: 64px;
   height: 64px;
   border-radius: 6px;
   flex-shrink: 0;
}
.doc-ext-label {
   font-size: 10px;
   font-weight: 700;
   color: rgba(255, 255, 255, 0.85);
   letter-spacing: 0.05em;
   line-height: 1;
}
.doc-title {
   font-size: 0.95rem;
   font-weight: 600;
   color: #1a202c;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
}
.doc-meta {
   font-size: 0.78rem;
   color: #718096;
}
.doc-download-btn {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 8px 16px;
   background: #f7f7f7;
   border: 1px solid #e2e8f0;
   border-radius: 4px;
   font-size: 0.82rem;
   font-weight: 600;
   color: #2d3748;
   text-decoration: none;
   white-space: nowrap;
   transition: background 0.15s ease, color 0.15s ease;
}
.doc-download-btn:hover {
   background: #2d3748;
   color: #ffffff;
   border-color: #2d3748;
}
.fs-1 {
   font-size: calc(1.375rem + 1.5vw) !important;
}

.fs-2 {
   font-size: calc(1.325rem + 0.9vw) !important;
}
.fs-3 {
   font-size: calc(1.3rem + 0.6vw) !important;
}
.fs-4 {
   font-size: calc(1.275rem + 0.3vw) !important;
}
.fs-5 {
   font-size: 1.25rem !important;
}
.fs-6 {
   font-size: 1rem !important;
}

.blog-hub__featured {
   display: grid;
   grid-template-columns:1.1fr 1fr;
   gap: 2rem;
   align-items: center;
   background: #fff;
   border-radius: 18px;
   box-shadow: 0 4px 24px rgba(0, 0, 0, .06);
   padding: 1.5rem;
   margin-bottom: 3rem;
}
.blog-hub__featured-media {
   display: block;
   border-radius: 14px;
   overflow: hidden;
   aspect-ratio: 4/3;
}
.blog-hub__featured-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}
.blog-hub__featured:hover .blog-hub__featured-media img {
   transform: scale(1.05);
}
.blog-hub__featured-title {
   font-size: 1.5rem;
   font-weight: 700;
   margin: .75rem 0;
   line-height: 1.2;
}
.blog-hub__featured-title a {
   font-style: var(--ecbz-heading-font), sans-serif !important;
   font-size: 1.5rem !important;
   font-weight: 700 !important;
   margin-bottom: 0;
   color: var(--ecbz-primary);
   text-decoration: none;
}
.blog-hub__featured-title a:hover {
   color: var(--ecbz-primary);
}
.blog-hub__list {
   display: flex;
   flex-direction: column;
   gap: 1.75rem;
}
.blog-hub__list-item {
   display: grid;
   grid-template-columns:220px 1fr;
   gap: 1.5rem;
   padding-bottom: 1.75rem;
   border-bottom: 1px solid #eee;
}
.blog-hub__list-media {
   display: block;
   border-radius: 12px;
   overflow: hidden;
   aspect-ratio: 4/3;
}
.blog-hub__list-media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}
.blog-hub__list-item:hover .blog-hub__list-media img {
   transform: scale(1.05);
}
.blog-hub__list-title {
   font-size: 1.15rem;
   font-weight: 700;
   margin: .5rem 0;
   line-height: 1.4;
}
.blog-hub__list-title a {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-size: 1.15rem !important;
   font-weight: 700 !important;
   color: var(--ecbz-primary);
   text-decoration: none;
}
.blog-hub__list-title a:hover {
   color: var(--ecbz-primary);
}
.blog-hub__excerpt {
   font-family: var(--ecbz-body-font), sans-serif;
   color: var(--ecbz-body-text-color);
   font-size: .9rem;
   margin-bottom: .75rem;
}
.blog-hub__meta {
   display: flex;
   gap: 1rem;
   font-size: .78rem;
   color: #9a9a9a;
}
.blog-hub__link {
   font-family: var(--ecbz-sub-heading-font), sans-serif !important;
   font-weight: 700 !important;
   font-size: .85rem;
   color: var(--ecbz-primary);
   text-decoration: none;
   display: inline-flex;
   align-items: center;
   gap: .35rem;
   margin-top: .75rem;
}
.blog-hub__link i {
   transition: transform .25s ease;
}
.blog-hub__link:hover i {
   transform: translateX(4px);
}
.blog-tag {
   display: inline-block;
   font-size: .7rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .03em;
   padding: .3rem .7rem;
   border-radius: 6px;
   margin-bottom: .6rem;
   color: #fff;
}
.blog-tag--1 {
   background: #e8a419;
}
.blog-tag--2 {
   background: #2b8a8a;
}
.blog-tag--3 {
   background: #3f8f4f;
}
.blog-tag--4 {
   background: #1a4d2e;
}
.blog-tag--5 {
   background: #6b5b95;
}
.blog-sidebar__widget {
   background: #fff;
   border-radius: 16px;
   padding: 1.5rem;
   box-shadow: 0 2px 14px rgba(0, 0, 0, .05);
   margin-bottom: 1.75rem;
}
.blog-sidebar__title {
   font-size: 1rem;
   font-weight: 700;
   margin-bottom: 1rem;
   color: #1a2e1a;
}
.blog-sidebar__categories {
   list-style: none;
   margin: 0;
   padding: 0;
}
.blog-sidebar__categories li {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: .55rem 0;
   border-bottom: 1px solid #f0f0f0;
}
.blog-sidebar__categories li:last-child {
   border-bottom: 0;
}
.blog-sidebar__categories a {
   color: var(--bs-primary);
   text-decoration: none;
   font-weight: 600;
   font-size: .9rem;
}
.blog-sidebar__categories span {
   color: #9a9a9a;
   font-size: .8rem;
}
.blog-sidebar__popular {
   list-style: none;
   margin: 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 1rem;
}
.blog-sidebar__popular li {
   display: flex;
   gap: .75rem;
   align-items: flex-start;
}
.blog-sidebar__popular-index {
   font-weight: 700;
   color: #d8b34a;
   font-size: .85rem;
}
.blog-sidebar__popular a {
   color: #1a2e1a;
   text-decoration: none;
   font-size: .875rem;
   font-weight: 600;
   line-height: 1.4;
}
.blog-sidebar__popular a:hover {
   color: var(--ecbz-primary);
}
.blog-sidebar__newsletter {
   background: #1a4d2e;
   color: #fff;
   border-radius: 16px;
   padding: 1.5rem;
}
.blog-sidebar__newsletter h5 {
   color: #fff;
   font-weight: 700;
   margin-bottom: .5rem;
}
.blog-sidebar__newsletter p {
   font-size: .85rem;
   opacity: .85;
   margin-bottom: 1rem;
}
.blog-sidebar__newsletter-form {
   display: flex;
   flex-direction: column;
   gap: .6rem;
}
.blog-sidebar__newsletter-form input {
   border: none;
   border-radius: 8px;
   padding: .65rem .9rem;
   font-size: .875rem;
}
.blog-sidebar__newsletter-form button {
   border: none;
   background: #e8a419;
   color: #1a2e1a;
   font-weight: 700;
   border-radius: 8px;
   padding: .65rem;
   cursor: pointer;
   transition: background .2s ease;
}
.blog-sidebar__newsletter-form button:hover {
   background: #f0b73d;
}
@media (max-width: 767px) {
   .blog-hub__featured {
      grid-template-columns:1fr;
   }
   .blog-hub__list-item {
      grid-template-columns:1fr;
   }
}
.blog-hero {
   position: relative;
   padding-top: 4rem;
   padding-bottom: 4rem;
   overflow: hidden;
   min-height: 420px;
   display: flex;
   align-items: flex-end;
}
.blog-hero__media {
   position: absolute;
   inset: 0;
   z-index: 0;
}
.blog-hero__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.blog-hero__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(180deg, rgba(15, 40, 20, .25) 0%, rgba(15, 40, 20, .75) 100%);
}
.blog-hero__content {
   position: relative;
   z-index: 1;
   color: #fff;
}
.blog-hero__back {
   display: inline-flex;
   align-items: center;
   gap: .4rem;
   color: #fff;
   opacity: .85;
   text-decoration: none;
   font-size: .875rem;
   margin-bottom: 1.25rem;
}
.blog-hero__back:hover {
   opacity: 1;
}
.blog-hero__meta {
   display: flex;
   gap: 1.25rem;
   font-size: .875rem;
   opacity: .9;
   margin: .9rem 0 .5rem;
}
.blog-hero__title {
   font-size: clamp(1.75rem, 3.2vw, 2.5rem);
   font-weight: 700;
   line-height: 1.3;
   margin: 0;
}
.blog-article__content {
   font-style: var(--ecbz-body-font);
   font-size: var(--ecbz-font-size);
   /*font-size: 1.05rem;*/
   line-height: 1.85;
   color: var(--ecbz-body-text-color);
}
.blog-article__content p {
   margin-bottom: 1.5rem;
}
.blog-article__content h2, .blog-article__content h3 {
   margin: 2rem 0 1rem;
   font-weight: 700;
}
.blog-article__content img {
   border-radius: 12px;
   margin: 1.5rem 0;
}
.blog-article__tags {
   display: flex;
   flex-wrap: wrap;
   gap: .5rem;
   margin: 2rem 0;
   padding-top: 2rem;
   border-top: 1px solid #eee;
}
.blog-article__tag-pill {
   background: #f3f4f2;
   color: #555;
   font-size: .8rem;
   padding: .4rem .9rem;
   border-radius: 999px;
}
.blog-article__related {
   margin-top: 3rem;
   padding-top: 3rem;
   border-top: 1px solid #eee;
}
.blog-card {
   background: #fff;
   border-radius: 16px;
   overflow: hidden;
   box-shadow: 0 4px 20px rgba(0, 0, 0, .06);
   transition: transform .3s ease, box-shadow .3s ease;
   height: 100%;
   display: flex;
   flex-direction: column;
}
.blog-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 12px 28px rgba(0, 0, 0, .1);
}
.blog-card__media {
   position: relative;
   display: block;
   aspect-ratio: 16/10;
   overflow: hidden;
}
.blog-card__media img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   transition: transform .5s ease;
}
.blog-card:hover .blog-card__media img {
   transform: scale(1.06);
}
.blog-card__body {
   padding: 1.5rem;
   display: flex;
   flex-direction: column;
   flex: 1;
}
.blog-card__title {
   font-style: var(--ecbz-heading-font), sans-serif;
   font-size: 1.15rem;
   font-weight: 800;
   margin-bottom: .6rem;
   line-height: 1.4;
}
h3.blog-card__title, h3.blog-card__title a {
   font-style: var(--ecbz-heading-font), sans-serif !important;
   font-size: .95rem !important;
   font-weight: 700 !important;
   margin-bottom: 0;
   line-height: 1.4;
}
.blog-card__title a {
   color: inherit;
   text-decoration: none;
}
.blog-card__title a:hover {
   color: var(--ecbz-primary);
}
.blog-card__excerpt {
   color: #6b6b6b;
   font-size: .925rem;
   margin-bottom: 1rem;
   flex: 1;
}
.blog-card__link {
   font-weight: 600;
   font-size: .875rem;
   color: var(--bs-primary);
   text-decoration: none;
   display: inline-flex;
   align-items: center;
   gap: .35rem;
}
.blog-card__link i {
   transition: transform .25s ease;
}
.blog-card__link:hover i {
   transform: translateX(4px);
}
.blog-comment-form__submit {
   font-family: var(--ecbz-sub-heading-font), sans-serif;
   background: var(--ecbz-primary);
   color: #fff;
   border: none;
   font-weight: 700;
   font-size: .875rem;
   border-radius: 8px;
   padding: .65rem 1.75rem;
   cursor: pointer;
   transition: background .2s ease;
}
.blog-comment-form__submit:hover {
   background: #1a4d2e;
}
.blog-comment-form__submit:disabled {
   opacity: .6;
   cursor: not-allowed;
}
.blog-comment-form .form-control {
   border-radius: 10px;
   border: 1px solid #e5e5e5;
   font-size: .9rem;
   padding: .65rem .9rem;
}
.blog-comment-form .form-control:focus {
   border-color: var(--ecbz-primary);
   box-shadow: 0 0 0 .15rem rgba(26, 77, 46, .1);
}
.blog-comment-form__msg {
   font-size: .85rem;
   margin-top: .5rem;
}
.blog-article__comments {
   margin-top: 3rem;
   padding-top: 3rem;
   border-top: 1px solid #eee;
}
.blog-comment {
   background: #fff;
   border-radius: 14px;
   box-shadow: 0 2px 14px rgba(0, 0, 0, .05);
   padding: 1.25rem 1.5rem;
   margin-bottom: 1.25rem;
}
.blog-comment__header {
   display: flex;
   align-items: center;
   gap: .6rem;
   margin-bottom: .5rem;
   font-family: var(--ecbz-heading-font), sans-serif;
}
.blog-comment__header strong {
   color: #1a2e1a;
   font-size: .95rem;
}
.blog-comment__date {
   color: #9a9a9a;
   font-size: .78rem;
   margin-left: auto;
}
.blog-comment__badge {
   background: #e8a419;
   color: #1a2e1a;
   font-size: .68rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .03em;
   padding: .2rem .55rem;
   border-radius: 999px;
}
.blog-comment__body {
   font-family: var(--ecbz-body-font), sans-serif;
   font-size: .9rem;
   line-height: 1.7;
   color: var(--ecbz-body-text-color);
}
.blog-comment--reply {
   margin: 1rem 0 0 2rem;
   background: #f7f8f6;
   box-shadow: none;
   border-left: 3px solid var(--ecbz-primary);
}
@media (max-width: 575px) {
   .blog-comment--reply {
      margin-left: .75rem;
   }
   .blog-comment__date {
      margin-left: 0;
      width: 100%;
      order: 3;
   }
}

.w__1 { width: 1%; }
.w__2 { width: 2%; }
.w__3 { width: 3%; }
.w__4 { width: 4%; }
.w__5 { width: 5%; }
.w__6 { width: 6%; }
.w__7 { width: 7%; }
.w__8 { width: 8%; }
.w__9 { width: 9%; }
.w__10 { width: 10%; }
.w__11 { width: 11%; }
.w__12 { width: 12%; }
.w__13 { width: 13%; }
.w__14 { width: 14%; }
.w__15 { width: 15%; }
.w__16 { width: 16%; }
.w__17 { width: 17%; }
.w__18 { width: 18%; }
.w__19 { width: 19%; }
.w__20 { width: 20%; }
.w__21 { width: 21%; }
.w__22 { width: 22%; }
.w__23 { width: 23%; }
.w__24 { width: 24%; }
.w__25 { width: 25%; }
.w__26 { width: 26%; }
.w__27 { width: 27%; }
.w__28 { width: 28%; }
.w__29 { width: 29%; }
.w__30 { width: 30%; }
.w__31 { width: 31%; }
.w__32 { width: 32%; }
.w__33 { width: 33%; }
.w__34 { width: 34%; }
.w__35 { width: 35%; }
.w__36 { width: 36%; }
.w__37 { width: 37%; }
.w__38 { width: 38%; }
.w__39 { width: 39%; }
.w__40 { width: 40%; }
.w__41 { width: 41%; }
.w__42 { width: 42%; }
.w__43 { width: 43%; }
.w__44 { width: 44%; }
.w__45 { width: 45%; }
.w__46 { width: 46%; }
.w__47 { width: 47%; }
.w__48 { width: 48%; }
.w__49 { width: 49%; }
.w__50 { width: 50%; !important }
.w__51 { width: 51%; !important }
.w__52 { width: 52%; !important }
.w__53 { width: 53%; !important }
.w__54 { width: 54%; !important }
.w__55 { width: 55%; !important }
.w__56 { width: 56%; !important }
.w__57 { width: 57%; !important }
.w__58 { width: 58%; !important }
.w__59 { width: 59%; !important }
.w__60 { width: 60%; !important }
.w__61 { width: 61%; !important }
.w__62 { width: 62%; !important }
.w__63 { width: 63%; !important }
.w__64 { width: 64%; !important }
.w__65 { width: 65%; !important }
.w__66 { width: 66%; !important }
.w__67 { width: 67%; !important }
.w__68 { width: 68%; !important }
.w__69 { width: 69%; !important }
.w__70 { width: 70%; !important }
.w__71 { width: 71%; !important }
.w__72 { width: 72%; !important }
.w__73 { width: 73%; !important }
.w__74 { width: 74%; !important }
.w__75 { width: 75%; !important }
.w__76 { width: 76%; !important }
.w__77 { width: 77%; !important }
.w__78 { width: 78%; !important }
.w__79 { width: 79%; !important }
.w__80 { width: 80%; !important }
.w__81 { width: 81%; !important }
.w__82 { width: 82%; !important }
.w__83 { width: 83%; !important }
.w__84 { width: 84%; !important }
.w__85 { width: 85%; !important }
.w__86 { width: 86%; !important }
.w__87 { width: 87%; !important }
.w__88 { width: 88%; !important }
.w__89 { width: 89%; !important }
.w__90 { width: 90%; !important }
.w__91 { width: 91%; !important }
.w__92 { width: 92%; !important }
.w__93 { width: 93%; !important }
.w__94 { width: 94%; !important }
.w__95 { width: 95%; !important }
.w__96 { width: 96%; !important }
.w__97 { width: 97%; !important }
.w__98 { width: 98%; !important }
.w__99 { width: 99%; !important }
.w__100 { width: 100%; !important }
@media(max-width: 587px) {
   .w__1, .w__2, .w__3, .w__4, .w__5, .w__6, .w__7, .w__8, .w__9, .w__10,
   .w__11, .w__12, .w__13, .w__14, .w__15, .w__16, .w__17, .w__18, .w__19, .w__20,
   .w__21, .w__22, .w__23, .w__24, .w__25, .w__26, .w__27, .w__28, .w__29, .w__30,
   .w__31, .w__32, .w__33, .w__34, .w__35, .w__36, .w__37, .w__38, .w__39, .w__40,
   .w__41, .w__42, .w__43, .w__44, .w__45, .w__46, .w__47, .w__48, .w__49, .w__50,
   .w__51, .w__52, .w__53, .w__54, .w__55, .w__56, .w__57, .w__58, .w__59, .w__60,
   .w__61, .w__62, .w__63, .w__64, .w__65, .w__66, .w__67, .w__68, .w__36, .w__70,
   .w__71, .w__72, .w__73, .w__74, .w__75, .w__76, .w__77, .w__78, .w__79, .w__80,
   .w__81, .w__82, .w__83, .w__84, .w__85, .w__86, .w__87, .w__88, .w__89, .w__90,
   .w__91, .w__92, .w__93, .w__94, .w__95, .w__96, .w__97, .w__98, .w__99, .w__100
   {
      width: 100%; !important
   }
}
