@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: 300ms;
   --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: .45rem 1.2rem;
   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-sm {
   padding: .4rem 1rem;
   font-size: .85rem;
}
.btn-lg {
   padding: .85rem 2rem;
   font-size: 1.05rem;
}
.btn-primary {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
}
.btn-primary:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
   /*transform: translateY(-2px);*/
   box-shadow: 0 10px 22px rgba(var(--ecbz-primary-rgb), .28);
}
.btn-secondary {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
}
.btn-secondary:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
   /*transform: translateY(-2px);*/
   box-shadow: 0 10px 22px rgba(var(--ecbz-secondary-rgb), .28);
}
.btn-outline-primary {
   background: transparent;
   border-color: var(--ecbz-primary);
   color: var(--ecbz-primary);
}
.btn-outline-primary:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
}
.btn-outline-secondary {
   background: transparent;
   border-color: var(--ecbz-secondary);
   color: var(--ecbz-secondary);
}
.btn-outline-secondary:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
}
.btn-outline-default {
   background: transparent;
   border-color: var(--ecbz-white);
   color: var(--ecbz-white);
}
.btn-outline-default:hover {
   background: var(--ecbz-white-soft);
   border-color: var(--ecbz-white-soft);
   color: var(--ecbz-black-soft) !important;
}
.btn-outline-dark {
   background: transparent;
   border-color: var(--ecbz-black-soft);
   color: var(--ecbz-black-soft);
}
.btn-outline-dark:hover {
   background: var(--ecbz-black-soft);
   border-color: var(--ecbz-black-soft);
   color: var(--ecbz-white-soft);
}
.btn-ghost-primary {
   background: transparent;
   border-color: transparent;
   color: var(--ecbz-primary);
}
.btn-ghost-primary:hover {
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
}
.btn-ghost-secondary {
   background: transparent;
   border-color: transparent;
   color: var(--ecbz-secondary);
}
.btn-ghost-secondary:hover {
   background: rgba(var(--ecbz-secondary-rgb), .08);
   color: var(--ecbz-secondary);
}
.btn-soft-primary {
   background: rgba(var(--ecbz-primary-rgb), .12);
   border-color: transparent;
   color: var(--ecbz-primary);
}
.btn-soft-primary:hover {
   background: var(--ecbz-primary);
   border-color: var(--ecbz-primary);
   color: #fff;
}
.btn-soft-secondary {
   background: rgba(var(--ecbz-secondary-rgb), .12);
   border-color: transparent;
   color: var(--ecbz-secondary);
}
.btn-soft-secondary:hover {
   background: var(--ecbz-secondary);
   border-color: var(--ecbz-secondary);
   color: #fff;
}
.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: 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);
}
.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;
   }
}
@media screen and (max-width: 575px) {
   .tagline-height {
      top: 0 !important;
   }
}
/*@media (min-width: 576px) {*/
/*   .tagline-height {*/
/*      top: 48px !important;*/
/*   }*/
/*}*/
.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);
}
.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: 999px;
   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,
