.elementor-3745 .elementor-element.elementor-element-212a22c{--spacer-size:60px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3745 .elementor-element.elementor-element-d4de8ab:not(.elementor-motion-effects-element-type-background), .elementor-3745 .elementor-element.elementor-element-d4de8ab > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F9FA;}.elementor-3745 .elementor-element.elementor-element-d4de8ab{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:90px 0px 90px 0px;}.elementor-3745 .elementor-element.elementor-element-d4de8ab > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-type-html{padding-bottom:0px;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-button[type="submit"]{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-3745 .elementor-element.elementor-element-341dd45{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-3745 .elementor-element.elementor-element-4d00d82{--spacer-size:20px;}.elementor-3745 .elementor-element.elementor-element-9d583c4 > .elementor-widget-container{padding:0px 60px 0px 60px;}.elementor-3745 .elementor-element.elementor-element-afbb19d > .elementor-widget-container{padding:0px 0px 0px 60px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3745 .elementor-element.elementor-element-32ec9f9 > .elementor-widget-container{padding:0px 60px 0px 20px;}.elementor-3745 .elementor-element.elementor-element-e6f9d9c{--spacer-size:50px;}@media(min-width:768px){.elementor-3745 .elementor-element.elementor-element-41bc1f9{width:62.297%;}.elementor-3745 .elementor-element.elementor-element-c95e4fe{width:42%;}.elementor-3745 .elementor-element.elementor-element-7594474{width:34%;}.elementor-3745 .elementor-element.elementor-element-ace8c52{width:58%;}}/* Start custom CSS *//* ===== Projects grid  professional redesign ===== */
body.elementor-page-3745 .elementor-widget-shortcode { font-family: 'Roboto', Helvetica, Arial, sans-serif; }

/* Remove the internal infinite-scroll scrollbox so the grid flows with the page */
body.elementor-page-3745 .dataview-container.infinite-scroll-mode {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.elementor-page-3745 .infinite-scroll-end { display: none !important; }

/* Toolbar (search + tag filter) */
body.elementor-page-3745 .layout-header {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 32px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E7EBEE;
}
body.elementor-page-3745 .search-input-container {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #F7F9FA;
  border: 1px solid #E1E6E9;
  border-radius: 999px;
  padding: 11px 18px;
  min-width: 260px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.elementor-page-3745 .search-input-container:focus-within {
  border-color: #245D72;
  box-shadow: 0 0 0 3px rgba(36,93,114,0.10);
  background: #fff;
}
body.elementor-page-3745 .search-icon { color: #8A9BA3; flex-shrink: 0; }
body.elementor-page-3745 .search-input {
  border: none; outline: none; background: transparent;
  font-size: 14.5px; color: #24333B; width: 100%;
}
body.elementor-page-3745 .select-display-trigger {
  display: flex; align-items: center; gap: 10px;
  background: #F7F9FA; border: 1px solid #E1E6E9; border-radius: 999px;
  padding: 11px 18px; font-size: 14.5px; color: #24333B;
  cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease;
}
body.elementor-page-3745 .select-display-trigger:hover { border-color: #245D72; background: #fff; }
body.elementor-page-3745 .select-trigger-icon { width: 15px; height: 15px; color: #8A9BA3; }

/* Grid */
body.elementor-page-3745 .dlp-grid-documents {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-bottom: 8px;
}
@media (max-width: 1024px) {
  body.elementor-page-3745 .dlp-grid-documents { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  body.elementor-page-3745 .dlp-grid-documents { grid-template-columns: 1fr !important; }
}

/* Card */
body.elementor-page-3745 .dlp-grid-card {
  background: #FFFFFF;
  border: 1px solid #EAEEF0;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(16,42,54,0.05);
  transition: transform 0.28s cubic-bezier(.2,.8,.2,1), box-shadow 0.28s ease, border-color 0.28s ease;
}
body.elementor-page-3745 .dlp-grid-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px -8px rgba(16,42,54,0.18), 0 4px 10px rgba(16,42,54,0.06);
  border-color: #DCE3E6;
}
body.elementor-page-3745 .dlp-grid-card-inner { display: flex; flex-direction: column; height: 100%; }

/* Image */
body.elementor-page-3745 .dlp-grid-card-featured-img {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg,#F0F3F4,#E4E9EB);
  margin: 0;
}
body.elementor-page-3745 .dlp-grid-card-featured-img a { display: block; height: 100%; }
body.elementor-page-3745 .dlp-grid-card-featured-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform 0.5s cubic-bezier(.2,.8,.2,1);
}
body.elementor-page-3745 .dlp-grid-card:hover .dlp-grid-card-featured-img img { transform: scale(1.06); }

/* Content */
body.elementor-page-3745 .dlp-grid-card-content { padding: 18px 20px 22px; flex: 1; display: flex; flex-direction: column; }
body.elementor-page-3745 .dlp-grid-card-title { margin: 0 0 10px; }
body.elementor-page-3745 .dlp-grid-card-title a {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 16.5px;
  font-weight: 700;
  color: #16323F;
  line-height: 1.35;
  text-decoration: none;
  letter-spacing: -0.01em;
}
body.elementor-page-3745 .dlp-grid-card-title a:hover { color: #245D72; }
body.elementor-page-3745 .dlp-grid-card-excerpt {
  color: #667079;
  font-size: 13.5px;
  line-height: 1.55;
  margin-top: 6px;
}
body.elementor-page-3745 .dlp-grid-card-excerpt:empty { display: none; }

/* Responsive */
@media (max-width: 767px) {
  body.elementor-page-3745 .dlp-grid-documents { gap: 20px !important; }
  body.elementor-page-3745 .layout-header { flex-direction: column; align-items: stretch; }
  body.elementor-page-3745 .search-input-container, body.elementor-page-3745 .select-display-trigger { min-width: 0; width: 100%; }
}


/* ===== Projects header  eyebrow, heading, subtitle, toolbar polish ===== */
body.elementor-page-3745 .elementor-element-078ea6e {
  margin-bottom: 10px !important;
}
body.elementor-page-3745 .elementor-element-078ea6e .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #3FAE59;
  margin: 0;
}
body.elementor-page-3745 .elementor-element-078ea6e .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: #3FAE59;
  border-radius: 2px;
}

body.elementor-page-3745 .elementor-element-0a2ced4 .elementor-heading-title {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 36px;
  letter-spacing: -0.01em;
  color: #16323F;
  margin: 0;
}

body.elementor-page-3745 .elementor-element-3f3425c {
  margin-top: 14px !important;
}
body.elementor-page-3745 .elementor-element-3f3425c p {
  font-size: 17px;
  line-height: 1.6;
  color: #5B6A72;
  max-width: 640px;
  margin: 0;
}

/* Toolbar spacing + fix stray pink/magenta focus rings */
body.elementor-page-3745 .layout-header { margin-top: 40px; }
body.elementor-page-3745 .select-display-trigger:focus,
body.elementor-page-3745 .select-display-trigger:focus-visible,
body.elementor-page-3745 input[id$="-hidden-input"]:focus + * .select-display-trigger,
body.elementor-page-3745 .search-input:focus {
  outline: 2px solid #245D72 !important;
  outline-offset: 1px;
  box-shadow: 0 0 0 3px rgba(36,93,114,0.12) !important;
  border-color: #245D72 !important;
}

/* ===== Hero photo collage ===== */
body.elementor-page-3745 .eml-hero-collage {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  height: 300px;
  margin-left: 10px;
  margin-top: 6px;
}
body.elementor-page-3745 .eml-hero-photo {
  position: relative;
  z-index: 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 48px -12px rgba(16,42,54,0.28), 0 4px 12px rgba(16,42,54,0.08);
  border: 4px solid #FFFFFF;
}
body.elementor-page-3745 .eml-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.elementor-page-3745 .eml-hero-photo-1 { grid-row: 1 / 3; }
body.elementor-page-3745 .eml-hero-photo-2 { grid-row: 1; align-self: end; }
body.elementor-page-3745 .eml-hero-photo-3 { grid-row: 2; }

@media (max-width: 1024px) {
  body.elementor-page-3745 .eml-hero-collage { height: 320px; margin-top: 32px; margin-left: 0; }
}
@media (max-width: 767px) {
  body.elementor-page-3745 .eml-hero-collage { height: 260px; margin-top: 24px; }
  }

/* ===== Contact Us button (hero) ===== */
body.elementor-page-3745 .elementor-element-2feb8d1 .elementor-button {
  background: #245D72;
  border-radius: 999px;
  padding: 15px 34px;
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 14.5px;
  letter-spacing: 0.02em;
  box-shadow: 0 10px 24px -6px rgba(36,93,114,0.4);
  transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
body.elementor-page-3745 .elementor-element-2feb8d1 .elementor-button:hover {
  background: #3FAE59;
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -6px rgba(63,174,89,0.45);
  color: #fff;
}
body.elementor-page-3745 .elementor-element-2feb8d1 {
  margin-top: 28px;
}

/* ===== Contact section ===== */
#eml-contact { scroll-margin-top: 90px; }

body.elementor-page-3745 .elementor-element-c94605e .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #3FAE59;
  margin: 0 0 14px;
}
body.elementor-page-3745 .elementor-element-c94605e .elementor-heading-title::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: #3FAE59;
  border-radius: 2px;
}
body.elementor-page-3745 .elementor-element-a22efcf .elementor-heading-title {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: #16323F;
  margin: 0 0 18px;
}
body.elementor-page-3745 .elementor-element-d0a750b p {
  font-size: 16.5px;
  line-height: 1.65;
  color: #5B6A72;
  margin: 0 0 32px;
  max-width: 440px;
}
body.elementor-page-3745 .eml-contact-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 24px;
  border-top: 1px solid #E1E6E9;
}
body.elementor-page-3745 .eml-contact-info-row {
  font-size: 15px;
  color: #16323F;
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
body.elementor-page-3745 .eml-contact-info-label {
  font-weight: 700;
}
body.elementor-page-3745 .eml-contact-info-role {
  color: #667079;
  font-size: 13.5px;
}
body.elementor-page-3745 .eml-contact-info a {
  color: #245D72;
  text-decoration: none;
  font-weight: 600;
}
body.elementor-page-3745 .eml-contact-info a:hover {
  color: #3FAE59;
  text-decoration: underline;
}

/* Form widget styling */
body.elementor-page-3745 .elementor-element-341dd45 {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 40px;
  box-shadow: 0 1px 2px rgba(16,42,54,0.05), 0 20px 45px -15px rgba(16,42,54,0.12);
  border: 1px solid #EAEEF0;
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-field-group {
  margin-bottom: 18px;
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-field-textual {
  border: 1px solid #E1E6E9;
  border-radius: 10px;
  background: #F7F9FA;
  padding: 13px 16px;
  font-size: 15px;
  color: #16323F;
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-field-textual:focus {
  border-color: #245D72;
  background: #FFFFFF;
  outline: none;
  box-shadow: 0 0 0 3px rgba(36,93,114,0.1);
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-field-label {
  font-size: 13.5px;
  font-weight: 600;
  color: #16323F;
  margin-bottom: 6px;
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-button {
  background: #245D72;
  border-radius: 999px;
  padding: 14px 32px;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: background 0.25s ease, transform 0.25s ease;
  width: 100%;
}
body.elementor-page-3745 .elementor-element-341dd45 .elementor-button:hover {
  background: #3FAE59;
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  body.elementor-page-3745 .elementor-element-341dd45 { padding: 26px; }
  body.elementor-page-3745 .elementor-element-a22efcf .elementor-heading-title { font-size: 26px; }
}


/* Lead-in line above the hero Contact Us button */
body.elementor-page-3745 .elementor-element-0364793 {
  margin-top: 28px;
}
body.elementor-page-3745 .elementor-element-0364793 .elementor-heading-title {
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
  font-weight: 600;
  font-size: 16.5px;
  color: #16323F;
  margin: 0;
}
body.elementor-page-3745 .elementor-element-2feb8d1 {
  margin-top: 14px;
}/* End custom CSS */