.elementor-kit-8{--e-global-color-primary:#356290;--e-global-color-secondary:#DFB958;--e-global-color-text:#111827;--e-global-color-accent:#DFB958;--e-global-color-9ed55f1:#356290;--e-global-color-4a6e12d:#DFB958;--e-global-color-5daab96:#000000;--e-global-color-11d893f:#111827;--e-global-color-8f3099b:#6B7280;--e-global-color-b8b0da8:#FFFFFF;--e-global-color-a332352:#F2F5F6;--e-global-color-34b5fad:#F8F8F8;--e-global-color-11d7b30:#FFFFFF;--e-global-color-2706429:#000000;--e-global-color-a686797:#E5E7EB;--e-global-color-43037b9:#9CA3AF;--e-global-color-fac8354:#18191A;--e-global-color-c1a96cc:#EF4444;--e-global-color-66353ce:#FEE2E2;--e-global-color-d8d4a18:#F59E0B;--e-global-color-bdc76d8:#FEF3C7;--e-global-color-d47de02:#22C55E;--e-global-color-1a69842:#DCFCE7;--e-global-color-a5df51b:#0EA5E9;--e-global-color-4f7dd08:#E0F2FE;--e-global-typography-primary-font-family:"General Sans Variable";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"General Sans Variable";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"General Sans Variable";--e-global-typography-accent-font-weight:600;--e-global-typography-ee52b07-font-family:"General Sans Variable";--e-global-typography-ee52b07-font-size:18px;--e-global-typography-ee52b07-font-weight:400;--e-global-typography-ee52b07-line-height:28px;--e-global-typography-666a515-font-family:"General Sans Variable";--e-global-typography-666a515-font-size:16px;--e-global-typography-666a515-font-weight:400;--e-global-typography-666a515-line-height:24px;--e-global-typography-72b72b4-font-family:"General Sans Variable";--e-global-typography-72b72b4-font-size:14px;--e-global-typography-72b72b4-font-weight:400;--e-global-typography-72b72b4-line-height:20px;--e-global-typography-55a85f7-font-family:"General Sans Variable";--e-global-typography-55a85f7-font-size:13px;--e-global-typography-55a85f7-font-weight:400;--e-global-typography-55a85f7-line-height:16px;--e-global-typography-ab199d9-font-family:"General Sans Variable";--e-global-typography-ab199d9-font-size:12px;--e-global-typography-ab199d9-font-weight:400;--e-global-typography-ab199d9-line-height:16px;--e-global-typography-5674020-font-family:"General Sans Variable";--e-global-typography-5674020-font-size:10px;--e-global-typography-5674020-font-weight:400;--e-global-typography-5674020-line-height:12px;--e-global-typography-0dfb574-font-size:63px;--e-global-typography-0dfb574-font-weight:700;--e-global-typography-0dfb574-line-height:72px;--e-global-typography-35a5567-font-size:48px;--e-global-typography-35a5567-font-weight:700;--e-global-typography-35a5567-line-height:64px;--e-global-typography-08c1f83-font-size:40px;--e-global-typography-08c1f83-font-weight:700;--e-global-typography-08c1f83-line-height:48px;--e-global-typography-c0a741e-font-size:32px;--e-global-typography-c0a741e-font-weight:700;--e-global-typography-c0a741e-line-height:40px;--e-global-typography-1510344-font-size:22px;--e-global-typography-1510344-font-weight:600;--e-global-typography-1510344-line-height:32px;--e-global-typography-8f379f7-font-size:18px;--e-global-typography-8f379f7-font-weight:600;--e-global-typography-8f379f7-line-height:28px;background-color:#F2F5F6;color:#111827;font-family:"General Sans Variable", Sans-serif;font-size:16px;font-weight:400;line-height:24px;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 a{color:#356290;}.elementor-kit-8 a:hover{color:#DFB958;}.elementor-kit-8 h1{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:64px;font-weight:700;line-height:72px;}.elementor-kit-8 h2{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:48px;font-weight:700;line-height:64px;}.elementor-kit-8 h3{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:40px;font-weight:700;line-height:48px;}.elementor-kit-8 h4{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:32px;font-weight:700;line-height:40px;}.elementor-kit-8 h5{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:22px;font-weight:600;line-height:32px;}.elementor-kit-8 h6{color:#000000;font-family:"General Sans Variable", Sans-serif;font-size:18px;font-weight:600;line-height:28px;}.elementor-kit-8 button,.elementor-kit-8 input[type="button"],.elementor-kit-8 input[type="submit"],.elementor-kit-8 .elementor-button{font-family:"General Sans Variable", Sans-serif;font-size:16px;font-weight:600;text-transform:capitalize;line-height:24px;letter-spacing:0.01em;}.elementor-kit-8 label{color:#111827;font-family:"General Sans Variable", Sans-serif;font-size:16px;font-weight:400;line-height:24px;}.elementor-kit-8 input:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea,.elementor-kit-8 .elementor-field-textual{font-family:"General Sans Variable", Sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#111827;accent-color:#356290;background-color:#F8F8F8;border-radius:20px 20px 20px 20px;transition:500ms;padding:12px 16px 12px 16px;}.elementor-kit-8 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-8 textarea:focus,.elementor-kit-8 .elementor-field-textual:focus{color:#111827;background-color:#F8F8F8;border-style:solid;border-width:1px 1px 1px 1px;border-color:#0EA5E9;border-radius:20px 20px 20px 20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */:root {
  --tpf-primary: #356290;
  --tpf-primary-hover: #2A4E73;

  --tpf-secondary: #DFB958;
  --tpf-secondary-hover: #B29446;

  --tpf-title: #000000;
  --tpf-white: #FFFFFF;

  --tpf-outline: #9CA3AF;
  --tpf-ghost: #F0F0F0;

  --tpf-disabled-bg: #F3F4F6;
  --tpf-disabled-text: #D1D5DB;

  --tpf-radius-pill: 999px;
}