.header .main-links > li.active > a {
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
}
.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:active {
   background: #fafafa;
}
.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: #fff;
   background: rgba(255, 255, 255, .14);
   border: 1px solid rgba(255, 255, 255, .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__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: 2.9rem;
   font-weight: 800;
   line-height: 1.12;
   max-width: 620px;
   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;
}
.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);
   border: 1px solid var(--ecbz-border-color);
}
.btn-cta.outline:hover {
   border-color: var(--ecbz-primary);
   transform: translateY(-2px);
   color: var(--ecbz-primary);
}
.section-title {
   max-width: 640px;
   margin: 0 auto 2rem;
}
.section-title .sub {
   display: inline-block;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--ecbz-secondary);
   margin-bottom: .7rem;
}
.section-title h2 {
   font-size: 2rem;
   font-weight: 800;
   color: var(--ecbz-primary);
   margin-bottom: .7rem;
   /*text-align: center;*/
}
.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 {
   display: inline-block;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   color: var(--ecbz-primary-light);
   margin-bottom: .8rem;
}
.sec-image h2 {
   font-size: 2.1rem;
   font-weight: 800;
   color: var(--ecbz-primary);
   line-height: 1.18;
   margin-bottom: 1rem;
}
.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: 14px;
   overflow: hidden;
   box-shadow: 0 20px 44px rgba(0, 0, 0, .12);
   aspect-ratio: 4/3.3;
}
.sec-image .media-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
@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: #fff;
   border: 1px solid var(--ecbz-border-color);
   border-radius: var(--ecbz-border-radius);
   transition: transform var(--ecbz-transition-speed), box-shadow var(--ecbz-transition-speed), border-color var(--ecbz-transition-speed);
}
.icard.padded {
   padding: 12px 18px;
}
.icard:hover {
   transform: translateY(-4px);
   box-shadow: 0 16px 34px rgba(0, 0, 0, .08);
   border-color: transparent;
}
.icard .icon-wrap {
   width: 50px;
   height: 50px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   font-size: 1.3rem;
   transition: background var(--ecbz-transition-speed), color var(--ecbz-transition-speed);
}
.icard:hover .icon-wrap {
   background: var(--ecbz-primary);
   color: #fff;
}
.icard.no-link {
   padding: 0;
}
.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: #6b7684;
   font-size: .92rem;
   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: 12px;
   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: 1.4rem;
}
.icon-wrap {
   width: 50px;
   height: 50px;
   border-radius: 10px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(var(--ecbz-primary-rgb), .08);
   color: var(--ecbz-primary);
   font-size: 1.3rem;
   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;
}
.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;
}
.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(4, 1fr);
   gap: 22px;
}
.product-card {
   overflow: hidden;
}
.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);
   }
}
.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: 80px 0;
   /*background: #fbf9f4;*/
}
.impact-editorial .cols {
   display: flex;
}
.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: 'JetBrains Mono', monospace, sans-serif;
   font-size: .72rem;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: var(--ecbz-secondary-light);
   text-align: center;
   margin-bottom: 2.6rem;
}
.impact-cinematic .cols {
   display: flex;
   gap: 2px;
}
.impact-cinematic .stat {
   flex: 1;
   text-align: center;
   padding: 0 1rem;
}
.impact-cinematic .num {
   font-family: var(--ecbz-heading-font), sans-serif;
   font-weight: 800;
   font-size: 2.8rem;
   color: #fff;
   line-height: 1;
}
.impact-cinematic .label {
   font-size: .8rem;
   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-light);
   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 {
   border-radius: 14px;
   overflow: hidden;
   box-shadow: 0 20px 44px rgba(0, 0, 0, .12);
   aspect-ratio: 4/3.4;
}
.icbx-split .media-frame img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.icbx-split .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-split h2 {
   font-size: 2rem;
   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: .98rem;
   margin-bottom: .3rem;
}
@media (max-width: 860px) {
   .icbx-split .row-flex {
      flex-direction: column;
   }
}
.icbx-noimg {
   padding: 80px 0;
   background: #fbfbf9;
}
.icbx-noimg .grid {
   display: grid;
   grid-template-columns:repeat(3, 1fr);
   gap: 26px;
}
.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: #fff;
   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);
}
.footer-with-menu .contact-item {
   display: flex;
   gap: .6rem;
   font-size: .85rem;
   margin-bottom: .7rem;
   align-items: flex-start;
}
.footer-with-menu .contact-item a:hover {
   color: var(--ecbz-secondary);
}
.footer-with-menu .contact-item i {
   margin-top: .15rem;
   color: var(--ecbz-secondary);
}
.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;
   }
}




