.elementor-kit-6{--e-global-color-primary:#233F55;--e-global-color-secondary:#37A647;--e-global-color-text:#4A5A66;--e-global-color-accent:#43B653;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#37A647;}.elementor-kit-6 a:hover{color:#2E9440;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --bt-green:#37A647; --bt-green-dark:#2E9440; --bt-green-light:#43B653; --bt-navy:#233F55; --bt-navy-deep:#1A3142; --bt-text:#4A5A66; --bt-mint:#F1F9F2; --bt-surface:#F5F8FA; --bt-line:#DDE5EA; --bt-white:#FFFFFF; --bt-font:Montserrat; }
/* Start custom CSS *//* ===== Bronx Tree motion system =====
   Add these global classes to any element in Elementor:
   bt-intro + bt-delay-1..5  page-load entrance (staggered)
   bt-reveal (+ bt-stagger-2 / bt-stagger-3)  scroll-linked entrance
   bt-float / bt-float-slow  gentle floating loop
   bt-glow  slow breathing glow   bt-spin  slow rotation
   bt-ping  pulsing ring (dots)   bt-pulse  pulsing halo (buttons)
   bt-zoom-card  image zoom + icon lift on hover
   bt-hover-icon  icon lift on hover
   Only opacity and transform are animated, so the browser can run everything on the GPU. */

@keyframes btFadeUp { from { opacity: 0; transform: translate3d(0, 36px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes btFloat { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -14px, 0); } }
@keyframes btGlow { 0%, 100% { opacity: .55; transform: scale(1); } 50% { opacity: 1; transform: scale(1.14); } }
@keyframes btSpin { to { transform: rotate(360deg); } }
@keyframes btPing { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(2.6); opacity: 0; } }
@keyframes btPulse {
  0% { box-shadow: 0 10px 24px rgba(55, 166, 71, .30), 0 0 0 0 rgba(67, 182, 83, .55); }
  70% { box-shadow: 0 10px 24px rgba(55, 166, 71, .30), 0 0 0 16px rgba(67, 182, 83, 0); }
  100% { box-shadow: 0 10px 24px rgba(55, 166, 71, .30), 0 0 0 0 rgba(67, 182, 83, 0); }
}
@keyframes btShine { from { transform: translateX(-160%) skewX(-20deg); } to { transform: translateX(260%) skewX(-20deg); } }

/* page-load entrance */
.bt-intro { animation: btFadeUp 1s cubic-bezier(.22, 1, .36, 1) both; }
.bt-delay-1 { animation-delay: .12s; }
.bt-delay-2 { animation-delay: .24s; }
.bt-delay-3 { animation-delay: .36s; }
.bt-delay-4 { animation-delay: .48s; }
.bt-delay-5 { animation-delay: .6s; }

/* scroll-linked entrance: progress follows the scrollbar, so it can never stutter or pop */
@supports (animation-timeline: view()) {
  .bt-reveal {
    animation: btFadeUp linear both;
    animation-timing-function: cubic-bezier(.22, 1, .36, 1);
    animation-timeline: view();
    animation-range: entry 0% entry 75%;
  }
  .bt-reveal.bt-stagger-2 { animation-range: entry 8% entry 83%; }
  .bt-reveal.bt-stagger-3 { animation-range: entry 16% entry 91%; }
}

/* ambient motion */
.bt-float { animation: btFloat 5s ease-in-out infinite; will-change: transform; }
.bt-float-slow { animation: btFloat 7.5s ease-in-out infinite; will-change: transform; }
.bt-glow { animation: btGlow 9s ease-in-out infinite; will-change: transform, opacity; }
.bt-spin { animation: btSpin 60s linear infinite; }
.elementor .bt-ping { position: relative; overflow: visible; }
.elementor .bt-ping::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit;
  animation: btPing 2.2s cubic-bezier(0, 0, .2, 1) infinite;
}
.elementor .bt-pulse { animation: btPulse 2.4s cubic-bezier(.22, 1, .36, 1) infinite; }

/* button shine on hover (all bt-btn buttons, including form submit) */
.elementor .bt-btn { position: relative; overflow: hidden; }
.elementor .bt-btn::after {
  content: ""; position: absolute; top: 0; left: 0; width: 40%; height: 100%; pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .35) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translateX(-160%) skewX(-20deg);
}
.elementor .bt-btn:hover::after { animation: btShine .9s cubic-bezier(.22, 1, .36, 1); }

