.elementor-19116 .elementor-element.elementor-element-788bb47{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-029c439 *//* =========================================================
   SKIP GENIE HEADER
   Elementor-safe scoped CSS
   ========================================================= */

.sg-header {
  --sg-navy: #002D62;
  --sg-mid: #0C2340;
  --sg-ink: #1D2226;
  --sg-line: #D0D7DE;
  --sg-white: #FFFFFF;
  --sg-sky: #C5D6EA;
  --sg-amber: #F2A900;
  --sg-ice: #D4E6F5;

  font-family: Inter, Arial, sans-serif;
  width: 100%;
  position: relative;
  z-index: 999;
}


/* -----------------------------------------
   HEADER WRAPPER
   ----------------------------------------- */

.sg-header-wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding-left: 30px;
  padding-right: 30px;
}


/* -----------------------------------------
   UTILITY BAR
   ----------------------------------------- */

.sg-util {
  background: var(--sg-mid);
  color: var(--sg-sky);
  font-size: 15px;
}

.sg-util .sg-header-wrap {
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.sg-util-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}

.sg-util-nav a {
  color: var(--sg-sky);
  text-decoration: none;
  font-size: 15px;
  line-height: 1;
  transition: color 0.18s ease;
}

.sg-util-nav a:hover {
  color: var(--sg-white);
}

.sg-util-separator {
  width: 1px;
  height: 14px;
  background: #3A5578;
  display: block;
}


/* -----------------------------------------
   MAIN HEADER
   ----------------------------------------- */

.sg-main-header {
  background: var(--sg-white);
  border-bottom: 1px solid var(--sg-line);

  position: sticky;
  top: 0;
  z-index: 999;
}

.sg-main-header .sg-header-wrap {
  height: 100px;

  display: flex;
  align-items: center;

  gap: 28px;
}


/* -----------------------------------------
   LOGO
   ----------------------------------------- */

.sg-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: center;

  color: var(--sg-navy);
  text-decoration: none;

  line-height: 1;
  flex-shrink: 0;
}

.sg-logo-main {
  white-space: nowrap;

  font-family: "Teko", "Arial Narrow", sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 0.82;

  letter-spacing: 0.05em;

  padding-left: 0.05em;
  margin-top: 4px;
}

.sg-logo-tagline {
  white-space: nowrap;

  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.22em;

  padding-left: 0.22em;
  margin-top: 8px;
}


/* -----------------------------------------
   MAIN NAVIGATION
   ----------------------------------------- */

.sg-main-nav {
  display: flex;
  align-items: center;

  gap: 26px;
  margin-left: auto;
}

.sg-main-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 10px 0;

  color: var(--sg-ink);
  text-decoration: none;

  font-family: Inter, Arial, sans-serif;
  font-size: 15.5px;
  font-weight: 500;
  line-height: 1;

  border-bottom: 2px solid transparent;

  transition:
    color 0.18s ease,
    border-color 0.18s ease;
}

.sg-main-nav a:hover {
  color: var(--sg-navy);
  border-bottom-color: var(--sg-line);
}


/* -----------------------------------------
   NEW LABEL
   ----------------------------------------- */

.sg-new {
  display: inline-block;

  padding: 3px 5px;

  background: var(--sg-ice);
  color: var(--sg-navy);

  border-radius: 3px;

  font-family: Inter, Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;

  letter-spacing: 0.08em;
}


/* -----------------------------------------
   JOIN BUTTON
   ----------------------------------------- */

.sg-join-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;

  padding: 10px 20px;

  background: var(--sg-navy);
  color: var(--sg-white);

  border: 2px solid var(--sg-navy);
  border-radius: 4px;

  text-decoration: none;

  font-family: Inter, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;

  white-space: nowrap;

  transition:
    background 0.18s ease,
    border-color 0.18s ease;
}

.sg-join-btn:hover {
  background: var(--sg-mid);
  border-color: var(--sg-mid);
  color: var(--sg-white);
}


/* -----------------------------------------
   MOBILE MENU BUTTON
   ----------------------------------------- */

.sg-menu-toggle {
  display: none;

  width: 44px;
  height: 44px;

  padding: 0;

  background: var(--sg-white);
  color: var(--sg-navy);

  border: 2px solid var(--sg-navy);
  border-radius: 4px;

  align-items: center;
  justify-content: center;
  flex-direction: column;

  gap: 5px;

  cursor: pointer;

  position: relative;
  z-index: 1002;

  flex-shrink: 0;

  -webkit-tap-highlight-color: transparent;
}

