.elementor-kit-6{--e-global-color-primary:#1F6FD1;--e-global-color-secondary:#0E2447;--e-global-color-text:#3A4A64;--e-global-color-accent:#149E74;--e-global-color-tiblue7:#134F9E;--e-global-color-tiblue3:#8DBBF2;--e-global-color-tiblu10:#DDE9F9;--e-global-color-tiblu50:#EEF5FD;--e-global-color-tisky00:#F5F9FE;--e-global-color-tinavy8:#16325C;--e-global-color-timuted:#69788F;--e-global-color-tiline0:#E2EAF4;--e-global-color-tilines:#CFDCEC;--e-global-color-tiwhite:#FFFFFF;--e-global-color-tiwarn0:#D98A12;--e-global-color-tidangr:#D04A4A;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.025em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:-0.015em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-line-height:1.4em;--e-global-typography-tieyebr-font-family:"Plus Jakarta Sans";--e-global-typography-tieyebr-font-size:12.5px;--e-global-typography-tieyebr-font-weight:700;--e-global-typography-tieyebr-text-transform:uppercase;--e-global-typography-tieyebr-line-height:1.3em;--e-global-typography-tieyebr-letter-spacing:0.14em;--e-global-typography-tilead0-font-family:"Inter";--e-global-typography-tilead0-font-size:18px;--e-global-typography-tilead0-font-weight:400;--e-global-typography-tilead0-line-height:1.75em;--e-global-typography-tibtn00-font-family:"Plus Jakarta Sans";--e-global-typography-tibtn00-font-size:15.5px;--e-global-typography-tibtn00-font-weight:600;--e-global-typography-tibtn00-line-height:1.2em;--e-global-typography-tibtn00-letter-spacing:-0.005em;--e-global-typography-tismall-font-family:"Inter";--e-global-typography-tismall-font-size:13px;--e-global-typography-tismall-font-weight:500;--e-global-typography-tismall-line-height:1.5em;background-color:#FFFFFF;color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:15.5px;font-weight:600;line-height:1.2em;letter-spacing:-0.005em;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:13px 26px 13px 26px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-tiblue7 );color:#FFFFFF;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:1.1em;}.elementor-kit-6 a{color:var( --e-global-color-primary );}.elementor-kit-6 a:hover{color:var( --e-global-color-tiblue7 );}.elementor-kit-6 h1{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:62px;font-weight:700;line-height:1.06em;letter-spacing:-0.035em;}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:44px;font-weight:700;line-height:1.15em;letter-spacing:-0.025em;}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:21px;font-weight:700;line-height:1.25em;letter-spacing:-0.015em;}.elementor-kit-6 h4{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:18px;font-weight:700;line-height:1.3em;letter-spacing:-0.01em;}.elementor-kit-6 h5{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:700;line-height:1.35em;}.elementor-kit-6 h6{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:14px;font-weight:700;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1220px;}.e-con{--container-max-width:1220px;--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:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6 h1{font-size:50px;}.elementor-kit-6 h2{font-size:36px;}.elementor-kit-6 h3{font-size:19px;}.elementor-kit-6 h4{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6 h1{font-size:38px;}.elementor-kit-6 h2{font-size:30px;}.elementor-kit-6 h3{font-size:18px;}.elementor-kit-6 h4{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================
   TopInspired design system (ported from src/styles/global.css)
   Owner: foundation agent. Classes are prefixed "ti-" and are
   applied via Advanced > CSS Classes on containers/widgets.
   ========================================================== */

/* ---------- Self-hosted fonts (no Google Fonts) ---------- */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 200 800;
  src: url('/wp-content/uploads/2026/11/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2-variations'),
       url('/wp-content/uploads/2026/11/plus-jakarta-sans-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 200 800;
  src: url('/wp-content/uploads/2026/11/plus-jakarta-sans-latin-wght-italic.woff2') format('woff2-variations'),
       url('/wp-content/uploads/2026/11/plus-jakarta-sans-latin-wght-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/wp-content/uploads/2026/11/inter-latin-wght-normal.woff2') format('woff2-variations'),
       url('/wp-content/uploads/2026/11/inter-latin-wght-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Design tokens ---------- */
:root {
  --ti-blue: #1f6fd1;
  --ti-blue-600: #1a62bd;
  --ti-blue-700: #134f9e;
  --ti-blue-400: #4b8fe6;
  --ti-blue-300: #8dbbf2;
  --ti-blue-100: #dde9f9;
  --ti-blue-50: #eef5fd;
  --ti-sky: #f5f9fe;
  --ti-navy: #0e2447;
  --ti-navy-800: #16325c;
  --ti-ink: #3a4a64;
  --ti-muted: #69788f;
  --ti-line: #e2eaf4;
  --ti-line-strong: #cfdcec;
  --ti-white: #ffffff;
  --ti-success: #149e74;
  --ti-warn: #d98a12;
  --ti-danger: #d04a4a;

  --ti-font-display: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ti-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --ti-radius-sm: 10px;
  --ti-radius: 16px;
  --ti-radius-lg: 24px;
  --ti-radius-xl: 32px;

  --ti-shadow-xs: 0 1px 2px rgba(14, 36, 71, 0.06);
  --ti-shadow-sm: 0 4px 14px -6px rgba(14, 36, 71, 0.12);
  --ti-shadow: 0 18px 40px -22px rgba(19, 79, 158, 0.32), 0 2px 6px -2px rgba(14, 36, 71, 0.06);
  --ti-shadow-lg: 0 40px 80px -36px rgba(19, 79, 158, 0.45), 0 8px 20px -12px rgba(14, 36, 71, 0.12);
  --ti-ring: 0 0 0 4px rgba(31, 111, 209, 0.16);

  --ti-container: 1220px;
  --ti-gutter: clamp(1rem, 4vw, 2rem);
  --ti-section: clamp(4.5rem, 9vw, 7.5rem);
  --ti-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 96px; }
body {
  font-family: var(--ti-font-body);
  color: var(--ti-ink);
  background: var(--ti-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1, h2, h3, h4, .elementor-heading-title { text-wrap: balance; }
p { text-wrap: pretty; }
strong, b { font-weight: 650; }
h1 strong, h2 strong, h3 strong { color: inherit; }
::selection { background: var(--ti-blue-100); color: var(--ti-navy); }
:focus-visible { outline: 2px solid var(--ti-blue); outline-offset: 3px; border-radius: 6px; }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 0.2s var(--ti-ease); }

/* skill-baseline: applied */
.elementor-widget-text-editor > p:last-child,
.elementor-widget-text-editor > .elementor-widget-container > p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor > p:first-child,
.elementor-widget-text-editor > .elementor-widget-container > p:first-child { margin-top: 0; }
.elementor a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Images: never move/zoom/shift on hover, keep natural ratio */
.elementor img { transition: none; }
.elementor-widget-image img:hover,
.elementor-widget-image a:hover img,
.elementor img[class*='elementor-animation-']:hover { transform: none !important; }

/* ---------- Layout ---------- */
/* .ti-section : top-level section container (vertical rhythm + side gutter) */
.e-con.ti-section {
  --padding-top: var(--ti-section);
  --padding-bottom: var(--ti-section);
  --padding-left: var(--ti-gutter);
  --padding-right: var(--ti-gutter);
  position: relative;
}
.e-con.ti-section-sm { --padding-top: clamp(3rem, 6vw, 4.5rem); --padding-bottom: clamp(3rem, 6vw, 4.5rem); --padding-left: var(--ti-gutter); --padding-right: var(--ti-gutter); }
.ti-section-tint { background: linear-gradient(180deg, var(--ti-sky) 0%, #fff 100%); }
.ti-section-blue {
  background:
    radial-gradient(1200px 500px at 85% -10%, rgba(141, 187, 242, 0.45), transparent 60%),
    radial-gradient(900px 500px at 0% 110%, rgba(141, 187, 242, 0.35), transparent 60%),
    linear-gradient(180deg, #eaf2fc 0%, #f4f8fe 100%);
}
.ti-section-sky { background: var(--ti-sky); }
.ti-section-navy { background: var(--ti-navy); color: rgba(255, 255, 255, 0.78); }
.ti-section-navy h1, .ti-section-navy h2, .ti-section-navy h3, .ti-section-navy h4,
.ti-section-navy .elementor-heading-title { color: #fff; }
.ti-section-navy a:not(.elementor-button) { color: rgba(255, 255, 255, 0.85); }
.ti-section-navy a:not(.elementor-button):hover { color: #fff; }
/* Gradient CTA band (blue) */
.ti-band-blue {
  background: linear-gradient(135deg, #2b7be0 0%, var(--ti-blue-700) 100%);
  color: rgba(255, 255, 255, 0.88);
}
.ti-band-blue h2, .ti-band-blue h3, .ti-band-blue .elementor-heading-title { color: #fff; }

/* Narrow content widths (apply to an inner container or widget) */
.ti-narrow { max-width: 760px; margin-inline: auto; }
.ti-wide { max-width: var(--ti-container); margin-inline: auto; }

/* Section heading group: inner container holding eyebrow + H2 + intro */
.ti-section-head { max-width: 760px; margin-bottom: clamp(2.5rem, 5vw, 3.75rem); }
.ti-section-head.ti-center { margin-inline: auto; text-align: center; }
.ti-section-head .elementor-widget-text-editor,
.ti-section-head p { font-size: 1.075rem; color: var(--ti-muted); }
.ti-center { text-align: center; }

/* Below-the-fold sections: skip rendering until near viewport */
.ti-cv { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* ---------- Text helpers ---------- */
/* .ti-eyebrow : small uppercase kicker with a gradient dash (use a Heading widget set to <p>/<div>) */
.ti-eyebrow .elementor-heading-title,
.ti-eyebrow > p,
.ti-eyebrow .elementor-widget-container > p,
span.ti-eyebrow, p.ti-eyebrow, div.ti-eyebrow:not(.elementor-element) {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-family: var(--ti-font-display);
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ti-blue);
}
.ti-eyebrow .elementor-heading-title::before,
.ti-eyebrow > p::before,
.ti-eyebrow .elementor-widget-container > p::before,
span.ti-eyebrow::before, p.ti-eyebrow::before, div.ti-eyebrow:not(.elementor-element)::before,
.ti-center .ti-eyebrow .elementor-heading-title::after,
.ti-eyebrow.ti-center .elementor-heading-title::after {
  content: '';
  flex: none;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--ti-blue), var(--ti-blue-300));
}
.ti-center .ti-eyebrow .elementor-heading-title::after,
.ti-eyebrow.ti-center .elementor-heading-title::after { background: linear-gradient(90deg, var(--ti-blue-300), var(--ti-blue)); }
.ti-eyebrow-light .elementor-heading-title { color: var(--ti-blue-300); }

/* .ti-lead : larger intro paragraph */
.ti-lead, .ti-lead p { font-size: clamp(1.05rem, 1.4vw, 1.18rem); line-height: 1.75; color: var(--ti-ink); }
.ti-muted, .ti-muted p { color: var(--ti-muted); }
.ti-text-blue, .ti-text-blue .elementor-heading-title { color: var(--ti-blue); }
/* .ti-accent : gradient italic word inside a heading, e.g. <span class="ti-accent">care</span> */
.ti-accent {
  background: linear-gradient(100deg, var(--ti-blue) 10%, #3aa0f0 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-style: italic;
  padding-right: 0.06em;
}
.ti-source-note, .ti-source-note p { font-size: 0.8rem; color: var(--ti-muted); }
.ti-source-note a { color: var(--ti-muted); }

/* ---------- Buttons (apply class to a Button widget) ---------- */
body .elementor-button,
a.ti-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: 52px;
  border: 1px solid transparent;
  letter-spacing: -0.005em;
  line-height: 1.2;
  white-space: nowrap;
  transition: transform 0.25s var(--ti-ease), box-shadow 0.25s var(--ti-ease), background-color 0.25s var(--ti-ease), color 0.25s var(--ti-ease), border-color 0.25s var(--ti-ease);
}
body .elementor-button .elementor-button-content-wrapper { gap: 0.6rem; align-items: center; }
body .elementor-button .elementor-button-icon svg { width: 1em; height: 1em; transition: transform 0.25s var(--ti-ease); }
body .elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }

body .ti-btn-primary .elementor-button, a.ti-btn-primary {
  background: linear-gradient(180deg, #2b7be0 0%, var(--ti-blue-600) 100%);
  color: #fff;
  box-shadow: 0 14px 28px -12px rgba(31, 111, 209, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
body .ti-btn-primary .elementor-button:hover, body .ti-btn-primary .elementor-button:focus, a.ti-btn-primary:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 34px -12px rgba(31, 111, 209, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
body .ti-btn-ghost .elementor-button, a.ti-btn-ghost {
  background: rgba(255, 255, 255, 0.7);
  color: var(--ti-navy);
  border-color: var(--ti-line-strong);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: none;
}
body .ti-btn-ghost .elementor-button:hover, body .ti-btn-ghost .elementor-button:focus, a.ti-btn-ghost:hover {
  background: #fff;
  color: var(--ti-blue);
  border-color: var(--ti-blue-300);
}
body .ti-btn-white .elementor-button, a.ti-btn-white {
  background: #fff;
  color: var(--ti-blue-700);
  box-shadow: 0 14px 30px -14px rgba(0, 0, 0, 0.35);
}
body .ti-btn-white .elementor-button:hover, body .ti-btn-white .elementor-button:focus, a.ti-btn-white:hover { background: #fff; color: var(--ti-blue); transform: translateY(-2px); }
body .ti-btn-outline-light .elementor-button {
  background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.45);
}
body .ti-btn-outline-light .elementor-button:hover, body .ti-btn-outline-light .elementor-button:focus { background: rgba(255, 255, 255, 0.12); color: #fff; border-color: #fff; }
body .ti-btn-sm .elementor-button, a.ti-btn-sm { min-height: 44px; padding: 0.6rem 1.2rem; font-size: 0.9rem; }
body .ti-btn-block .elementor-button { width: 100%; }

/* .ti-link-arrow : text link with arrow (Button widget, or <a class="ti-link-arrow">) */
body .ti-link-arrow .elementor-button, a.ti-link-arrow {
  min-height: 0;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  color: var(--ti-blue);
  font-family: var(--ti-font-display);
  font-weight: 650;
  font-size: 0.95rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}
body .ti-link-arrow .elementor-button:hover, body .ti-link-arrow .elementor-button:focus, a.ti-link-arrow:hover { background: none; color: var(--ti-blue-700); transform: none; }
body .ti-link-arrow .elementor-button:hover .elementor-button-icon svg { transform: translateX(4px); }

/* ---------- Cards ---------- */
/* .ti-card : white rounded card (apply to an inner container) */
.ti-card {
  background-color: #fff;
  border: 1px solid var(--ti-line);
  border-radius: var(--ti-radius-lg);
  box-shadow: var(--ti-shadow-sm);
}
.e-con.ti-card { --padding-top: clamp(1.4rem, 2.6vw, 2rem); --padding-bottom: clamp(1.4rem, 2.6vw, 2rem); --padding-left: clamp(1.25rem, 2.6vw, 2rem); --padding-right: clamp(1.25rem, 2.6vw, 2rem); --border-radius: var(--ti-radius-lg); }
.ti-card-flat { background-color: #fff; border: 1px solid var(--ti-line); border-radius: var(--ti-radius); }
.ti-card-soft { background: linear-gradient(145deg, #f7fbff, #eef5fd); border: 1px solid #d6e5f8; border-radius: var(--ti-radius-lg); }
.e-con.ti-card-flat, .e-con.ti-card-soft { --padding-top: 1.5rem; --padding-bottom: 1.5rem; --padding-left: 1.5rem; --padding-right: 1.5rem; }
/* .ti-card-media : card whose first child is an edge-to-edge image */
.e-con.ti-card-media { --padding-top: 0; --padding-left: 0; --padding-right: 0; --padding-bottom: 1.5rem; overflow: hidden; }
.ti-card-media > .elementor-widget-image img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.ti-card-media > .e-con:not(:first-child) { --padding-left: 1.5rem; --padding-right: 1.5rem; }
.ti-card-hover { transition: box-shadow 0.25s var(--ti-ease), border-color 0.25s var(--ti-ease); }
.ti-card-hover:hover { box-shadow: var(--ti-shadow); border-color: var(--ti-line-strong); }
.ti-shadow { box-shadow: var(--ti-shadow); }
.ti-shadow-lg { box-shadow: var(--ti-shadow-lg); }

/* Images (apply class to an Image widget) */
.ti-img-rounded img { border-radius: var(--ti-radius-lg); }
.ti-img-shadow img { box-shadow: var(--ti-shadow-lg); }
.ti-img-cover img { width: 100%; height: 100%; object-fit: cover; }
.ti-ratio-16x10 img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.ti-ratio-4x3 img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ti-ratio-3x4 img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.ti-ratio-1x1 img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.ti-object-top img { object-position: 50% 20%; }

/* .ti-icon-tile : soft blue square behind an Icon / Icon Box icon */
.ti-icon-tile .elementor-icon,
.ti-icon-tile.elementor-widget-icon-box .elementor-icon {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  padding: 0;
  font-size: 24px;
  border-radius: 16px;
  color: var(--ti-blue);
  fill: var(--ti-blue);
  background: linear-gradient(145deg, #f3f8ff, #e2eefc);
  border: 1px solid #d6e5f8;
  box-shadow: inset 0 1px 0 #fff;
}
.ti-icon-tile .elementor-icon svg { width: 24px; height: 24px; fill: currentColor; }

/* .ti-chip : small pill/badge (Heading widget as <span>/<p>, or Text Editor) */
.ti-chip .elementor-heading-title,
.ti-chip > p,
span.ti-chip, a.ti-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-family: var(--ti-font-body);
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ti-blue-700);
  background: var(--ti-blue-50);
  border: 1px solid var(--ti-blue-100);
  text-decoration: none;
}
.ti-chip-white .elementor-heading-title { background: #fff; border-color: var(--ti-line); color: var(--ti-navy); box-shadow: var(--ti-shadow-xs); }
/* .ti-chip-list : Icon List widget rendered as a row of pills */
.ti-chip-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0; padding: 0; }
.ti-chip-list .elementor-icon-list-item { display: inline-flex; align-items: center; gap: 0.4rem; }
.ti-chip-list .elementor-icon-list-item {
  margin: 0 !important; padding: 0.4rem 0.85rem !important; border-radius: 999px;
  background: var(--ti-blue-50); border: 1px solid var(--ti-blue-100);
}
.ti-chip-list .elementor-icon-list-item::after { display: none !important; }
.ti-chip-list .elementor-icon-list-text { font-size: 0.8rem; font-weight: 600; color: var(--ti-blue-700); }
.ti-chip-list .elementor-icon-list-icon svg { fill: var(--ti-blue); }

/* .ti-check-list : Icon List widget (or Text Editor <ul>) with blue check bullets */
.ti-check-list .elementor-icon-list-items { display: grid; gap: 0.8rem; list-style: none; margin: 0; padding: 0; }
.ti-check-list .elementor-icon-list-item { display: flex; align-items: flex-start !important; padding: 0 !important; margin: 0 !important; }
.ti-check-list .elementor-icon-list-item::after { display: none !important; }
.ti-check-list .elementor-icon-list-icon {
  flex: none;
  width: 1.35rem !important;
  height: 1.35rem;
  margin-top: 0.18em;
  margin-right: 0.75rem;
  padding: 0 !important;
  border-radius: 50%;
  display: grid !important;
  place-items: center;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 0.8rem no-repeat,
    linear-gradient(145deg, #3b8cf0, var(--ti-blue-600));
  box-shadow: 0 4px 10px -3px rgba(31, 111, 209, 0.55);
}
.ti-check-list .elementor-icon-list-icon svg,
.ti-check-list .elementor-icon-list-icon i { opacity: 0; width: 0 !important; height: 0 !important; }
.ti-check-list .elementor-icon-list-text { color: var(--ti-ink); line-height: 1.6; padding: 0 !important; }
.ti-check-list ul:not(.elementor-icon-list-items) { list-style: none; padding: 0; margin: 0 0 1.5rem; display: grid; gap: 0.8rem; }
.ti-check-list ul:not(.elementor-icon-list-items) li { position: relative; padding-left: 2.1rem; }
.ti-check-list ul:not(.elementor-icon-list-items) li::before {
  content: ''; position: absolute; left: 0; top: 0.18em; width: 1.35rem; height: 1.35rem; border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 0.8rem no-repeat,
    linear-gradient(145deg, #3b8cf0, var(--ti-blue-600));
  box-shadow: 0 4px 10px -3px rgba(31, 111, 209, 0.55);
}

/* Decorative dot grid (empty container, position absolute) */
.ti-dot-grid {
  position: absolute !important;
  width: 180px; height: 180px;
  background-image: radial-gradient(rgba(31, 111, 209, 0.22) 1.4px, transparent 1.6px);
  background-size: 16px 16px;
  pointer-events: none;
}

/* ---------- Long-form / legal content ---------- */
.ti-prose { max-width: 760px; font-size: 1.04rem; }
.ti-prose h2 { font-size: clamp(1.4rem, 2.2vw, 1.75rem); margin-top: 2.4em; }
.ti-prose h3 { margin-top: 1.8em; }
.ti-prose ul, .ti-prose ol { margin: 0 0 1.2em; padding-left: 1.2em; }
.ti-prose li { margin-bottom: 0.45em; }
.ti-prose li::marker { color: var(--ti-blue); }

/* ---------- Forms (Elementor Form widget) ---------- */
.ti-form .elementor-field-group > label,
.ti-form .elementor-field-label { font-size: 0.82rem; font-weight: 600; color: var(--ti-navy); }
.ti-form .elementor-field-textual,
.ti-form .elementor-field-group .elementor-select-wrapper select {
  min-height: 50px;
  padding: 0.75rem 1rem;
  font-family: var(--ti-font-body);
  font-size: 0.95rem;
  color: var(--ti-navy);
  background-color: #fff;
  border: 1px solid var(--ti-line-strong);
  border-radius: 12px;
  transition: border-color 0.2s var(--ti-ease), box-shadow 0.2s var(--ti-ease);
}
.ti-form textarea.elementor-field-textual { min-height: 120px; }
.ti-form .elementor-field-textual:focus,
.ti-form select:focus { outline: none; border-color: var(--ti-blue); box-shadow: var(--ti-ring); }
.ti-form .elementor-field-textual::placeholder { color: #9aa7ba; }

/* ---------- Back to top (fixed button) ---------- */
/* Use <a href="#top" class="ti-to-top" aria-label="Back to top">svg</a>, or a Button widget with class ti-to-top */
a.ti-to-top, button.ti-to-top, .ti-to-top .elementor-button {
  position: fixed;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 40;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  min-height: 48px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #3b8cf0, #1a62bd);
  box-shadow: 0 16px 30px -14px rgba(19, 79, 158, 0.9);
  cursor: pointer;
  transition: transform 0.25s var(--ti-ease), box-shadow 0.25s var(--ti-ease), opacity 0.25s var(--ti-ease);
}
a.ti-to-top svg, button.ti-to-top svg { width: 20px; height: 20px; }
a.ti-to-top:hover, button.ti-to-top:hover, .ti-to-top .elementor-button:hover { color: #fff; transform: translateY(-3px); box-shadow: 0 22px 36px -14px rgba(19, 79, 158, 0.95); }
.ti-to-top[hidden] { display: none; }
@supports (animation-timeline: scroll()) {
  a.ti-to-top, button.ti-to-top, .ti-to-top .elementor-button {
    animation: ti-to-top-reveal linear both;
    animation-timeline: scroll(root);
    animation-range: 0 480px;
  }
  @keyframes ti-to-top-reveal {
    0%, 60% { opacity: 0; visibility: hidden; }
    100% { opacity: 1; visibility: visible; }
  }
}

/* ---------- Utilities ---------- */
.ti-sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 767px) {
  .ti-hide-mobile { display: none !important; }
  body .elementor-button { white-space: normal; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  a.ti-to-top, button.ti-to-top, .ti-to-top .elementor-button { animation-duration: auto !important; }
}/* End custom CSS */