.elementor-5 .elementor-element.elementor-element-e5d78bb{--display:flex;--min-height:0vh;--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;--justify-content:space-evenly;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-e5d78bb::before, .elementor-5 .elementor-element.elementor-element-e5d78bb > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-e5d78bb > .e-con-inner > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-e5d78bb > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-e5d78bb > .e-con-inner > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-e5d78bb > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-5 .elementor-element.elementor-element-e5d78bb.e-con{--align-self:center;}.elementor-5 .elementor-element.elementor-element-e5d78bb.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-e5d78bb.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-42ed1db{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5 .elementor-element.elementor-element-42ed1db.e-con{--align-self:flex-start;}.elementor-5 .elementor-element.elementor-element-42ed1db.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-42ed1db.adv-sticky-elementor{transition:all 300ms ease-in-out;}.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-5 .elementor-element.elementor-element-b7956dd{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-5 .elementor-element.elementor-element-b7956dd img{width:70%;}.elementor-5 .elementor-element.elementor-element-60c92ad{--display:flex;}.elementor-5 .elementor-element.elementor-element-60c92ad.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-60c92ad.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-1247f48{--display:flex;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5 .elementor-element.elementor-element-1247f48.e-con{--align-self:flex-end;}.elementor-5 .elementor-element.elementor-element-1247f48.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-1247f48.adv-sticky-elementor{transition:all 300ms ease-in-out;}.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-5 .elementor-element.elementor-element-53f60be .elementor-button{background-color:#FFFFFF;font-family:"Montserrat", Sans-serif;font-size:13px;font-weight:600;letter-spacing:-0.4px;fill:#14243B;color:#14243B;border-radius:90px 90px 90px 90px;padding:10px 25px 10px 25px;}.elementor-5 .elementor-element.elementor-element-53f60be{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-53f60be.elementor-element{--align-self:flex-start;}.elementor-5 .elementor-element.elementor-element-dfcfcad{--display:flex;--min-height:0vh;--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;--justify-content:space-between;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.33;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-5 .elementor-element.elementor-element-dfcfcad:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-dfcfcad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030E21E6;}.elementor-5 .elementor-element.elementor-element-dfcfcad::before, .elementor-5 .elementor-element.elementor-element-dfcfcad > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-dfcfcad > .e-con-inner > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-dfcfcad > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-dfcfcad > .e-con-inner > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-dfcfcad > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-5 .elementor-element.elementor-element-dfcfcad.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-dfcfcad.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-406aec9{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-start;--gap:6px 0px;--row-gap:6px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2em;--padding-bottom:3em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-406aec9.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-406aec9.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-4c12f69{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:24px 0px 24px 0px;}.elementor-5 .elementor-element.elementor-element-4c12f69.elementor-element{--align-self:center;}.elementor-5 .elementor-element.elementor-element-581079b{--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;--justify-content:center;}.elementor-5 .elementor-element.elementor-element-581079b.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-581079b.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-e6aada6 .elementor-button{background-color:#FE4C34;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:600;letter-spacing:-0.3px;fill:#FFFFFF;color:#FFFFFF;border-radius:4px 4px 4px 4px;padding:12px 25px 12px 25px;}.elementor-5 .elementor-element.elementor-element-e6aada6{width:auto;max-width:auto;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-e6aada6.elementor-element{--align-self:flex-start;}.elementor-5 .elementor-element.elementor-element-5a6faf7 .elementor-button{background-color:#14243B00;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;border-radius:0px 0px 0px 0px;padding:1em 0em 1em 0em;}.elementor-5 .elementor-element.elementor-element-5a6faf7 .elementor-button:hover, .elementor-5 .elementor-element.elementor-element-5a6faf7 .elementor-button:focus{color:#88EFE5;}.elementor-5 .elementor-element.elementor-element-5a6faf7 .elementor-button:hover svg, .elementor-5 .elementor-element.elementor-element-5a6faf7 .elementor-button:focus svg{fill:#88EFE5;}.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-5 .elementor-element.elementor-element-e8f8f34{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-e8f8f34.elementor-element{--align-self:center;}.elementor-5 .elementor-element.elementor-element-e8f8f34 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.6px;color:#FFFFFF;}.elementor-5 .elementor-element.elementor-element-c811e29{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:1;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:5px;--padding-left:0px;--padding-right:0px;}.elementor-5 .elementor-element.elementor-element-c811e29:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-c811e29 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030E21E6;}.elementor-5 .elementor-element.elementor-element-c811e29::before, .elementor-5 .elementor-element.elementor-element-c811e29 > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-c811e29 > .e-con-inner > .elementor-background-video-container::before, .elementor-5 .elementor-element.elementor-element-c811e29 > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-c811e29 > .e-con-inner > .elementor-background-slideshow::before, .elementor-5 .elementor-element.elementor-element-c811e29 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-5 .elementor-element.elementor-element-c811e29.e-con{--align-self:center;--order:99999 /* order end hack */;}.elementor-5 .elementor-element.elementor-element-c811e29.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-c811e29.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-897a9be{--e-image-carousel-slides-to-show:7;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-897a9be .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image{border-radius:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-9f67d9d{--display:flex;--min-height:0vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-9f67d9d:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-9f67d9d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#030E21;}.elementor-5 .elementor-element.elementor-element-9f67d9d.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-9f67d9d.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-99362c0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-99362c0:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-99362c0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-5 .elementor-element.elementor-element-99362c0.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-99362c0.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-c302d17{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:2em;--padding-bottom:2em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-c302d17:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-c302d17 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D2DDED;}.elementor-5 .elementor-element.elementor-element-c302d17.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-c302d17.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-9c11997{--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;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3em;--padding-bottom:0em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-9c11997:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-9c11997 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0B1220;}.elementor-5 .elementor-element.elementor-element-9c11997.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-9c11997.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-e37c07d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-5 .elementor-element.elementor-element-e37c07d.elementor-element{--align-self:center;}.elementor-5 .elementor-element.elementor-element-e37c07d .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:2.5em;font-weight:500;line-height:50px;letter-spacing:-2.8px;color:#FFFFFF;}.elementor-5 .elementor-element.elementor-element-4b2d556{width:var( --container-widget-width, 100% );max-width:100%;padding:0em 0em 0em 0em;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:center;}.elementor-5 .elementor-element.elementor-element-4b2d556.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5 .elementor-element.elementor-element-4b2d556 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:1em;font-weight:400;line-height:1.5em;letter-spacing:0px;color:#FFFFFF;}.elementor-5 .elementor-element.elementor-element-91986c3{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-edea575{--display:flex;--padding-top:0em;--padding-bottom:0em;--padding-left:5em;--padding-right:5em;}.elementor-5 .elementor-element.elementor-element-edea575.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-edea575.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-c326e29{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:3em;--padding-bottom:3em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-c326e29.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-c326e29.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-9e1e560{--display:flex;}.elementor-5 .elementor-element.elementor-element-9e1e560.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-9e1e560.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-e857524{--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;--justify-content:center;}.elementor-5 .elementor-element.elementor-element-e857524.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-e857524.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-888706e{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;}.elementor-5 .elementor-element.elementor-element-888706e.elementor-element{--align-self:center;}.elementor-5 .elementor-element.elementor-element-888706e .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:2em;font-weight:500;letter-spacing:-2.8px;color:#FFFFFF;}.elementor-5 .elementor-element.elementor-element-ca793b1{width:var( --container-widget-width, 100% );max-width:100%;padding:0em 0em 1em 0em;--container-widget-width:100%;--container-widget-flex-grow:0;text-align:start;}.elementor-5 .elementor-element.elementor-element-ca793b1.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5 .elementor-element.elementor-element-ca793b1 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:1em;font-weight:400;line-height:1.5em;letter-spacing:0px;color:#FFFFFF;}.elementor-5 .elementor-element.elementor-element-ff3ba03{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0em;--padding-bottom:0em;--padding-left:7em;--padding-right:7em;}.elementor-5 .elementor-element.elementor-element-ff3ba03:not(.elementor-motion-effects-element-type-background), .elementor-5 .elementor-element.elementor-element-ff3ba03 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D2DDED;}.elementor-5 .elementor-element.elementor-element-ff3ba03.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-ff3ba03.adv-sticky-elementor{transition:all 300ms ease-in-out;}.elementor-5 .elementor-element.elementor-element-53facfd{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-5 .elementor-element.elementor-element-2fc1ec5{--display:flex;--min-height:0vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0rem;--padding-bottom:0rem;--padding-left:0rem;--padding-right:0rem;}.elementor-5 .elementor-element.elementor-element-2fc1ec5.yes-is-sticky, .elementor-5 .elementor-element.elementor-element-2fc1ec5.adv-sticky-elementor{transition:all 300ms ease-in-out;}/* Start custom CSS for container, class: .elementor-element-e5d78bb *//* ==================================================
   GLOBAL SCROLL SETTINGS
   ================================================== */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

#home,
#services,
#method,
#results {
  scroll-margin-top: 100px;
}

/* ==================================================
   MAIN MENU — FIXED OVER HERO
   Class applied to the complete menu container:
   main-menu
   ================================================== */

.main-menu {
  position: fixed !important;
  z-index: 999999 !important;

  top: 0 !important;
  right: 0 !important;
  left: 0 !important;

  display: grid !important;
  grid-template-columns:
    minmax(0, 1fr)
    auto
    minmax(0, 1fr) !important;

  align-items: center !important;

  column-gap: clamp(24px, 4vw, 70px);

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;

  /*
   Keep the original Elementor padding.
   Adjust this in Elementor, not here.
  */

  background: transparent !important;
  background-color: transparent !important;

  border: none !important;
  box-shadow: none !important;

  box-sizing: border-box !important;

  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  translate: none !important;
  filter: none !important;
  animation: none !important;

  transition:
    background-color 0.4s ease,
    box-shadow 0.4s ease,
    backdrop-filter 0.4s ease !important;
}

/* WordPress admin bar */

body.admin-bar .main-menu {
  top: 32px !important;
}

/* ==================================================
   LOGO
   Elementor controls its dimensions
   ================================================== */

.main-menu .menu-logo {
  justify-self: start !important;
  align-self: center !important;

  margin: 0 !important;
}

.main-menu .menu-logo .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;

  margin: 0 !important;
}

.main-menu .menu-logo img {
  margin: 0 !important;

  object-position: left center;

  filter: brightness(0) invert(1);

  transition:
    filter 0.4s ease,
    opacity 0.4s ease;
}

/* ==================================================
   CENTER NAVIGATION
   ================================================== */

.main-menu .landing-nav {
  justify-self: center;
  align-self: center;

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

  width: fit-content;

  margin: 0;
  padding: 0;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Links */

.main-menu .landing-nav a {
  position: relative;

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

  min-height: 48px;

  padding:
    0
    clamp(18px, 2vw, 28px);

  color: rgba(255, 255, 255, 0.86);

  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;

  text-decoration: none;
  white-space: nowrap;

  background: transparent !important;

  transition:
    color 0.3s ease,
    font-weight 0.2s ease;
}

/* Underline */

.main-menu .landing-nav a::after {
  content: "";

  position: absolute;

  right: clamp(18px, 2vw, 28px);
  bottom: 5px;
  left: clamp(18px, 2vw, 28px);

  height: 2px;

  background: #ffffff;

  transform: scaleX(0);
  transform-origin: center;

  transition:
    transform 0.3s ease,
    background-color 0.3s ease;
}

.main-menu .landing-nav a:hover,
.main-menu .landing-nav a:focus-visible {
  color: #ffffff;
  font-weight: 700;
}

.main-menu .landing-nav a:hover::after,
.main-menu .landing-nav a:focus-visible::after {
  transform: scaleX(1);
}

.main-menu .landing-nav a.is-active {
  color: #ffffff;
  font-weight: 700;
}

.main-menu .landing-nav a.is-active::after {
  background: #ff6036;
  transform: scaleX(1);
}

/* ==================================================
   MENU CTA
   ================================================== */

.main-menu .menu-cta {
  justify-self: end !important;
  align-self: center !important;

  margin: 0 !important;
}

.main-menu .menu-cta .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  margin: 0 !important;
}

.main-menu .menu-cta .elementor-button {
  margin: 0 !important;
}

/* ==================================================
   SCROLLED STATE
   ================================================== */

.main-menu.is-scrolled {
  background: rgba(255, 255, 255, 0.97) !important;
  background-color: rgba(255, 255, 255, 0.97) !important;

  box-shadow:
    0 8px 30px
    rgba(11, 18, 32, 0.1) !important;

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

/* Navy logo */

.main-menu.is-scrolled .menu-logo img {
  filter:
    brightness(0)
    saturate(100%)
    invert(12%)
    sepia(25%)
    saturate(1320%)
    hue-rotate(174deg)
    brightness(93%)
    contrast(93%);
}

/* Navy navigation */

.main-menu.is-scrolled .landing-nav a {
  color: rgba(20, 36, 59, 0.78);
}

.main-menu.is-scrolled .landing-nav a:hover,
.main-menu.is-scrolled .landing-nav a:focus-visible,
.main-menu.is-scrolled .landing-nav a.is-active {
  color: #14243b;
}

/* Navy hover underline */

.main-menu.is-scrolled .landing-nav a:hover::after,
.main-menu.is-scrolled .landing-nav a:focus-visible::after {
  background: #14243b;
}

/* Active underline remains orange */

.main-menu.is-scrolled .landing-nav a.is-active::after,
.main-menu.is-scrolled .landing-nav a.is-active:hover::after {
  background: #ff6036;
}

/* Scrolled CTA */

.main-menu.is-scrolled .menu-cta .elementor-button {
  color: #ffffff !important;
  background: #14243b !important;
  border-color: #14243b !important;
}

/* ==================================================
   KEEP MENU OUT OF ENTRANCE ANIMATIONS
   ================================================== */

.main-menu,
.main-menu .elementor-widget,
.main-menu .elementor-widget-container {
  opacity: 1 !important;
  visibility: visible !important;
}

.main-menu.hero-entry-item,
.main-menu .hero-entry-item,
.main-menu.premium-entry-item,
.main-menu .premium-entry-item {
  opacity: 1 !important;
  visibility: visible !important;

  transform: none !important;
  filter: none !important;

  animation: none !important;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1200px) {
  .main-menu {
    column-gap: 24px;
  }

  .main-menu .landing-nav a {
    padding-right: 17px;
    padding-left: 17px;
  }

  .main-menu .landing-nav a::after {
    right: 17px;
    left: 17px;
  }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 767px) {
  html {
    scroll-padding-top: 85px;
  }

  #home,
  #services,
  #method,
  #results {
    scroll-margin-top: 85px;
  }

  body.admin-bar .main-menu {
    top: 46px !important;
  }

  .main-menu {
    grid-template-columns:
      minmax(0, 1fr)
      auto !important;

    column-gap: 18px;
  }

  .main-menu .menu-logo {
    grid-column: 1;
  }

  .main-menu .landing-nav {
    display: none !important;
  }

  .main-menu .menu-cta {
    grid-column: 2;
  }
}/* End custom CSS */
/* Start custom CSS for image-carousel, class: .elementor-element-897a9be *//* ==================================================
   CONTINUOUS LOGO CAROUSEL

   The outer section controls:
   - Background color
   - Section height
   - Top and bottom padding
   - Margins

   This CSS controls only the carousel and logos.
   ================================================== */

/* Widget */
.elementor-5 .elementor-element.elementor-element-897a9be {
  display: block;
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box;

  /*
   No background or forced outer height.
   The hero-logo-bar section controls those properties.
  */
}

/* Elementor widget wrapper */
.elementor-5 .elementor-element.elementor-element-897a9be .elementor-widget-container {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
  box-sizing: border-box;

  background: transparent !important;
}

/* Carousel wrappers */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper,
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-container,
.elementor-5 .elementor-element.elementor-element-897a9be .elementor-image-carousel-wrapper {
  width: 100%;

  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden;
  box-sizing: border-box;

  background: transparent !important;
}

/* Smooth continuous wrapper */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-wrapper {
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;

  margin: 0 !important;
  padding: 0 !important;

  align-items: center !important;

  transition-timing-function: linear !important;
  -webkit-transition-timing-function: linear !important;

  background: transparent !important;
}

/* Individual slides */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;

  margin: 0 !important;
  padding: 0 18px !important;

  overflow: visible !important;
  box-sizing: border-box;
  line-height: 0;

  background: transparent !important;
}

/* Linked logos */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100%;
  height: 70px !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0;
  background: transparent !important;
}

/* Uniform centered white logos */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide-image,
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide img {
  display: block !important;

  width: 100% !important;
  max-width: 200px !important;

  height: 48px !important;
  max-height: 48px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center center !important;

  vertical-align: middle;

  filter: brightness(0) invert(1);
  opacity: 0.7;

  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

/* Hover */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide:hover img {
  opacity: 1;
  transform: scale(1.03);
}

/* Arrows */
.elementor-5 .elementor-element.elementor-element-897a9be .elementor-swiper-button {
  top: 50% !important;
  transform: translateY(-50%) !important;

  color: rgba(255, 255, 255, 0.7);
  font-size: 20px;
}

.elementor-5 .elementor-element.elementor-element-897a9be .elementor-swiper-button:hover {
  color: #ffffff;
}

/* Hide pagination */
.elementor-5 .elementor-element.elementor-element-897a9be .swiper-pagination {
  display: none !important;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {
  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide-image,
  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide img {
    max-width: 175px !important;
    height: 44px !important;
    max-height: 44px !important;
  }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 767px) {
  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide-image,
  .elementor-5 .elementor-element.elementor-element-897a9be .swiper-slide img {
    max-width: 140px !important;
    height: 38px !important;
    max-height: 38px !important;
  }

  .elementor-5 .elementor-element.elementor-element-897a9be .elementor-swiper-button {
    font-size: 17px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-dfcfcad *//* ==================================================
   HERO — CONTAINER-FITTED MESH

   Clase del contenedor:
   dynamic-gradient

   Este mesh utiliza directamente las dimensiones
   del contenedor. No usa un pseudo-elemento ampliado.
   ================================================== */

.elementor-5 .elementor-element.elementor-element-dfcfcad {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;

  /*
   Elementor controla:
   - Height
   - Min-height
   - Padding
   - Margins
   - Content spacing
  */

  background-color: #030e21;

  background-image:

    /*
     01 — DEEP BLUE INFERIOR

     Está primero porque funciona como una capa
     sobre los colores superiores.

     El degradado comienza transparente y se
     oscurece progresivamente hacia abajo.
    */
    linear-gradient(
      to bottom,
      rgba(3, 14, 33, 0) 25%,
      rgba(3, 14, 33, 0.05) 39%,
      rgba(3, 14, 33, 0.19) 51%,
      rgba(3, 14, 33, 0.47) 65%,
      rgba(3, 14, 33, 0.76) 78%,
      rgba(3, 14, 33, 0.94) 90%,
      #030e21 100%
    ),

    /*
     02 — TEAL SUPERIOR IZQUIERDO
    */
    radial-gradient(
      ellipse 73% 88%
      at 7% -8%,

      #12a2ab 0%,
      rgba(18, 162, 171, 0.98) 21%,
      rgba(18, 162, 171, 0.84) 40%,
      rgba(18, 162, 171, 0.48) 61%,
      rgba(18, 162, 171, 0.14) 79%,
      transparent 95%
    ),

    /*
     03 — LIGHT BLUE CENTRAL

     Esta es la zona azul clara que aparece
     entre el teal y el coral en la referencia.
    */
    radial-gradient(
      ellipse 49% 76%
      at 46% -11%,

      #d2dded 0%,
      rgba(210, 221, 237, 0.94) 20%,
      rgba(181, 207, 226, 0.74) 40%,
      rgba(112, 166, 194, 0.44) 61%,
      rgba(56, 111, 143, 0.14) 80%,
      transparent 95%
    ),

    /*
     04 — CORAL SUPERIOR DERECHO
    */
    radial-gradient(
      ellipse 72% 88%
      at 101% -7%,

      #ff4d0b 0%,
      rgba(255, 77, 11, 0.98) 22%,
      rgba(241, 125, 50, 0.88) 42%,
      rgba(202, 82, 58, 0.58) 62%,
      rgba(124, 57, 68, 0.22) 81%,
      transparent 96%
    ),

    /*
     05 — TRANSICIÓN CORAL PROFUNDA
    */
    radial-gradient(
      ellipse 50% 70%
      at 78% 32%,

      rgba(241, 125, 50, 0.70) 0%,
      rgba(220, 87, 55, 0.54) 38%,
      rgba(145, 60, 68, 0.27) 67%,
      transparent 92%
    ),

    /*
     06 — FOUNDATION

     Mantiene la distribución general incluso
     durante el movimiento.
    */
    linear-gradient(
      90deg,
      #12a2ab 0%,
      #289ca8 22%,
      #83b8ca 39%,
      #a5a8ae 50%,
      #ae766b 65%,
      #d65c35 82%,
      #ff4d0b 100%
    );

  /*
   Cada capa encaja exactamente dentro del hero.
  */

  background-repeat: no-repeat;

  background-size:
    100% 100%,
    108% 108%,
    106% 108%,
    108% 108%,
    108% 108%,
    100% 100%;

  background-position:
    center center,
    left top,
    center top,
    right top,
    right center,
    center center;

  animation:
    fittedMeshMutation
    10s
    cubic-bezier(0.45, 0, 0.25, 1)
    infinite
    alternate;

  will-change:
    background-size,
    background-position;
}


/* ==================================================
   GRAIN
   ================================================== */

.elementor-5 .elementor-element.elementor-element-dfcfcad::after {
  content: "";

  position: absolute;
  z-index: 1;

  inset: 0;

  pointer-events: none;

  opacity: 0.16;
  mix-blend-mode: soft-light;

  background-image:
    url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.92'/%3E%3C/svg%3E");

  background-size: 165px 165px;

  animation:
    fittedGrainMovement
    0.28s
    steps(2)
    infinite;
}


/* ==================================================
   CONTENT
   ================================================== */

.elementor-5 .elementor-element.elementor-element-dfcfcad > * {
  position: relative;
  z-index: 2;
}


/* ==================================================
   MESH MUTATION

   Las variaciones son moderadas para mantener
   siempre la misma composición de la referencia.
   ================================================== */

@keyframes fittedMeshMutation {
  0% {
    background-size:
      100% 100%,
      108% 108%,
      106% 108%,
      108% 108%,
      108% 108%,
      100% 100%;

    background-position:
      center center,
      left top,
      center top,
      right top,
      right center,
      center center;
  }

  25% {
    background-size:
      100% 100%,
      116% 103%,
      101% 116%,
      115% 104%,
      102% 116%,
      100% 100%;

    background-position:
      center center,
      -2% 2%,
      49% -2%,
      102% 1%,
      99% 48%,
      center center;
  }

  50% {
    background-size:
      100% 100%,
      102% 117%,
      114% 101%,
      103% 118%,
      116% 102%,
      100% 100%;

    background-position:
      center center,
      2% -2%,
      51% 1%,
      99% -2%,
      101% 52%,
      center center;
  }

  75% {
    background-size:
      100% 100%,
      117% 102%,
      102% 116%,
      116% 103%,
      103% 115%,
      100% 100%;

    background-position:
      center center,
      -2% -1%,
      48% 2%,
      102% 1%,
      98% 49%,
      center center;
  }

  100% {
    background-size:
      100% 100%,
      104% 115%,
      113% 103%,
      104% 116%,
      114% 103%,
      100% 100%;

    background-position:
      center center,
      1% 2%,
      52% -1%,
      99% 2%,
      102% 51%,
      center center;
  }
}


/* ==================================================
   GRAIN MOVEMENT
   ================================================== */

@keyframes fittedGrainMovement {
  0% {
    background-position: 0 0;
  }

  25% {
    background-position: 12px -14px;
  }

  50% {
    background-position: -13px 9px;
  }

  75% {
    background-position: 15px 12px;
  }

  100% {
    background-position: -9px -11px;
  }
}


/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {
  .elementor-5 .elementor-element.elementor-element-dfcfcad {
    background-size:
      100% 100%,
      118% 110%,
      112% 112%,
      118% 110%,
      112% 112%,
      100% 100%;

    animation-duration: 11s;
  }
}


/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 767px) {
  .elementor-5 .elementor-element.elementor-element-dfcfcad {
    /*
     En móvil se mantienen los mismos colores,
     pero se amplían ligeramente para cubrir
     el contenedor vertical.
    */

    background-size:
      100% 100%,
      140% 115%,
      132% 112%,
      140% 115%,
      130% 115%,
      100% 100%;

    background-position:
      center center,
      left top,
      center top,
      right top,
      right center,
      center center;

    animation-duration: 12s;
  }

  .elementor-5 .elementor-element.elementor-element-dfcfcad::after {
    opacity: 0.13;
  }
}


/* ==================================================
   ACCESSIBILITY
   ================================================== */

@media (prefers-reduced-motion: reduce) {
  .elementor-5 .elementor-element.elementor-element-dfcfcad,
  .elementor-5 .elementor-element.elementor-element-dfcfcad::after {
    animation: none;
  }
}/* End custom CSS */