/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ===== IFIX DESIGN SYSTEM : TYPOGRAPHY + HOVER ===== */
@import url('https://fonts.googleapis.com/css2?family=Heebo:wght@300;400;500;600;700;800;900&display=swap');

:root{
  --ifix-blue:#1a6ec9;
  --ifix-blue-dark:#0d3a72;
  --ifix-cyan:#17a8e5;
  --ifix-ink:#0f172a;
  --ifix-muted:#64748b;
  --ifix-font:'Heebo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --ifix-ease:cubic-bezier(.4,0,.2,1);
}

/* Legacy widgets print their own <style> block, so these need !important to
   win. The newer .ifix-v2 sections are excluded: their fonts come from the
   block further down, which Elementor's own controls can override. */
html body [class*="ifix-"]:not(.ifix-v2):not(.ifix-v2 *),
html body [class*="ifix-"]:not(.ifix-v2) *:not(i):not(svg):not(path):not([class*="fa"]):not([class*="eicon"]):not(.ifix-v2):not(.ifix-v2 *){ font-family:var(--ifix-font) !important; }
html body [class*="ifix-"]:not(.ifix-v2) i[class*="fa"]{ font-family:"Font Awesome 5 Free","Font Awesome 6 Free","Font Awesome 5 Brands","Font Awesome 6 Brands" !important; }

/* ---------- HERO ---------- */
html body .ifix-hero-badge{
  font-size:13px !important;font-weight:700 !important;
  letter-spacing:.09em !important;text-transform:uppercase !important;line-height:1 !important;
}
html body .ifix-hero-heading{
  font-size:clamp(34px,4.4vw,56px) !important;font-weight:800 !important;
  line-height:1.12 !important;letter-spacing:-.02em !important;
}
html body .ifix-hero-desc{ font-size:17px !important;font-weight:400 !important;line-height:1.7 !important; }
html body .ifix-hero-check-item{ font-size:16px !important;font-weight:500 !important; }
html body .ifix-form-card-title{ font-size:24px !important;font-weight:800 !important;letter-spacing:-.015em !important; }
html body .ifix-form-card-subtitle{ font-size:14px !important;font-weight:400 !important; }
html body .ifix-builtin-form input,
html body .ifix-builtin-form select,
html body .ifix-builtin-form textarea{
  font-family:var(--ifix-font) !important;font-size:15px !important;font-weight:400 !important;
  transition:border-color .25s var(--ifix-ease),box-shadow .25s var(--ifix-ease) !important;
}
html body .ifix-builtin-form input:focus,
html body .ifix-builtin-form select:focus,
html body .ifix-builtin-form textarea:focus{
  border-color:var(--ifix-blue) !important;
  box-shadow:0 0 0 4px rgba(26,110,201,.15) !important;outline:none !important;
}

/* ---------- BUTTONS ---------- */
html body .ifix-btn-primary,
html body .ifix-btn-secondary,
html body .ifix-form-submit,
html body .ifix-fs-btn{
  font-family:var(--ifix-font) !important;
  font-size:16px !important;
  font-weight:700 !important;
  letter-spacing:.012em !important;
  line-height:1 !important;
  padding:17px 34px !important;
  border-radius:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  border:2px solid transparent !important;
  transition:transform .25s var(--ifix-ease),box-shadow .25s var(--ifix-ease),background-color .25s var(--ifix-ease),color .25s var(--ifix-ease),border-color .25s var(--ifix-ease) !important;
  will-change:transform;
}
html body .ifix-btn-primary,
html body .ifix-form-submit,
html body .ifix-fs-btn{
  background:var(--ifix-blue) !important;color:#fff !important;
  box-shadow:0 6px 18px rgba(26,110,201,.28) !important;
}
html body .ifix-btn-primary:hover,
html body .ifix-form-submit:hover,
html body .ifix-fs-btn:hover,
html body .ifix-btn-primary:focus-visible,
html body .ifix-fs-btn:focus-visible{
  background:var(--ifix-blue-dark) !important;color:#fff !important;
  transform:translateY(-3px) !important;
  box-shadow:0 14px 30px rgba(13,58,114,.34) !important;
}
html body .ifix-btn-primary:active,
html body .ifix-form-submit:active,
html body .ifix-fs-btn:active{
  transform:translateY(-1px) !important;box-shadow:0 6px 16px rgba(13,58,114,.3) !important;
}
html body .ifix-btn-secondary{
  background:#fff !important;color:var(--ifix-blue-dark) !important;
  border-color:#dbe4ef !important;box-shadow:0 2px 8px rgba(15,23,42,.07) !important;
}
html body .ifix-btn-secondary:hover{
  background:#f5f9ff !important;color:var(--ifix-blue) !important;
  border-color:var(--ifix-blue) !important;transform:translateY(-3px) !important;
  box-shadow:0 12px 26px rgba(26,110,201,.18) !important;
}
html body .ifix-form-submit{ width:100% !important; }
html body .ifix-btn-primary svg,html body .ifix-btn-secondary svg,
html body .ifix-fs-btn svg{ transition:transform .3s var(--ifix-ease) !important; }
html body .ifix-btn-primary:hover svg,html body .ifix-btn-secondary:hover svg,
html body .ifix-fs-btn:hover svg{ transform:translateX(3px) !important; }