/* buttons keep readable text on hover: the kit's link hover colour must never reach a button */
.elementor a.e-button-base:hover, .elementor a.e-button-base:focus,
.elementor a.e-button-base:hover *, .elementor a.e-button-base:focus * { color: #FFFFFF; }
.elementor a.e-button-base.bt-btn-outline:hover, .elementor a.e-button-base.bt-btn-outline:focus,
.elementor a.e-button-base.bt-btn-outline:hover *, .elementor a.e-button-base.bt-btn-outline:focus * { color: var(--bt-navy, #233F55); }
.elementor a.elementor-button:hover, .elementor a.elementor-button:focus { text-decoration: none; }

/* hover micro-interactions */
.elementor .bt-zoom-card img { transition: transform 1s cubic-bezier(.22, 1, .36, 1); }
.elementor .bt-zoom-card:hover img { transform: scale(1.08); }
.elementor .bt-zoom-card .bt-icon-circle,
.elementor .bt-hover-icon .bt-icon-circle { transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), box-shadow .5s ease; }
.elementor .bt-zoom-card:hover .bt-icon-circle,
.elementor .bt-hover-icon:hover .bt-icon-circle { transform: translateY(-4px) rotate(-8deg) scale(1.1); box-shadow: 0 14px 28px rgba(55, 166, 71, .45); }

@media (prefers-reduced-motion: reduce) {
  .bt-intro, .bt-reveal, .bt-float, .bt-float-slow, .bt-glow, .bt-spin,
  .elementor .bt-ping::after, .elementor .bt-pulse, .elementor .bt-btn::after { animation: none !important; }
}

/* header menu: keep the Services dropdown arrow identical on hover/open */
.elementor-nav-menu--main .has-submenu .sub-arrow,
.elementor-nav-menu--main .has-submenu:hover .sub-arrow,
.elementor-nav-menu--main .has-submenu.highlighted .sub-arrow { transform: none !important; transition: none !important; }

/* ===== Classic inner pages (btc-*) — pairs with the classic Elementor widgets ===== */
.btc-eyebrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 12px; }
.btc-eyebrow .elementor-heading-title::before,
.btc-eyebrow-center .elementor-heading-title::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: var(--bt-green, #37A647); flex: none; }
.btc-eyebrow-light .elementor-heading-title::before,
.btc-eyebrow-light .elementor-heading-title::after { background: var(--bt-green-light, #43B653); }
@media (max-width: 1024px) { .btc-eyebrow .elementor-heading-title::after { content: ""; width: 28px; height: 2px; border-radius: 2px; background: var(--bt-green, #37A647); } }

.btc-prose p { margin: 0 0 18px; }
.btc-prose p:last-child { margin-bottom: 0; }
.btc-prose a { color: var(--bt-green, #37A647); font-weight: 600; text-decoration: none; }
.btc-prose a:hover { color: #2E9440; text-decoration: underline; }
.btc-prose ul, .btc-prose ol { margin: 0 0 18px; padding-left: 22px; }
.btc-prose li { margin-bottom: 8px; }
.btc-prose h2, .btc-prose h3 { font-family: Montserrat, sans-serif; color: var(--bt-navy, #233F55); font-weight: 800; letter-spacing: -0.01em; line-height: 1.25; margin: 36px 0 14px; }
.btc-prose h2 { font-size: 30px; } .btc-prose h3 { font-size: 22px; }
.btc-article img { max-width: 100%; height: auto; border-radius: 18px; }

.btc-crumbs a { color: #fff; font-weight: 600; text-decoration: none; }
.btc-crumbs a:hover { color: var(--bt-green-light, #43B653); }
.btc-crumbs .btc-sep { margin: 0 10px; opacity: .5; }

/* pill / chip / tag lists: even gaps in both directions, no touching rows */
.btc-pill .elementor-icon-list-items,
.btc-chips .elementor-icon-list-items,
.btc-tags .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; gap: 12px; margin: 0 !important; padding: 0; }
.btc-pill .elementor-icon-list-item,
.btc-chips .elementor-icon-list-item,
.btc-tags .elementor-icon-list-item { margin: 0 !important; display: inline-flex !important; align-items: center; gap: 10px; }
.btc-pill .elementor-icon-list-item::after,
.btc-chips .elementor-icon-list-item::after,
.btc-tags .elementor-icon-list-item::after { display: none !important; }
.btc-pill .elementor-icon-list-text,
.btc-chips .elementor-icon-list-text,
.btc-tags .elementor-icon-list-text { padding-left: 0 !important; }
@media (max-width: 1024px) {
  .btc-chips .elementor-icon-list-items, .btc-tags .elementor-icon-list-items { justify-content: center; }
}

.btc-pill .elementor-icon-list-item { padding: 9px 18px 9px 14px !important; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); }
.btc-pill .elementor-icon-list-icon i, .btc-pill .elementor-icon-list-icon svg { filter: drop-shadow(0 0 4px rgba(67,182,83,.6)); }
.btc-chips .elementor-icon-list-item { padding: 10px 18px 10px 12px !important; border-radius: 999px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.08); }
.btc-chips .elementor-icon-list-icon { width: 26px; height: 26px; min-width: 26px; border-radius: 50%; background: var(--bt-green, #37A647); justify-content: center; }
.btc-tags { margin-top: 6px; }
.btc-tags .elementor-icon-list-item { padding: 10px 18px 10px 14px !important; border-radius: 999px; background: #EEF6F0; border: 1px solid #D7EBDB; transition: background-color .3s ease, border-color .3s ease, transform .3s ease; }
.btc-tags .elementor-icon-list-item:hover { background: #E2F1E5; border-color: #BFE0C5; transform: translateY(-2px); }

.btc-btn .elementor-button { position: relative; overflow: hidden; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, background-color .3s ease, color .3s ease; }
.btc-btn .elementor-button::after { content: ""; position: absolute; top: 0; left: 0; width: 40%; height: 100%; pointer-events: none; background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%); transform: translateX(-160%) skewX(-20deg); }
.btc-btn .elementor-button:hover { transform: translateY(-2px); }
.btc-btn .elementor-button:hover::after { animation: btShine .9s cubic-bezier(.22,1,.36,1); }

.btc-card { transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease, border-color .5s ease; }
.btc-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(35,63,85,.12) !important; border-color: #D7EBDB !important; }
.btc-card .elementor-icon-box-icon .elementor-icon { background-image: linear-gradient(135deg, #43B653 0%, #2E9440 100%); box-shadow: 0 8px 18px rgba(55,166,71,.30); transition: transform .5s cubic-bezier(.34,1.56,.64,1); }
.btc-card:hover .elementor-icon-box-icon .elementor-icon { transform: translateY(-4px) rotate(-8deg) scale(1.08); }
.btc-card .elementor-icon-box-description:empty { display: none; }

.btc-img .elementor-widget-container { overflow: hidden; border-radius: 26px; }
.btc-img img { transition: transform 1.2s cubic-bezier(.22,1,.36,1); }
.btc-img:hover img { transform: scale(1.05); }

.btc-form .elementor-field-group .elementor-field-textual:focus { border-color: var(--bt-green, #37A647) !important; box-shadow: 0 0 0 4px rgba(55,166,71,.15); outline: none; }
.btc-form .elementor-field-textual { padding: 12px 16px; }
.btc-form .elementor-button { width: 100%; }

.btc-region .elementor-icon-list-items { column-count: 2; column-gap: 20px; }
.btc-region .elementor-icon-list-item { break-inside: avoid; }
@media (max-width: 767px) { .btc-region .elementor-icon-list-items { column-count: 1; } }

.btc-map iframe { border-radius: 26px; box-shadow: 0 30px 60px rgba(35,63,85,.18); display: block; }

.btc-posts .elementor-post__card { border-radius: 22px !important; border: 1px solid #E6EDF1; box-shadow: 0 12px 30px rgba(35,63,85,.07) !important; transition: transform .5s cubic-bezier(.22,1,.36,1), box-shadow .5s ease; }
.btc-posts .elementor-post__card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(35,63,85,.12) !important; }
.btc-posts .elementor-post__badge { background: var(--bt-green, #37A647) !important; border-radius: 999px !important; }

@media (prefers-reduced-motion: reduce) {
  .btc-card, .btc-card:hover, .btc-img img, .btc-btn .elementor-button, .btc-tags .elementor-icon-list-item { transition: none !important; transform: none !important; }
  .btc-btn .elementor-button::after { animation: none !important; }
}/* End custom CSS */