/* -------------------------------- */
/* Text buttons                     */
/* -------------------------------- */

.elementor-widget-button.tpf-btn {
  --tpf-btn-height: 48px;
  --tpf-btn-padding-y: 12px;
  --tpf-btn-padding-x: 24px;
  --tpf-btn-font-size: 16px;
  --tpf-btn-line-height: 24px;
  --tpf-btn-left-icon-size: 16px;
  --tpf-btn-right-icon-size: 20px;
}

.elementor-widget-button.tpf-btn--sm {
  --tpf-btn-height: 34px;
  --tpf-btn-padding-y: 8px;
  --tpf-btn-padding-x: 16px;
  --tpf-btn-font-size: 12px;
  --tpf-btn-line-height: 18px;
  --tpf-btn-left-icon-size: 14px;
  --tpf-btn-right-icon-size: 14px;
}

.elementor-widget-button.tpf-btn--md {
  --tpf-btn-height: 40px;
  --tpf-btn-padding-y: 10px;
  --tpf-btn-padding-x: 20px;
  --tpf-btn-font-size: 14px;
  --tpf-btn-line-height: 20px;
  --tpf-btn-left-icon-size: 16px;
  --tpf-btn-right-icon-size: 20px;
}

.elementor-widget-button.tpf-btn--lg {
  --tpf-btn-height: 48px;
  --tpf-btn-padding-y: 12px;
  --tpf-btn-padding-x: 24px;
  --tpf-btn-font-size: 16px;
  --tpf-btn-line-height: 24px;
  --tpf-btn-left-icon-size: 16px;
  --tpf-btn-right-icon-size: 20px;
}

.elementor-widget-button.tpf-btn--huge {
  --tpf-btn-height: 60px;
  --tpf-btn-padding-y: 16px;
  --tpf-btn-padding-x: 32px;
  --tpf-btn-font-size: 18px;
  --tpf-btn-line-height: 28px;
  --tpf-btn-left-icon-size: 20px;
  --tpf-btn-right-icon-size: 20px;
}

