/* Start custom CSS *//* Hide the theme page title block (the page has its own H1) and the theme gap between the header and the first section, or below the last one */
body.page-id-4072 .hero-section, body.page-id-4072 .ct-page-title { display: none !important; }
body.page-id-4072 .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Glossy blue pill behind a highlighted heading word (<b> or <strong>, the editor converts one into the other), with a one-time shine (same as the homepage and Video Consult) */
.elementor-4072 h1 b, .elementor-4072 h1 strong, .elementor-4072 h2 b, .elementor-4072 h2 strong {
  position: relative; display: inline-block; isolation: isolate; white-space: nowrap; font-weight: 800; color: #FFFFFF;
}
.elementor-4072 h1 b::before, .elementor-4072 h1 strong::before, .elementor-4072 h2 b::before, .elementor-4072 h2 strong::before, .elementor-4072 h1 b::after, .elementor-4072 h1 strong::after, .elementor-4072 h2 b::after, .elementor-4072 h2 strong::after {
  content: ""; position: absolute; inset: -0.04em -0.12em; border-radius: 0.16em; transform: rotate(-1deg); z-index: -1;
}
.elementor-4072 h1 b::before, .elementor-4072 h1 strong::before, .elementor-4072 h2 b::before, .elementor-4072 h2 strong::before {
  background: linear-gradient(to bottom, rgba(255,255,255,0.28), rgba(255,255,255,0) 55%), linear-gradient(135deg, #1D6FD1 0%, #1757B0 100%);
  box-shadow: 0 10px 22px -12px rgba(23,87,176,0.7), inset 0 -2px 0 rgba(27,42,65,0.22);
}
.elementor-4072 h1 b::after, .elementor-4072 h1 strong::after, .elementor-4072 h2 b::after, .elementor-4072 h2 strong::after {
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0) 100%) no-repeat -60% 0 / 38% 100%;
  animation: tlShine4072 1.05s cubic-bezier(.3,.55,.25,1) 0.6s 1 both;
}
@keyframes tlShine4072 { from { background-position: -60% 0; } to { background-position: 160% 0; } }
@media (prefers-reduced-motion: reduce) { .elementor-4072 h1 b::after, .elementor-4072 h1 strong::after, .elementor-4072 h2 b::after, .elementor-4072 h2 strong::after { animation: none; } }