/* ---------- TRUST BAR ---------- */
html body .ifix-trust-item{
  font-size:15px !important;font-weight:600 !important;letter-spacing:.005em !important;
  transition:color .25s var(--ifix-ease),transform .25s var(--ifix-ease),opacity .25s var(--ifix-ease) !important;
}
html body .ifix-trust-item:hover{ transform:translateY(-2px) !important;opacity:.85 !important; }
html body .ifix-trust-item svg,html body .ifix-trust-item i{ transition:transform .3s var(--ifix-ease) !important; }
html body .ifix-trust-item:hover svg,html body .ifix-trust-item:hover i{ transform:scale(1.15) !important; }

/* ---------- STATS ---------- */
html body .ifix-stats-title{
  font-size:clamp(28px,3.6vw,46px) !important;font-weight:800 !important;
  line-height:1.18 !important;letter-spacing:-.02em !important;color:var(--ifix-ink) !important;
}
html body .ifix-stat-card{
  border:1px solid #eef2f7 !important;border-radius:16px !important;
  box-shadow:0 2px 10px rgba(15,23,42,.05) !important;
  transition:transform .3s var(--ifix-ease),box-shadow .3s var(--ifix-ease),border-color .3s var(--ifix-ease) !important;
  will-change:transform;
}
html body .ifix-stat-card:hover{
  transform:translateY(-8px) !important;
  border-color:rgba(26,110,201,.35) !important;
  box-shadow:0 20px 40px rgba(26,110,201,.16) !important;
}
html body .ifix-stat-icon{ transition:transform .35s var(--ifix-ease) !important; }
html body .ifix-stat-card:hover .ifix-stat-icon{ transform:scale(1.15) translateY(-2px) !important; }
html body .ifix-stat-number{
  font-size:clamp(26px,2.6vw,36px) !important;font-weight:800 !important;
  line-height:1.1 !important;letter-spacing:-.025em !important;color:var(--ifix-blue) !important;
}
html body .ifix-stat-label{
  font-size:14px !important;font-weight:500 !important;line-height:1.5 !important;color:var(--ifix-muted) !important;
}

/* ---------- FEATURE SECTION ---------- */
html body .ifix-fs-badge{
  font-size:13px !important;font-weight:700 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;line-height:1 !important;
}
html body .ifix-fs-heading{
  font-size:clamp(30px,4vw,50px) !important;font-weight:800 !important;
  line-height:1.14 !important;letter-spacing:-.025em !important;color:var(--ifix-ink) !important;
}
html body .ifix-fs-desc{
  font-size:17px !important;font-weight:400 !important;line-height:1.75 !important;color:var(--ifix-muted) !important;
}
html body .ifix-fs-list li{
  font-size:16px !important;font-weight:500 !important;line-height:1.6 !important;color:#334155 !important;
  transition:transform .25s var(--ifix-ease),color .25s var(--ifix-ease) !important;
}
html body .ifix-fs-list li:hover{ transform:translateX(5px) !important;color:var(--ifix-ink) !important; }
html body .ifix-fs-list li svg,html body .ifix-fs-list li i{ transition:transform .3s var(--ifix-ease) !important; }
html body .ifix-fs-list li:hover svg,html body .ifix-fs-list li:hover i{ transform:scale(1.15) !important; }
html body .ifix-fs-img-wrap{ overflow:hidden !important; }
html body .ifix-fs-img{ transition:transform .55s var(--ifix-ease) !important;will-change:transform; }
html body .ifix-fs-img-wrap:hover .ifix-fs-img{ transform:scale(1.06) !important; }

/* ---------- REDUCED MOTION ---------- */
@media (prefers-reduced-motion:reduce){
  html body [class*="ifix-"],html body [class*="ifix-"] *{ transition:none !important; }
  html body .ifix-btn-primary:hover,html body .ifix-btn-secondary:hover,
  html body .ifix-fs-btn:hover,html body .ifix-form-submit:hover,
  html body .ifix-stat-card:hover,html body .ifix-fs-list li:hover{ transform:none !important; }
}

/* ---------- MOBILE ---------- */
@media (max-width:767px){
  html body .ifix-btn-primary,html body .ifix-btn-secondary,
  html body .ifix-form-submit,html body .ifix-fs-btn{
    font-size:15px !important;padding:15px 26px !important;width:100% !important;
  }
  html body .ifix-fs-desc,html body .ifix-hero-desc{ font-size:16px !important; }
  html body .ifix-trust-item{ font-size:14px !important; }
}