.elementor-widget-button.tpf-btn .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tpf-btn-height);
  padding: var(--tpf-btn-padding-y) var(--tpf-btn-padding-x);
  gap: 8px;
  border-radius: var(--tpf-radius-pill);
  border: 1px solid transparent;
  box-shadow: none;
  font-family: "General Sans Variable", sans-serif;
  font-size: var(--tpf-btn-font-size);
  line-height: var(--tpf-btn-line-height);
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: capitalize;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    opacity 180ms ease;
}

.elementor-widget-button.tpf-btn .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.elementor-widget-button.tpf-btn .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.elementor-widget-button.tpf-btn .elementor-button-icon svg {
  display: block;
}

.elementor-widget-button.tpf-btn .elementor-button-icon.elementor-align-icon-left svg {
  width: var(--tpf-btn-left-icon-size);
  height: var(--tpf-btn-left-icon-size);
}

.elementor-widget-button.tpf-btn .elementor-button-icon.elementor-align-icon-right svg {
  width: var(--tpf-btn-right-icon-size);
  height: var(--tpf-btn-right-icon-size);
}

/* Fill only. No stroke. */
.elementor-widget-button.tpf-btn .elementor-button-icon svg,
.elementor-widget-button.tpf-btn .elementor-button-icon svg * {
  fill: currentColor;
  stroke: none;
}

/* Primary text button */
.elementor-widget-button.tpf-btn--primary .elementor-button {
  background-color: var(--tpf-primary);
  color: var(--tpf-white);
  border-color: var(--tpf-primary);
}

.elementor-widget-button.tpf-btn--primary .elementor-button:hover,
.elementor-widget-button.tpf-btn--primary .elementor-button:focus-visible {
  background-color: var(--tpf-primary-hover);
  color: var(--tpf-white);
  border-color: var(--tpf-primary-hover);
}

/* Secondary text button */
.elementor-widget-button.tpf-btn--secondary .elementor-button {
  background-color: var(--tpf-secondary);
  color: var(--tpf-title);
  border-color: var(--tpf-secondary);
}

.elementor-widget-button.tpf-btn--secondary .elementor-button:hover,
.elementor-widget-button.tpf-btn--secondary .elementor-button:focus-visible {
  background-color: var(--tpf-secondary-hover);
  color: var(--tpf-title);
  border-color: var(--tpf-secondary-hover);
}

/* Outline text button, used on dark backgrounds */
.elementor-widget-button.tpf-btn--outline .elementor-button {
  background-color: transparent;
  color: var(--tpf-white);
  border-color: var(--tpf-outline);
}

.elementor-widget-button.tpf-btn--outline .elementor-button:hover,
.elementor-widget-button.tpf-btn--outline .elementor-button:focus-visible {
  background-color: transparent;
  color: var(--tpf-secondary);
  border-color: var(--tpf-secondary);
}

/* Ghost text button */
.elementor-widget-button.tpf-btn--ghost .elementor-button {
  background-color: var(--tpf-ghost);
  color: var(--tpf-primary);
  border-color: var(--tpf-ghost);
  opacity: 1;
}

.elementor-widget-button.tpf-btn--ghost .elementor-button:hover,
.elementor-widget-button.tpf-btn--ghost .elementor-button:focus-visible {
  background-color: var(--tpf-ghost);
  color: var(--tpf-primary);
  border-color: var(--tpf-ghost);
  opacity: 0.6;
}

/* Disabled text button */
.elementor-widget-button.tpf-btn--disabled .elementor-button {
  background-color: var(--tpf-disabled-bg);
  color: var(--tpf-disabled-text);
  border-color: var(--tpf-disabled-bg);
  pointer-events: none;
  cursor: not-allowed;
}

.elementor-widget-button.tpf-btn--disabled .elementor-button:hover,
.elementor-widget-button.tpf-btn--disabled .elementor-button:focus-visible {
  background-color: var(--tpf-disabled-bg);
  color: var(--tpf-disabled-text);
  border-color: var(--tpf-disabled-bg);
  opacity: 1;
}

/* Full-width button helper */
.elementor-widget-button.tpf-btn--full,
.elementor-widget-button.tpf-btn--full .elementor-widget-container,
.elementor-widget-button.tpf-btn--full .elementor-button-wrapper {
  width: 100%;
  max-width: 100%;
}