.section.section-bg, .section.section-bg.footer, .section-bg {
   background-size: cover !important;
   background-repeat: no-repeat !important;
   background-position: center !important;
   width: 100% !important;
   height: 100% !important;
   position: relative;
   z-index: 0;
   object-fit: cover !important;
   object-position: center !important;
}
.section.footer.bg-light-2,
.section.footer.bg-light-2 .footer-link a,
.section.footer.bg-light-2 .footer-contact a{
   color: #25272b !important;
}
.section.footer {
   margin: 0;
   padding-bottom: 0;
}
.footer-bg-image-overlay {
   position: absolute;
   inset: 0; /* top:0; right:0; bottom:0; left:0; */
   z-index: -1;
   pointer-events: none;
}
.footer-bg-image-overlay img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center;
   opacity: 1;
}
.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;
}
.footer {
   color: white;
   font-size: 15px !important;
   background-color: rgba(37, 45, 49, 0.9);
}
.footer-logo {
   flex: 1 1 200px;
   padding: 0;
   text-align: start;
   align-content: center;
   margin: auto 0;
}
.footer-info {
   flex: 2 1 300px;
   font-size: 0.875rem;
   border: none;
   margin: auto 0;
   display: inline-block;
   vertical-align: center;
   align-content: center;
}
.footer-info .info-details {
}
.info-details h2 {
   color: var(--ecbz-white);
}
.info-details p {
   color: var(--ecbz-gray);
}
.footer-info .details {
   padding: 0 20px;
   vertical-align: center !important;
}
.footer-contact-form {
   width: inherit;
   display: flex;
   line-height: 1;
   vertical-align: center;
   column-gap: 20px;
   flex: 1 1 300px;
   padding: 0;
   margin-top: 10px;
   align-content: center;
}
/*.footer-contact-form {*/
/*   width: inherit;*/
/*   display: flex;*/
/*   line-height: 1;*/
/*   vertical-align: center;*/
/*   column-gap: 20px;*/
/*   padding: 0 20px;*/
/*   align-content: center;*/
/*}*/
.footer-contact-form input {
   width: 75%;
   margin: auto 0;
}
.footer-contact-form a {
   width: auto;
   margin: auto 0;
}
.page-footer a {
   text-decoration: none;
   transition: color 0.3s ease;
}
.bottom-footer {
   width: 100%;
   height: auto;
   padding: 50px 5px;
   background-color: var(--ecbz-primary);
}
.footer-links {
   display: flex;
   flex-direction: column;
   padding: 0;
   line-height: 1.2;
}
.footer-links h3 {
   margin-bottom: 0.75rem;
}
.footer-links {
   list-style: none;
   position: relative
}
.footer-link {
   position: relative;
   display: flex;
   margin-left: 0;
   transition: all 0.8s ease-in-out;
   align-items: center;
}
.footer-link a {
   padding-top: 10px;
   padding-bottom: 10px;
   margin: 0;
   color: var(--ecbz-white-soft);
   text-decoration: none;
   transition: all 0.6s ease-in-out;
   text-wrap: wrap;
   align-items: center;
}
.footer-link a:hover {
   /*margin-left: 10px;*/
   color: var(--ecbz-primary);
}
.footer-link i {
   line-height: 1;
   position: relative;
   vertical-align: center;
   font-size: 20px;
   font-weight: 900;
   color: var(--ecbz-primary)
}
/*.footer-link::before {*/
/*   position: absolute;*/
/*   left: -25px;*/
/*   display: flex;*/
/*   align-items: start;*/
/*   justify-content: start;*/
/*   content: "\F0142"; !* or use →, », › etc. *!*/
/*   color: var(--ecbz-secondary);*/
/*   margin-right: 5px;*/
/*   padding-right: 5px;*/
/*   font-family: "Material Design Icons", system-ui;*/
/*   font-weight: normal;*/
/*   font-size: 20px;*/
/*}*/
.footer-contacts {
   padding: 0;
   line-height: 1.35;
   display: grid;
   row-gap:10px;
}
.footer-contacts h3 {
   margin-bottom: 1rem !important;
}
.footer-contact {
   padding-bottom: 12px;
   display: flex;
   flex-direction: row;
   align-items: flex-start;
   flex: 1 auto;
   gap: 20px;
}
.footer-contact i {
   font-size: 1.475rem;
   line-height: 1;
   vertical-align: center;
   align-items: flex-start;
   justify-content: center;
   color: var(--ecbz-primary);
}
.footer-contact a {
   display: inline-block;
   text-decoration: none;
   color: var(--ecbz-white);
}
.footer-contact a:hover, .footer-contact a:active, .footer-contact a:focus {
   color: var(--ecbz-primary) !important;
}
.footer.bg-primary .footer-contact a:hover,
.footer.bg-primary .footer-contact a:active,
.footer.bg-primary .footer-contact a:focus {
   color: var(--ecbz-secondary) !important;
}
.footer.bg-secondary .footer-contact a:hover,
.footer.bg-secondary .footer-contact a:active,
.footer.bg-secondary .footer-contact a:focus {
   color: var(--ecbz-primary) !important;
}
.footer-contact p {
   display: flex;
   flex-direction: column;
   text-wrap: wrap;
   margin-bottom: 0;
   font-size: 0.965rem;
}