/* ============ SERVICES GRID WIDGET ============ */
html body .ifix-sg{
  background:var(--sg-bg,#f5f8fc);
  padding:var(--sg-pad,90px) 20px;
}
html body .ifix-sg-inner{ max-width:1200px;margin:0 auto; }

html body .ifix-sg-head{ margin:0 0 46px;text-align:center; }
html body .ifix-sg--left .ifix-sg-head{ text-align:left; }

html body .ifix-sg-badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px !important;font-weight:700 !important;
  letter-spacing:.1em !important;text-transform:uppercase !important;line-height:1 !important;
  color:var(--sg-accent,#1a6ec9);
  background:#fff;
  background:color-mix(in srgb,var(--sg-accent,#1a6ec9) 9%,#fff);
  border:1px solid color-mix(in srgb,var(--sg-accent,#1a6ec9) 18%,transparent);
  padding:10px 20px;border-radius:999px;margin:0 0 20px;
}
html body .ifix-sg-badge svg,
html body .ifix-sg-badge i{ width:14px;height:14px;font-size:13px;line-height:1;fill:currentColor; }

html body .ifix-sg-heading{
  font-size:clamp(28px,3.6vw,46px) !important;font-weight:800 !important;
  line-height:1.16 !important;letter-spacing:-.025em !important;
  color:var(--ifix-ink,#0f172a) !important;margin:0 0 16px !important;
}
html body .ifix-sg-sub{
  font-size:16px !important;font-weight:400 !important;line-height:1.7 !important;
  color:var(--ifix-muted,#64748b) !important;
  max-width:640px;margin:0 auto !important;
}
html body .ifix-sg--left .ifix-sg-sub{ margin:0 !important; }

html body .ifix-sg-grid{
  display:grid;
  grid-template-columns:repeat(var(--sg-cols,2),minmax(0,1fr));
  gap:var(--sg-gap,26px);
  align-items:start;
}

html body .ifix-sg-card{
  background:var(--sg-card-bg,#fff);
  border:1px solid #e8eef6;
  border-radius:16px;
  padding:32px;
  box-shadow:0 2px 10px rgba(15,23,42,.05);
  transition:transform .3s var(--ifix-ease,cubic-bezier(.4,0,.2,1)),
             box-shadow .3s var(--ifix-ease,cubic-bezier(.4,0,.2,1)),
             border-color .3s var(--ifix-ease,cubic-bezier(.4,0,.2,1));
  will-change:transform;
  height:100%;
}
html body .ifix-sg-card:hover{
  transform:translateY(-6px);
  border-color:color-mix(in srgb,var(--sg-accent,#1a6ec9) 35%,transparent);
  box-shadow:0 20px 42px color-mix(in srgb,var(--sg-accent,#1a6ec9) 16%,transparent);
}

html body .ifix-sg-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:50px;height:50px;border-radius:13px;
  color:var(--sg-accent,#1a6ec9);
  background:#eaf2fd;
  background:color-mix(in srgb,var(--sg-accent,#1a6ec9) 11%,#fff);
  transition:transform .35s var(--ifix-ease,cubic-bezier(.4,0,.2,1)),background-color .35s var(--ifix-ease,cubic-bezier(.4,0,.2,1));
}
html body .ifix-sg-icon svg{ width:21px;height:21px;fill:currentColor; }
html body .ifix-sg-icon i{ font-size:20px;line-height:1; }
html body .ifix-sg-card:hover .ifix-sg-icon{
  transform:scale(1.08) rotate(-3deg);
  background:color-mix(in srgb,var(--sg-accent,#1a6ec9) 18%,#fff);
}

html body .ifix-sg-card-title{
  font-size:19px !important;font-weight:700 !important;
  line-height:1.35 !important;letter-spacing:-.01em !important;
  color:var(--ifix-ink,#0f172a) !important;
  margin:20px 0 14px !important;
}
html body .ifix-sg-card-text p{
  font-size:15px !important;font-weight:400 !important;line-height:1.75 !important;
  color:var(--ifix-muted,#64748b) !important;margin:0 0 14px !important;
}
html body .ifix-sg-card-text p:last-child{ margin-bottom:0 !important; }
html body .ifix-sg-card-text a{
  color:var(--sg-accent,#1a6ec9) !important;text-decoration:none !important;
  border-bottom:1px solid transparent;transition:border-color .2s ease;
}
html body .ifix-sg-card-text a:hover{ border-bottom-color:currentColor; }
html body .ifix-sg-card-text ul{ margin:0 0 14px;padding-left:20px; }
html body .ifix-sg-card-text li{
  font-size:15px !important;line-height:1.7 !important;color:var(--ifix-muted,#64748b) !important;
}

html body .ifix-sg-tags{ display:flex;flex-wrap:wrap;gap:8px;margin-top:20px; }
html body .ifix-sg-tag{
  font-size:12px !important;font-weight:600 !important;line-height:1 !important;
  letter-spacing:.01em !important;
  color:var(--sg-accent,#1a6ec9);
  background:#eaf2fd;
  background:color-mix(in srgb,var(--sg-accent,#1a6ec9) 10%,#fff);
  padding:8px 13px;border-radius:999px;white-space:nowrap;
  transition:background-color .25s var(--ifix-ease,cubic-bezier(.4,0,.2,1)),transform .25s var(--ifix-ease,cubic-bezier(.4,0,.2,1));
}
html body .ifix-sg-tag:hover{
  background:color-mix(in srgb,var(--sg-accent,#1a6ec9) 18%,#fff);
  transform:translateY(-2px);
}

html body .ifix-sg-link{
  display:inline-flex;align-items:center;gap:7px;margin-top:20px;
  font-size:15px !important;font-weight:700 !important;line-height:1 !important;
  color:var(--sg-accent,#1a6ec9) !important;text-decoration:none !important;
  transition:gap .25s var(--ifix-ease,cubic-bezier(.4,0,.2,1)),opacity .25s var(--ifix-ease,cubic-bezier(.4,0,.2,1));
}
html body .ifix-sg-link svg{ transition:transform .25s var(--ifix-ease,cubic-bezier(.4,0,.2,1)); }
html body .ifix-sg-link:hover{ gap:11px;opacity:.85; }
html body .ifix-sg-link:hover svg{ transform:translateX(2px); }

@media (max-width:1024px){
  html body .ifix-sg-grid{ grid-template-columns:repeat(var(--sg-cols-t,1),minmax(0,1fr)); }
}
@media (max-width:767px){
  html body .ifix-sg{ padding:clamp(48px,10vw,70px) 18px; }
  html body .ifix-sg-grid{ grid-template-columns:repeat(var(--sg-cols-m,1),minmax(0,1fr)); }
  html body .ifix-sg-card{ padding:26px 22px; }
  html body .ifix-sg-head{ margin-bottom:32px; }
  html body .ifix-sg-card-title{ font-size:18px !important; }
}
@media (prefers-reduced-motion:reduce){
  html body .ifix-sg-card:hover,
  html body .ifix-sg-card:hover .ifix-sg-icon,
  html body .ifix-sg-tag:hover{ transform:none !important; }
}

/* ============================================================================
   IFIX V2 SECTIONS
   Issue Chips / Process Steps / Why Us / CTA Band / FAQ Accordion

   No !important anywhere below: Elementor's own control CSS is more
   specific, so every colour, size and spacing control overrides these.
   ========================================================================== */

/* ---------------------------------------------------------------- shared */
html body .ifix-v2{
  font-family:var(--ifix-font);
  box-sizing:border-box;
}
html body .ifix-v2 *,
html body .ifix-v2 *::before,
html body .ifix-v2 *::after{ box-sizing:border-box; }

.ifix-v2 ul,
.ifix-v2 ol{ list-style:none; margin:0; padding:0; }

.ifix-v2 .ifix-ic-inner,
.ifix-v2 .ifix-ps-inner,
.ifix-v2 .ifix-wu-inner,
.ifix-v2 .ifix-cta-inner,
.ifix-v2 .ifix-faq-inner{ margin-inline:auto; width:100%; position:relative; z-index:1; }

/* Shared badge pill */
.ifix-v2 .ifix-ic-badge,
.ifix-v2 .ifix-ps-badge,
.ifix-v2 .ifix-wu-badge,
.ifix-v2 .ifix-faq-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:700;
  line-height:1;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:10px 20px;
  border-radius:999px;
  border:1px solid transparent;
  margin:0 0 20px;
}
.ifix-v2 .ifix-ic-badge svg,
.ifix-v2 .ifix-ps-badge svg,
.ifix-v2 .ifix-wu-badge svg,
.ifix-v2 .ifix-faq-badge svg{ width:14px; height:14px; fill:currentColor; }
.ifix-v2 .ifix-ic-badge i,
.ifix-v2 .ifix-ps-badge i,
.ifix-v2 .ifix-wu-badge i,
.ifix-v2 .ifix-faq-badge i{ font-size:13px; line-height:1; }

/* Shared heading / sub-heading */
.ifix-v2 .ifix-ic-heading,
.ifix-v2 .ifix-ps-heading,
.ifix-v2 .ifix-wu-heading,
.ifix-v2 .ifix-faq-heading{
  font-size:clamp(28px, 3.6vw, 46px);
  font-weight:800;
  line-height:1.16;
  letter-spacing:-.025em;
  margin:0 0 16px;
}
.ifix-v2 .ifix-ic-sub,
.ifix-v2 .ifix-ps-sub,
.ifix-v2 .ifix-wu-sub,
.ifix-v2 .ifix-faq-sub{
  font-size:16px;
  font-weight:400;
  line-height:1.7;
  margin:0;
}
/* --head-mi is set by each widget's alignment control, so a left-aligned
   header keeps its sub-heading flush left instead of centred. */
.ifix-v2 .ifix-ic-sub,
.ifix-v2 .ifix-ps-sub,
.ifix-v2 .ifix-wu-sub,
.ifix-v2 .ifix-faq-sub{ margin-inline:var(--head-mi, auto auto); }

.ifix-v2 .ifix-ic-head,
.ifix-v2 .ifix-ps-head,
.ifix-v2 .ifix-wu-head,
.ifix-v2 .ifix-faq-head{ text-align:center; }

/* -------------------------------------------------------- scroll reveal */
.ifix-reveal{ opacity:1; }

html.ifix-js .ifix-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s var(--ifix-ease), transform .55s var(--ifix-ease);
  transition-delay:var(--rv-delay, 0ms);
  will-change:opacity, transform;
}
html.ifix-js .ifix-reveal.is-in{
  opacity:1;
  transform:none;
}

/* Never hide anything inside the Elementor editor */
body.elementor-editor-active .ifix-reveal,
body.elementor-editor-preview .ifix-reveal{ opacity:1; transform:none; }

/* ==========================================================================
   1. ISSUE CHIPS
   ========================================================================== */
.ifix-v2.ifix-ic{ position:relative; }

.ifix-v2 .ifix-ic-list{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}

.ifix-v2 .ifix-ic-item{ display:flex; }

.ifix-v2 .ifix-ic-chip{
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  padding:16px 18px;
  border:1px solid #e4ebf4;
  border-radius:12px;
  background:#fff;
  color:#334155;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  transition:transform .25s var(--ifix-ease),
             background-color .25s var(--ifix-ease),
             border-color .25s var(--ifix-ease),
             color .25s var(--ifix-ease),
             box-shadow .25s var(--ifix-ease);
  will-change:transform;
}

.ifix-v2 .ifix-ic-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
  color:var(--ic-icon, #475569);
  transition:transform .3s var(--ifix-ease), color .25s var(--ifix-ease);
}
.ifix-v2 .ifix-ic-icon svg{ width:16px; height:16px; fill:currentColor; display:block; }

.ifix-v2 .ifix-ic-chip:hover .ifix-ic-icon{ transform:scale(1.14); }

.ifix-v2 .ifix-ic-text{ display:block; }

a.ifix-ic-chip:focus-visible{
  outline:3px solid rgba(26,110,201,.45);
  outline-offset:2px;
}

/* ==========================================================================
   2. PROCESS STEPS
   ========================================================================== */
.ifix-v2.ifix-ps{
  position:relative;
  overflow:hidden;
  --ps-marker:96px;
  --ps-line:rgba(255,255,255,.38);
  --ps-line-style:dashed;
  --ps-dot:rgba(255,255,255,.06);
  --ps-dot-size:62px;
  --ps-col-gap:24px;
}

.ifix-v2.ifix-ps.has-pattern::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at center, var(--ps-dot) 36%, transparent 37%);
  background-size:var(--ps-dot-size) var(--ps-dot-size);
  pointer-events:none;
  z-index:0;
}

.ifix-v2 .ifix-ps-steps{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  column-gap:24px;
  row-gap:46px;
  counter-reset:ifix-step;
}

.ifix-v2 .ifix-ps-step{
  position:relative;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:var(--ps-align, center);
}

/* marker + connector */
.ifix-v2 .ifix-ps-marker-wrap{
  position:relative;
  width:100%;
  display:flex;
  justify-content:var(--ps-just, center);
  margin-bottom:24px;
}

.ifix-v2.has-connector .ifix-ps-marker-wrap::before{
  content:"";
  position:absolute;
  top:calc(var(--ps-marker) / 2);
  left:calc(-1 * var(--ps-col-gap) / 2 - 1px);
  right:calc(-1 * var(--ps-col-gap) / 2 - 1px);
  border-top:2px var(--ps-line-style) var(--ps-line);
  transform:translateY(-1px);
  z-index:0;
}
.ifix-v2.has-connector .ifix-ps-step:first-child .ifix-ps-marker-wrap::before{ left:50%; }
.ifix-v2.has-connector .ifix-ps-step:last-child .ifix-ps-marker-wrap::before{ right:50%; }

.ifix-v2 .ifix-ps-marker{
  position:relative;
  z-index:1;
  width:var(--ps-marker);
  height:var(--ps-marker);
  border-radius:50%;
  border:2px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:transform .35s var(--ifix-ease),
             background-color .35s var(--ifix-ease),
             border-color .35s var(--ifix-ease),
             box-shadow .35s var(--ifix-ease);
  will-change:transform;
}

/* soft outer ring */
.ifix-v2 .ifix-ps-marker::before{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  transition:inset .35s var(--ifix-ease), opacity .35s var(--ifix-ease);
  pointer-events:none;
}

.ifix-v2.has-pulse .ifix-ps-marker::after{
  content:"";
  position:absolute;
  inset:-9px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.3);
  opacity:0;
  pointer-events:none;
}
.ifix-v2.has-pulse .ifix-reveal.is-in .ifix-ps-marker::after{
  animation:ifix-ps-pulse 2.8s var(--ifix-ease) infinite;
  animation-delay:var(--rv-delay, 0ms);
}
@keyframes ifix-ps-pulse{
  0%   { opacity:.65; transform:scale(1); }
  70%  { opacity:0;   transform:scale(1.35); }
  100% { opacity:0;   transform:scale(1.35); }
}

.ifix-v2 .ifix-ps-step:hover .ifix-ps-marker{
  transform:translateY(-5px) scale(1.04);
  box-shadow:0 16px 34px rgba(5,30,64,.3);
}
.ifix-v2 .ifix-ps-step:hover .ifix-ps-marker::before{ inset:-14px; opacity:.7; }

.ifix-v2 .ifix-ps-num{
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  line-height:1;
  color:rgba(255,255,255,.78);
  transition:color .3s var(--ifix-ease);
}

.ifix-v2 .ifix-ps-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  line-height:1;
  color:#fff;
  transition:transform .35s var(--ifix-ease), color .3s var(--ifix-ease);
}
.ifix-v2 .ifix-ps-icon svg{ width:22px; height:22px; fill:currentColor; display:block; }
.ifix-v2 .ifix-ps-step:hover .ifix-ps-icon{ transform:translateY(-2px) scale(1.1); }

.ifix-v2 .ifix-ps-title{
  font-size:19px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:-.01em;
  color:#fff;
  margin:0 0 10px;
}

.ifix-v2 .ifix-ps-text{
  font-size:15px;
  font-weight:400;
  line-height:1.65;
  color:rgba(255,255,255,.82);
  margin:0;
  max-width:var(--ps-maxw, 260px);
}

/* ==========================================================================
   3. WHY US GRID
   ========================================================================== */
.ifix-v2.ifix-wu{ position:relative; }

.ifix-v2 .ifix-wu-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.ifix-v2 .ifix-wu-card{
  position:relative;
  display:block;
  height:100%;
  padding:30px 28px;
  border:1px solid #e8eef7;
  border-radius:16px;
  background:#fff;
  text-decoration:none;
  overflow:hidden;
  transition:transform .3s var(--ifix-ease),
             border-color .3s var(--ifix-ease),
             background-color .3s var(--ifix-ease),
             box-shadow .3s var(--ifix-ease);
  will-change:transform;
}

/* accent bar that slides in along the top edge */
.ifix-v2.has-accent-bar .ifix-wu-card::after{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%;
  height:3px;
  background:#1a6ec9;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .4s var(--ifix-ease);
}
.ifix-v2.has-accent-bar .ifix-wu-card:hover::after{ transform:scaleX(1); }

.ifix-v2 .ifix-wu-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  margin-bottom:20px;
  border-radius:13px;
  background:#e9f1fc;
  color:#1a6ec9;
  font-size:20px;
  line-height:1;
  transition:transform .4s var(--ifix-ease),
             background-color .3s var(--ifix-ease),
             color .3s var(--ifix-ease);
  will-change:transform;
}
.ifix-v2 .ifix-wu-icon svg{ width:20px; height:20px; fill:currentColor; display:block; }

.ifix-v2.tile-pop  .ifix-wu-card:hover .ifix-wu-icon{ transform:scale(1.12) translateY(-2px); }
.ifix-v2.tile-tilt .ifix-wu-card:hover .ifix-wu-icon{ transform:rotate(-8deg) scale(1.08); }
.ifix-v2.tile-spin .ifix-wu-card:hover .ifix-wu-icon{ transform:rotateY(180deg); }

.ifix-v2 .ifix-wu-title{
  font-size:18px;
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.01em;
  color:#0f172a;
  margin:0 0 10px;
  transition:color .25s var(--ifix-ease);
}

.ifix-v2 .ifix-wu-text{
  font-size:15px;
  font-weight:400;
  line-height:1.7;
  color:#64748b;
  margin:0;
}

a.ifix-wu-card:focus-visible{
  outline:3px solid rgba(26,110,201,.45);
  outline-offset:2px;
}

/* ==========================================================================
   4. CTA BAND
   ========================================================================== */
.ifix-v2.ifix-cta{
  position:relative;
  overflow:hidden;
  --cta-dot:rgba(255,255,255,.06);
  --cta-dot-size:62px;
}

.ifix-v2.ifix-cta.has-pattern::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:radial-gradient(circle at center, var(--cta-dot) 36%, transparent 37%);
  background-size:var(--cta-dot-size) var(--cta-dot-size);
  pointer-events:none;
  z-index:0;
}

.ifix-v2 .ifix-cta-main{
  display:flex;
  gap:28px;
}

.ifix-v2 .ifix-cta-copy{ min-width:0; }

.ifix-v2 .ifix-cta-heading{
  font-size:clamp(24px, 3vw, 40px);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.025em;
  color:#fff;
  margin:0 0 12px;
}

.ifix-v2 .ifix-cta-text{
  font-size:16px;
  font-weight:400;
  line-height:1.7;
  color:rgba(255,255,255,.86);
  margin:0;
}

.ifix-v2 .ifix-cta-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  flex:0 0 auto;
}

/* layout: centred block */
.ifix-v2.ifix-cta--centered .ifix-cta-main{
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.ifix-v2.ifix-cta--centered .ifix-cta-text{ margin-inline:auto; }
.ifix-v2.ifix-cta--centered .ifix-cta-actions{ justify-content:center; margin-top:4px; }

/* layout: inline bar */
.ifix-v2.ifix-cta--inline .ifix-cta-main{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
}
.ifix-v2.ifix-cta--inline .ifix-cta-heading{ font-size:clamp(22px, 2.2vw, 30px); }
.ifix-v2.ifix-cta--inline .ifix-cta-text{ font-size:15px; }

/* buttons */
.ifix-v2 .ifix-cta-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:16px 30px;
  border:2px solid transparent;
  border-radius:10px;
  font-size:15px;
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
  transition:transform .25s var(--ifix-ease),
             background-color .25s var(--ifix-ease),
             border-color .25s var(--ifix-ease),
             color .25s var(--ifix-ease),
             box-shadow .25s var(--ifix-ease);
  will-change:transform;
}

.ifix-v2 .ifix-cta-btn--primary{
  background:#fff;
  border-color:#fff;
  color:#0d3a72;
  box-shadow:0 8px 22px rgba(3,24,54,.22);
}
.ifix-v2 .ifix-cta-btn--primary:hover{ box-shadow:0 16px 32px rgba(3,24,54,.3); }

.ifix-v2 .ifix-cta-btn--secondary{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.5);
  color:#fff;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.ifix-v2 .ifix-cta-btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  transition:transform .3s var(--ifix-ease);
}
.ifix-v2 .ifix-cta-btn-icon svg{ width:14px; height:14px; fill:currentColor; display:block; }
.ifix-v2 .ifix-cta-btn:hover .ifix-cta-btn-icon{ transform:scale(1.14); }

/* shine sweep */
.ifix-v2.has-shine .ifix-cta-btn::before{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:60%;
  height:100%;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-18deg);
  pointer-events:none;
}
.ifix-v2.has-shine .ifix-cta-btn:hover::before{ animation:ifix-cta-shine .75s var(--ifix-ease); }
.ifix-v2.has-shine .ifix-cta-btn--primary::before{
  background:linear-gradient(100deg, transparent, rgba(26,110,201,.22), transparent);
}
@keyframes ifix-cta-shine{
  from { left:-120%; }
  to   { left:130%; }
}

.ifix-v2 .ifix-cta-btn:focus-visible{
  outline:3px solid rgba(255,255,255,.7);
  outline-offset:3px;
}

/* contact row */
.ifix-v2 .ifix-cta-contact{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:30px;
  margin-top:34px;
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.9);
  border-top:1px solid transparent;
}
.ifix-v2.has-contact-divider .ifix-cta-contact{
  border-top-color:rgba(255,255,255,.22);
  padding-top:28px;
}
.ifix-v2.ifix-cta--inline .ifix-cta-contact{ justify-content:flex-start; }

.ifix-v2 .ifix-cta-contact-item{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:inherit;
  text-decoration:none;
  transition:color .25s var(--ifix-ease), transform .25s var(--ifix-ease);
}
.ifix-v2 .ifix-cta-contact-item:hover{ transform:translateY(-2px); }

.ifix-v2 .ifix-cta-contact-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  line-height:1;
  opacity:.85;
  transition:transform .3s var(--ifix-ease), opacity .25s var(--ifix-ease);
}
.ifix-v2 .ifix-cta-contact-icon svg{ width:14px; height:14px; fill:currentColor; display:block; }
.ifix-v2 .ifix-cta-contact-item:hover .ifix-cta-contact-icon{ transform:scale(1.15); opacity:1; }

/* ==========================================================================
   5. FAQ ACCORDION
   ========================================================================== */
.ifix-v2.ifix-faq{
  position:relative;
  interpolate-size:allow-keywords;
}

.ifix-v2 .ifix-faq-list{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:start;
}

.ifix-v2 .ifix-faq-item{
  border:1px solid #e4ebf4;
  border-radius:13px;
  background:#f7fafd;
  overflow:hidden;
  transition:background-color .25s var(--ifix-ease),
             border-color .25s var(--ifix-ease),
             box-shadow .25s var(--ifix-ease);
}
.ifix-v2 .ifix-faq-item[open]{ box-shadow:0 10px 28px rgba(15,23,42,.07); }

/* question row */
.ifix-v2 .ifix-faq-q{
  display:flex;
  align-items:center;
  gap:12px;
  padding:20px 22px;
  margin:0;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
  color:#0f172a;
  cursor:pointer;
  list-style:none;
  user-select:none;
  transition:color .25s var(--ifix-ease);
}
.ifix-v2 .ifix-faq-q::-webkit-details-marker{ display:none; }
.ifix-v2 .ifix-faq-q::marker{ content:""; }

.ifix-v2 .ifix-faq-q:focus-visible{
  outline:3px solid rgba(26,110,201,.45);
  outline-offset:-3px;
  border-radius:11px;
}

.ifix-v2 .ifix-faq-q-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-size:16px;
  line-height:1;
  color:currentColor;
  opacity:.75;
}
.ifix-v2 .ifix-faq-q-icon svg{ width:16px; height:16px; fill:currentColor; display:block; }

.ifix-v2 .ifix-faq-q-text{ flex:1 1 auto; min-width:0; }

/* toggle icon */
.ifix-v2 .ifix-faq-ico{
  position:relative;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#1a6ec9;
  background:transparent;
  transition:background-color .3s var(--ifix-ease),
             color .3s var(--ifix-ease),
             transform .35s var(--ifix-ease);
}
.ifix-v2.ico-boxed .ifix-faq-ico{ background:#e7f0fc; }

/* plus / minus */
.ifix-v2.ico-plus .ifix-faq-ico::before,
.ifix-v2.ico-plus .ifix-faq-ico::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:12px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transform:translate(-50%, -50%);
  transition:transform .32s var(--ifix-ease), opacity .32s var(--ifix-ease);
}
.ifix-v2.ico-plus .ifix-faq-ico::after{ transform:translate(-50%, -50%) rotate(90deg); }
.ifix-v2.ico-plus .ifix-faq-item[open] .ifix-faq-ico::after{ transform:translate(-50%, -50%) rotate(0deg); opacity:0; }

/* chevron */
.ifix-v2.ico-chevron .ifix-faq-ico::before{
  content:"";
  position:absolute;
  top:calc(50% - 2px);
  left:50%;
  width:8px;
  height:8px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  border-radius:1px;
  transform:translate(-50%, -50%) rotate(45deg);
  transition:transform .32s var(--ifix-ease);
}
.ifix-v2.ico-chevron .ifix-faq-item[open] .ifix-faq-ico::before{
  transform:translate(-50%, -25%) rotate(225deg);
}

/* answer */
.ifix-v2 .ifix-faq-a-in{
  padding:0 22px 22px;
  font-size:15px;
  font-weight:400;
  line-height:1.75;
  color:#64748b;
}
.ifix-v2 .ifix-faq-a-in > *:first-child{ margin-top:0; }
.ifix-v2 .ifix-faq-a-in > *:last-child{ margin-bottom:0; }
.ifix-v2 .ifix-faq-a-in p{ margin:0 0 12px; font-size:inherit; line-height:inherit; color:inherit; }
.ifix-v2 .ifix-faq-a-in ul{ list-style:disc; padding-left:20px; margin:0 0 12px; }
.ifix-v2 .ifix-faq-a-in ol{ list-style:decimal; padding-left:20px; margin:0 0 12px; }
.ifix-v2 .ifix-faq-a-in li{ margin:0 0 6px; }
.ifix-v2 .ifix-faq-a-in a{ color:#1a6ec9; text-decoration:underline; text-underline-offset:2px; }

/* Animated open/close where the browser supports it. Everywhere else the
   accordion still opens and closes, just without the slide. */
@supports selector(::details-content){
  .ifix-v2 .ifix-faq-item::details-content{
    block-size:0;
    overflow:clip;
    opacity:0;
    transition:block-size .34s var(--ifix-ease),
               opacity .28s var(--ifix-ease),
               content-visibility .34s allow-discrete;
  }
  .ifix-v2 .ifix-faq-item[open]::details-content{
    block-size:auto;
    opacity:1;
  }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  /* a wrapped grid makes the horizontal connector meaningless */
  .ifix-v2.has-connector .ifix-ps-marker-wrap::before{ display:none; }

  .ifix-v2 .ifix-ps-text{ max-width:none; }
}

@media (max-width:1024px){
  .ifix-v2 .ifix-ps-step{ align-items:center; }
  .ifix-v2 .ifix-ps-marker-wrap{ justify-content:center; }
}

@media (max-width:880px){
  .ifix-v2.ifix-cta--inline .ifix-cta-main{
    flex-direction:column;
    align-items:flex-start;
  }
  .ifix-v2.ifix-cta--inline .ifix-cta-actions{ width:100%; }
}

@media (max-width:767px){
  .ifix-v2 .ifix-ic-heading,
  .ifix-v2 .ifix-ps-heading,
  .ifix-v2 .ifix-wu-heading,
  .ifix-v2 .ifix-faq-heading{ letter-spacing:-.02em; }

  .ifix-v2 .ifix-ic-sub,
  .ifix-v2 .ifix-ps-sub,
  .ifix-v2 .ifix-wu-sub,
  .ifix-v2 .ifix-faq-sub{ font-size:15px; }

  .ifix-v2 .ifix-ic-chip{ font-size:14px; }

  .ifix-v2 .ifix-ps-step{ align-items:center; text-align:center; }
  .ifix-v2 .ifix-ps-marker-wrap{ justify-content:center; margin-bottom:18px; }
  .ifix-v2 .ifix-ps-title{ font-size:18px; }
  .ifix-v2 .ifix-ps-text{ font-size:14.5px; }

  .ifix-v2 .ifix-wu-card{ padding:24px 20px; }
  .ifix-v2 .ifix-wu-title{ font-size:17px; }

  .ifix-v2 .ifix-cta-actions{ width:100%; }
  .ifix-v2 .ifix-cta-btn{ flex:1 1 100%; }
  .ifix-v2 .ifix-cta-contact{ gap:14px 20px; font-size:13.5px; }
  .ifix-v2.ifix-cta--inline .ifix-cta-contact{ justify-content:center; }

  .ifix-v2 .ifix-faq-q{ font-size:15px; gap:10px; }
  .ifix-v2 .ifix-faq-a-in{ font-size:14.5px; }
}

@media (max-width:420px){
  .ifix-v2 .ifix-ic-badge,
  .ifix-v2 .ifix-ps-badge,
  .ifix-v2 .ifix-wu-badge,
  .ifix-v2 .ifix-faq-badge{ font-size:11.5px; padding:9px 16px; letter-spacing:.08em; }
}

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion:reduce){
  html.ifix-js .ifix-reveal{ opacity:1; transform:none; transition:none; }

  .ifix-v2 *,
  .ifix-v2 *::before,
  .ifix-v2 *::after{
    transition-duration:.01ms;
    animation-duration:.01ms;
    animation-iteration-count:1;
  }

  .ifix-v2 .ifix-ic-chip:hover,
  .ifix-v2 .ifix-wu-card:hover,
  .ifix-v2 .ifix-cta-btn:hover,
  .ifix-v2 .ifix-cta-contact-item:hover,
  .ifix-v2 .ifix-ps-step:hover .ifix-ps-marker{ transform:none; }

  .ifix-v2.has-pulse .ifix-reveal.is-in .ifix-ps-marker::after{ animation:none; opacity:0; }
  .ifix-v2.has-shine .ifix-cta-btn:hover::before{ animation:none; }
}