.sg-menu-toggle span {
  display: block;

  width: 20px;
  height: 2px;

  background: currentColor;

  transition:
    transform 0.18s ease,
    opacity 0.18s ease;
}


/* -----------------------------------------
   MOBILE BUTTON → X WHEN OPEN
   ----------------------------------------- */

.sg-header.menu-open .sg-menu-toggle span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.sg-header.menu-open .sg-menu-toggle span:nth-child(2) {
  opacity: 0;
}

.sg-header.menu-open .sg-menu-toggle span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}


/* -----------------------------------------
   TABLET
   ----------------------------------------- */

@media (max-width: 1180px) {

  .sg-main-nav {
    gap: 18px;
  }

  .sg-main-nav a {
    font-size: 14.5px;
  }

}


/* -----------------------------------------
   MOBILE / TABLET NAV
   ----------------------------------------- */

@media (max-width: 1024px) {

  .sg-main-nav {
    display: none;
  }

  .sg-menu-toggle {
    display: flex;
  }

  .sg-main-header .sg-header-wrap {
    height: 80px;
    gap: 12px;
  }

  .sg-join-btn {
    margin-left: auto;

    padding: 8px 14px;
    min-height: 44px;

    font-size: 14px;
  }

  .sg-logo-main {
    font-size: 37px;
  }

  .sg-logo-tagline {
    font-size: 12px;
    letter-spacing: 0.18em;
    padding-left: 0.18em;
    margin-top: 6px;
  }


  /* -----------------------------------------
     OPEN MOBILE NAV
     ----------------------------------------- */

  .sg-header.menu-open .sg-main-nav {
    display: flex;

    position: absolute;

    top: 100%;
    left: 0;
    right: 0;

    width: 100%;

    margin: 0;

    padding: 12px 30px 20px;

    flex-direction: column;
    align-items: stretch;

    gap: 0;

    background: var(--sg-white);

    border-top: 1px solid var(--sg-line);
    border-bottom: 1px solid var(--sg-line);

    box-shadow: 0 12px 25px rgba(0, 0, 0, 0.10);

    z-index: 1001;
  }


  /* Mobile nav links */

  .sg-header.menu-open .sg-main-nav a {
    display: flex;
    align-items: center;

    width: 100%;

    padding: 15px 0;

    border-bottom: 1px solid var(--sg-line);

    color: var(--sg-ink);

    font-size: 16px;
    line-height: 1.3;
  }

  .sg-header.menu-open .sg-main-nav a:last-child {
    border-bottom: 0;
  }

  .sg-header.menu-open .sg-main-nav a:hover {
    color: var(--sg-navy);
    border-bottom-color: var(--sg-line);
  }


  /* NEW label */

  .sg-header.menu-open .sg-new {
    margin-left: 6px;
  }

}


/* -----------------------------------------
   SMALL MOBILE
   ----------------------------------------- */

@media (max-width: 767px) {

  .sg-header-wrap {
    padding-left: 16px;
    padding-right: 16px;
  }

  .sg-util {
    display: none;
  }

  .sg-main-header .sg-header-wrap {
    height: 80px;
  }

  .sg-logo-main {
    font-size: 34px;
  }

  .sg-logo-tagline {
    font-size: 10px;
  }

  .sg-join-btn {
    padding: 8px 12px;
    font-size: 13px;
  }


  /* -----------------------------------------
     MOBILE MENU
     ----------------------------------------- */

  .sg-header.menu-open .sg-main-nav {
    padding: 10px 16px 18px;
  }

  .sg-header.menu-open .sg-main-nav a {
    padding: 15px 4px;

    font-size: 15px;
  }

}


/* -----------------------------------------
   VERY SMALL MOBILE
   ----------------------------------------- */

@media (max-width: 480px) {

  .sg-logo-main {
    font-size: 30px;
  }

  .sg-logo-tagline {
    font-size: 9px;
    letter-spacing: 0.15em;
    padding-left: 0.15em;
  }

  .sg-join-btn {
    display: none;
  }

  .sg-menu-toggle {
    margin-left: auto;
  }

}


/* -----------------------------------------
   PREVENT BODY SCROLL WHEN MENU IS OPEN
   ----------------------------------------- */

@media (max-width: 1024px) {

  body.sg-mobile-menu-open {
    overflow: hidden;
  }

}/* End custom CSS */