.elementor-widget-button.tpf-btn--full {
  display: block;
  align-self: stretch;
}

.elementor-widget-button.tpf-btn--full .elementor-button {
  width: 100%;
}

/* -------------------------------- */
/* Icon-only buttons                */
/* -------------------------------- */

.elementor-widget-button.tpf-icon-btn {
  --tpf-icon-btn-size: 48px;
  --tpf-icon-btn-padding: 12px;
  --tpf-icon-size: 24px;
}

.elementor-widget-button.tpf-icon-btn--sm {
  --tpf-icon-btn-size: 34px;
  --tpf-icon-btn-padding: 8px;
  --tpf-icon-size: 18px;
}

.elementor-widget-button.tpf-icon-btn--md {
  --tpf-icon-btn-size: 40px;
  --tpf-icon-btn-padding: 10px;
  --tpf-icon-size: 20px;
}

.elementor-widget-button.tpf-icon-btn--lg {
  --tpf-icon-btn-size: 48px;
  --tpf-icon-btn-padding: 12px;
  --tpf-icon-size: 24px;
}

.elementor-widget-button.tpf-icon-btn--huge {
  --tpf-icon-btn-size: 60px;
  --tpf-icon-btn-padding: 16px;
  --tpf-icon-size: 28px;
}

.elementor-widget-button.tpf-icon-btn .elementor-button {
  width: var(--tpf-icon-btn-size);
  min-width: var(--tpf-icon-btn-size);
  height: var(--tpf-icon-btn-size);
  min-height: var(--tpf-icon-btn-size);
  padding: var(--tpf-icon-btn-padding);
  border-radius: var(--tpf-radius-pill);
  border: 1px solid transparent;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background-color 180ms ease,
    color 180ms ease,
    border-color 180ms ease,
    opacity 180ms ease;
}

.elementor-widget-button.tpf-icon-btn .elementor-button-text {
  display: none;
}

.elementor-widget-button.tpf-icon-btn .elementor-button-content-wrapper,
.elementor-widget-button.tpf-icon-btn .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.elementor-widget-button.tpf-icon-btn .elementor-button-icon svg {
  width: var(--tpf-icon-size);
  height: var(--tpf-icon-size);
  display: block;
}

/* Fill only. No stroke. */
.elementor-widget-button.tpf-icon-btn .elementor-button-icon svg,
.elementor-widget-button.tpf-icon-btn .elementor-button-icon svg * {
  fill: currentColor;
  stroke: none;
}

/* Primary icon-only */
.elementor-widget-button.tpf-icon-btn--primary .elementor-button {
  background-color: var(--tpf-primary);
  color: var(--tpf-white);
  border-color: var(--tpf-primary);
}

.elementor-widget-button.tpf-icon-btn--primary .elementor-button:hover,
.elementor-widget-button.tpf-icon-btn--primary .elementor-button:focus-visible {
  background:
    linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)),
    var(--tpf-primary);
  color: var(--tpf-white);
  border-color: var(--tpf-primary);
}

/* Secondary icon-only */
.elementor-widget-button.tpf-icon-btn--secondary .elementor-button {
  background-color: var(--tpf-secondary);
  color: var(--tpf-white);
  border-color: var(--tpf-secondary);
}

.elementor-widget-button.tpf-icon-btn--secondary .elementor-button:hover,
.elementor-widget-button.tpf-icon-btn--secondary .elementor-button:focus-visible {
  background:
    linear-gradient(0deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25)),
    var(--tpf-secondary);
  color: var(--tpf-white);
  border-color: var(--tpf-secondary);
}

/* Outline icon-only */
.elementor-widget-button.tpf-icon-btn--outline .elementor-button {
  background-color: var(--tpf-white);
  color: rgba(53, 98, 144, 0.5);
  border-color: var(--tpf-white);
}

.elementor-widget-button.tpf-icon-btn--outline .elementor-button:hover,
.elementor-widget-button.tpf-icon-btn--outline .elementor-button:focus-visible {
  background-color: var(--tpf-ghost);
  color: var(--tpf-primary);
  border-color: var(--tpf-ghost);
}