/* Rating stars: 4.2 out of 5 = the fifth star is filled for 20% (the stars are one text run in the rating pill, the fill is a hard-stop gradient at 84%) */
.elementor-4072 [data-interaction-id="3923534b"] span {
  background-image: linear-gradient(90deg, #1B2A41 0%, #1B2A41 84%, #CBD3DD 84%, #CBD3DD 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}

/* How it works: glossy numbered circles (1 blue, 2 red, 3 green) */
.elementor-4072 [data-interaction-id="188e88ea"], .elementor-4072 [data-interaction-id="41442d89"], .elementor-4072 [data-interaction-id="11fb7151"] { flex: none !important; box-sizing: border-box; text-shadow: 0 1px 1px rgba(0,0,0,0.28); }
.elementor-4072 [data-interaction-id="188e88ea"] {
  background: radial-gradient(circle at 30% 24%, rgba(255,255,255,0.6), rgba(255,255,255,0) 46%), linear-gradient(145deg, #3A8EEB 0%, #1D6FD1 45%, #1757B0 100%) !important;
  box-shadow: 0 10px 18px -8px rgba(23,87,176,0.8), inset 0 1px 0 rgba(255,255,255,0.55), inset 0 -3px 5px rgba(0,0,0,0.2);
}
.elementor-4072 [data-interaction-id="41442d89"] {
  background: radial-gradient(circle at 30% 24%, rgba(255,255,255,0.55), rgba(255,255,255,0) 46%), linear-gradient(145deg, #E2743A 0%, #B54F20 45%, #8F3A16 100%) !important;
  box-shadow: 0 10px 18px -8px rgba(154,65,25,0.8), inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -3px 5px rgba(0,0,0,0.22);
}
.elementor-4072 [data-interaction-id="11fb7151"] {
  background: radial-gradient(circle at 30% 24%, rgba(255,255,255,0.55), rgba(255,255,255,0) 46%), linear-gradient(145deg, #8DB234 0%, #5F7F1B 45%, #4B6515 100%) !important;
  box-shadow: 0 10px 18px -8px rgba(75,101,21,0.8), inset 0 1px 0 rgba(255,255,255,0.5), inset 0 -3px 5px rgba(0,0,0,0.22);
}

/* Check and cross circles must not be squeezed by their row (the editor drops flex:none) */
.elementor-4072 [data-interaction-id="79f23ced"], .elementor-4072 [data-interaction-id="94fde94"], .elementor-4072 [data-interaction-id="35bb0367"], .elementor-4072 [data-interaction-id="3364cb6c"], .elementor-4072 [data-interaction-id="65bcfb8f"], .elementor-4072 [data-interaction-id="1c39b1bc"], .elementor-4072 [data-interaction-id="104aba2b"], .elementor-4072 [data-interaction-id="5051a603"], .elementor-4072 [data-interaction-id="45e2673f"], .elementor-4072 [data-interaction-id="7c0fef35"], .elementor-4072 [data-interaction-id="6543e631"], .elementor-4072 [data-interaction-id="4f6d87c4"], .elementor-4072 [data-interaction-id="63f6eff0"], .elementor-4072 [data-interaction-id="7bf3647e"], .elementor-4072 [data-interaction-id="7263c0de"] { flex: none !important; box-sizing: border-box; }

/* Buttons (Apply now): brand blue gradient, white text (5:1), soft gloss, shine sweep and lime fill on hover or keyboard focus. Same style as the homepage. */
.elementor-4072 a.e-button-base {
  position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; min-height: 52px;
  background: linear-gradient(135deg, #1D6FD1 0%, #1757B0 58%, #1B2A41 135%) !important;
  color: #FFFFFF !important; border: 0 !important; border-radius: 9999px !important; text-decoration: none !important;
  font-family: Poppins, system-ui, sans-serif !important; font-weight: 600 !important; font-size: 16px !important; letter-spacing: 0.01em;
  padding: 15px 44px !important;
  box-shadow: 0 12px 24px -12px rgba(23, 87, 176, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -2px 0 rgba(27, 42, 65, 0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}
.elementor-4072 a.e-button-base::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 52%; z-index: -1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.24), rgba(255, 255, 255, 0));
  border-radius: 9999px 9999px 60% 60% / 9999px 9999px 40% 40%;
}
.elementor-4072 a.e-button-base::after {
  content: ""; position: absolute; top: -10%; bottom: -10%; left: -70%; width: 45%; z-index: -1; pointer-events: none;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-20deg); transition: left 0.75s cubic-bezier(.3, .55, .25, 1);
}
.elementor-4072 a.e-button-base:hover, .elementor-4072 a.e-button-base:focus-visible {
  background: linear-gradient(135deg, #B9DC4F 0%, #A6CE39 100%) !important;
  color: #111111 !important; transform: translateY(-2px);
  box-shadow: 0 16px 28px -12px rgba(111, 140, 30, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -2px 0 rgba(27, 42, 65, 0.12);
}
.elementor-4072 a.e-button-base:hover::after, .elementor-4072 a.e-button-base:focus-visible::after { left: 130%; }
.elementor-4072 a.e-button-base:focus-visible { outline: 3px solid #1B2A41; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .elementor-4072 a.e-button-base, .elementor-4072 a.e-button-base::after { transition: none; }
  .elementor-4072 a.e-button-base:hover, .elementor-4072 a.e-button-base:focus-visible { transform: none; }
}

/* Sticky Apply bar on mobile: appears after the first Apply button has scrolled out of view, hides at the application form (script in the page) */
.tl-sticky { display: none; }
@media (max-width: 767px) {
  .tl-sticky { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, 0.97); box-shadow: 0 -10px 24px -14px rgba(27, 42, 65, 0.45); transform: translateY(0); transition: transform 0.3s ease; }
  .tl-sticky.is-hidden { transform: translateY(115%); }
  .tl-sticky a { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: 9999px; background: linear-gradient(135deg, #1D6FD1 0%, #1757B0 58%, #1B2A41 135%); color: #FFFFFF; font: 600 16px/1 Poppins, system-ui, sans-serif; text-decoration: none; box-shadow: inset 0 1px 0 rgba(255,255,255,0.3); }
  .tl-sticky a:active { background: #A6CE39; color: #111111; }
}

.elementor-4072 .tl-tally { width: 100%; }/* End custom CSS */