.elementor-1073 .elementor-element.elementor-element-70b6267e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-a5bf7cc{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-4ae2cbdf{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-354ee070{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-2ceed07c{text-align:start;}.elementor-1073 .elementor-element.elementor-element-77f65a9a{font-family:"Source Sans 3", Inter;}.elementor-1073 .elementor-element.elementor-element-683e9d09{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-47722f10 .elementor-heading-title{font-family:"Manrope", Inter;}.elementor-1073 .elementor-element.elementor-element-e2fc942{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-7db45c65{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-58500e5a .elementor-heading-title{font-family:"Manrope", Inter;}.elementor-1073 .elementor-element.elementor-element-60f6d38d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-31cba190{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-7658cf7b .elementor-heading-title{font-family:"Manrope", Inter;}.elementor-1073 .elementor-element.elementor-element-1faf5184{font-family:"Source Sans 3", Inter;}.elementor-1073 .elementor-element.elementor-element-66b9ee20{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1073 .elementor-element.elementor-element-25565398{font-family:"Source Sans 3", Inter;}.elementor-1073 .elementor-element.elementor-element-277738cb{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Source+Sans+3:wght@400;500;600&display=swap");

/* ================================================================
   Agilys NXT — Native Elementor Footer v1
   Placement: Elementor Site Settings → Custom CSS.
   Append these footer rules; do not replace the header CSS.
   ================================================================ */

:root {
  --agx-footer-navy-950: #071523;
  --agx-footer-navy-900: #0b1f33;
  --agx-footer-navy-800: #12304b;
  --agx-footer-white: #ffffff;
  --agx-footer-copy: #c5d1da;
  --agx-footer-muted: #9fb2bf;
  --agx-footer-quiet: #8195a4;
  --agx-footer-orange: #ff6a13;
  --agx-footer-display: "Manrope", Arial, sans-serif;
  --agx-footer-body: "Source Sans 3", Arial, sans-serif;
  --agx-footer-shell: min(1180px, calc(100% - 48px));
  --agx-footer-ease: cubic-bezier(.2, .75, .25, 1);
}

/* Scoped normalization */
.elementor-location-footer .e-con.agx-native-footer p,
.elementor-location-footer .e-con.agx-native-footer h3 {
  margin-top: 0;
}

.elementor-location-footer .e-con.agx-native-footer p:last-child {
  margin-bottom: 0;
}

/* Footer surface */
.elementor-location-footer .e-con.agx-native-footer {
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;

  position: relative;
  isolation: isolate;
  overflow: hidden;

  display: flex;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;

  flex-direction: column;
  align-items: stretch;
  gap: 0;

  color: var(--agx-footer-white);
  background: var(--agx-footer-navy-950);
}

.elementor-location-footer .e-con.agx-native-footer::before {
  position: absolute;
  z-index: -2;
  inset: 0;

  content: "";
  opacity: .26;

  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 72px 72px;

  -webkit-mask-image: linear-gradient(to bottom, #000, transparent 68%);
  mask-image: linear-gradient(to bottom, #000, transparent 68%);
  pointer-events: none;
}

.elementor-location-footer .e-con.agx-native-footer::after {
  position: absolute;
  z-index: -1;
  top: -210px;
  right: -190px;

  width: 520px;
  height: 520px;

  content: "";
  border-radius: 50%;
  background:
    radial-gradient(
      circle,
      rgba(255,106,19,.12),
      rgba(255,106,19,0) 68%
    );
  pointer-events: none;
}

/* Main content shell */
.elementor-location-footer .e-con.agx-native-footer__shell {
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;

  position: relative;
  z-index: 1;

  display: flex;
  width: var(--agx-footer-shell);
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;

  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

/* Four-column footer grid */
.elementor-location-footer .e-con.agx-native-footer__main {
  --gap: 64px;
  --row-gap: 64px;
  --column-gap: 64px;

  display: grid;
  grid-template-columns:
    minmax(280px, 1.55fr)
    minmax(180px, .75fr)
    minmax(150px, .58fr)
    minmax(220px, .8fr);

  width: 100%;
  margin: 0;
  padding: 76px 0 72px;
  gap: 64px;
  align-items: start;
}

.elementor-location-footer .e-con.agx-native-footer__brand,
.elementor-location-footer .e-con.agx-native-footer__column {
  --gap: 0px;
  --row-gap: 0px;
  --column-gap: 0px;

  display: flex;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;

  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

.elementor-location-footer .e-con.agx-native-footer__brand {
  max-width: 390px;
}

/* Logo */
.elementor-location-footer .agx-native-footer__logo {
  display: block;
  width: 178px;
  max-width: 178px;
  height: 50px;
  margin: 0 0 26px;
  padding: 0;
  line-height: 0;
}

.elementor-location-footer .agx-native-footer__logo .elementor-widget-container,
.elementor-location-footer .agx-native-footer__logo a {
  display: inline-flex;
  width: 178px;
  height: 50px;
  align-items: center;
  justify-content: flex-start;
}

.elementor-location-footer .agx-native-footer__logo img {
  display: block;
  width: auto;
  height: 50px;
  max-width: 178px;
  max-height: 50px;
  margin: 0;
  object-fit: contain;
  object-position: left center;
}

/* Brand statement */
.elementor-location-footer .agx-native-footer__brand-copy {
  width: 100%;
  max-width: 355px;
  margin: 0;
  padding: 0;
}

.elementor-location-footer .agx-native-footer__brand-copy,
.elementor-location-footer .agx-native-footer__brand-copy p {
  color: var(--agx-footer-copy);
  font-family: var(--agx-footer-body);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.62;
}

.elementor-location-footer .agx-native-footer__brand-copy p {
  margin: 0;
}

/* Column headings */
.elementor-location-footer .agx-native-footer__column-title {
  width: 100%;
  margin: 3px 0 25px;
  padding: 0;
}

.elementor-location-footer
.agx-native-footer__column-title
.elementor-heading-title {
  margin: 0;
  color: var(--agx-footer-quiet);
  font-family: var(--agx-footer-display);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Link groups */
.elementor-location-footer .e-con.agx-native-footer__links {
  --gap: 16px;
  --row-gap: 16px;
  --column-gap: 0px;

  display: grid;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  gap: 16px 0;
  justify-items: start;
}

.elementor-location-footer .agx-native-footer__link,
.elementor-location-footer .agx-native-footer__email,
.elementor-location-footer .agx-native-footer__legal-link {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.elementor-location-footer
.agx-native-footer__link
.elementor-button,
.elementor-location-footer
.agx-native-footer__email
.elementor-button,
.elementor-location-footer
.agx-native-footer__legal-link
.elementor-button {
  position: relative;

  display: inline-flex;
  width: fit-content;
  min-height: 25px;
  max-width: 100%;
  padding: 0;

  align-items: center;
  justify-content: flex-start;

  color: var(--agx-footer-copy);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;

  font-family: var(--agx-footer-body);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  text-decoration: none;
  text-transform: none;

  transition: color .22s ease;
}

.elementor-location-footer
.agx-native-footer__link
.elementor-button::after,
.elementor-location-footer
.agx-native-footer__email
.elementor-button::after {
  position: absolute;
  right: 0;
  bottom: -2px;
  left: 0;

  height: 1px;
  content: "";
  background: var(--agx-footer-white);

  transform: scaleX(0);
  transform-origin: right;
  transition: transform .28s var(--agx-footer-ease);
}

.elementor-location-footer
.agx-native-footer__link
.elementor-button:hover,
.elementor-location-footer
.agx-native-footer__link
.elementor-button:focus-visible,
.elementor-location-footer
.agx-native-footer__email
.elementor-button:hover,
.elementor-location-footer
.agx-native-footer__email
.elementor-button:focus-visible {
  color: var(--agx-footer-white);
  background: transparent;
}

.elementor-location-footer
.agx-native-footer__link
.elementor-button:hover::after,
.elementor-location-footer
.agx-native-footer__link
.elementor-button:focus-visible::after,
.elementor-location-footer
.agx-native-footer__email
.elementor-button:hover::after,
.elementor-location-footer
.agx-native-footer__email
.elementor-button:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Remove inherited arrows and icons */
.elementor-location-footer
.e-con.agx-native-footer
.elementor-button-icon {
  display: none;
}

.elementor-location-footer
.e-con.agx-native-footer
.elementor-button-content-wrapper,
.elementor-location-footer
.e-con.agx-native-footer
.elementor-button-text {
  color: inherit;
  font: inherit;
}

/* Contact details */
.elementor-location-footer .agx-native-footer__contact-copy {
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
}

.elementor-location-footer .agx-native-footer__contact-copy,
.elementor-location-footer .agx-native-footer__contact-copy p {
  color: var(--agx-footer-muted);
  font-family: var(--agx-footer-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.elementor-location-footer .agx-native-footer__contact-copy p {
  margin: 0;
}

.elementor-location-footer
.agx-native-footer__email
.elementor-button {
  color: var(--agx-footer-white);
  font-weight: 600;
}

/* Copyright and legal row */
.elementor-location-footer .e-con.agx-native-footer__bottom {
  --gap: 28px;
  --row-gap: 28px;
  --column-gap: 28px;

  display: flex;
  width: 100%;
  min-height: 78px;
  margin: 0;
  padding: 0;

  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 28px;

  color: var(--agx-footer-quiet);
  border-top: 1px solid rgba(255,255,255,.12);
}

.elementor-location-footer .agx-native-footer__copyright {
  width: auto;
  margin: 0;
  padding: 0;
}

.elementor-location-footer .agx-native-footer__copyright,
.elementor-location-footer .agx-native-footer__copyright p {
  color: var(--agx-footer-quiet);
  font-family: var(--agx-footer-body);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
}

.elementor-location-footer .agx-native-footer__copyright p {
  margin: 0;
}

.elementor-location-footer .e-con.agx-native-footer__legal {
  --gap: 26px;
  --row-gap: 0px;
  --column-gap: 26px;

  display: flex;
  width: auto;
  margin: 0;
  padding: 0;

  flex-flow: row nowrap;
  align-items: center;
  gap: 26px;
}

.elementor-location-footer
.agx-native-footer__legal-link
.elementor-button {
  min-height: 25px;
  color: var(--agx-footer-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
  transition:
    color .22s ease,
    text-decoration-color .22s ease;
}

.elementor-location-footer
.agx-native-footer__legal-link
.elementor-button:hover,
.elementor-location-footer
.agx-native-footer__legal-link
.elementor-button:focus-visible {
  color: var(--agx-footer-white);
  background: transparent;
  text-decoration-color: var(--agx-footer-white);
}

/* Tablet */
@media (max-width: 980px) {
  .elementor-location-footer .e-con.agx-native-footer__main {
    --gap: 56px 40px;
    --row-gap: 56px;
    --column-gap: 40px;

    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 56px 40px;
  }

  .elementor-location-footer .e-con.agx-native-footer__brand {
    grid-column: 1 / -1;
    max-width: 540px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  :root {
    --agx-footer-shell: calc(100% - 28px);
  }

  .elementor-location-footer
  .e-con.agx-native-footer::before {
    background-size: 56px 56px;
  }

  .elementor-location-footer
  .e-con.agx-native-footer__main {
    --gap: 50px 24px;
    --row-gap: 50px;
    --column-gap: 24px;

    grid-template-columns: 1fr 1fr;
    padding: 60px 0;
    gap: 50px 24px;
  }

  .elementor-location-footer
  .e-con.agx-native-footer__brand,
  .elementor-location-footer
  .e-con.agx-native-footer__column--services,
  .elementor-location-footer
  .e-con.agx-native-footer__column--contact {
    grid-column: 1 / -1;
  }

  .elementor-location-footer
  .agx-native-footer__logo,
  .elementor-location-footer
  .agx-native-footer__logo
  .elementor-widget-container,
  .elementor-location-footer
  .agx-native-footer__logo a {
    width: 157px;
    height: 44px;
  }

  .elementor-location-footer
  .agx-native-footer__logo img {
    width: auto;
    height: 44px;
    max-width: 157px;
    max-height: 44px;
  }

  .elementor-location-footer
  .agx-native-footer__link
  .elementor-button,
  .elementor-location-footer
  .agx-native-footer__email
  .elementor-button,
  .elementor-location-footer
  .agx-native-footer__legal-link
  .elementor-button {
    min-height: 44px;
  }

  .elementor-location-footer
  .e-con.agx-native-footer__bottom {
    min-height: 0;
    padding: 28px 0 34px;
    flex-direction: column;
    align-items: flex-start;
  }

  .elementor-location-footer
  .e-con.agx-native-footer__legal {
    flex-wrap: wrap;
  }
}

/* Small mobile */
@media (max-width: 390px) {
  .elementor-location-footer
  .e-con.agx-native-footer__main {
    grid-template-columns: 1fr;
  }

  .elementor-location-footer
  .e-con.agx-native-footer__brand,
  .elementor-location-footer
  .e-con.agx-native-footer__column--services,
  .elementor-location-footer
  .e-con.agx-native-footer__column--contact {
    grid-column: auto;
  }
}

/* Accessibility */
.elementor-location-footer
.e-con.agx-native-footer
a:focus-visible,
.elementor-location-footer
.e-con.agx-native-footer
.elementor-button:focus-visible {
  border-radius: 3px;
  outline: 3px solid var(--agx-footer-orange);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-location-footer .e-con.agx-native-footer,
  .elementor-location-footer .e-con.agx-native-footer *,
  .elementor-location-footer .e-con.agx-native-footer *::before,
  .elementor-location-footer .e-con.agx-native-footer *::after {
    transition-duration: .01ms !important;
  }
}
/* ================================================================
   Agilys NXT — Footer separation and mobile-spacing correction
   Append to the existing footer CSS.
   ================================================================ */

/* Subtle full-width divider */
.elementor-location-footer .e-con.agx-native-footer {
  border-top: 1px solid rgba(255, 255, 255, .16);
}

/* Restrained orange registration line */
.elementor-location-footer
.e-con.agx-native-footer__shell::before {
  position: absolute;
  z-index: 2;
  top: -1px;
  left: 0;

  width: 96px;
  height: 2px;

  content: "";
  background: #ff6a13;
  pointer-events: none;
}

/* Keep Company and Contact balanced on mobile */
@media (max-width: 640px) {
  .elementor-location-footer
  .e-con.agx-native-footer__column--contact {
    grid-column: auto;
  }
}
/* Remove the orange footer divider segment */
.elementor-location-footer
.e-con.agx-native-footer__shell::before {
  display: none !important;
  content: none !important;
}
/* ================================================================
   Agilys NXT — Footer spacing correction
   ================================================================ */

/* Force the footer content into the intended centered shell */
.elementor-location-footer .e-con.agx-native-footer {
  align-items: center !important;
}

.elementor-location-footer .e-con.agx-native-footer__shell {
  --width: min(1180px, calc(100% - 48px));
  --max-width: 1180px;

  flex: 0 0 auto !important;
  align-self: center !important;

  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Tighten desktop column and vertical spacing */
@media (min-width: 981px) {
  .elementor-location-footer .e-con.agx-native-footer__main {
    --gap: 48px;
    --row-gap: 48px;
    --column-gap: 48px;

    gap: 48px !important;
    padding: 76px 0 48px !important;
  }
}

/* Slightly tighten the space between footer links */
.elementor-location-footer .e-con.agx-native-footer__links {
  --gap: 12px;
  --row-gap: 12px;
  --column-gap: 0px;

  gap: 12px 0 !important;
}

/* Maintain the approved mobile gutter */
@media (max-width: 640px) {
  .elementor-location-footer .e-con.agx-native-footer__shell {
    --width: calc(100% - 28px);

    width: calc(100% - 28px) !important;
    max-width: none !important;
  }
}/* End custom CSS */