/* Disabled icon-only */
.elementor-widget-button.tpf-icon-btn--disabled .elementor-button {
  background-color: var(--tpf-disabled-bg);
  color: var(--tpf-disabled-text);
  border-color: var(--tpf-disabled-bg);
  pointer-events: none;
  cursor: not-allowed;
}

/* Header menu circle */
.elementor-widget-button.tpf-icon-btn--menu .elementor-button {
  background-color: var(--tpf-white);
  color: var(--tpf-primary);
  border-color: rgba(53, 98, 144, 0.25);
}

.elementor-widget-button.tpf-icon-btn--menu .elementor-button:hover,
.elementor-widget-button.tpf-icon-btn--menu .elementor-button:focus-visible {
  background-color: var(--tpf-ghost);
  color: var(--tpf-primary);
  border-color: rgba(53, 98, 144, 0.25);
}


/* Form helper */
.tpf-form .elementor-field-type-html {
  margin: 0 !important;
}

.tpf-form textarea.elementor-field {
  resize: none;
}

.tpf-form .elementor-field-type-html {
  margin-bottom: -8px;
}


/* TPF progress bar */
.elementor-widget-progress.tpf-progress .elementor-progress-wrapper {
  position: relative;
  height: 16px;
  display: flex;
  align-items: center;
  background: transparent;
  border-right: 0;
  border-radius: 0;
  overflow: visible;
}

.e-con .elementor-progress-wrapper, .e-con-inner .elementor-progress-wrapper {
    margin-top: 4px;
}

/* 4px background track */
.elementor-widget-progress.tpf-progress .elementor-progress-wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 4px;
  transform: translateY(-50%);
  background-color: #D1D5DB;
  border-radius: 0;
}

/* 16px right-side marker */
.elementor-widget-progress.tpf-progress .elementor-progress-wrapper::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 4px;
  height: 16px;
  background-color: #D1D5DB;
  border-radius: 0;
}

/* filled progress line */
.elementor-widget-progress.tpf-progress .elementor-progress-bar {
  position: relative;
  z-index: 1;
  height: 4px;
  background-color: #1F2937;
  border-radius: 0;
}

/* hide Elementor's inside-bar text */
.elementor-widget-progress.tpf-progress .elementor-progress-text,
.elementor-widget-progress.tpf-progress .elementor-progress-percentage {
  display: none;
}

/* Accordion helper */
.elementor-42 .elementor-element.elementor-element-39fc9ad > .e-n-accordion > .e-n-accordion-item[open] > .e-n-accordion-item-title {
    border-radius: 20px 20px 0 0;
}


/* Contact icon list hover */
.tpf-contact-list .elementor-icon-list-icon svg,
.tpf-contact-list .elementor-icon-list-icon svg * {
  transition: fill 0.5s ease;
}

.tpf-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg,
.tpf-contact-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg * {
  fill: #DFB958;
}


/* Case card button reveal */
.tpf-reveal-card {
  overflow: hidden;
}

.tpf-reveal-card .tpf-reveal-button {
  max-height: 0;
  opacity: 0;
  transform: translateY(100%);
  overflow: hidden;
  pointer-events: none;
  transition:
    max-height 0.5s ease,
    opacity 0.5s ease,
    transform 0.5s ease;
}

.tpf-reveal-card:hover .tpf-reveal-button {
  max-height: 64px;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Sticky header background on scroll */
.tpf-header {
  transition: background-color 0.35s ease, box-shadow 0.35s ease;
}

.tpf-header.elementor-sticky--effects {
  background-color: #FFFFFF;
}

.tpf-header.elementor-sticky--effects {
  background-color: #FFFFFF;
  box-shadow: 0 8px 24px rgba(17, 24, 39, 0.08);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'General Sans Variable';
	font-display: auto;
	src: url('https://tpf.vecto.digital/wp-content/uploads/2026/06/GeneralSans-Variable.ttf') format('truetype');
}
/* End Custom Fonts CSS */