h3 { font-family: "gill-sans-nova", Sans-serif; }
h2 { font-family: "gill-sans-nova", Sans-serif; padding-top:1em; }

selector p {margin-bottom:1em; line-height:1.5em;}
selector .wlmbar p{font-family:gill-sans-nova;font-size:14px;font-weight:500;text-transform:uppercase;display:inline-block;padding:0.5em 0.7em 0.5em 0.7em;color:white;background-color:#22C0DD;letter-spacing:0.2em;margin-bottom:0;}
selector .wp-caption .wp-caption-text {padding-bottom:60px;font-size:0.75em;padding-right:0;}

/* =========================
   HEADER BASE
========================= */

.sticky-header {
  --header-height: 100px;
  --shrink-header-to: 0.6;
  --transition: .45s cubic-bezier(.4, 0, .2, 1);

  min-height: var(--header-height);
  padding-block: 20px;

  background-color: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(6px);

  transition:
    min-height var(--transition),
    padding var(--transition),
    background-color var(--transition),
    backdrop-filter var(--transition);
}

.sticky-header.e-con {
  align-items: center;
}

.sticky-header > .e-con {
  align-items: center;
}


/* =========================
   STICKY STATE
========================= */

.sticky-header.elementor-sticky--effects {
  min-height: calc(var(--header-height) * var(--shrink-header-to));
  padding-block: 8px;
  background-color: #ffffff;
}


/* =========================
   LOGO (BLACK SVG FILTER)
========================= */

/* Default (hidden, white if shown) */
.sticky-header .logo img {
  filter: brightness(0) invert(1);
  opacity: 0;
  transform: scale(1);

  transition:
    filter var(--transition),
    opacity var(--transition),
    transform var(--transition);
}


.sticky-header.elementor-sticky--effects .logo img {
  opacity: 1;
  transform: scale(0.8);

  /* Blue (#0744A4) */
  filter: brightness(0) saturate(100%)
          invert(21%) sepia(96%)
          saturate(1100%) hue-rotate(200deg)
          brightness(95%) contrast(95%);
}



/* =========================
   MENU TEXT
========================= */

/* Default */
.sticky-header .sticky-menu .elementor-nav-menu .elementor-item {
  color: #ffffff;
}

/* On scroll → BLACK (force just this state) */
.sticky-header.elementor-sticky--effects 
.sticky-menu .elementor-nav-menu .elementor-item {
  color: #000000 !important;
}


* =========================
   UNDERLINE FIX (FINAL)
========================= */

/* Ensure positioning */
.sticky-menu .elementor-item {
  position: relative;
}

/* Base underline */
.sticky-menu .elementor-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 0%;
  height: 2px;
  transition: width 0.3s ease, background-color var(--transition);
  z-index: 2;
}

/* Default ? WHITE */
.sticky-header .sticky-menu .elementor-item::after {
  background-color: #ffffff !important;
}

/* On scroll ? ACCENT */
.sticky-header.elementor-sticky--effects .sticky-menu .elementor-item::after {
  background-color: #EA8368 !important;
}

/* Hover animation */
.sticky-menu .elementor-item:hover::after {
  width: 100%;
}



/* =========================
   HOVER FIX (NO WHITE ON WHITE)
========================= */

/* Default */
.sticky-header .sticky-menu .elementor-item:hover {
  color: #ffffff !important;
}

/* On scroll */
.sticky-header.elementor-sticky--effects .sticky-menu .elementor-item:hover {
  color: #000000 !important;
}



/* =========================
   MOBILE HEADER OVERRIDE
========================= */

@media (max-width: 767px) {

  /* =========================
     HEADER BASE (MOBILE)
  ========================= */

  .sticky-header {
    --header-height: 80px;

    min-height: 80px !important;
    padding-block: 0 !important;

    background-color: #0744A4; /* solid blue */
    backdrop-filter: none;

    transition: background-color 0.4s ease;
  }

  /* Disable shrinking, switch to white on scroll */
  .sticky-header.elementor-sticky--effects {
    min-height: 80px !important;
    padding-block: 0 !important;

    background-color: #ffffff;
  }


  /* =========================
     LOGO (MOBILE BEHAVIOUR)
  ========================= */

  /* Always visible */
  .sticky-header .logo img {
    opacity: 1 !important;
    transform: scale(0.8);

    /* White on blue */
    filter: brightness(0) invert(1);

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

  /* Blue on scroll */
  .sticky-header.elementor-sticky--effects .logo img {
    filter: brightness(0) saturate(100%)
            invert(21%) sepia(96%)
            saturate(1100%) hue-rotate(200deg)
            brightness(95%) contrast(95%);
  }


  /* =========================
     MENU TEXT
  ========================= */

  /* Default ? white */
  .sticky-header .sticky-menu .elementor-item {
    color: #ffffff !important;
  }

  /* On scroll ? black */
  .sticky-header.elementor-sticky--effects .sticky-menu .elementor-item {
    color: #000000 !important;
  }


  /* =========================
     HAMBURGER ICON
  ========================= */

  /* Default */
  .sticky-header .elementor-menu-toggle i {
    color: #ffffff;
  }

  /* On scroll */
  .sticky-header.elementor-sticky--effects .elementor-menu-toggle i {
    color: #000000;
  }


  /* =========================
     (OPTIONAL) DROPDOWN MENU
  ========================= */

  .elementor-nav-menu--dropdown {
    background-color: #ffffff;
  }

  .elementor-nav-menu--dropdown .elementor-item {
    color: #000000;
  }

}


/* Button style */
.ts-button {
  min-width: 130px;
  height: 40px;
  color: #fff;
  padding: 5px 10px;
  font-weight: font-bold;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  outline: none;
  border-radius: 5px;
  border: 2px solid #0744A4;
  background: #0744A4;
}
.ts-button:hover {
  background: #fff;
  color: #0744A4;
}