.elementor-kit-232{--e-global-color-primary:#5BAF34;--e-global-color-secondary:#507D3D;--e-global-color-text:#647177;--e-global-color-accent:#61CE70;--e-global-color-6a4d972:#08778C;--e-global-color-1d6a2d7:#102A33;--e-global-color-5de98d5:#F4F7F3;--e-global-color-03851eb:#FFFFFF;--e-global-typography-primary-font-family:"Assistant";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Assistant";--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Assistant";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Assistant";--e-global-typography-accent-font-weight:bold;}.elementor-kit-232 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@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;}}/* Start custom CSS *//* Green Services — global typography for About, Services and Contact */
body.page-id-361,
body.page-id-363,
body.page-id-369,
body.page-id-361 button,
body.page-id-363 button,
body.page-id-369 button,
body.page-id-361 input,
body.page-id-363 input,
body.page-id-369 input,
body.page-id-361 textarea,
body.page-id-363 textarea,
body.page-id-369 textarea,
body.page-id-361 select,
body.page-id-363 select,
body.page-id-369 select {
  font-family: var(--e-global-typography-text-font-family), "Assistant", sans-serif !important;
}

body.page-id-361 .page-content .elementor-heading-title,
body.page-id-363 .page-content .elementor-heading-title,
body.page-id-369 .page-content .elementor-heading-title,
body.page-id-361 .page-content .elementor-widget-text-editor,
body.page-id-363 .page-content .elementor-widget-text-editor,
body.page-id-369 .page-content .elementor-widget-text-editor,
body.page-id-361 .page-content .elementor-button ,
body.page-id-363 .page-content .elementor-button ,
body.page-id-369 .page-content .elementor-button {
  font-family: var(--e-global-typography-text-font-family), "Assistant", sans-serif !important;
}

body.page-id-361 .page-content h1.elementor-heading-title ,
body.page-id-363 .page-content h1.elementor-heading-title ,
body.page-id-369 .page-content h1.elementor-heading-title {
  font-size: clamp(1.65rem, 4vw, 3rem) !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content h2.elementor-heading-title ,
body.page-id-363 .page-content h2.elementor-heading-title ,
body.page-id-369 .page-content h2.elementor-heading-title {
  font-size: clamp(1.55rem, 3.2vw, 2.5rem) !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content h3.elementor-heading-title ,
body.page-id-363 .page-content h3.elementor-heading-title ,
body.page-id-369 .page-content h3.elementor-heading-title {
  font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content h4.elementor-heading-title ,
body.page-id-363 .page-content h4.elementor-heading-title ,
body.page-id-369 .page-content h4.elementor-heading-title {
  font-size: clamp(1.375rem, 2vw, 1.625rem) !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content h5.elementor-heading-title ,
body.page-id-363 .page-content h5.elementor-heading-title ,
body.page-id-369 .page-content h5.elementor-heading-title {
  font-size: clamp(1.125rem, 1.5vw, 1.25rem) !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content h6.elementor-heading-title ,
body.page-id-363 .page-content h6.elementor-heading-title ,
body.page-id-369 .page-content h6.elementor-heading-title {
  font-size: clamp(1rem, 1.25vw, 1.125rem) !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
body.page-id-361 .page-content .elementor-widget-text-editor ,
body.page-id-363 .page-content .elementor-widget-text-editor ,
body.page-id-369 .page-content .elementor-widget-text-editor {
  font-size: clamp(1rem, 1.1vw, 1.0625rem) !important;
  line-height: 1.55 !important;
}

/* Accessible content buttons */
body.page-id-361 .page-content .elementor-button ,
body.page-id-363 .page-content .elementor-button ,
body.page-id-369 .page-content .elementor-button {
  background-color: #08778C !important;
  color: #FFFFFF !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
body.page-id-361 .page-content .elementor-button:hover,
body.page-id-363 .page-content .elementor-button:hover,
body.page-id-369 .page-content .elementor-button:hover,
body.page-id-361 .page-content .elementor-button:focus ,
body.page-id-363 .page-content .elementor-button:focus ,
body.page-id-369 .page-content .elementor-button:focus {
  background-color: #102A33 !important;
  color: #FFFFFF !important;
}

/* Header top bar: global secondary green with white text */
header .elementor-element-62b4d2e {
  background-color: var(--e-global-color-secondary) !important;
}
header .elementor-element-62b4d2e,
header .elementor-element-62b4d2e a,
header .elementor-element-62b4d2e .elementor-icon-list-text,
header .elementor-element-62b4d2e i {
  color: #FFFFFF !important;
}

/* Services cards: remove green-on-green */
.page-id-363 .elementor-element-79f4ddba ,
.page-id-363 .elementor-element-5738ba0b ,
.page-id-363 .elementor-element-2acd624a ,
.page-id-363 .elementor-element-586b6931 ,
.page-id-363 .elementor-element-1799c312 ,
.page-id-363 .elementor-element-2f775cde ,
.page-id-363 .elementor-element-757d865a {
  background-color: #102A33 !important;
}
.page-id-363 .elementor-element-79f4ddba .elementor-heading-title ,
.page-id-363 .elementor-element-5738ba0b .elementor-heading-title ,
.page-id-363 .elementor-element-2acd624a .elementor-heading-title ,
.page-id-363 .elementor-element-586b6931 .elementor-heading-title ,
.page-id-363 .elementor-element-1799c312 .elementor-heading-title ,
.page-id-363 .elementor-element-2f775cde .elementor-heading-title ,
.page-id-363 .elementor-element-757d865a .elementor-heading-title {
  color: #FFFFFF !important;
}
.page-id-363 .elementor-element-79f4ddba p ,
.page-id-363 .elementor-element-5738ba0b p ,
.page-id-363 .elementor-element-2acd624a p ,
.page-id-363 .elementor-element-586b6931 p ,
.page-id-363 .elementor-element-1799c312 p ,
.page-id-363 .elementor-element-2f775cde p ,
.page-id-363 .elementor-element-757d865a p {
  color: #F4F7F3 !important;
}

/* Services final CTA */
.page-id-363 .elementor-element-d7f1619 .elementor-heading-title {
  color: #102A33 !important;
}
.page-id-363 .elementor-element-5637e793 {
  color: var(--e-global-color-text) !important;
}

/* About highlight card */
.page-id-361 .elementor-element-500cd23a .elementor-heading-title {
  color: #FFFFFF !important;
}


/* Services image cards: readable copy over photography */
.page-id-363 .elementor-element-34b5a785,
.page-id-363 .elementor-element-622cd3d,
.page-id-363 .elementor-element-d2d4071 {
  background-color: rgba(16, 42, 51, 0.78) !important;
  background-blend-mode: multiply !important;
}
.page-id-363 .elementor-element-34b5a785 .elementor-image-box-title,
.page-id-363 .elementor-element-622cd3d .elementor-image-box-title,
.page-id-363 .elementor-element-d2d4071 .elementor-image-box-title,
.page-id-363 .elementor-element-34b5a785 .elementor-image-box-title a,
.page-id-363 .elementor-element-622cd3d .elementor-image-box-title a,
.page-id-363 .elementor-element-d2d4071 .elementor-image-box-title a {
  color: #FFFFFF !important;
}
.page-id-363 .elementor-element-34b5a785 .elementor-image-box-description,
.page-id-363 .elementor-element-622cd3d .elementor-image-box-description,
.page-id-363 .elementor-element-d2d4071 .elementor-image-box-description {
  color: #F4F7F3 !important;
}


/* Services stats: white on secondary green */
.page-id-363 .elementor-element-77ec9427 .elementor-counter-number-wrapper,
.page-id-363 .elementor-element-77ec9427 .elementor-heading-title {
  color: #FFFFFF !important;
}

/* Services operational advantage panel */
.page-id-363 .elementor-element-532404ec {
  background-color: rgba(16, 42, 51, 0.78) !important;
  background-blend-mode: multiply !important;
}
.page-id-363 .elementor-element-532404ec .elementor-heading-title,
.page-id-363 .elementor-element-532404ec .elementor-widget-text-editor,
.page-id-363 .elementor-element-532404ec p {
  color: #FFFFFF !important;
}

.page-id-363 .elementor-element-532404ec .elementor-icon-list-text {
  color: #FFFFFF !important;
}


/* Anchor offset for sticky header */
#home, #services, #projects, #contact { scroll-margin-top: 115px; }
@media (max-width: 1024px) { #home, #services, #projects, #contact { scroll-margin-top: 112px; } }


/* Elementor 4 fallback: legacy entrance animations no longer remove .elementor-invisible, which left 20+ elements permanently hidden. Remove this rule once animations work again. */
.elementor-invisible{visibility:visible!important}/* End custom CSS */