.footer.bg-primary .footer-contact i {
   color: var(--ecbz-secondary) !important;
}
.footer.bg-secondary .footer-contact i {
   color: var(--ecbz-primary) !important;
}

.contact-details {
   display: flex;
   flex-direction: column;
   row-gap: 5px;
}
.copyright {
   width: 100%;
   padding: 20px 30px;
   margin-top: 30px;
   border-radius: 0;
   /*border-top: 1px solid var(--ecbz-white);*/
   /*box-shadow: -3px -3px 20px rgba(0, 0, 0, 0.2);*/
}
.copyright p {
   margin: 0;
   font-size: 1rem;
}
.copyright p.text-right {
   text-align: right;
}
.copyright a {
   text-decoration: none;
   color: var(--ecbz-secondary);
   padding: 0 3px;
   font-size: 1rem;
}

.footer.bg-primary {
   background-color: var(--ecbz-primary) !important;
}
.footer.bg-primary .footer-link a {
   color: var(--ecbz-white) !important;
}
.footer.bg-primary .footer-link a i {
   color: var(--ecbz-secondary) !important;
}
.footer.bg-primary .footer-link a:hover {
   color: var(--ecbz-secondary) !important;
}

.footer.bg-secondary {
   background-color: var(--ecbz-secondary) !important;
}
.footer.bg-secondary .footer-link a {
   color: var(--ecbz-white) !important;
}
.footer.bg-secondary .footer-link a i {
   color: var(--ecbz-primary) !important;
}
.footer.bg-secondary .footer-link a:hover{
   color: var(--ecbz-primary) !important;
}
.footer-alt {
   background-color: rgba(37, 45, 49, 0.9);
   border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.footer .footer-social-icon-content .footer-social-icon {
   color: rgba(255, 255, 255, 0.5);
   transition: all 0.5s;
}
.footer .footer-social-icon-content .footer-social-icon:hover {
   color: #fff;
}
.footer-socials { display: flex; gap: 12px; flex-wrap: wrap; }
.footer-social {
   width: 40px;
   height: 40px;
   /*border: 1px solid rgba(var(--ecbz-secondary-rgb), 0.2);*/
   display: flex;
   align-items: center;
   justify-content: center;
   color: var(--ecbz-secondary);
   /*font-size: 14px;*/
   transition: 300ms;
   cursor: pointer;
   font-family: var(--ecbz-body-font), sans-serif;
   font-weight: 300;
   /*font-size: 11px;*/
   letter-spacing: 0.05em;
   text-transform: uppercase;
   padding: 0 10px;
   /*width: auto;*/
   /*height: 32px;*/
   border-radius: 0;
}
.footer-social:hover {
   background: var(--ecbz-primary);
   color: var(--ecbz-secondary);
   border-color: var(--ecbz-primary);
}
.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;
}
