.elementor-kit-10{--e-global-color-primary:#0E5548;--e-global-color-secondary:#F4F3EE;--e-global-color-text:#2E2E2E;--e-global-color-accent:#796F3D;--e-global-color-60ec15c:#0A3F35;--e-global-color-5bcb715:#F5F0DC;--e-global-color-f739cf9:#8A7F45;--e-global-color-098e7b4:#FFFFFF;--e-global-color-477c437:#000000;--e-global-color-7f8f186:#00000000;--e-global-color-44a143f:#F4F3EE;--e-global-color-db3c144:#C00505;--e-global-color-c7a1e20:#6B6B6B;--e-global-color-c7a1e21:#0E5548CC;--e-global-typography-primary-font-family:"Source Serif 4";--e-global-typography-primary-font-size:2.4rem;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-secondary-font-family:"Source Serif 4";--e-global-typography-secondary-font-size:1.6rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.2em;--e-global-typography-text-font-family:"Figtree";--e-global-typography-text-font-size:1.05rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.55em;--e-global-typography-accent-font-family:"Figtree";--e-global-typography-accent-font-size:0.95rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:0.5px;--e-global-typography-dfe52bc-font-family:"Figtree";--e-global-typography-dfe52bc-font-size:1.15rem;--e-global-typography-dfe52bc-font-weight:700;--e-global-typography-dfe52bc-text-transform:uppercase;--e-global-typography-dfe52bc-line-height:1.2em;--e-global-typography-dfe52bc-letter-spacing:0.5px;--e-global-typography-822d1e5-font-family:"Figtree";--e-global-typography-822d1e5-font-size:0.95rem;--e-global-typography-822d1e5-font-weight:700;--e-global-typography-822d1e5-text-transform:uppercase;--e-global-typography-822d1e5-line-height:1.1em;--e-global-typography-822d1e5-letter-spacing:0.5px;--e-global-typography-9e2a8d1-font-family:"Figtree";--e-global-typography-9e2a8d1-font-size:1rem;--e-global-typography-9e2a8d1-font-weight:500;--e-global-typography-9e2a8d1-line-height:1.2em;--e-global-typography-906c328-font-family:"Figtree";--e-global-typography-906c328-font-size:1.15rem;--e-global-typography-906c328-font-weight:400;--e-global-typography-906c328-line-height:1.55em;--e-global-typography-f9af52c-font-family:"Figtree";--e-global-typography-f9af52c-font-size:1rem;--e-global-typography-f9af52c-font-weight:600;--e-global-typography-f9af52c-line-height:1.2em;--e-global-typography-4d828ca-font-family:"Figtree";--e-global-typography-4d828ca-font-size:0.95rem;--e-global-typography-4d828ca-font-weight:400;--e-global-typography-4d828ca-line-height:1.5em;--e-global-typography-eb6fa06-font-family:"Source Serif 4";--e-global-typography-eb6fa06-font-size:3.6rem;--e-global-typography-eb6fa06-font-weight:700;--e-global-typography-eb6fa06-line-height:1.1em;--e-global-typography-d0dbe55-font-family:"Source Serif 4";--e-global-typography-d0dbe55-font-size:4.2rem;--e-global-typography-d0dbe55-font-weight:700;--e-global-typography-d0dbe55-line-height:1.05em;--e-global-typography-d1a2586-font-family:"Figtree";--e-global-typography-d1a2586-font-size:1.2rem;--e-global-typography-d1a2586-font-weight:700;--e-global-typography-d1a2586-line-height:1.3em;--e-global-typography-a7c3e10-font-family:"Source Serif 4";--e-global-typography-a7c3e10-font-size:1.9rem;--e-global-typography-a7c3e10-font-weight:600;--e-global-typography-a7c3e10-line-height:1.2em;--e-global-typography-a7c3e11-font-family:"Source Serif 4";--e-global-typography-a7c3e11-font-size:1.6rem;--e-global-typography-a7c3e11-font-weight:700;--e-global-typography-a7c3e11-line-height:1em;--e-global-typography-a7c3e12-font-family:"Source Serif 4";--e-global-typography-a7c3e12-font-size:1.3rem;--e-global-typography-a7c3e12-font-weight:400;--e-global-typography-a7c3e12-font-style:italic;--e-global-typography-a7c3e12-line-height:1.5em;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-822d1e5-font-family ), Sans-serif;font-size:var( --e-global-typography-822d1e5-font-size );font-weight:var( --e-global-typography-822d1e5-font-weight );text-transform:var( --e-global-typography-822d1e5-text-transform );line-height:var( --e-global-typography-822d1e5-line-height );letter-spacing:var( --e-global-typography-822d1e5-letter-spacing );color:var( --e-global-color-098e7b4 );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-primary );border-radius:4px 4px 4px 4px;padding:1rem 1.5rem 1rem 1.5rem;}.elementor-kit-10 button:hover,.elementor-kit-10 button:focus,.elementor-kit-10 input[type="button"]:hover,.elementor-kit-10 input[type="button"]:focus,.elementor-kit-10 input[type="submit"]:hover,.elementor-kit-10 input[type="submit"]:focus,.elementor-kit-10 .elementor-button:hover,.elementor-kit-10 .elementor-button:focus{background-color:var( --e-global-color-60ec15c );color:var( --e-global-color-098e7b4 );}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}.elementor-kit-10 a{color:var( --e-global-color-primary );}.elementor-kit-10 a:hover{color:var( --e-global-color-60ec15c );}.elementor-kit-10 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-eb6fa06-font-family ), Sans-serif;font-size:var( --e-global-typography-eb6fa06-font-size );font-weight:var( --e-global-typography-eb6fa06-font-weight );line-height:var( --e-global-typography-eb6fa06-line-height );}.elementor-kit-10 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-10 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-10 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-dfe52bc-font-family ), Sans-serif;font-size:var( --e-global-typography-dfe52bc-font-size );font-weight:var( --e-global-typography-dfe52bc-font-weight );text-transform:var( --e-global-typography-dfe52bc-text-transform );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-dfe52bc-font-family ), Sans-serif;font-size:var( --e-global-typography-dfe52bc-font-size );font-weight:var( --e-global-typography-dfe52bc-font-weight );text-transform:var( --e-global-typography-dfe52bc-text-transform );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-dfe52bc-font-family ), Sans-serif;font-size:var( --e-global-typography-dfe52bc-font-size );font-weight:var( --e-global-typography-dfe52bc-font-weight );text-transform:var( --e-global-typography-dfe52bc-text-transform );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-f9af52c-font-family ), Sans-serif;font-size:var( --e-global-typography-f9af52c-font-size );font-weight:var( --e-global-typography-f9af52c-font-weight );line-height:var( --e-global-typography-f9af52c-line-height );}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:1rem;--container-default-padding-right:1rem;--container-default-padding-bottom:1rem;--container-default-padding-left:1rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:1rem;}.elementor-element{--widgets-spacing:1rem 1rem;--widgets-spacing-row:1rem;--widgets-spacing-column:1rem;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1366px){.elementor-kit-10{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{font-size:var( --e-global-typography-eb6fa06-font-size );line-height:var( --e-global-typography-eb6fa06-line-height );}.elementor-kit-10 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-10 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-10 h4{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h5{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h6{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{font-size:var( --e-global-typography-822d1e5-font-size );line-height:var( --e-global-typography-822d1e5-line-height );letter-spacing:var( --e-global-typography-822d1e5-letter-spacing );}.elementor-kit-10 label{font-size:var( --e-global-typography-f9af52c-font-size );line-height:var( --e-global-typography-f9af52c-line-height );}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-kit-10{--e-global-typography-primary-font-size:2.2rem;--e-global-typography-secondary-font-size:1.5rem;--e-global-typography-eb6fa06-font-size:3rem;--e-global-typography-d0dbe55-font-size:3.4rem;--e-global-typography-a7c3e10-font-size:1.7rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{font-size:var( --e-global-typography-eb6fa06-font-size );line-height:var( --e-global-typography-eb6fa06-line-height );}.elementor-kit-10 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-10 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-10 h4{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h5{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h6{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{font-size:var( --e-global-typography-822d1e5-font-size );line-height:var( --e-global-typography-822d1e5-line-height );letter-spacing:var( --e-global-typography-822d1e5-letter-spacing );}.elementor-kit-10 label{font-size:var( --e-global-typography-f9af52c-font-size );line-height:var( --e-global-typography-f9af52c-line-height );}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{--e-global-typography-primary-font-size:1.9rem;--e-global-typography-secondary-font-size:1.4rem;--e-global-typography-text-font-size:1rem;--e-global-typography-accent-font-size:0.9rem;--e-global-typography-dfe52bc-font-size:1.1rem;--e-global-typography-822d1e5-font-size:0.9rem;--e-global-typography-9e2a8d1-font-size:1rem;--e-global-typography-906c328-font-size:1.05rem;--e-global-typography-eb6fa06-font-size:2.4rem;--e-global-typography-d0dbe55-font-size:2.6rem;--e-global-typography-d1a2586-font-size:1.1rem;--e-global-typography-a7c3e10-font-size:1.4rem;--e-global-typography-a7c3e11-font-size:1.4rem;--e-global-typography-a7c3e12-font-size:1.15rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-10 h1{font-size:var( --e-global-typography-eb6fa06-font-size );line-height:var( --e-global-typography-eb6fa06-line-height );}.elementor-kit-10 h2{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-10 h3{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-10 h4{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h5{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 h6{font-size:var( --e-global-typography-dfe52bc-font-size );line-height:var( --e-global-typography-dfe52bc-line-height );letter-spacing:var( --e-global-typography-dfe52bc-letter-spacing );}.elementor-kit-10 button,.elementor-kit-10 input[type="button"],.elementor-kit-10 input[type="submit"],.elementor-kit-10 .elementor-button{font-size:var( --e-global-typography-822d1e5-font-size );line-height:var( --e-global-typography-822d1e5-line-height );letter-spacing:var( --e-global-typography-822d1e5-letter-spacing );}.elementor-kit-10 label{font-size:var( --e-global-typography-f9af52c-font-size );line-height:var( --e-global-typography-f9af52c-line-height );}.elementor-kit-10 input:not([type="button"]):not([type="submit"]),.elementor-kit-10 textarea,.elementor-kit-10 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* V-CTS site CSS start: only what Elementor controls can't do. Edit here, not in widgets. */
/* Balanced line breaks on big headings (no one-word orphans) */
h1, h2 { text-wrap: balance; }
/* Focus rings come from ows-foundation (fleet standard). Buttons and menu links only transition colors,
   so the ring and borders don't animate in. */
.elementor-button, .elementor-nav-menu--main .elementor-item, .elementor-nav-menu--dropdown a { transition-property: color, background-color, border-color; }
/* Service cards: titles reserve two lines on desktop so the text below lines up */
@media (min-width: 1025px) { .cardTitle .elementor-heading-title { min-height: 2.4em; } }
/* Hover micro-motion, pointer devices only (phones never move) */
.textLinkArrow .arrow { display: inline-block; transition: transform .2s ease; }
@media (hover: hover) {
  .serviceCard .elementor-widget-image { overflow: hidden; border-radius: 8px; }
  .serviceCard img { transition: transform .4s ease; }
  .serviceCard:hover img { transform: scale(1.04); }
  .textLinkArrow a:hover .arrow, .textLinkArrow a:focus-visible .arrow { transform: translateX(4px); }
}
@media (prefers-reduced-motion: reduce) { .serviceCard img, .textLinkArrow .arrow { transition: none; } }
/* Entrance motion: 30-40px of travel instead of Elementor's 100% of the element */
@keyframes vctsFadeInLeft { from { opacity: 0; transform: translate3d(-40px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes vctsFadeInRight { from { opacity: 0; transform: translate3d(40px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes vctsFadeInUp { from { opacity: 0; transform: translate3d(0, 30px, 0); } to { opacity: 1; transform: none; } }
.elementor-element.animated.fadeInLeft { animation-name: vctsFadeInLeft; }
.elementor-element.animated.fadeInRight { animation-name: vctsFadeInRight; }
.elementor-element.animated.fadeInUp { animation-name: vctsFadeInUp; }
/* Review carousel dots as rings (Swiper dims inactive dots to 20%) */
.elementor-widget-n-carousel { --swiper-pagination-bullet-inactive-opacity: 1; }
.elementor-widget-n-carousel .swiper-pagination-bullet { background: transparent; border: 1px solid var(--e-global-color-accent); }
.elementor-widget-n-carousel .swiper-pagination-bullet-active { background: var(--e-global-color-primary); border-color: var(--e-global-color-primary); }
/* Footer newsletter on dark green: cream focus ring (the field is full width via its GF layout setting) */
/* One-field form: hide GF's required legend and "(Required)"; the input keeps aria-required="true" */
.footerNewsletter .gform_wrapper .gform_required_legend, .footerNewsletter .gform_wrapper .gfield_label .gfield_required { display: none; }
.footerNewsletter .gform_wrapper :is(input, button):focus-visible { outline: 2px solid var(--e-global-color-5bcb715); outline-offset: 2px; box-shadow: none; }
/* Subscribe uses the Buttons typography global. UAE's button-size preset and GF's theme framework outrank
   Elementor's controls on GF's <button>, so this plugin override needs !important. */
.footerNewsletter .gform_wrapper .gform_button { font-family: var(--e-global-typography-822d1e5-font-family) !important; font-size: var(--e-global-typography-822d1e5-font-size) !important;
  font-weight: var(--e-global-typography-822d1e5-font-weight) !important; text-transform: var(--e-global-typography-822d1e5-text-transform) !important;
  letter-spacing: var(--e-global-typography-822d1e5-letter-spacing) !important; line-height: var(--e-global-typography-822d1e5-line-height) !important;
  border-radius: 4px !important; padding: 1rem 1.5rem !important; }
/* Header phone: icon only on phones (the number stays for screen readers); 44px tap target */
@media (max-width: 767px) {
  .headerPhone .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .headerPhone .elementor-button { min-width: 44px; min-height: 44px; justify-content: center; }
  /* Legal menu stacks on phones (the Nav Menu layout can't vary by device) */
  .footerLegalNav .elementor-nav-menu { flex-direction: column; }
}
/* V-CTS site CSS end *//* End custom CSS */