/* ============================================================
   JoomConsultant — Refined SaaS redesign
   ============================================================ */

:root {
  --brand-blue: #269DD8;
  --brand-blue-ink: #1a7fb0;
  --brand-blue-50: #eaf6fc;
  --brand-blue-100: #d3edf8;
  --brand-orange: #F6921E;
  --brand-orange-ink: #d97b09;
  --brand-orange-50: #fff3e2;

  --bg: #fafbfc;
  --bg-tint: #eef2f6;   /* hero cool wash */
  --bg-band: #f3f5f8;   /* alt section */
  --surface: #ffffff;
  --surface-2: #fafbfc;

  --ink: #0a121e;
  --ink-2: #1f2a3a;
  --ink-3: #1f2a3a;
  --ink-4: #7b8492;
  --border: #e3e6eb;
  --border-strong: #cdd2da;

  --shadow-sm: 0 1px 2px rgba(20, 30, 50, 0.04);
  --shadow-md: 0 6px 16px -8px rgba(20, 30, 50, 0.12), 0 2px 4px rgba(20, 30, 50, 0.04);
  --shadow-lg: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 12px -6px rgba(20, 30, 50, 0.08);

  --radius-sm: 4px;
  --radius: 8px;
  --radius-lg: 10px;
  --radius-xl: 14px;

  --container: 1240px;
  --container-narrow: 960px;

  --font-display: 'Inter Tight', 'Inter', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--bg);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
img, svg { display: block; max-width: 100%; }
button { font-family: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
ul, ol { margin: 0; padding: 0; list-style: none; }

/* ---------- Type ---------- */
h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--ink);
  /* margin: 0; */
  text-wrap: balance;
}
h1 { font-size: clamp(36px, 4.8vw, 64px); line-height: 1.02; letter-spacing: -0.035em; font-weight: 700; }
h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.08; letter-spacing: -0.03em; }
h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.22; letter-spacing: -0.02em; }
h4 { font-size: 18px; line-height: 1.3; }
p { 
  /* margin: 0;  */
  /* color: var(--ink-2);  */
}
.lede { font-size: 18px; line-height: 1.55; color: var(--ink-2); text-wrap: pretty; }

.accent-blue { color: var(--brand-blue); }
.accent-blue-underline {
  color: var(--brand-blue);
  position: relative;
  display: inline-block;
  padding: 0 2px;
}
.accent-blue-underline::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 2px;
  height: 8px;
  background: var(--brand-orange);
  opacity: 0.25;
  z-index: -1;
}

.eyebrow {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--brand-orange);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.eyebrow::before {
  content: "";
  width: 28px;
  height: 1.5px;
  background: currentColor;
  display: inline-block;
}

/* ---------- Layout ---------- */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
.container-narrow {
  width: 100%;
  max-width: var(--container-narrow);
  margin: 0 auto;
  padding: 0 24px;
}
section { padding: 88px 0; }
section.tight { padding: 64px 0; }
section.compact { padding: 48px 0; }

.section-header {
  text-align: center;
  margin-bottom: 64px;
  max-width: 760px;
  margin-inline: auto;
}
.section-header .eyebrow { margin-bottom: 18px; }
.section-header p { margin-top: 16px; }

.bg-tint { background: var(--bg-tint); }
.bg-band { background: var(--bg-band); }
.bg-ink { background: var(--ink); color: #fff; }
.bg-blue { background: var(--brand-blue); color: #fff; }


/* ---------- Buttons (refined: subtle curves + shadow) ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 24px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14.5px;
  border: 1px solid transparent;
  transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1), background 200ms ease, box-shadow 220ms ease, color 200ms ease, border-color 200ms ease;
  /* white-space: nowrap; */
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.005em;
  position: relative;
  isolation: isolate;
  cursor: pointer;
  text-transform: none;
}
.btn:active { transform: translateY(0.5px); }

.btn-primary {
  background: var(--brand-orange);
  color: #fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.22) inset,
    0 1px 2px rgba(214, 108, 8, 0.18),
    0 10px 24px -8px rgba(246, 146, 30, 0.5);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  color: var(--bs-btn-active-color);
  border-color: var(--brand-orange-ink);
  background: var(--brand-orange-ink);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.25) inset,
    0 1px 3px rgba(214, 108, 8, 0.22),
    0 16px 32px -10px rgba(246, 146, 30, 0.6);
  transform: translateY(-2px);
}
#sp-footer a.btn-primary {
    color: #fff;
}
#sp-footer a.btn-primary:hover,
#sp-footer a.btn-primary:focus,
#sp-footer a.btn-primary:active {
    color: #fff;
}
.btn-check:checked+.btn, 
.btn.active, 
.btn.show, 
.btn:first-child:active, 
:not(.btn-check)+.btn:active{
  color: var(--bs-btn-active-color);
  background-color: var(--brand-orange-ink);
  border-color: var(--brand-orange-ink);
}

.btn-secondary {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--border-strong);
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
}
.btn-secondary:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -12px rgba(14, 22, 32, 0.4);
}

.btn-blue {
  background: var(--brand-blue);
  color: #fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 10px 24px -8px rgba(26, 127, 176, 0.5);
}
.btn-blue:hover {
  background: var(--brand-blue-ink);
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -10px rgba(26, 127, 176, 0.6);
}

.btn-ghost {
  background: transparent;
  color: var(--ink);
}
.btn-ghost:hover { color: var(--brand-blue); }
.btn-lg { padding: 16px 30px; font-size: 15.5px; border-radius: 12px; }
.btn-sm { padding: 9px 16px; font-size: 13px; border-radius: 8px; }

.btn .arrow { transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1); }
.btn:hover .arrow { transform: translateX(4px); }

#sp-footer .footer-cta__actions .btn-whatsapp {
  border-color: #25D366;
  background: #25D366;
  color: #fff;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.2) inset,
    0 10px 24px -8px rgba(31, 163, 78, 0.5);
}
#sp-footer .footer-cta__actions .btn-whatsapp:hover,
#sp-footer .footer-cta__actions .btn-whatsapp:focus,
#sp-footer .footer-cta__actions .btn-whatsapp:active {
  border-color: #1FA34E;
  background: #1FA34E;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -10px rgba(31, 163, 78, 0.6);
}

/* Header CTA with avatar */
.btn-header {
  padding: 6px 18px 6px 18px;
  gap: 10px;
  font-size: 13.5px;
  border-radius: 999px;
}
.btn-header__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.6);
  display: block;
  flex-shrink: 0;
}
.header-cta .btn-header:hover,
.header-cta .btn-header:focus,
.header-cta .btn-header:focus-visible,
.header-cta .btn-header:active {
  color: var(--bs-btn-hover-color);
  border-color: var(--brand-orange-ink);
  background: var(--brand-orange-ink);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.25) inset, 0 1px 3px rgba(214, 108, 8, 0.22), 0 16px 32px -10px rgba(246, 146, 30, 0.6);
  transform: translateY(-2px);
}

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(251, 251, 252, 0.85);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 200ms ease, background 200ms ease;
}
.site-header.is-scrolled {
  border-bottom-color: var(--border);
  background: rgba(255, 255, 255, 0.92);
}
.site-header__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 72px;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.brand__logo {
  height: 40px;
  width: auto;
  display: block;
  object-fit: contain;
}
.brand__logo--footer {
  height: 48px;
}
.brand__mark {
  width: 32px; height: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 3px;
}
.brand__mark span {
  border-radius: 3px;
}
.brand__mark span:nth-child(1) { background: #F6921E; }
.brand__mark span:nth-child(2) { background: #269DD8; }
.brand__mark span:nth-child(3) { background: #56C271; }
.brand__mark span:nth-child(4) { background: #E94B5C; }
.brand__type {
  display: flex;
  flex-direction: column;
  line-height: 1;
}
.brand__type strong {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.brand__type small {
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.25em;
  color: var(--ink-3);
  margin-top: 2px;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  margin-right: auto;
}
.site-nav a, .site-nav button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink-2);
  background: transparent;
  border: 0;
  position: relative;
  transition: color 150ms ease, background 150ms ease;
  cursor: pointer;
}
.site-nav__icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  transition: transform 200ms ease;
}
.site-nav a:hover .site-nav__icon,
.site-nav button:hover .site-nav__icon { transform: scale(1.1); }
.site-nav a:hover, .site-nav button:hover { color: var(--brand-blue); background: var(--brand-blue-50); }
.site-nav a.is-active { color: var(--brand-blue); }
.site-nav a.is-active::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 2px;
  height: 2px; background: var(--brand-blue); border-radius: 2px;
}

.site-nav__group { position: relative; }
.site-nav__group > button .caret {
  width: 10px; height: 10px;
  transition: transform 200ms ease;
}
.site-nav__group:hover > button .caret { transform: rotate(180deg); }
.site-nav__menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translate(-50%, 4px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: 8px;
  min-width: 280px;
  transition: opacity 180ms ease, transform 180ms ease;
}
.site-nav__group:hover .site-nav__menu,
.site-nav__group:focus-within .site-nav__menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.site-nav__menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  color: var(--ink-2);
}
.site-nav__menu a:hover { background: var(--brand-blue-50); color: var(--brand-blue); }
.site-nav__menu a small {
  display: block;
  font-size: 12px;
  color: var(--ink-4);
  margin-top: 2px;
}
#sp-header{
  background: rgba(251, 251, 252, 0.85);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 200ms ease, background 200ms ease;
}
#sp-header.header-sticky{
  border-bottom-color: var(--border);
  background: rgba(255, 255, 255, 0.92);
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner{
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-lg);
  padding: 8px;
  transition: opacity 180ms ease, transform 180ms ease;
}
.header-cta { display: inline-flex; align-items: center; gap: 14px;}
.header-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ink);
  background: var(--bg-tint);
  border: 1px solid rgba(38,157,216,0.18);
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}
.menu-icons-16 {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: block;
    transition: transform 200ms ease;
}
.sp-megamenu-parent>li{vertical-align: middle;}
.sp-megamenu-parent>li>a{ 
  display: inline-flex;
  align-items: center;
  gap: 8px; 
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ink-2);
  transition: color 150ms ease, background 150ms ease;
  cursor: pointer;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.sp-megamenu-parent>li:last-child>a{padding: 8px 14px;}
.sp-megamenu-parent>li:hover>a,
.sp-megamenu-parent>li:focus>a,
.sp-megamenu-parent>li:active>a {
  color: var(--brand-blue);
  background: var(--brand-blue-50); 
}
.sp-megamenu-parent>li:hover>a .menu-icons-16{transform: scale(1.1);}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
    display: block;
    padding: 10px 12px;
    border-radius: 8px;
    background: transparent;
    border: 0;
    font-size: 14px;
    color: var(--ink-2);
    font-weight: 500;
    position: relative;
    transition: color 150ms ease, background 150ms ease;
    cursor: pointer;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:hover>a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:focus>a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:active>a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active>a {
    background: var(--brand-blue-50);
    color: var(--brand-blue);
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a:after{
  content: attr(title);
  display: block;
  font-size: 12px;
  color: var(--ink-4);
  margin-top: 8px;
}
.sp-megamenu-parent>li.active>a, .sp-megamenu-parent>li.active:hover>a{color: var(--brand-blue);}
.sp-megamenu-parent>li.active>a:before {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 2px;
    height: 2px;
    background: var(--brand-blue);
    border-radius: 2px;
}
/*  */
.offcanvas-menu .offcanvas-inner ul.menu>li a, .offcanvas-menu .offcanvas-inner ul.menu>li span{
  font-size: 14px;
    color: var(--ink-2);
    font-weight: 500;
}
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li{border: none; margin-bottom: 4px;}
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li>a, 
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li>.nav-header{opacity: 1; border-radius: 8px; background: transparent; border: 0;padding: 12px 14px; width: 100%; display: flex; gap: 8px; width: 100%; transition: color 150ms ease, background 150ms ease;}

.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:hover>a, 
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:focus>a,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:active>a,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li.active>a{
    background: var(--brand-blue-50);
    color: var(--brand-blue);
}
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:hover>a span, 
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:focus>a span,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li:active>a span,
.offcanvas-menu.border-menu .offcanvas-inner ul.menu>li.active>a span{color: var(--brand-blue);}

.offcanvas-menu .offcanvas-inner ul.menu>li>ul li a{
  display: block;
    padding: 10px 12px;
    border-radius: 8px;
    background: transparent;
    border: 0;
    font-size: 14px;
    color: var(--ink-2);
    font-weight: 500;
    position: relative;
    transition: color 150ms ease, background 150ms ease;
    cursor: pointer;
    text-align: left;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li:hover a,
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li:focus a
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li:active a,
.offcanvas-menu .offcanvas-inner ul.menu>li>ul li.active a{
  background: var(--brand-blue-50);
    color: var(--brand-blue);
}

body.ltr .offcanvas-menu.center-alignment .offcanvas-inner ul.menu>li ul>li>a {
    padding-left: 14px;
}
/*  */
.header-phone svg {
  width: 13px; height: 13px;
  padding: 5px;
  border-radius: 50%;
  background: var(--brand-blue);
  color: #fff;
  box-sizing: content-box;
}
.header-phone:hover {
  background: #fff;
  color: var(--brand-blue);
  border-color: var(--brand-blue);
  transform: translateY(-1px);
}

.mobile-toggle {
  display: none;
  width: 38px; height: 38px;
  border-radius: 8px;
  background: transparent;
  border: 1px solid var(--border-strong);
  align-items: center; justify-content: center;
}

/* ---------- Hero (Swiss precision) ---------- */
.hero {
  position: relative;
  padding: 128px 0 144px;
  background: var(--surface);
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid var(--border);
}
.hero__grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(38,157,216,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38,157,216,0.07) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
  z-index: -2;
  pointer-events: none;
}
/* Disable old blobs entirely */
.hero__blob { display: none; }

/* Corner crosshair brackets */
.hero::before, .hero::after {
  content: "";
  position: absolute;
  width: 80px;
  height: 80px;
  border-color: var(--brand-blue);
  opacity: 0.5;
  pointer-events: none;
  z-index: 1;
}
.hero::before {
  top: 32px; left: 32px;
  border-top: 2px solid; border-left: 2px solid;
}
.hero::after {
  bottom: 32px; right: 32px;
  border-bottom: 2px solid; border-right: 2px solid;
}

.hero__inner {
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}
.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 2px;
  background: var(--surface);
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--brand-blue);
  margin-bottom: 32px;
  text-transform: uppercase;
  box-shadow: var(--shadow-sm);
}
.hero__eyebrow::before {
  content: "";
  width: 6px; height: 6px;
  background: var(--brand-blue);
  display: inline-block;
}
.hero h1 {
  font-size: clamp(40px, 5.6vw, 72px);
  line-height: 1.02;
  letter-spacing: -0.04em;
  font-weight: 700;
}
.hero h1 .accent-blue-underline { white-space: nowrap; }
.hero__actions {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: 12px;
  margin-top: 44px;
}
@media (max-width: 720px) {
  .hero { padding: 80px 0 90px; }
  .hero::before, .hero::after { display: none; }
  #sp-header {height: 60px;}
  #offcanvas-toggler .burger-icon {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: transparent;
    border: 1px solid var(--border-strong);
    align-items: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .burger-icon>span {
    display: flex;
    width: 20px;
    height: 2px;
    background-color: #0a121e;
    margin: 2px 0;
    transition: background-color .3s ease-in, opacity .3s ease-in, transform .3s ease-in;
  }

}

/* (legacy hero classes kept for inner pages) ---------- */

/* Stat strip */
.stat-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 56px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  overflow: hidden;
}
.stat-strip__item {
  padding: 24px 28px;
  text-align: left;
  border-right: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 16px;
}
.stat-strip__item:last-child { border-right: 0; }
.stat-strip__icon {
  width: 44px; height: 44px;
  border-radius: 4px;
  border: 1px solid var(--border) !important;
  /* background: var(--surface) !important; */
  /* color: var(--brand-blue) !important; */
  display: grid; place-items: center;
  flex-shrink: 0;
}
.stat-strip__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1;
}
.stat-strip__label {
  font-size: 12.5px;
  color: var(--ink-3);
  margin-top: 4px;
  line-height: 1.3;
}

/* ---------- Card grid ---------- */
.cards {
  display: grid;
  gap: 24px;
}
.cards.cols-2 { grid-template-columns: repeat(2, 1fr); }
.cards.cols-3 { grid-template-columns: repeat(3, 1fr); }
.cards.cols-4 { grid-template-columns: repeat(4, 1fr); }

.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 30px 28px;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  position: relative;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.card:hover {
  transform: translateY(-4px);
  border-color: rgba(38,157,216,0.3);
  box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.18), 0 4px 10px -4px rgba(20, 30, 50, 0.06);
}
.card__icon {
  width: 44px; height: 44px;
  border: 1.5px solid var(--border);
  background: var(--surface) !important;
  color: var(--brand-blue) !important;
  display: grid; place-items: center;
  margin-bottom: 18px;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(20,30,50,0.04);
  transition: border-color 200ms ease;
}
.card:hover .card__icon { border-color: var(--brand-blue); }
.card__icon.is-orange { color: var(--brand-orange-ink) !important; }
.card__icon.is-green { color: #22a45c !important; }
.card__icon.is-red { color: #d44455 !important; }
.card h3 { margin-bottom: 10px; }
.card p { font-size: 14.5px; line-height: 1.55; }

/* ---------- Feature row (icon + text)  ---------- */
.feature-list {
  display: grid;
  gap: 18px;
}
.feature-list .card{flex-direction: row;}
.feature {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.feature__bullet {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--brand-blue-50);
  color: var(--brand-blue);
  display: grid; place-items: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.feature__bullet.is-orange { background: var(--brand-orange-50); color: var(--brand-orange-ink); }
.feature__bullet.is-green  { background: #e6f7ec; color: #22a45c; }
.feature__bullet.is-red    { background: #fee9eb; color: #d44455; }
.feature h4 { font-family: var(--font-body); font-weight: 600; font-size: 15px; color: var(--ink); margin-bottom: 2px; }
.feature p  { font-size: 14px; color: var(--ink-3); }

/* ---------- Pricing table ---------- */
.plan-section-header{max-width: 900px;}
.plan_btn_group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 1.5rem;
}
.plan_btn {
    font-size: 14px;
    font-weight: 600;
    border: 1px solid var(--ink);
    padding: 0.5rem 1rem;
    border-radius: 10px;
    background: var(--surface);
    color: var(--ink);
    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
.plan_btn:hover,
.plan_btn:focus{
    border: 1px solid var(--ink);
    background: var(--ink);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 14px 28px -12px rgba(14, 22, 32, 0.4);
}
.pricing {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}
.plan {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  transition: transform 200ms ease, box-shadow 200ms ease;
  position: relative;
}
.plan.is-featured {
  background: #fff;
  color: var(--ink-2);
  border-color: var(--brand-blue);
  transform: translateY(-8px);
  box-shadow: 0 8px 25px -12px rgba(38,157,216,0.3);
}
.plan.is-featured .plan__name{ color: var(--brand-blue); }
.plan.is-featured .plan__price{ color: var(--brand-blue); }
.plan_info {font-size: 14px; color: var(--ink-3); margin: 0.5rem 0 0rem 0;}
.plan.is-featured .plan__caption{ color: var(--ink-2); }
.plan.is-featured ul li { color: var(--ink-2); }
.plan.is-featured ul li svg { color: #fff; background: var(--brand-blue);}
.plan__tag {
  position: absolute;
  top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--brand-blue);
  color: #fff;
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 999px;
  text-transform: uppercase;
}
.plan__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  color: var(--ink);
  margin-bottom: 8px;
}
.plan__caption { font-size: 13px; color: var(--ink-3); min-height: 36px; }
.plan__price {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 42px;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 18px 0 6px;
  line-height: 1;
}
.plan__price small { font-size: 14px; font-weight: 500; color: var(--ink-3); margin-left: 2px; }
.plan ul {
  display: flex;
  gap: 12px;
  flex: 1;
  flex-direction: column;
  margin: 1rem 0 1.5rem 0;
}
.plan ul li {
  display: flex;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-2);
  align-items: flex-start;
}
.plan ul li svg { flex-shrink: 0; color: #fff; width: 16px; height: 16px; padding: 2px; border-radius: 100px; background: var(--ink-2);margin-top: 2px; }
.plan .btn { justify-content: center; width: 100%; }
.plan.is-featured .btn { background: var(--brand-blue); color: #fffd; }
.plan.is-featured .btn:hover { background: var(--brand-blue-ink); }

/* ---------- CTA banner ---------- */
.cta-banner {
  background: var(--ink);
  color: #fff;
  border-radius: 0;
  text-align: center;
  padding: 88px 24px;
  position: relative;
  overflow: hidden;
}
.cta-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
}
.cta-banner::after {
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 64px;
  height: 3px;
  background: var(--brand-orange);
  transform: translateX(-50%);
}
.cta-banner > * { position: relative; z-index: 1; }
.cta-banner h2 { color: #fff; }
.cta-banner p { color: rgba(255,255,255,0.75); margin: 18px auto 32px; max-width: 580px; }
.cta-banner__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.cta-banner .btn-secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,0.2); }
.cta-banner .btn-secondary:hover { background: #fff; color: var(--ink); border-color: #fff; }

/* ---------- Testimonial ---------- */
.testimonial {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 30px 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.testimonial::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 36px; height: 3px;
  background: var(--brand-blue);
  transition: width 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.testimonial:hover {
  border-color: rgba(38,157,216,0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.18);
}
.testimonial:hover::before { width: 100%; }
.testimonial__stars { color: #f6c443; font-size: 14px; letter-spacing: 2px; }
.testimonial__text { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); flex: 1; }
.testimonial__author { display: flex; align-items: center; gap: 10px; }
.testimonial__avatar {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--brand-blue);
  color: #fff;
  display: grid; place-items: center;
  font-size: 13px; font-weight: 600;
  font-family: var(--font-display);
  box-shadow: 0 2px 6px -2px rgba(38,157,216,0.4);
}
.testimonial__name { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.testimonial__loc  { font-size: 12px; color: var(--ink-4); }

/* ---------- FAQ (engineered) ---------- */
.faq {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  align-content: flex-start;
  gap: 0.5rem;
}
.faq__item {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 16px !important;
  padding: 16px;
  transition: 0.3s;
  width: 100%;
  transition: background 200ms ease;
}
.faq__item:hover,
.faq__item:focus{
  border-color: #8fd8ff;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);}
.faq__item.is-open { background: #fff; }
.faq__q {
  width: 100%;
  background: transparent;
  border: 0;
  padding: 0px 0px;
  font-size: 16px;
  font-weight: 600;
  color: var(--ink);
  text-align: left;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: color 200ms ease;
  position: relative;
}
.faq__q::before {
    content: counter(faq-counter, decimal-leading-zero);
    counter-increment: faq-counter;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    font-size: 16px;
    font-weight: 700;
    color: #0f9de0;
    border-radius: 10px;
    background: #eef7ff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.faq__item.is-open .faq__q::before {
    color: #fff;
    background: #0f9de0;
}

/* .faq__q::before {
  content: counter(faq-counter, decimal-leading-zero);
  counter-increment: faq-counter;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--brand-blue);
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 28px;
  flex-shrink: 0;
} */
.faq { counter-reset: faq-counter; }
/* .faq__q:hover { color: var(--brand-blue); } */
.faq__q .plus {
  width: 20px; 
  height: 20px;
  flex-shrink: 0;
  color: #212529;
  transition: transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1);
  padding: 2px;
}
.faq__item.is-open .faq__q .plus {
  transform: rotate(45deg);
  color: var(--brand-blue);
}
.faq__a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 280ms ease;
}
.faq__item.is-open .faq__a { grid-template-rows: 1fr; }
.faq__a > div {
  overflow: hidden;
  font-size: 14.5px;
  color: #556070;
  line-height: 1.9;
  padding: 0 24px 0 52px;
}
.faq__item.is-open .faq__a > div { padding-bottom: 22px; }

/* ---------- Engagement model (sharp dark cards) ---------- */
.engage {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.engage__card {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: border-color 220ms ease, transform 220ms ease, background 220ms ease, color 220ms ease, box-shadow 220ms ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.engage__card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 48px;
  height: 3px;
  background: var(--brand-blue);
  transition: width 240ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

/*.engagement-models{
  gap: 10px;
}*/
.engagement-models li{
      margin: 4px;
}
/*.engagement-models li::before {
    content: "➜";
    margin-right: 10px;
}*/
.engagement-models li::before {
    content: "✔";
    margin-right: 10px;
    /*color: #22a45c;*/
}
/*.engagement-models li{
  display: flex;
    gap: 8px;
    align-items: flex-start;
}
*/
/*.engagement-models li svg{
    flex-shrink: 0;
    margin-top: 2px;
}*/
.engage__card:hover {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  transform: translateY(-4px);
  box-shadow: 0 24px 48px -20px rgba(14, 22, 32, 0.4);
}
.engage__card:hover::before { background: var(--brand-orange); width: 100%; }
.engage__card:hover h3, .engage__card:hover p { color: #fff; }
.engage__card.is-blue {
  background: var(--brand-blue);
  color: #fff;
  border-color: var(--brand-blue);
}
.engage__card.is-blue h3, .engage__card.is-blue p { color: #fff; }
.engage__card.is-blue::before { background: var(--brand-orange); }
.engage__card.is-blue:hover { background: var(--brand-blue-ink); border-color: var(--brand-blue-ink); }
.engage__card h3 { font-size: 22px; transition: color 200ms ease; }
.engage__card p { color: var(--ink-3); font-size: 14.5px; flex: 1; transition: color 200ms ease; line-height: 1.6; }
.engage__card.is-blue p { color: rgba(255,255,255,0.85); }
.engage__card:hover p { color: rgba(255,255,255,0.85); }
.engage__card .btn { align-self: flex-start; background: var(--brand-orange); color: #fff; }
.engage__card .btn:hover { background: var(--brand-orange-ink); }

/* ---------- Logo cloud ---------- */
.logo-cloud {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  overflow: hidden;
}
.logo-cloud > div {
  padding: 24px;
  display: grid; place-items: center;
  border-right: 1px solid var(--border);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16px;
  color: var(--ink-3);
  letter-spacing: -0.01em;
  min-height: 84px;
  transition: color 200ms ease, background 200ms ease;
  text-align: center;
}
.logo-cloud > div:nth-child(6n) { border-right: 0; }
.logo-cloud > div:hover { color: var(--ink); background: var(--bg-band); }

/* ---------- Case Study cards ---------- */
.case-study {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.case-study:hover {
  transform: translateY(-4px);
  border-color: rgba(38,157,216,0.3);
  box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}
.case-study__media {
  aspect-ratio: 16 / 9;
  background: var(--bg-band);
  position: relative;
  overflow: hidden;
}
.case-study__body { padding: 24px; }
.case-study__tag {
  display: inline-flex;
  background: var(--brand-orange);
  color: #fff;
  font-size: 11.5px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 2px;
  margin-bottom: 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--font-mono);
}
.case-study h3 { font-size: 19px; margin-bottom: 8px; }
.case-study p { font-size: 14px; color: var(--ink-3); margin-bottom: 14px; }
.case-study__link {
  color: var(--brand-blue);
  font-weight: 600;
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.case-study__link:hover { color: var(--brand-blue-ink); }

/* ---------- Process steps ---------- */
.steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  position: relative;
}
.step {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 36px 32px 32px;
  position: relative;
  transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.step:hover {
  border-color: rgba(38,157,216,0.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.18);
}
.step__num {
  position: absolute;
  top: 18px; right: 22px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 56px;
  letter-spacing: -0.04em;
  color: var(--brand-blue);
  opacity: 0.12;
  line-height: 1;
}
.step__icon {
  width: 52px; height: 52px;
  border: 1.5px solid var(--border);
  background: var(--surface);
  color: var(--brand-blue);
  display: grid; place-items: center;
  margin-bottom: 20px;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(20,30,50,0.04);
  transition: border-color 200ms ease;
}
.step:hover .step__icon { border-color: var(--brand-blue); }
.step h3 { font-size: 19px; margin-bottom: 8px; }
.step p { font-size: 14.5px; color: var(--ink-3); }

/* ---------- Contact form ---------- */
.contact-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 48px;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 56px;
  box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.15);
  position: relative;
}
.contact-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 72px;
  height: 3px;
  background: var(--brand-orange);
  border-radius: 16px 0 0 0;
}
.contact-card__left { display: flex; flex-direction: column; align-items: center; text-align: center; }
.contact-card__photo {
  width: 110px; height: 110px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d3edf8, #fff3e2);
  display: grid; place-items: center;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  color: var(--ink-2);
  margin-bottom: 18px;
  position: relative;
}
.contact-card__photo--img {
  background: transparent;
  overflow: hidden;
  box-shadow: 0 8px 20px -8px rgba(20,30,50,0.25);
}
.contact-card__photo--img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}
/* .contact-card__photo::after {
  content: "";
  position: absolute;
  bottom: 6px; right: 6px;
  width: 18px; height: 18px;
  background: #22c55e;
  border: 3px solid #fff;
  border-radius: 50%;
} */
.contact-card__name {
  font-family: var(--font-display); font-weight: 600; font-size: 22px;
  margin-bottom: 4px;
}
.contact-card__role { font-size: 13.5px; color: var(--brand-blue); margin-bottom: 18px; }
.contact-card__socials { display: flex; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; justify-content: center; }

/* ---------- Masonry (CSS columns) ---------- */
.masonry {
  column-count: 3;
  column-gap: 24px;
}
.masonry > * {
  break-inside: avoid;
  margin-bottom: 24px;
  display: block;
}
@media (max-width: 1024px) {
  .masonry { column-count: 2; }
}
@media (max-width: 640px) {
  .masonry { column-count: 1; }
}

/* ---------- Colorful social chips ---------- */
.contact-card__socials--colored {
  gap: 10px;
}
.social-chip {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
}
.social-chip:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 12px 24px -8px rgba(20, 30, 50, 0.18);
  border-color: var(--border-strong);
}
.social-chip svg {
  width: 22px;
  height: 22px;
}
.contact-card__socials a {
  width: 32px; height: 32px;
  border-radius: 8px;
  background: var(--bg-band);
  display: grid; place-items: center;
  color: var(--ink-2);
  transition: background 150ms ease, color 150ms ease;
}
.contact-card__socials a:hover { background: var(--brand-blue); color: #fff; }
.contact-card__phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border: 1px solid var(--border-strong);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.contact-card__expect {
  margin-top: 22px;
  text-align: left;
  width: 100%;
  font-size: 13.5px;
  color: var(--ink-2);
  display: grid;
  gap: 10px;
}
.contact-card__expect strong { font-weight: 600; color: var(--ink); display: block; margin-bottom: 6px; }
.contact-card__expect li { display: flex; gap: 8px; align-items: flex-start; }
.contact-card__expect li svg { flex-shrink: 0; margin-top: 2px; color: var(--brand-blue); }

.contact-form { display: grid; gap: 14px; }
.contact-form input, .contact-form textarea {
  font-family: inherit;
  width: 100%;
  padding: 14px 16px;
  border: 1px solid var(--border-strong);
  border-radius: 8px;
  font-size: 14.5px;
  color: var(--ink);
  background: var(--surface);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.contact-form input:focus, .contact-form textarea:focus {
  outline: 0;
  border-color: var(--brand-blue);
  box-shadow: 0 0 0 4px rgba(38,157,216,0.12);
}
.contact-form textarea { min-height: 110px; resize: vertical; }
.contact-form__captcha {
  display: flex; align-items: center; gap: 14px;
}
.captcha-image {
  background: var(--bg-band);
  border: 1px dashed var(--border-strong);
  border-radius: var(--radius);
  padding: 10px 18px;
  font-family: 'Space Grotesk', monospace;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 4px;
  color: var(--ink-2);
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  user-select: none;
}
.contact-form__legal { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; color: var(--ink-3); }
.contact-form__legal input { width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; }

/*  */
.cta_bg {
    /* background: radial-gradient(ellipse 60% 50% at 90% 0%, rgba(38, 157, 216, 0.08), transparent 60%), radial-gradient(ellipse 50% 40% at 10% 100%, rgba(246, 146, 30, 0.06), transparent 60%); */
    /* border-top: 1px solid var(--border); */
}
.cta_card {
    background: linear-gradient(-90deg, #FFF -30%, #DBF3FF 100%);
    border: 1px solid var(--brand-blue-100);
    border-radius: 24px;
    padding: 48px 32px;
}
.cta_card:hover{box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.18), 0 4px 10px -4px rgba(20, 30, 50, 0.06);}
/*  */
/* ---------- Footer (centered, simple) ---------- */
#sp-footer{border-top: 1px solid var(--border);}
.site-footer {
  background: linear-gradient(180deg, var(--surface) 0%, #f3f6f9 100%);
  /* border-top: 1px solid var(--border); */
  padding: 0 0 28px;
  position: relative;
  overflow: hidden;
}
/* .site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 50% at 90% 0%, rgba(38,157,216,0.08), transparent 60%),
    radial-gradient(ellipse 50% 40% at 10% 100%, rgba(246,146,30,0.06), transparent 60%);
  pointer-events: none;
} */
.site-footer__inner { position: relative; z-index: 1; }

.footer-cta {
  background: linear-gradient(135deg, #0e1620, #1f2a3a);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: 36px 48px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 28px;
  align-items: center;
  margin-bottom: 56px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 48px -20px rgba(14, 22, 32, 0.4);
}
.footer-cta::before {
  content: "";
  position: absolute;
  top: -40%;
  right: -10%;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(38,157,216,0.2), transparent 60%);
  pointer-events: none;
}
.footer-cta h3 {
  color: #fff;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
  position: relative;
}
.footer-cta p {
  color: rgba(255,255,255,0.7);
  font-size: 14.5px;
  margin-top: 8px;
  position: relative;
}
.footer-cta__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  position: relative;
}
.footer-cta__actions .btn-primary {
    color: #fff !important;
}

.footer-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.footer-center .brand { margin-bottom: 4px; }
.footer-center__tagline {
  font-size: 16px;
  color: var(--ink-2);
  max-width: 540px;
}

.footer-badges-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 4px;
}
.footer-badges__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 16px;
  background: var(--surface);
  border: 1px solid var(--brand-blue);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(20,30,50,0.04);
}
.footer-badges__item svg { color: var(--brand-blue); flex-shrink: 0; }

.footer-nav {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 8px;
}
.footer-nav a {
  font-size: 15px;
  font-weight: 500;
  color: var(--ink-2);
  transition: color 150ms ease;
}
.footer-nav a:hover { color: var(--brand-blue); }
.footer-nav__sep { color: var(--border-strong); }

.footer-jsp {
  margin: 16px 0;
  display: grid; place-items: center;
}
.footer-jsp img {
  max-width: 220px;
  height: auto;
  display: block;
}

.footer-disclaimer {
  font-size: 13px;
  color: var(--ink-3);
  line-height: 1.7;
  max-width: 760px;
  margin: 0 auto;
}

.footer-socials {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 8px;
}
.footer-socials a {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--border);
  display: grid; place-items: center;
  color: var(--ink-2);
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
}
.footer-socials a:hover,
.footer-socials a:focus,
.footer-socials a:active {
  background: var(--brand-blue);
  color: #fff;
  border-color: var(--brand-blue);
  transform: translateY(-2px);
}

#sp-footer .footer-copyright {
  border-top: 1px solid var(--border);
  padding-top: 22px;
  margin-top: 12px;
  width: 100%;
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-4);
}
#sp-footer .footer-copyright a { color: var(--brand-blue); font-weight: 500; }
#sp-footer .footer-socials a:hover,
#sp-footer .footer-socials a:focus,
#sp-footer .footer-socials a:active{
    color: #fff;
}
@media (max-width: 1024px) {
  .footer-cta { grid-template-columns: 1fr; padding: 32px; }
  .footer-cta__actions { justify-content: flex-start; }
  .footer-cta__actions .btn{white-space: normal;}
}
@media (max-width: 600px) {
  .footer-cta { padding: 28px 22px; }
  .footer-badges-row { gap: 8px; }
  .footer-badges__item { font-size: 12px; padding: 8px 12px; }
}

/* ---------- Old footer (legacy, still used elsewhere) ---------- */
.site-footer {
  background: var(--surface);
  /* border-top: 1px solid var(--border);
  padding: 56px 0 32px; */
}
.site-footer__top {
  text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.site-footer__tagline { color: var(--ink-3); font-size: 14px; }
.site-footer__badges {
  display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;
  margin-top: 22px;
}
.site-footer__badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px;
  background: var(--bg-band);
  border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ink-2);
}
.site-footer__contact {
  margin-top: 24px;
  display: flex; gap: 24px; flex-wrap: wrap; justify-content: center;
  font-size: 14px;
  color: var(--ink-2);
}
.site-footer__contact a { color: var(--ink-2); display: inline-flex; gap: 6px; align-items: center; }
.site-footer__contact a:hover { color: var(--brand-blue); }
.site-footer__links {
  margin-top: 22px;
  display: flex; gap: 24px; flex-wrap: wrap; justify-content: center;
  font-size: 14px;
}
.site-footer__links a { color: var(--ink-3); }
.site-footer__links a:hover { color: var(--ink); }
.site-footer__copyright {
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--border);
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-4);
  line-height: 1.7;
}
.site-footer__copyright a { color: var(--brand-blue); }
.site-footer__socials { margin-top: 16px; display: flex; gap: 14px; justify-content: center; }
.site-footer__socials a {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--bg-band);
  display: grid; place-items: center;
  color: var(--ink-2);
  transition: background 150ms ease, color 150ms ease;
}
.site-footer__socials a:hover { background: var(--brand-blue); color: #fff; }

/* ---------- Page hero (inner pages, Swiss) ---------- */
.page-hero {
  padding: 96px 0 64px;
  background: var(--surface);
  text-align: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid var(--border);
}
.page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(38,157,216,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(38,157,216,0.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
  pointer-events: none;
}
.page-hero > * { position: relative; z-index: 1; }
.page-hero h1 { max-width: 920px; margin: 0 auto; }
.page-hero p { margin: 22px auto 0; max-width: 720px; color: var(--ink-2); font-size: 17px; }
.page-hero__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 32px; }
.breadcrumbs {
  display: flex; justify-content: center; gap: 8px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-4);
  margin-bottom: 24px;
}
.breadcrumbs a { color: var(--ink-3); }
.breadcrumbs a:hover { color: var(--brand-blue); }

/* ---------- Two-column with illustration ---------- */
.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.two-col.reverse > :first-child { order: 2; }
.two-col__media {
  aspect-ratio: 4 / 3;
  background:
    linear-gradient(135deg, var(--brand-blue-50), var(--brand-orange-50));
  border-radius: var(--radius-xl);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}

/* ---------- Comparison table ---------- */
.compare {
  width: 100%;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border-collapse: collapse;
}
.compare th, .compare td {
  padding: 14px 18px;
  text-align: left;
  font-size: 14px;
  vertical-align: middle;
  border-bottom: 1px solid var(--border);
}
.compare th {
  background: var(--ink);
  color: #fff;
  font-weight: 600;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 0.02em;
}
.compare th.is-blue { background: var(--brand-blue); }
.compare tbody tr:last-child td { border-bottom: 0; }
.compare td:first-child { font-weight: 600; color: var(--ink); }
.compare td svg { vertical-align: middle; }

/* ---------- Blog card ---------- */
.blog-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  display: flex;
  flex-direction: column;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.blog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(38,157,216,0.3);
  box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}
.blog-card__media {
  aspect-ratio: 16 / 10;
  background: var(--bg-band);
  position: relative;
  overflow: hidden;
}
.blog-card__body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.blog-card__date { font-size: 12.5px; color: var(--ink-4); display: inline-flex; gap: 6px; align-items: center; }
.blog-card h3 { font-size: 17px; line-height: 1.3; }
.blog-card p { font-size: 14px; color: var(--ink-3); flex: 1; }

/* ---------- Animated stat tiles ---------- */
.stat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.stat-grid--2 { grid-template-columns: repeat(2, 1fr); }
.stat-tile {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 22px 22px 18px;
  position: relative;
  overflow: hidden;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.stat-tile::before {
  content: "";
  position: absolute;
  inset: -1px;
  background: linear-gradient(135deg, rgba(38,157,216,0.0) 0%, rgba(38,157,216,0.08) 100%);
  border-radius: inherit;
  opacity: 0;
  transition: opacity 200ms ease;
  pointer-events: none;
}
.stat-tile:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--border-strong);
}
.stat-tile:hover::before { opacity: 1; }
.stat-tile__icon {
  width: 40px; height: 40px;
  border: 1px solid var(--border);
  background: var(--surface) !important;
  color: var(--brand-blue) !important;
  display: grid; place-items: center;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
  border-radius: 4px;
}
.stat-tile__num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(28px, 3.4vw, 36px);
  letter-spacing: -0.025em;
  color: var(--ink);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  position: relative;
  z-index: 1;
}
.stat-tile__label {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 14px;
  color: var(--ink);
  margin-top: 8px;
  position: relative;
  z-index: 1;
}
.stat-tile__sub {
  font-size: 12.5px;
  color: var(--ink-3);
  margin-top: 4px;
  line-height: 1.4;
  position: relative;
  z-index: 1;
}
@media (max-width: 480px) {
  .stat-grid { grid-template-columns: 1fr; }
}

/* ---------- Upwork image (clean, transparent) ---------- */
.upwork-wrap {
  position: relative;
  display: grid;
  place-items: center;
}
.upwork-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: 560px;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  position: relative;
  z-index: 1;
}

/* ---------- Upwork card (legacy) ---------- */
.upwork-card {
  background: linear-gradient(135deg, #f6fbfd, #eaf6fc);
  border-radius: 24px;
  padding: 24px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.6) inset,
    0 16px 40px -16px rgba(20, 30, 50, 0.18),
    0 4px 12px -4px rgba(20, 30, 50, 0.08);
  border: 1px solid rgba(38,157,216,0.18);
  position: relative;
  overflow: hidden;
}
.upwork-card::before {
  content: "";
  position: absolute;
  top: -50%; right: -30%;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(38,157,216,0.22), transparent 65%);
  pointer-events: none;
}
.upwork-card::after {
  content: "";
  position: absolute;
  bottom: -40%; left: -20%;
  width: 240px; height: 240px;
  background: radial-gradient(circle, rgba(246,146,30,0.18), transparent 65%);
  pointer-events: none;
}
.upwork-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 24px -8px rgba(20, 30, 50, 0.18);
  position: relative;
  z-index: 1;
}
.upwork-card__badge {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink);
  box-shadow: 0 8px 18px -6px rgba(20, 30, 50, 0.2);
  z-index: 3;
}
.upwork-card__badge--top { top: -14px; left: 14px; color: #14a800; }
.upwork-card__badge--top svg { color: #14a800; }
.upwork-card__badge--bottom { bottom: -14px; right: 14px; }
.upwork-card__badge--bottom .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,0.18);
}

/* ---------- Service card (refined Bauhaus + subtle curves) ---------- */
.service-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 32px 28px;
  position: relative;
  overflow: hidden;
  transition: transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 220ms ease, border-color 220ms ease;
  isolation: isolate;
  height: 100%;
  box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
}
.service-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 56px;
  height: 3px;
  background: var(--brand-orange);
  transition: width 280ms cubic-bezier(0.2, 0.7, 0.2, 1);
}
.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(38,157,216,0.3);
  box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}
.service-card:hover::before { width: 100%; }
.service-card__icon {
  width: 60px; height: 60px;
  border: 1.5px solid var(--border);
  background: var(--surface) !important;
  color: var(--brand-blue) !important;
  display: grid; place-items: center;
  margin-bottom: 24px;
  border-radius: 14px;
  transition: border-color 240ms ease, color 240ms ease, transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 240ms ease;
  box-shadow: 0 1px 2px rgba(20,30,50,0.04);
}
.service-card:hover .service-card__icon {
  border-color: var(--brand-blue);
  transform: scale(1.05);
  box-shadow: 0 6px 14px -4px rgba(38,157,216,0.25);
}
.service-card__icon > * { background: transparent !important; }
.service-card h3 {
  font-size: 18px;
  line-height: 1.3;
  margin-bottom: 12px;
  font-weight: 600;
}
.service-card p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-3);
}

/* ---------- Horizontal slider (services) ---------- */
.slider {
  position: relative;
}
.slider__viewport {
  overflow: hidden;
  margin: 0 -8px;
  padding: 4px 8px 24px;
}
.slider__track {
  display: flex;
  gap: 20px;
  scroll-snap-type: x mandatory;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}
.slider__track::-webkit-scrollbar { display: none; }
.slider__track > * {
  scroll-snap-align: start;
  flex: 0 0 calc((100% - 40px) / 3);
  min-width: 0;
}
.slider__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
}
.slider__arrows { display: flex; gap: 8px; margin-left: auto; }
.slider__arrow {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  display: grid; place-items: center;
  color: var(--ink-2);
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 100ms ease, box-shadow 200ms ease;
  box-shadow: 0 1px 2px rgba(20,30,50,0.04);
}
.slider__arrow:hover {
  background: var(--brand-blue);
  color: #fff;
  border-color: var(--brand-blue);
  box-shadow: 0 8px 18px -6px rgba(38,157,216,0.4);
}
.slider__arrow:hover { background: var(--brand-blue); color: #fff; border-color: var(--brand-blue); }
.slider__arrow:active { transform: scale(0.95); }
.slider__arrow:disabled { opacity: 0.35; cursor: not-allowed; background: var(--surface); color: var(--ink-2); border-color: var(--border); }
.slider__dots { display: flex; gap: 6px; }
.slider__dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--border-strong);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: background 150ms ease, width 150ms ease;
}
.slider__dot.is-active { background: var(--brand-blue); width: 24px; }

@media (max-width: 900px) {
  .slider__track > * { flex: 0 0 calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .slider__track > * { flex: 0 0 100%; }
}

/* ---------- Marquee (logos, tools) ---------- */
.marquee {
  overflow: hidden;
  position: relative;
  --marquee-duration: 38s;
  --marquee-gap: 0px;
  mask-image: linear-gradient(90deg, transparent, #000 80px, #000 calc(100% - 80px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 80px, #000 calc(100% - 80px), transparent);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}
.marquee__track {
  display: flex;
  gap: var(--marquee-gap);
  width: max-content;
  animation: marquee-scroll var(--marquee-duration) linear infinite;
}
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee--reverse .marquee__track { animation-direction: reverse; }
@keyframes marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - var(--marquee-gap) / 2)); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__track { animation: none; }
}

.marquee--logos .marquee__item {
  display: flex; align-items: center; justify-content: center;
  height: 100px;
  min-width: 220px;
  padding: 0 40px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 17px;
  color: var(--ink-3);
  flex-shrink: 0;
  transition: filter 200ms ease, opacity 200ms ease, background 200ms ease;
  border-right: 1px solid var(--border);
}
.marquee--logos .marquee__item img {
  max-height: 48px;
  max-width: 160px;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.55;
  transition: filter 240ms ease, opacity 240ms ease;
}
.marquee--logos .marquee__item:hover img { filter: grayscale(0%); opacity: 1; }
.marquee--logos .marquee__item:hover { background: var(--bg-band); }

.marquee--tools {
  --marquee-duration: 50s;
  --marquee-gap: 16px;
  background: var(--surface);
  padding: 28px 0;
  border: 1px solid var(--border);
  border-radius: 4px;
  max-width: 1240px;
  margin: 0 auto;
  width: calc(100% - 48px);
}
.marquee--tools .marquee__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  padding: 24px;
  background: var(--bg-band);
  border: 1px solid var(--border);
  border-radius: 4px;
  flex-shrink: 0;
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}
.marquee--tools .marquee__item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  filter: grayscale(20%);
  transition: filter 200ms ease;
}
.marquee--tools .marquee__item:hover {
  background: var(--surface);
  border-color: var(--brand-blue);
  transform: translateY(-2px);
}
.marquee--tools .marquee__item:hover img { filter: grayscale(0%); }

/* ---------- Reveal animation ---------- */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 700ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal.is-in {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
  .pricing { grid-template-columns: repeat(2, 1fr); }
  .plan.is-featured { transform: none; }
  .cards.cols-3, .cards.cols-4 { grid-template-columns: repeat(2, 1fr); }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .stat-strip__item:nth-child(2n) { border-right: 0; }
  .stat-strip__item:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
  .engage { grid-template-columns: 1fr; }
  .steps { grid-template-columns: 1fr; }
  .two-col { grid-template-columns: 1fr; gap: 32px; }
  .two-col.reverse > :first-child { order: 0; }
  .contact-card { grid-template-columns: 100%; gap: 32px; padding: 32px 24px; }
  .logo-cloud { grid-template-columns: repeat(3, 1fr); }
  .logo-cloud > div { border-right: 1px solid var(--border); }
  .logo-cloud > div:nth-child(3n) { border-right: 0; }
  .header-phone { display: none; }
}

@media (max-width: 720px) {
  section { padding: 64px 0; }
  .site-nav { display: none; }
  .site-nav.is-open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 72px; left: 0; right: 0;
    background: var(--surface);
    padding: 16px 24px 24px;
    border-bottom: 1px solid var(--border);
    z-index: 99;
    margin: 0;
    gap: 4px;
    align-items: stretch;
  }
  .site-nav.is-open a, .site-nav.is-open button { width: 100%; justify-content: flex-start; padding: 12px 14px; }
  .site-nav.is-open .site-nav__menu {
    position: static; transform: none; opacity: 1; visibility: visible;
    pointer-events: auto; box-shadow: none; border: 0; padding: 0 0 0 12px;
    background: transparent; min-width: 0;
  }
  .mobile-toggle { display: flex; }
  .header-cta { display: none; }
  .header-cta.is-mobile-show { display: inline-flex; }
  .header-phone { display: none; }
  .cards.cols-2, .cards.cols-3, .cards.cols-4 { grid-template-columns: 1fr; }
  .pricing { grid-template-columns: 1fr; }
  .stat-strip { grid-template-columns: 1fr; }
  .stat-strip__item { border-right: 0; border-bottom: 1px solid var(--border); }
  .stat-strip__item:last-child { border-bottom: 0; }
  .logo-cloud { grid-template-columns: repeat(2, 1fr); }
  .logo-cloud > div:nth-child(2n) { border-right: 0; }
  .hero { padding: 56px 0 64px; }
  .hero__badge { display: none; }
  .compare { font-size: 13px; }
  .compare th, .compare td { padding: 10px; }
}




























/* ===============================   Upgrade page Custom Csss  ======================================== */
    /* Hero with side illustration */
    .up-hero {
      padding: 96px 0 80px;
      background: var(--surface);
      position: relative;
      overflow: hidden;
      border-bottom: 1px solid var(--border);
    }
    .up-hero::before {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(38,157,216,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(38,157,216,0.06) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
      -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
      pointer-events: none;
    }
    .up-hero__grid {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 56px;
      align-items: center;
    }
    .up-hero h1 {
      font-size: clamp(36px, 4.4vw, 56px);
      line-height: 1.05;
      letter-spacing: -0.035em;
    }
    .up-hero p {
      color: var(--ink-2);
      font-size: 16.5px;
      line-height: 1.65;
      margin-top: 22px;
      max-width: 560px;
    }
    .up-hero p + p { margin-top: 14px; }
    .up-hero__actions { margin-top: 32px; display: flex; gap: 12px; flex-wrap: wrap; }
    .up-hero__media {
      position: relative;
      display: grid;
      place-items: center;
    }
    .up-hero__media img {
      width: 100%;
      max-width: 300px;
      height: auto;
      display: block;
    }
    @media (max-width: 1024px) {
      .up-hero__grid { grid-template-columns: 1fr; gap: 32px; }
      .up-hero__media { order: -1; }
      .up-hero p { max-width: none; }
    }

    /* Hero stats row */
    .up-hero-stats {
      margin-top: 56px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
    }
    .up-hero-stats__tile {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 22px 24px;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
    }
    .up-hero-stats__tile:hover {
      border-color: rgba(38,157,216,0.3);
      transform: translateY(-3px);
      box-shadow: 0 16px 32px -16px rgba(20, 30, 50, 0.15);
    }
    .up-hero-stats__num {
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 32px;
      letter-spacing: -0.03em;
      color: var(--brand-blue);
      line-height: 1;
    }
    .up-hero-stats__label {
      font-size: 13px;
      color: var(--ink-3);
      margin-top: 8px;
      line-height: 1.4;
    }
    @media (max-width: 720px) {
      .up-hero-stats { grid-template-columns: repeat(2, 1fr); }
    }

    /* Reality check cards (red/orange left border) */
    .reality-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
    }
    .reality-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-left: 3px solid #d44455;
      border-radius: 12px;
      padding: 24px 24px 24px 24px;
      display: flex;
      gap: 18px;
      align-items: flex-start;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    }
    .reality-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 16px 32px -16px rgba(20, 30, 50, 0.15);
    }
    .reality-card__icon {
      width: 28px; height: 28px;
      color: #d44455;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .reality-card h4 {
      font-size: 16.5px;
      margin-bottom: 6px;
      font-weight: 600;
    }
    .reality-card p {
      font-size: 14px;
      color: var(--ink-3);
      line-height: 1.55;
      margin: 0;
    }
    @media (max-width: 720px) {
      .reality-grid { grid-template-columns: 1fr; }
    }

    /* Benefit / cost cards (orange icon + heading + desc, no extra chrome) */
    .benefit-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .benefit {
      padding: 2rem;
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--bs-border-radius-2xl);
    }
    .benefit__icon {
      width: 52px; height: 52px;
      border: 1.5px solid var(--border);
      border-radius: 12px;
      display: grid; place-items: center;
      color: var(--brand-orange);
      margin-bottom: 20px;
      transition: border-color 200ms ease, box-shadow 200ms ease;
      background: var(--surface);
      box-shadow: 0 1px 2px rgba(20,30,50,0.04);
    }
    .benefit:hover .benefit__icon {
      border-color: var(--brand-orange);
      box-shadow: 0 6px 14px -4px rgba(246,146,30,0.25);
    }
    .benefit h3 {
      font-size: 19px;
      line-height: 1.3;
      margin-bottom: 10px;
    }
    .benefit p {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--ink-3);
    }
    @media (max-width: 900px) {
      .benefit-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    }
    @media (max-width: 600px) {
      .benefit-grid { grid-template-columns: 1fr; }
    }

    /* Steps with numbered ribbon */
    .steps-list {
      display: grid;
      gap: 16px;
      max-width: 880px;
      margin: 0 auto;
    }
    .step-card {
      display: grid;
      grid-template-columns: 64px 1fr;
      gap: 22px;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 28px 32px;
      align-items: flex-start;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
    }
    .step-card:hover {
      border-color: rgba(38,157,216,0.3);
      transform: translateY(-2px);
      box-shadow: 0 16px 32px -16px rgba(20, 30, 50, 0.15);
    }
    .step-card__num {
      width: 44px; height: 44px;
      border-radius: 12px;
      background: var(--brand-blue);
      color: #fff;
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 16px;
      display: grid; place-items: center;
      letter-spacing: -0.01em;
      box-shadow: 0 8px 18px -8px rgba(38,157,216,0.45);
    }
    .step-card h3 {
      font-size: 18px;
      margin-bottom: 8px;
      line-height: 1.3;
    }
    .step-card p {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--ink-3);
    }
    @media (max-width: 600px) {

      .step-card { grid-template-columns: 1fr; padding: 24px; }
    }

    /* Promise section with two follow-on cards */
    .promise-pair {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      margin-top: 48px;
    }
    .pricing-tile {
      background: linear-gradient(160deg, var(--brand-blue), var(--brand-blue-ink));
      color: #fff;
      border-radius: 18px;
      padding: 36px 36px 32px;
      position: relative;
      overflow: hidden;
      box-shadow: 0 20px 40px -20px rgba(26, 127, 176, 0.45);
    }
    .pricing-tile::before {
      content: "";
      position: absolute;
      top: -50%; right: -20%;
      width: 280px; height: 280px;
      background: radial-gradient(circle, rgba(255,255,255,0.15), transparent 65%);
      pointer-events: none;
    }
    .pricing-tile__eyebrow {
      /* font-family: var(--font-mono); */
      font-size: 11.5px;
      font-weight: 500;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.78);
      position: relative;
      display: inline-flex; align-items: center; gap: 10px;
    }
    .pricing-tile__eyebrow::before {
      content: ""; width: 28px; height: 1px; background: rgba(255,255,255,0.5);
    }
    .pricing-tile h3 {
      color: #fff;
      font-size: 22px;
      margin-top: 14px;
      position: relative;
    }
    .pricing-tile__price {
      /* font-family: var(--font-display); */
      font-weight: 700;
      font-size: 56px;
      letter-spacing: -0.035em;
      margin: 22px 0 4px;
      line-height: 1;
      position: relative;
    }
    .pricing-tile__price small {
      font-size: 16px;
      font-weight: 500;
      margin-left: 8px;
      color: rgba(255,255,255,0.78);
    }
    .pricing-tile p {
      color: rgba(255,255,255,0.85);
      font-size: 14.5px;
      line-height: 1.6;
      margin-top: 12px;
      position: relative;
    }
    .pricing-tile__cta {
      margin-top: 24px;
      position: relative;
    }
    .pricing-tile__cta .btn {
      background: #fff;
      color: var(--brand-blue);
      box-shadow: 0 10px 24px -8px rgba(0,0,0,0.18);
    }
    .pricing-tile__cta .btn:hover {
      background: var(--brand-orange);
      color: #fff;
    }

    .jcsr-tile {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 18px;
      padding: 32px;
      position: relative;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
    }
    .jcsr-tile__badge {
      display: inline-flex; align-items: center; gap: 8px;
      background: #e6f7ec;
      color: #1f7a47;
      /* font-family: var(--font-mono); */
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 6px 10px;
      border-radius: 999px;
      margin-bottom: 16px;
    }
    .jcsr-tile__badge::before {
      content: ""; width: 6px; height: 6px; border-radius: 50%; background: #22a45c;
    }
    .jcsr-tile h3 {
      font-size: 22px;
      margin-bottom: 12px;
    }
    .jcsr-tile p {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--ink-3);
    }
    .jcsr_btn__group {
        display: flex;
        gap: 0.75rem;
        align-items: center;
        margin: 0.75rem 0;
    }
    .jcsr_btn__style {
        flex: 1;
        font-size: 13px;
        font-weight: 500;
        border: 1px solid var(--ink);
        padding: 0.5rem 1rem;
        border-radius: 10px;
        background: var(--surface);
        color: var(--ink);
        box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
    }
    .jcsr_btn__style:hover,
    .jcsr_btn__style:focus {
      border: 1px solid var(--ink);
      background: var(--ink);
      color: #fff;
      transform: translateY(-2px);
      box-shadow: 0 14px 28px -12px rgba(14, 22, 32, 0.4);
    }
    .jcsr-tile__steps {
      list-style: none;
      counter-reset: jcsr;
      margin: 18px 0;
      padding: 0;
      display: grid;
      gap: 8px;
    }
    .jcsr-tile__steps li {
      counter-increment: jcsr;
      display: flex;
      gap: 12px;
      align-items: flex-start;
      font-size: 14px;
      color: var(--ink-2);
      padding: 10px 14px;
      background: var(--bg-band);
      border-radius: 10px;
    }
    .jcsr-tile__steps li::before {
      content: counter(jcsr, decimal-leading-zero);
      font-family: var(--font-mono);
      font-size: 11.5px;
      font-weight: 600;
      color: var(--brand-blue);
      letter-spacing: 0.08em;
      margin-top: 1px;
    }
    .jcsr-tile small {
      display: block;
      font-size: 12.5px;
      color: var(--ink-4);
      line-height: 1.6;
    }
    @media (max-width: 900px) {
      .promise-pair { grid-template-columns: 1fr; }
    }

    /* Promise (text + tick list) */
    .promise-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 32px;
      align-items: start;
    }
    .promise-bullets { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
    .promise-bullet {
      display: grid;
      grid-template-columns: 28px 1fr;
      gap: 14px;
      align-items: flex-start;
      border: 1px solid var(--border);
      border-radius: 12px;
      font-size: 13px;
      font-weight: 500;
      color: var(--ink-2);
      box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
      padding: 24px;
    }
    .promise-bullet:hover {
      border-color: rgba(38, 157, 216, 0.7);
      transform: translateY(-2px);
      box-shadow: 0 16px 32px -16px rgba(20, 30, 50, 0.15);
    }
    .promise-bullet svg {
      width: 22px; 
      height: 22px;
      padding: 2px;
      background: var(--bg-band);
      color: var(--brand-blue);
      border-radius: 6px;
      box-sizing: content-box;
      flex-shrink: 0;
    }
    .promise-bullet:hover svg{
      background: var(--brand-blue);
      color: #fff;
    }
    .promise_icons {
        width: 32px;
        height: 32px;
        margin: 0 auto 1rem auto;
        color: #269dd8;
    }
    .promise-bullet h4 {
      font-size: 16px;
      margin-bottom: 4px;
      font-weight: 600;
    }
    .promise-bullet p {
      font-size: 14px;
      color: var(--ink-3);
      line-height: 1.55;
    }
    .promise-final {
      /* margin-top: 24px; */
      padding-top: 24px;
      border-top: 1px solid var(--border);
      font-size: 14px;
      color: var(--ink-2);
      display: flex;
      gap: 10px;
      align-items: center;
    }
    .promise-final svg { color: var(--brand-orange); flex-shrink: 0; }
    @media (max-width: 1024px) {
      .promise-grid { grid-template-columns: 1fr; gap: 32px; }
    }

    /* Featured testimonial layout (matches screenshot 2) */
    .ft-section { padding: 88px 0; background: var(--bg-band); }
    .ft-grid {
      display: grid;
      grid-template-columns: 35% 65%;
      gap: 48px;
      align-items: center;
    }
    .ft-left .eyebrow { margin-bottom: 16px; }
    .ft-left h2 {
      font-size: clamp(28px, 3vw, 40px);
      line-height: 1.1;
      margin-bottom: 18px;
    }
    .ft-left p {
      color: var(--ink-3);
      font-size: 15.5px;
      line-height: 1.65;
      margin-bottom: 28px;
    }
    .ft-card {
      background: var(--surface);
      /*border: 1px solid var(--border);*/
      border-radius: 16px;
      padding: 40px 44px;
      position: relative;
      box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.12);
      display: grid;
      grid-template-columns: 100%;
      gap: 20px;
      align-items: center;
    }

    


    .ft-card__nav {
      width: 36px; height: 36px;
      border-radius: 50%;
      background: var(--surface);
      border: 1px solid var(--border);
      color: var(--ink-2);
      display: grid; place-items: center;
      cursor: pointer;
      transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 150ms ease;
    }
    .ft-card__nav:hover {
      background: var(--brand-blue);
      color: #fff;
      border-color: var(--brand-blue);
    }
    .ft-card__nav:disabled { opacity: 0.35; cursor: not-allowed; }
    .ft-card__body { min-width: 0; }
    .ft-card__stars { color: #f6c443; font-size: 16px; letter-spacing: 2px; margin-bottom: 18px; }
    .ft-card__text {
      font-size: 16px;
      line-height: 1.65;
      color: var(--ink-2);
      min-height: 200px;
    }
    .ft-card__author {
      margin-top: 22px;
      padding-top: 18px;
      border-top: 1px solid var(--border);
      display: flex; align-items: center; gap: 12px;
    }
    .ft-card__avatar {
      width: 44px; height: 44px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--brand-blue-50), var(--brand-orange-50));
      color: var(--ink);
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 14px;
      display: grid; place-items: center;
      box-shadow: 0 2px 6px -2px rgba(20,30,50,0.18);
    }
    .ft-card__name { font-weight: 600; font-size: 15px; color: var(--ink); }
    .ft-card__loc  { font-size: 13px; color: var(--ink-4); margin-top: 2px; }
    .ft-card__quote {
      position: absolute;
      bottom: 16px; right: 24px;
      font-family: var(--font-display);
      font-size: 96px;
      font-weight: 700;
      color: var(--ink-2);
      opacity: 0.08;
      line-height: 1;
      pointer-events: none;
      user-select: none;
    }
    @media (max-width: 1024px) {
      .ft-grid { grid-template-columns: 100%; gap: 28px; }
      .ft-card { padding: 32px 24px; /*grid-template-columns: 24px 1fr 24px;*/ gap: 14px; }
      .ft-card__text { min-height: 0; }
    }

    /* Why us (icon + heading + desc grid) */
    .why-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 28px;
    }
    .why-card {
      display: grid;
      grid-template-columns: 56px 1fr;
      gap: 18px;
      padding: 24px;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: border-color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
    }
    .why-card:hover {
      border-color: rgba(38,157,216,0.3);
      transform: translateY(-2px);
      box-shadow: 0 16px 32px -16px rgba(20,30,50,0.15);
    }
    .why-card__icon {
      width: 56px; height: 56px;
      border: 1.5px solid var(--border);
      background: var(--surface);
      color: var(--brand-blue);
      border-radius: 14px;
      display: grid; place-items: center;
      flex-shrink: 0;
      box-shadow: 0 1px 2px rgba(20,30,50,0.04);
    }
    .why-card h4 {
      font-size: 17px;
      margin-bottom: 6px;
      font-weight: 600;
    }
    .why-card p {
      font-size: 14.5px;
      line-height: 1.6;
      color: var(--ink-3);
    }
    @media (max-width: 720px) {
      .why-grid { grid-template-columns: 1fr; }
      .why-card { grid-template-columns: 48px 1fr; }
      .why-card__icon { width: 48px; height: 48px; }
    }

    /* Final CTA panel */
    .final-cta {
      background: linear-gradient(-90deg, #FFF -30%, #DBF3FF 100%);
      border: 1px solid var(--brand-blue-100);
      border-radius: 24px;
      padding: 48px 32px;
      text-align: center;
      position: relative;
      overflow: hidden;
      
    }
    .final-cta:hover {
      box-shadow: 0 20px 40px -20px rgba(20, 30, 50, 0.18), 0 4px 10px -4px rgba(20, 30, 50, 0.06);
    }

    /* .final-cta::before {
      content: "";
      position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 80%);
      -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 80%);
      pointer-events: none;
    }
    .final-cta::after {
      content: "";
      position: absolute;
      top: 0; left: 50%;
      width: 80px; height: 4px;
      background: var(--brand-orange);
      transform: translateX(-50%);
      border-radius: 0 0 4px 4px;
    } */
    .final-cta > * { position: relative; z-index: 1; }
    .final-cta h2 {
      /* color: #fff; */
      font-size: clamp(28px, 3vw, 40px);
      margin-bottom: 22px;
    }
    .final-cta p {
      /* color: rgba(255,255,255,0.78); */
      font-size: 16px;
      line-height: 1.65;
      max-width: 720px;
      margin: 0 auto 24px;
    }
    .final-cta p + p { margin-top: 24px; }
    /* .final-cta .btn-primary { margin-top: 32px; } */
    @media (max-width: 720px) { .final-cta { padding: 24px 24px; } }








/* ===============================   blogs-new Custom Csss  ======================================== */
.chip {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 8px 14px;
      font-size: 13px;
      font-weight: 500;
      color: var(--ink-2);
      display: inline-flex;
      align-items: center;
      gap: 6px;
      transition: background 150ms ease, color 150ms ease, border-color 150ms ease;
    }
    .chip:hover { color: var(--brand-blue); border-color: var(--brand-blue-100); background: var(--brand-blue-50); }
    .chip.is-active { background: var(--brand-blue); color: #fff; border-color: var(--brand-blue); }
    .chip__count {
      font-size: 11px; font-weight: 600;
      padding: 1px 6px;
      border-radius: 999px;
      background: rgba(0,0,0,0.06);
      color: var(--ink-3);
    }
    .chip.is-active .chip__count { background: rgba(255,255,255,0.2); color: rgba(255,255,255,0.9); }
    .blog-card[hidden] { display: none !important; }
    .blog-card__tag {
      display: inline-flex;
      background: var(--brand-blue-50);
      color: var(--brand-blue);
      font-size: 11.5px;
      font-weight: 600;
      padding: 3px 10px;
      border-radius: 999px;
      letter-spacing: 0.04em;
    }




    /* ===============================   case-studies-new Custom Csss  ======================================== */

    .case-row {
      display: grid;
      grid-template-columns: 1.05fr 1fr;
      gap: 48px;
      align-items: center;
      padding: 56px 0;
      border-bottom: 1px solid var(--border);
    }
    .case-row.reverse > :first-child { order: 2; }
    .case-row:last-child { border-bottom: 0; }
    .case-row__media {
      aspect-ratio: 4 / 3;
      border-radius: var(--radius-xl);
      overflow: hidden;
      position: relative;
      border: 1px solid var(--border);
      box-shadow: var(--shadow-md);
    }
    .case-row__media .badge {
      position: absolute;
      top: 14px; left: 14px;
      background: rgba(255,255,255,0.95);
      padding: 6px 12px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 600;
      color: var(--ink-2);
      backdrop-filter: blur(8px);
    }
    .case-row h3 {
      font-size: clamp(22px, 2vw, 28px);
      color: var(--brand-blue);
      line-height: 1.2;
    }
    .case-row__tag {
      display: inline-flex;
      background: var(--brand-orange-50);
      color: var(--brand-orange-ink);
      font-size: 12.5px;
      font-weight: 600;
      padding: 5px 12px;
      border-radius: 999px;
      margin-bottom: 14px;
    }
    .case-row__platform {
      margin-top: 18px;
      padding: 14px 16px;
      background: var(--bg-band);
      border-radius: 10px;
      font-size: 13px;
      color: var(--ink-3);
    }
    .case-row__platform strong { color: var(--ink-2); font-weight: 600; }
    .case-row__metrics {
      margin-top: 22px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .case-row__metric {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 10px;
      padding: 12px 14px;
    }
    .case-row__metric strong {
      display: block;
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 22px;
      color: var(--brand-blue);
      letter-spacing: -0.02em;
    }
    .case-row__metric span {
      font-size: 11.5px;
      color: var(--ink-3);
      line-height: 1.3;
    }
    @media (max-width: 1024px) {
      .case-row { grid-template-columns: 1fr; gap: 32px; padding: 40px 0; }
      .case-row.reverse > :first-child { order: 0; }
    }
 



  /* ===============================   extensions-new Custom Csss  ======================================== */
   .ext-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-lg);
      padding: 32px;
      display: grid;
      grid-template-columns: 170px 1fr auto;
      gap: 24px;
      align-items: flex-start;
      transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    }
    .ext-card:hover { box-shadow: var(--shadow-md); border-color: var(--border-strong); transform: translateY(-2px); }
    .ext-card__icon {
      width: 170px; 
      /* height: 100px; */
      border-radius: 18px;
      display: grid; place-items: center;
      position: relative;
    }
    .ext-card__icon .jc-extension-image {border-radius: var(--radius-lg);}
    /* .ext-card__icon::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      background: linear-gradient(135deg, rgba(255,255,255,0.25), transparent 60%);
      pointer-events: none;
    } */
    .ext-card__head {
      display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
      margin-bottom: 10px;
    }
    .ext-card__pill {
      font-size: 11.5px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 999px;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .ext-card__pill.is-free { background: #e6f7ec; color: #1f7a47; }
    .ext-card__pill.is-paid { background: #fff3e2; color: #d97b09; }
    .ext-card__pill.is-most_installed { background: var(--brand-blue-50); color: var(--brand-blue); }
    .ext-card__pill.is-version { background: var(--bg-band); color: var(--ink-3); }
    .ext-card h3 {
      font-size: 22px; margin: 0;
    }
    .ext-card h3 a:hover,
    .ext-card h3 a:focus,
    .ext-card h3 a:active{color: var(--brand-blue);}
    .ext-card p { font-size: 14.5px; color: var(--ink-2); margin-top: 6px; line-height: 1.55; }
    .ext-card__features {
      display: grid; grid-template-columns: 1fr 1fr; gap: 6px 18px;
      margin-top: 14px;
      font-size: 13.5px; color: var(--ink-3);
    }
    .ext-card__features li { display: flex; gap: 8px; align-items: flex-start; }
    .ext-card__features li svg { flex-shrink: 0; color: var(--brand-blue); margin-top: 3px; }
    .ext-card__actions { display: flex; flex-direction: column; gap: 8px; align-items: stretch; min-width: 180px; }
    .ext-card__price {
      font-family: var(--font-display);
      font-weight: 700;
      font-size: 28px;
      color: var(--ink);
      letter-spacing: -0.02em;
      text-align: right;
      line-height: 1;
    }
    .ext-card__price small { font-size: 13px; color: var(--ink-3); font-weight: 500; margin-left: 2px; }
    @media (max-width: 900px) {
      .ext-card { grid-template-columns: 64px 1fr; gap: 20px; padding: 24px; }
      .ext-card__icon { width: 56px; height: 56px; font-size: 18px; }
      .ext-card__actions { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; min-width: 0; }
      .ext-card__price { text-align: left; }
      .ext-card__features { grid-template-columns: 1fr; }
    }


.why_specialist .two-col {gap: 32px; align-items: stretch;}
.featured_label{
    font-family: var(--font-display);
    font-size: 16px;
    background-color: var(--brand-blue-50);
    padding: 10px 14px;
    border-radius: var(--radius-lg);
    font-weight: 600;
    margin-bottom: 24px;
}
.why_specialist .feature-list {
    display: grid;
    gap: 24px;
}































































































































































































































































































/* ################################################################ all-section-design menu #################################################################*/
/* =========================================================
   HERO SECTION
========================================================= */
.new-home #sp-main-body{padding: 0px 0px 0px 0px;}
.article-details .article-can-edit{margin: 0;}
.bb-hero-section{
    position:relative;
    overflow:hidden;
    background:#041a2b;
    padding:120px 0 90px;
    z-index:1;
}

/* GRID */

.bb-hero-grid{
    position:absolute;
    inset:0;
    background-image:
    linear-gradient(rgba(0,170,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,170,255,.08) 1px, transparent 1px);
    background-size:48px 48px;
    z-index:-1;
}

/* OVERLAY */

.bb-hero-section::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:40%;
    height:100%;
    background:
    radial-gradient(circle,
    rgba(0,170,255,.16),
    transparent 70%);
    z-index:-1;
}

/* CONTAINER */

.bb-hero-section .container{
    max-width:1320px;
}

.bb-hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    background:rgba(0,170,255,.08);
    border:1px solid rgba(0,170,255,.22);
    color:#0db4ff;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin-bottom:34px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-badge-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#0db4ff;
}

/* TITLE */

.bb-hero-title{
    margin:0;
    color:#ffffff;
    font-size:88px;
    line-height:1.02;
    font-weight:800;
    letter-spacing:-3px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-hero-title span{
    color:#0db4ff;
}

.bb-hero-title strong{
    color:#ff982d;
    font-weight:800;
}

/* DESC */

.bb-hero-desc{
    max-width:650px;
    margin-top:36px;
    color:#9ab2c2;
    font-size:22px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTONS */

.bb-hero-btns{
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:42px;
    flex-wrap:wrap;
}

/* BTN */

.bb-main-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:70px;
    padding:0 36px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-main-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}

/* BORDER */

.bb-border-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:70px;
    padding:0 36px;
    border-radius:60px;
    border:1px solid rgba(255,255,255,.35);
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-border-btn:hover{
    background:#fff;
    color:#041a2b;
}

/* FEATURES */

.bb-hero-features{
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap;
    margin-top:58px;
    padding-top:34px;
    border-top:1px solid rgba(255,255,255,.08);
}

/* FEATURE */

.bb-feature{
    display:flex;
    align-items:center;
    gap:10px;
    color:#c7d7e2;
    font-size:15px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-feature i{
    color:#00d17d;
    font-size:12px;
}


.bb-dashboard-wrap{
    position:relative;
    max-width:620px;
    margin-left:auto;
}

/* MAIN CARD */

.bb-dashboard-card{
    position:relative;
    background:rgba(14,32,49,.95);
    border:1px solid rgba(0,170,255,.18);
    border-radius:24px;
    padding:34px 28px 28px;
    backdrop-filter:blur(10px);
    box-shadow:0 20px 60px rgba(0,0,0,.25);
}

/* HEADER */

.bb-dashboard-header{
    text-align:center;
    color:#d8e6ef;
    font-size:18px;
    font-weight:700;
    margin-bottom:26px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* ITEM */

.bb-health-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    border-radius:16px;
    padding:16px 18px;
    margin-bottom:14px;
}

/* GREEN */

.green-item{
    background:rgba(0,200,120,.08);
    border:1px solid rgba(0,200,120,.08);
}

/* BLUE */

.blue-item{
    background:rgba(0,170,255,.08);
    border:1px solid rgba(0,170,255,.08);
}

/* GRAY */

.gray-item{
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.03);
}

/* LEFT */

.bb-health-left{
    display:flex;
    align-items:center;
    gap:14px;
}

/* CHECK */

.bb-health-check{
    width:30px;
    height:30px;
    border-radius:50%;
    background:#00c978;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:700;
}

.blue-check{
    background:#09a8e8;
}

.gray-check{
    background:#293746;
    color:#7c92a2;
}

/* TEXT */

.bb-health-left span{
    color:#dce9f2;
    font-size:15px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}
.bb-health-left {
    color:#dce9f2;
}
/* STATUS */

.bb-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:30px;
    min-width:72px;
    padding:0 14px;
    border-radius:50px;
    font-size:12px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* STATUS COLORS */

.green-status{
    background:#00c978;
    color:#fff;
}

.blue-status{
    background:#09a8e8;
    color:#fff;
}

.gray-status{
    background:#293746;
    color:#9cb1c1;
}

/* FOOTER */

.bb-dashboard-footer{
    margin-top:26px;
}

/* SCORE */

.bb-score-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
}

.bb-score-head span{
    color:#8fa5b6;
    font-size:14px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-score-head strong{
    color:#00e086;
    font-size:30px;
    font-weight:800;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* LINE */

.bb-score-line{
    width:100%;
    height:8px;
    border-radius:20px;
    background:#10263a;
    overflow:hidden;
}

.bb-score-fill{
    width:96%;
    height:100%;
    background:linear-gradient(90deg,#09a8e8,#00e086);
}


.bb-floating-card{
    position:absolute;
    display:flex;
    align-items:center;
    gap:14px;
    background:#0a2238;
    border:1px solid rgba(0,170,255,.16);
    border-radius:18px;
    padding:16px 18px;
    z-index:5;
    box-shadow:0 14px 35px rgba(0,0,0,.22);
}

/* POSITIONS */

.top-left-card{
    top:-26px;
    left:-20px;
}

.top-right-card{
    top:70px;
    right:-28px;
}

.bottom-right-card{
    bottom:-22px;
    right:-12px;
}

/* SMALL ICON */

.bb-small-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-small-icon i{
    color:#fff;
    font-size:16px;
}

.orange-bg{
    background:#ff982d;
}

.green-bg{
    background:#00c978;
}

.blue-bg{
    background:#09a8e8;
}

/* FLOAT TEXT */

.bb-floating-card h6{
    margin:0;
    color:#fff;
    font-size:24px;
    font-weight:800;
    line-height:1;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-floating-card span{
    color:#9ab2c2;
    font-size:13px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}


@media(max-width:1400px){

.bb-hero-title{
    font-size:74px;
}

}

@media(max-width:1199px){

.bb-hero-title{
    font-size:62px;
}

.bb-hero-desc{
    font-size:18px;
}

}

@media(max-width:991px){

.bb-hero-section{
    padding:90px 0 80px;
}

.bb-dashboard-wrap{
    margin-top:80px;
}

.bb-floating-card{
    transform:scale(.9);
}

}

@media(max-width:767px){

.bb-hero-title{
    font-size:42px;
    line-height:1.1;
    letter-spacing:-1px;
}

.bb-hero-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-hero-btns{
    flex-direction:column;
    align-items:stretch;
}

.bb-main-btn,
.bb-border-btn{
    width:100%;
    height:62px;
}

.bb-hero-features{
    gap:16px;
    flex-direction:column;
    align-items:flex-start;
}

.bb-dashboard-card{
    padding:24px 18px;
}

.bb-health-item{
    flex-direction:column;
    align-items:flex-start;
}

.bb-health-left span{
    font-size:13px;
}

.bb-score-head strong{
    font-size:24px;
}

.bb-floating-card{
    transform:scale(.8);
}

.top-left-card{
    left:-10px;
}

.top-right-card{
    right:-10px;
}

}

@media(max-width:480px){

.bb-hero-title{
    font-size:34px;
}

.bb-hero-badge{
    font-size:10px;
}

.bb-floating-card{
    position:relative;
    margin-bottom:14px;
}

.top-left-card,
.top-right-card,
.bottom-right-card{
    top:auto;
    right:auto;
    left:auto;
    bottom:auto;
}

.bb-dashboard-wrap{
    display:flex;
    flex-direction:column;
}

}



/* =========================================================
   Old STATS SECTION
========================================================= */
.bb-stats-section{
    background:#d6eaf8;
    padding:38px 0;
    position:relative;
    overflow:hidden;
}

.bb-stats-section .container{
    max-width:1320px;
}

/* STAT BOX */

.bb-stat-box{
    display:flex;
    align-items:center;
    gap:18px;
    padding:0 35px;
    min-height:82px;
}

.bb-stat-box.border-left{
    border-left:1px solid rgba(0,0,0,.08);
}

/* ICON */

.bb-stat-icon{
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:16px;
    background:#0da2e7;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:18px;
}

/* CONTENT */

.bb-stat-content h3{
    margin:0 0 3px;
    color:#1d1d1d;
    font-size:22px;
    font-weight:800;
    line-height:1;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-stat-content p{
    margin:0;
    color:#5f6b76;
    font-size:15px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* RESPONSIVE */

@media(max-width:991px){

.bb-stat-box{
    padding:25px 20px;
}

.bb-stat-box.border-left{
    border-left:none;
}

}

@media(max-width:767px){

.bb-stats-section{
    padding:25px 0;
}

.bb-stat-box{
    justify-content:flex-start;
    border-bottom:1px solid rgba(0,0,0,.08);
}

.bb-stats-section .col-md-6:last-child .bb-stat-box{
    border-bottom:none;
}

.bb-stat-content h3{
    font-size:20px;
}

.bb-stat-content p{
    font-size:14px;
}

}


/* =====================================================
   REAL ISSUE SECTION
===================================================== */

.bb-real-issue-section{
    padding:115px 0;
    overflow:hidden;
    position:relative;
}

.bb-real-issue-section .container{
    max-width:1320px;
}

.bb-real-left{
    max-width:520px;
}

/* BADGE */

.bb-real-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    background:#e8f4fb;
    border:1px solid #c9e5f5;
    margin-bottom:34px;
}

.bb-real-badge i{
    color:#09a8e8;
    font-size:12px;
}

.bb-real-badge span{
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TITLE */

.bb-real-title{
    margin:0;
    color:#1c1d22;
    font-size:66px;
    line-height:1.06;
    letter-spacing:-2.5px;
    font-weight:800;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-real-title span{
    color:#09a8e8;
}

/* DESCRIPTION */

.bb-real-desc{
    margin-top:40px;
}

.bb-real-desc p{
    margin:0 0 28px;
    color:#6d7783;
    font-size:21px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-real-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:66px;
    padding:0 36px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    font-size:17px;
    font-weight:700;
    margin-top:10px;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-real-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}

.bb-real-right{
    padding-left:45px;
}

/* BOX */

.bb-real-box{
    min-height:82px;
    background:#08213a;
    border-radius:18px;
    padding:20px 28px;
    gap:20px;
    margin-bottom:14px;
    transition:.3s;
}

.bb-real-box:hover{
    transform:translateY(-2px);
}

/* ICON */

.bb-box-icon{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:50%;
    background:rgba(255,255,255,.07);
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-box-icon i{
    color:#c2ccd5;
    font-size:16px;
}

/* TEXT */

.bb-box-text{
    color:#ffffff;
    font-size:16px;
    line-height:1.55;
    font-weight:600;
    letter-spacing:-0.2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

@media(max-width:1400px){

.bb-real-title{
    font-size:58px;
}

}

@media(max-width:1199px){

.bb-real-title{
    font-size:48px;
}

.bb-real-desc p{
    font-size:18px;
}

}

@media(max-width:991px){

.bb-real-issue-section{
    padding:90px 0;
}

.bb-real-right{
    padding-left:0;
    margin-top:45px;
}

.bb-real-left{
    max-width:100%;
}

}

@media(max-width:767px){

.bb-real-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-real-desc{
    margin-top:28px;
}

.bb-real-desc p{
    font-size:16px;
    line-height:1.8;
    margin-bottom:22px;
}

.bb-real-box{
    align-items:flex-start !important;
    padding:20px;
    min-height:auto;
}

.bb-box-text{
    font-size:15px;
    line-height:1.6;
}

.bb-real-btn{
    width:100%;
}

}

@media(max-width:480px){

.bb-real-title{
    font-size:32px;
}

.bb-real-badge{
    padding:0 16px;
}

.bb-real-badge span{
    font-size:10px;
}

}

/* =====================================================
   SOLUTION SECTION
===================================================== */

.bb-solution-section{
    position:relative;
    background:#031826;
    padding:115px 0;
    overflow:hidden;
}

.bb-solution-section .container{
    max-width:1320px;
}

.bb-solution-left{
    max-width:540px;
}

/* BADGE */

.bb-solution-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    border:1px solid rgba(0,170,255,.22);
    background:rgba(0,170,255,.08);
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    margin-bottom:34px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TITLE */

.bb-solution-title{
    margin:0;
    color:#fff;
    font-size:64px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-2.3px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-solution-title span{
    color:#09a8e8;
}

/* DESC */

.bb-solution-desc{
    margin-top:32px;
    margin-bottom:52px;
    color:#91a1b2;
    font-size:21px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-wrap{
    position:relative;
}

.bb-process-wrap::before{
    content:"";
    position:absolute;
    top:12px;
    left:16px;
    width:1px;
    height:88%;
    background:rgba(255,255,255,.08);
}

/* ITEM */

.bb-process-item{
    position:relative;
    gap:24px;
    margin-bottom:36px;
}

.bb-process-number{
    position:relative;
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:50%;
    background:#0aa7e8;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    z-index:2;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-content h4{
    margin:0 0 8px;
    color:#fff;
    font-size:21px;
    font-weight:700;
    line-height:1.4;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-content p{
    margin:0;
    color:#91a1b2;
    font-size:17px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-solution-right{
    padding-left:50px;
}

/* CARD */

.bb-solution-card{
    background:#0a2238;
    border:1px solid rgba(0,170,255,.12);
    border-radius:18px;
    padding:34px 28px;
    min-height:265px;
    margin-bottom:24px;
    transition:.3s;
}

.bb-solution-card:hover{
    transform:translateY(-3px);
}

/* ICON */

.bb-card-icon{
    width:44px;
    height:44px;
    border-radius:12px;
    background:rgba(0,170,255,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:28px;
}

.bb-card-icon i{
    color:#09a8e8;
    font-size:18px;
}

/* CARD TEXT */

.bb-solution-card h4{
    margin:0 0 14px;
    color:#fff;
    font-size:24px;
    font-weight:700;
    line-height:1.4;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-solution-card p{
    margin:0;
    color:#91a1b2;
    font-size:17px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-bottom-note{
    margin-top:10px;
    border-radius:18px;
    background:#242c33;
    border:1px solid rgba(255,152,45,.4);
    padding:34px 32px;
}

.bb-bottom-note h4{
    margin:0 0 12px;
    color:#fff;
    font-size:28px;
    line-height:1.4;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-bottom-note p{
    margin:0;
    color:#9ba7b3;
    font-size:17px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

@media(max-width:1400px){

.bb-solution-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-solution-title{
    font-size:48px;
}

.bb-solution-desc{
    font-size:18px;
}

.bb-process-content h4{
    font-size:18px;
}

.bb-solution-card h4{
    font-size:20px;
}

}

@media(max-width:991px){

.bb-solution-section{
    padding:90px 0;
}

.bb-solution-right{
    padding-left:0;
    margin-top:50px;
}

.bb-solution-left{
    max-width:100%;
}

}

@media(max-width:767px){

.bb-solution-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-solution-desc{
    font-size:16px;
    line-height:1.8;
    margin-bottom:42px;
}

.bb-process-item{
    gap:16px;
}

.bb-process-content h4{
    font-size:16px;
}

.bb-process-content p{
    font-size:14px;
    line-height:1.7;
}

.bb-solution-card{
    min-height:auto;
    padding:28px 22px;
}

.bb-solution-card h4{
    font-size:18px;
}

.bb-solution-card p{
    font-size:15px;
    line-height:1.7;
}

.bb-bottom-note{
    padding:28px 24px;
}

.bb-bottom-note h4{
    font-size:22px;
}

.bb-bottom-note p{
    font-size:15px;
}

}

@media(max-width:480px){

.bb-solution-title{
    font-size:32px;
}

.bb-solution-badge{
    font-size:10px;
}

}


/* =====================================================
   PROCESS SECTION
===================================================== */
.bb-process-section{
    background:#ecf6ff;
    padding:115px 0;
    position:relative;
    overflow:hidden;
}
.bb-process-section .container{
    max-width:1320px;
}

.bb-process-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    border:1px solid #cbe7f6;
    background:#f4fbff;
    color:#0aa7e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    margin-bottom:30px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-badge i{
    font-size:12px;
}

.bb-process-title{
    margin:0;
    color:#1c1d22;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-title span{
    color:#0aa7e8;
}


.bb-process-desc{
    margin-top:28px;
    max-width:720px;
    color:#697586;
    font-size:21px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-steps-wrap{
    position:relative;
    margin-top:85px;
}

.bb-process-line{
    position:absolute;
    top:28px;
    left:13%;
    width:74%;
    height:2px;
    background:#0aa7e8;
    opacity:.4;
}

/* STEP ITEM */

.bb-step-item{
    position:relative;
    text-align:center;
    padding:0 18px;
    z-index:2;
}

/* ICON */

.bb-step-icon-wrap{
    position:relative;
    width:58px;
    margin:0 auto 26px;
}

.bb-step-icon{
    width:58px;
    height:58px;
    border-radius:50%;
    border:2px solid #0aa7e8;
    background:#eef7fc;
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-step-icon i{
    color:#0aa7e8;
    font-size:22px;
}

/* NUMBER */

.bb-step-number{
    position:absolute;
    top:-6px;
    right:-6px;
    width:24px;
    height:24px;
    border-radius:50%;
    background:#ff982d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TEXT */

.bb-step-item h4{
    margin:0 0 14px;
    color:#1d1d21;
    font-size:24px;
    font-weight:700;
    line-height:1.4;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-step-item p{
    margin:0;
    color:#7b8795;
    font-size:17px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-cta{
    margin-top:90px;
    background:#fff;
    border:1px solid #dbeaf3;
    border-radius:18px;
    padding:28px 30px;
    gap:25px;
}

/* LEFT */

.bb-cta-left{
    gap:18px;
}

.bb-cta-icon{
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:14px;
    background:#edf7fd;
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-cta-icon i{
    color:#0aa7e8;
    font-size:18px;
}

/* TEXT */

.bb-cta-content h4{
    margin:0 0 6px;
    color:#1d1d21;
    font-size:28px;
    line-height:1.4;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-cta-content p{
    margin:0;
    color:#7a8795;
    font-size:16px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-process-btn{
    height:64px;
    min-width:255px;
    padding:0 34px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
    transition:.3s;
    white-space:nowrap;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-process-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}

@media(max-width:1400px){

.bb-process-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-process-title{
    font-size:48px;
}

.bb-process-desc{
    font-size:18px;
}

.bb-step-item h4{
    font-size:20px;
}

.bb-step-item p{
    font-size:15px;
}

.bb-cta-content h4{
    font-size:22px;
}

}

@media(max-width:991px){

.bb-process-section{
    padding:90px 0;
}

.bb-process-line{
    display:none;
}

.bb-step-item{
    margin-bottom:45px;
}

.bb-process-cta{
    flex-direction:column;
    align-items:flex-start !important;
}

.bb-process-btn{
    width:100%;
}

}

@media(max-width:767px){

.bb-process-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-process-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-step-item{
    padding:0;
}

.bb-step-item h4{
    font-size:18px;
}

.bb-step-item p{
    font-size:14px;
    line-height:1.8;
}

.bb-process-cta{
    padding:24px 20px;
    margin-top:60px;
}

.bb-cta-left{
    align-items:flex-start !important;
}

.bb-cta-content h4{
    font-size:18px;
}

.bb-cta-content p{
    font-size:14px;
}

}

@media(max-width:480px){

.bb-process-title{
    font-size:32px;
}

.bb-process-badge{
    font-size:10px;
}

}

/* =========================================================
   SERVICES SECTION
========================================================= */

.bb-services-section{
    position:relative;
    padding:115px 0;
    overflow:hidden;
}

.bb-services-section .container{
    max-width:1320px;
}

.bb-services-top-left{
    margin-bottom:65px;
}

/* BADGE */

.bb-services-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    background:#eef8fe;
    border:1px solid #cfe7f4;
    color:#0aa7e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-services-badge i{
    font-size:12px;
}

/* TITLE */

.bb-services-title{
    margin:0;
    color:#1d1d22;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-services-title span{
    color:#09a8e8;
}

/* DESC */

.bb-services-top-desc{
    margin:74px 0 0;
    color:#6e7885;
    font-size:20px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-service-card{
    position:relative;
    background:#ffffff;
    border:1px solid #dde7ee;
    border-radius:22px;
    padding:32px 28px 26px;
    min-height:405px;
    margin-bottom:28px;
    transition:.35s;
}

.bb-service-card:hover{
    transform:translateY(-4px);
    border-color:#09a8e8;
    box-shadow:0 10px 40px rgba(9,168,232,.08);
}

/* ACTIVE CARD */

.active-card{
    border-color:#09a8e8;
    box-shadow:0 10px 40px rgba(9,168,232,.08);
}



/* ICON */

.bb-service-icon{
    width:54px;
    height:54px;
    border-radius:16px;
    background:#eef7fc;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:30px;
}

.bb-service-icon i{
    color:#09a8e8;
    font-size:20px;
}

.active-icon{
    background:#09a8e8;
}

.active-icon i{
    color:#fff;
}

/* TITLE */

.bb-service-card h3{
    margin:0 0 18px;
    color:#1d1d22;
    font-size:28px;
    line-height:1.4;
    font-weight:700;
    letter-spacing:-0.5px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* DESC */

.bb-service-card p{
    margin:0;
    color:#758191;
    font-size:16px;
    line-height:2;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TAG */

.bb-service-tag{
    position:absolute;
    left:28px;
    bottom:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:28px;
    padding:0 14px;
    border-radius:50px;
    background:#eef8fe;
    color:#09a8e8;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.active-tag{
    background:#09a8e8;
    color:#fff;
}

@media(max-width:1400px){

.bb-services-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-services-title{
    font-size:48px;
}

.bb-services-top-desc{
    font-size:18px;
}

.bb-service-card{
    min-height:420px;
}

.bb-service-card h3{
    font-size:22px;
}

}

@media(max-width:991px){

.bb-services-section{
    padding:90px 0;
}

.bb-services-top-desc{
    margin-top:0;
    margin-bottom:50px;
}

}

@media(max-width:767px){

.bb-services-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-services-top-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-service-card{
    min-height:auto;
    padding:28px 22px 75px;
}

.bb-service-card h3{
    font-size:20px;
}

.bb-service-card p{
    font-size:15px;
    line-height:1.8;
}

}

@media(max-width:480px){

.bb-services-title{
    font-size:32px;
}

.bb-services-badge{
    font-size:10px;
}

}


/* =========================================================
   AGENCY SECTION
========================================================= */

.bb-agency-section{
    position:relative;
    background:#ecf6ff;
    padding:85px 0 95px;
    overflow:hidden;
}
.bb-agency-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 22px;
    border-radius:50px;
    background:#f5fbff;
    border:1px solid #cfe7f4;
    color:#0aa7e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* DESC */

.bb-agency-desc{
    margin:0;
    color:#6f7b88;
    font-size:24px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-logo-slider-wrap{
    position:relative;
    margin-top:65px;
    overflow:hidden;
    width:100%;
}

/* FADE */

.bb-logo-slider-wrap::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:180px;
    height:100%;
    background:linear-gradient(to right,#eef7fc 0%,rgba(238,247,252,0) 100%);
    z-index:2;
}

.bb-logo-slider-wrap::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:180px;
    height:100%;
    background:linear-gradient(to left,#eef7fc 0%,rgba(238,247,252,0) 100%);
    z-index:2;
}

/* TRACK */

.bb-logo-slider{
    display:flex;
    align-items:center;
    width:max-content;
    animation:bbLogoSlide 28s linear infinite;
}

/* ITEM */

.bb-logo-item{
    width:160px;
    height:60px;
    border-radius:18px;
    background:#ffffff;
    border:1px solid #dbe9f1;
    margin:0 22px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#6d7784;
    white-space:nowrap;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* HOVER */

.bb-logo-item:hover{
    border-color:#09a8e8;
    color:#1c1d22;
    box-shadow:0 10px 35px rgba(9,168,232,.08);
}


@keyframes bbLogoSlide{

    0%{
        transform:translateX(0);
    }

    100%{
        transform:translateX(-50%);
    }

}

@media(max-width:1199px){

.bb-logo-item{
    width:220px;
    height:82px;
    font-size:22px;
}

.bb-agency-desc{
    font-size:20px;
}

}

@media(max-width:991px){

.bb-agency-section{
    padding:75px 0 85px;
}

.bb-logo-slider-wrap{
    margin-top:50px;
}

.bb-logo-slider-wrap::before,
.bb-logo-slider-wrap::after{
    width:100px;
}

}

@media(max-width:767px){

.bb-agency-badge{
    font-size:10px;
    letter-spacing:1.5px;
}

.bb-agency-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-logo-item{
    width:180px;
    height:74px;
    margin:0 14px;
    border-radius:14px;
    font-size:18px;
}

.bb-logo-slider{
    animation-duration:20s;
}

.bb-logo-slider-wrap::before,
.bb-logo-slider-wrap::after{
    width:60px;
}

}

@media(max-width:480px){

.bb-logo-item{
    width:160px;
    height:68px;
    font-size:16px;
}

}

/* =========================================================
   REVIEW SECTION
========================================================= */

.bb-review-section{
    position:relative;
    padding:115px 0;
    overflow:hidden;
}

.bb-review-section .container{
    max-width:1320px;
}
.bb-review-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    height:42px;
    padding:0 18px;
    border-radius:50px;
    background:#eef8fe;
    border:1px solid #cfe7f4;
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-review-badge i{
    font-size:11px;
}

/* TITLE */

.bb-review-title{
    margin:0;
    color:#1c1d22;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-review-title span{
    color:#09a8e8;
}

/* DESC */

.bb-review-desc{
    margin:24px auto 0;
    max-width:760px;
    color:#6e7885;
    font-size:20px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}
.bb-review-card{
    position:relative;
    background:#eef7fc;
    border:1px solid #cfe4f2;
    border-radius:22px;
    padding:28px 28px 24px;
    min-height:430px;
    margin-top:70px;
    transition:.35s;
}

.bb-review-card:hover{
    transform:translateY(-4px);
    border-color:#09a8e8;
    box-shadow:0 12px 40px rgba(9,168,232,.08);
}

/* TOP */

.bb-review-top{
    margin-bottom:26px;
}

/* QUOTE */

.bb-quote-icon{
    color:#7fd1f4;
    font-size:52px;
    line-height:1;
    font-weight:700;
    font-family:Georgia,serif;
}

/* GOOGLE */

.bb-google-icon{
    width:22px;
    height:22px;
    border-radius:6px;
    background:#0a84e8;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.green-icon{
    background:#00b96b;
}

/* STARS */

.bb-review-stars{
    color:#ff982d;
    font-size:18px;
    letter-spacing:2px;
    margin-bottom:22px;
}

/* TEXT */

.bb-review-text{
    color:#374151;
    font-size:16px;
    line-height:2;
    font-style:italic;
    font-weight:500;
    min-height:170px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* AUTHOR */

.bb-review-author{
    gap:14px;
    padding-top:18px;
    border-top:1px solid #d5e7f2;
}

/* AVATAR */

.bb-author-avatar{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:50%;
    background:#0a84e8;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.green-avatar{
    background:#00b96b;
}

.orange-avatar{
    background:#ff982d;
}

/* INFO */

.bb-author-info h4{
    margin:0 0 3px;
    color:#1d1d22;
    font-size:16px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-author-info p{
    margin:0;
    color:#7a8695;
    font-size:13px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}
.bb-review-bottom{
    margin-top:45px;
}

/* RATING */

.bb-review-rating{
    color:#7a8695;
    font-size:14px;
    font-weight:500;
    margin-bottom:24px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-review-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:58px;
    padding:0 34px;
    border-radius:60px;
    border:2px solid #09a8e8;
    background:transparent;
    color:#09a8e8;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-review-btn:hover{
    background:#09a8e8;
    color:#fff;
    transform:translateY(-2px);
}
@media(max-width:1400px){

.bb-review-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-review-title{
    font-size:48px;
}

.bb-review-desc{
    font-size:18px;
}

.bb-review-card{
    min-height:460px;
}

}

@media(max-width:991px){

.bb-review-section{
    padding:90px 0;
}

.bb-review-card{
    min-height:auto;
}

}

@media(max-width:767px){

.bb-review-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-review-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-review-card{
    padding:24px 22px;
    margin-top:28px;
}

.bb-review-text{
    min-height:auto;
    font-size:15px;
    line-height:1.9;
}

.bb-review-btn{
    width:100%;
}

}

@media(max-width:480px){

.bb-review-title{
    font-size:32px;
}

.bb-review-badge{
    font-size:10px;
}

}


/* =========================================================
   FAQ SECTION
========================================================= */

.bb-faq-section{
    position:relative;
    background:#eef7fc;
    padding:115px 0;
    overflow:hidden;
}

.bb-faq-section .container{
    max-width:1320px;
}


.bb-faq-left{
    max-width:420px;
}

/* BADGE */

.bb-faq-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 16px;
    border-radius:50px;
    background:#f5fbff;
    border:1px solid #cfe7f4;
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    margin-bottom:30px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TITLE */

.bb-faq-title{
    margin:0;
    color:#1d1d22;
    font-size:64px;
    line-height:1.08;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-faq-title span{
    color:#09a8e8;
}

/* DESC */

.bb-faq-desc{
    margin-top:32px;
    margin-bottom:42px;
    color:#6f7b88;
    font-size:20px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-faq-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:64px;
    padding:0 34px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    font-size:16px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-faq-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}

.bb-faq-wrap{
    padding-left:10px;
}

/* ITEM */

.bb-faq-item{
    background:#ffffff;
    border:1px solid #d9e8f2;
    border-radius:18px;
    padding:0 26px;
    margin-bottom:16px;
    transition:.3s;
}

.bb-faq-item:hover{
    border-color:#09a8e8;
}

/* ACTIVE */

.active-faq{
    padding-top:22px;
    padding-bottom:24px;
}

/* HEAD */

.bb-faq-head{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

/* TITLE */

.bb-faq-head h4{
    margin:0;
    color:#1d1d22;
    font-size:24px;
    line-height:1.5;
    font-weight:700;
    letter-spacing:-0.3px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* ICON */

.bb-faq-icon{
    width:28px;
    height:28px;
    min-width:28px;
    border-radius:50%;
    background:#edf7fd;
    color:#09a8e8;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:16px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.active-icon{
    background:#09a8e8;
    color:#fff;
}

/* BODY */

.bb-faq-body{
    padding-right:30px;
}

.bb-faq-body p{
    margin:0;
    color:#6f7b88;
    font-size:17px;
    line-height:2;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

@media(max-width:1400px){

.bb-faq-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-faq-title{
    font-size:48px;
}

.bb-faq-desc{
    font-size:18px;
}

.bb-faq-head h4{
    font-size:20px;
}

}

@media(max-width:991px){

.bb-faq-section{
    padding:90px 0;
}

.bb-faq-wrap{
    padding-left:0;
    margin-top:50px;
}

.bb-faq-left{
    max-width:100%;
}

}

@media(max-width:767px){

.bb-faq-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-faq-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-faq-item{
    padding:0 20px;
    border-radius:16px;
}

.active-faq{
    padding-top:18px;
    padding-bottom:20px;
}

.bb-faq-head{
    min-height:70px;
    gap:16px;
}

.bb-faq-head h4{
    font-size:16px;
    line-height:1.6;
}

.bb-faq-body{
    padding-right:0;
}

.bb-faq-body p{
    font-size:15px;
    line-height:1.9;
}

.bb-faq-btn{
    width:100%;
}

}

@media(max-width:480px){

.bb-faq-title{
    font-size:32px;
}

.bb-faq-badge{
    font-size:10px;
}

}


/* =========================================================
   WHY SECTION
========================================================= */

.bb-why-section{
    position:relative;
    padding:115px 0;
    overflow:hidden;
}

.bb-why-section .container{
    max-width:1320px;
}

.bb-why-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    height:40px;
    padding:0 18px;
    border-radius:50px;
    background:#eef8fe;
    border:1px solid #cfe7f4;
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-why-badge i{
    font-size:11px;
}

/* TITLE */

.bb-why-title{
    margin:0;
    color:#1c1d22;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-why-title span{
    color:#09a8e8;
}

/* DESC */

.bb-why-desc{
    max-width:720px;
    margin:24px auto 0;
    color:#6f7b88;
    font-size:18px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}


.bb-why-card{
    background:#eef7fc;
    border:1px solid #d4e8f3;
    border-radius:18px;
    padding:26px 24px;
    min-height:245px;
    margin-top:28px;
    transition:.35s;
}

.bb-why-card:hover{
    transform:translateY(-4px);
    border-color:#09a8e8;
    box-shadow:0 10px 35px rgba(9,168,232,.08);
}

/* ICON */

.bb-why-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:#ffffff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:22px;
}

.bb-why-icon i{
    color:#09a8e8;
    font-size:16px;
}

/* TITLE */

.bb-why-card h3{
    margin:0 0 14px;
    color:#1d1d22;
    font-size:22px;
    line-height:1.45;
    font-weight:700;
    letter-spacing:-0.3px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TEXT */

.bb-why-card p{
    margin:0;
    color:#6f7b88;
    font-size:15px;
    line-height:1.95;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}


.bb-why-cta{
    margin-top:42px;
    background:#eef7fc;
    border:1px solid #d4e8f3;
    border-radius:22px;
    padding:52px 30px;
}

/* TITLE */

.bb-why-cta h3{
    margin:0 0 10px;
    color:#1d1d22;
    font-size:34px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:-1px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TEXT */

.bb-why-cta p{
    margin:0 0 32px;
    color:#7b8794;
    font-size:16px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-why-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:60px;
    padding:0 34px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-why-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}


@media(max-width:1400px){

.bb-why-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-why-title{
    font-size:48px;
}

.bb-why-card{
    min-height:260px;
}

}

@media(max-width:991px){

.bb-why-section{
    padding:90px 0;
}

.bb-why-card{
    min-height:auto;
}

}

@media(max-width:767px){

.bb-why-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-why-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-why-card{
    padding:24px 20px;
}

.bb-why-card h3{
    font-size:18px;
}

.bb-why-card p{
    font-size:14px;
    line-height:1.8;
}

.bb-why-cta{
    padding:42px 22px;
}

.bb-why-cta h3{
    font-size:24px;
}

.bb-why-cta p{
    font-size:14px;
}

.bb-why-btn{
    width:100%;
}

}

@media(max-width:480px){

.bb-why-title{
    font-size:32px;
}

.bb-why-badge{
    font-size:10px;
}

}


/* =========================================================
   COMPARE SECTION
========================================================= */

.bb-compare-section{
    position:relative;
    background:#031826;
    padding:115px 0;
    overflow:hidden;
}

.bb-compare-section .container{
    max-width:1320px;
}

.bb-compare-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 18px;
    border-radius:50px;
    background:rgba(0,170,255,.08);
    border:1px solid rgba(0,170,255,.2);
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* TITLE */

.bb-compare-title{
    margin:0;
    color:#fff;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-compare-title span{
    color:#09a8e8;
}

/* DESC */

.bb-compare-desc{
    max-width:720px;
    margin:24px auto 0;
    color:#7f9aad;
    font-size:18px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-compare-wrap{
    margin-top:70px;
}

/* HEAD */

.bb-compare-head{
    display:flex;
    align-items:center;
    gap:12px;
    height:54px;
    padding:0 18px;
    border-radius:14px;
    margin-bottom:18px;
    font-size:15px;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.red-head{
    background:rgba(255,77,109,.08);
    border:1px solid rgba(255,77,109,.25);
    color:#ff6b81;
}

.green-head{
    background:rgba(0,200,120,.08);
    border:1px solid rgba(0,200,120,.22);
    color:#00d17d;
}

/* ICON */

.bb-head-icon{
    width:20px;
    height:20px;
    border-radius:6px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
    font-weight:700;
}

.bb-compare-card{
    display:flex;
    gap:16px;
    border-radius:14px;
    padding:18px;
    margin-bottom:14px;
    transition:.3s;
}

.bb-compare-card:hover{
    transform:translateY(-2px);
}

/* RED */

.red-card{
    background:#0a2238;
    border:1px solid rgba(255,77,109,.15);
}

/* GREEN */

.green-card{
    background:#0a2238;
    border:1px solid rgba(0,200,120,.15);
}

/* ICON */

.bb-card-icon{
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:10px;
    background:rgba(255,77,109,.08);
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-card-icon i{
    color:#ff6b81;
    font-size:14px;
}

.green-icon{
    background:rgba(0,200,120,.08);
}

.green-icon i{
    color:#00d17d;
}

/* CONTENT */

.bb-card-content h4{
    margin:0 0 6px;
    color:#fff;
    font-size:16px;
    line-height:1.5;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-card-content p{
    margin:0;
    color:#7f9aad;
    font-size:13px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-vs-circle{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#ff982d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto;
    font-size:15px;
    font-weight:800;
    box-shadow:0 10px 30px rgba(255,152,45,.25);
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-compare-cta{
    margin-top:34px;
    background:#07243a;
    border:1px solid rgba(0,170,255,.16);
    border-radius:20px;
    padding:30px 32px;
    gap:30px;
}

/* CONTENT */

.bb-cta-content h3{
    margin:0 0 10px;
    color:#fff;
    font-size:28px;
    line-height:1.4;
    font-weight:800;
    letter-spacing:-1px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-cta-content p{
    margin:0;
    color:#7f9aad;
    font-size:15px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* BUTTON */

.bb-compare-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:250px;
    height:58px;
    padding:0 28px;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    transition:.3s;
    white-space:nowrap;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-compare-btn:hover{
    background:#ff8910;
    color:#fff;
    transform:translateY(-2px);
}

@media(max-width:1400px){

.bb-compare-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-compare-title{
    font-size:48px;
}

.bb-vs-circle{
    margin:40px auto;
}

}

@media(max-width:991px){

.bb-compare-section{
    padding:90px 0;
}

.bb-vs-circle{
    margin:10px auto 30px;
}

.bb-compare-cta{
    flex-direction:column;
    align-items:flex-start !important;
}

.bb-compare-btn{
    width:100%;
}

}

@media(max-width:767px){

.bb-compare-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-compare-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-compare-head{
    font-size:13px;
}

.bb-card-content h4{
    font-size:15px;
}

.bb-card-content p{
    font-size:12px;
}

.bb-compare-cta{
    padding:26px 22px;
}

.bb-cta-content h3{
    font-size:22px;
}

.bb-cta-content p{
    font-size:14px;
}

}

@media(max-width:480px){

.bb-compare-title{
    font-size:32px;
}

.bb-compare-badge{
    font-size:10px;
}

}

/* =========================================================
   CONTACT SECTION
========================================================= */

.bb-contact-section{
    position:relative;
    background:#f5f7fa;
    padding:115px 0;
    overflow:hidden;
}

.bb-contact-section .container{
    max-width:1320px;
}

.bb-contact-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    height:40px;
    padding:0 18px;
    border-radius:50px;
    background:#eef8fe;
    border:1px solid #cfe7f4;
    color:#09a8e8;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
    margin-bottom:28px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-badge i{
    font-size:11px;
}

/* TITLE */

.bb-contact-title{
    margin:0;
    color:#1d1d22;
    font-size:64px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-2px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-title span{
    color:#09a8e8;
}

/* DESC */

.bb-contact-desc{
    max-width:520px;
    margin-top:28px;
    margin-bottom:42px;
    color:#6f7b88;
    font-size:19px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-info{
    display:flex;
    flex-direction:column;
    gap:16px;
}

/* ITEM */

.bb-contact-item{
    display:flex;
    align-items:center;
    gap:18px;
    background:#eef7fc;
    border:1px solid #d4e8f3;
    border-radius:18px;
    padding:18px 18px;
    transition:.3s;
}

.bb-contact-item:hover{
    transform:translateY(-2px);
    border-color:#09a8e8;
}

/* ICON */

.bb-contact-icon{
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:12px;
    background:#09a8e8;
    display:flex;
    align-items:center;
    justify-content:center;
}

.bb-contact-icon i{
    color:#fff;
    font-size:16px;
}

.green-icon{
    background:#00c96b;
}

/* TEXT */

.bb-contact-text span{
    display:block;
    margin-bottom:4px;
    color:#6e7a87;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.4px;
    text-transform:uppercase;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-text h4{
    margin:0;
    color:#1d1d22;
    font-size:16px;
    line-height:1.6;
    font-weight:700;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-form-wrap{
    background:#eef7fc;
    border:1px solid #d4e8f3;
    border-radius:24px;
    padding:38px 36px;
}

/* TITLE */

.bb-form-title{
    margin:0 0 8px;
    color:#1d1d22;
    font-size:38px;
    line-height:1.3;
    font-weight:800;
    letter-spacing:-1px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* DESC */

.bb-form-desc{
    margin:0 0 30px;
    color:#6f7b88;
    font-size:15px;
    line-height:1.8;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* GROUP */

.bb-form-group{
    margin-bottom:22px;
}

/* LABEL */

.bb-form-group label{
    display:block;
    margin-bottom:10px;
    color:#1d1d22;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* INPUT */

.bb-form-group input,
.bb-form-group select,
.bb-form-group textarea{
    width:100%;
    height:58px;
    border:none;
    outline:none;
    background:#ffffff;
    border:1px solid #cfe3ef;
    border-radius:14px;
    padding:0 18px;
    color:#1d1d22;
    font-size:15px;
    font-weight:500;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-form-group textarea{
    height:120px;
    resize:none;
    padding-top:16px;
}

/* FOCUS */

.bb-form-group input:focus,
.bb-form-group select:focus,
.bb-form-group textarea:focus{
    border-color:#09a8e8;
    box-shadow:0 0 0 4px rgba(9,168,232,.08);
}

/* PLACEHOLDER */

.bb-form-group input::placeholder,
.bb-form-group textarea::placeholder{
    color:#9aa7b5;
}

/* BUTTON */

.bb-contact-btn{
    width:100%;
    height:64px;
    border:none;
    outline:none;
    border-radius:60px;
    background:#ff982d;
    color:#fff;
    font-size:16px;
    font-weight:700;
    cursor:pointer;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-contact-btn:hover{
    background:#ff8910;
    transform:translateY(-2px);
}

/* NOTE */

.bb-form-note{
    margin-top:18px;
    text-align:center;
    color:#7f8a97;
    font-size:13px;
    line-height:1.7;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

@media(max-width:1400px){

.bb-contact-title{
    font-size:56px;
}

}

@media(max-width:1199px){

.bb-contact-title{
    font-size:48px;
}

.bb-form-title{
    font-size:32px;
}

}

@media(max-width:991px){

.bb-contact-section{
    padding:90px 0;
}

.bb-contact-form-wrap{
    margin-top:50px;
}

}

@media(max-width:767px){

.bb-contact-title{
    font-size:38px;
    line-height:1.15;
    letter-spacing:-1px;
}

.bb-contact-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-contact-form-wrap{
    padding:28px 22px;
    border-radius:20px;
}

.bb-form-title{
    font-size:26px;
}

.bb-contact-btn{
    height:58px;
}

}

@media(max-width:480px){

.bb-contact-title{
    font-size:32px;
}

.bb-contact-badge{
    font-size:10px;
}

.bb-contact-item{
    padding:16px;
}

.bb-contact-text h4{
    font-size:14px;
}

}

/* =========================================================
   FINAL CTA SECTION
========================================================= */

.bb-final-cta-section{
    position:relative;
    background:#0ca7e5;
    padding:120px 0 105px;
    overflow:hidden;
    z-index:1;
}

/* GRID BACKGROUND */

.bb-final-cta-section::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size:48px 48px;
    z-index:-1;
}

/* DARK OVERLAY */

.bb-final-cta-section::after{
    content:"";
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at top center,
    rgba(255,255,255,.06),
    transparent 45%);
    z-index:-1;
}

/* CONTAINER */

.bb-final-cta-section .container{
    max-width:1320px;
}

.bb-final-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:42px;
    padding:0 20px;
    border-radius:50px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.22);
    color:#ffffff;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.7px;
    text-transform:uppercase;
    margin-bottom:34px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-final-title{
    margin:0;
    color:#ffffff;
    font-size:78px;
    line-height:1.1;
    font-weight:800;
    letter-spacing:-3px;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-final-title span{
    color:#ff982d;
}

.bb-final-desc{
    max-width:820px;
    margin:34px auto 0;
    color:rgba(255,255,255,.88);
    font-size:24px;
    line-height:1.9;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}


.bb-final-btn-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin-top:50px;
    flex-wrap:wrap;
}

/* BTN */

.bb-final-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:255px;
    height:72px;
    padding:0 36px;
    border-radius:60px;
    text-decoration:none;
    font-size:18px;
    font-weight:700;
    transition:.3s;
    font-family:'Plus Jakarta Sans',sans-serif;
}

/* WHITE BTN */

.white-btn{
    background:#ffffff;
    color:#1d1d22;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.white-btn:hover{
    background:#f4f4f4;
    color:#1d1d22;
    transform:translateY(-2px);
}

/* BORDER BTN */

.border-btn{
    background:transparent;
    border:1px solid rgba(255,255,255,.45);
    color:#ffffff;
}

.border-btn:hover{
    background:#ffffff;
    color:#1d1d22;
    transform:translateY(-2px);
}


.bb-final-features{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:44px;
    flex-wrap:wrap;
    margin-top:58px;
}

/* ITEM */

.bb-feature-item{
    display:flex;
    align-items:center;
    gap:10px;
    color:#ffffff;
    font-size:18px;
    font-weight:500;
    font-family:'Plus Jakarta Sans',sans-serif;
}

.bb-feature-item i{
    color:#ff982d;
    font-size:14px;
}

@media(max-width:1400px){

.bb-final-title{
    font-size:68px;
}

}

@media(max-width:1199px){

.bb-final-title{
    font-size:58px;
}

.bb-final-desc{
    font-size:20px;
}

}

@media(max-width:991px){

.bb-final-cta-section{
    padding:95px 0 85px;
}

.bb-final-title{
    font-size:50px;
}

.bb-final-desc{
    font-size:18px;
    line-height:1.8;
}

.bb-final-features{
    gap:24px;
}

}

@media(max-width:767px){

.bb-final-title{
    font-size:38px;
    line-height:1.18;
    letter-spacing:-1.5px;
}

.bb-final-desc{
    font-size:16px;
    line-height:1.8;
}

.bb-final-btn-wrap{
    flex-direction:column;
    gap:18px;
}

.bb-final-btn{
    width:100%;
    min-width:100%;
    height:62px;
    font-size:16px;
}

.bb-final-features{
    margin-top:42px;
    gap:16px;
    flex-direction:column;
}

.bb-feature-item{
    font-size:15px;
}

}

@media(max-width:480px){

.bb-final-title{
    font-size:32px;
}

.bb-final-badge{
    font-size:10px;
    letter-spacing:1.2px;
}

.bb-final-cta-section{
    padding:85px 0 75px;
}

}
































































/* ##################################################### Blog,Case-studies,Extension Menu #########################################################*/

/* ====================
   Joom Blog CSS
====================== */
.jc-blog-layout {

    padding-top: 50px;

    padding-bottom: 50px;

}

.jc-blog-card {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);

}

.jc-blog-card:hover {
    transform: translateY(-4px);
    border-color: rgba(38, 157, 216, 0.3);
    box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}

.jc-blog-image img {

    height: 240px;

    object-fit: cover;

    transition: 0.3s;

}

/* .jc-blog-card:hover .jc-blog-image img {

    transform: scale(1.05);

} */
.jc-blog-card-body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.jc-blog-title a {
    color: var(--ink);
    font-size: 17px;
    line-height: 1.3;
    letter-spacing: -0.02em;

}

.jc-blog-title a:hover {

    color: #f7941d;

}

.jc-blog-intro, .jc-blog-intro *{
    font-size: 14px;
    color: var(--ink-3);
    margin: 0;

}

.jc-blog-card-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.joom-author-vwrapper {
    box-shadow: 0 0 30px 0 rgb(0 0 0 / 3%);
    background: #269DD8;
    border-radius: 10px;
    padding: 20px 20px 25px 20px;
    margin-bottom: 30px;
}
.joom-auther-tp {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.joom-image {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.joom-style_circle {
    border-radius: 100px;
    overflow: hidden;
}
.joom_author_name a {color: #fff; font-size: 20px; font-weight: 600;}
.joom_author_name a:hover {color: #F6921E;}
.joom_text_color {color: #fff; font-size: 14px;}
.joom-socials-list {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.joom-socials-item{position: relative;}
.joom-socials-item-link {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 0 2px #e8e8e8;
    border-radius: 100px;
    background: #269DD8;
    color: #fff;
}
.joom-socials-item-link .joom_icons {
    font-size: 0;
}
.joom-socials-item-link .joom_icons:before {
    font-size: 16px;
}
.linkedin .joom-socials-item-link:hover,
.linkedin .joom-socials-item-link:focus{background: #0077b5; color: #fff; box-shadow: inset 0 0 0 2px #0077b5;}

.whatsapp .joom-socials-item-link:hover,
.whatsapp .joom-socials-item-link:focus{background: #25d366; color: #fff; box-shadow: inset 0 0 0 2px #25d366;}

.email .joom-socials-item-link:hover,
.email .joom-socials-item-link:focus{background: #96a2a8; color: #fff; box-shadow: inset 0 0 0 2px #96a2a8;}

.joom-socials-item-popup {
    display: none;
    position: absolute;
    left: 50%;
    bottom: 100%;
    text-align: center;
    white-space: nowrap;
    z-index: 90;
    font-size: 0.9rem;
    line-height: 2.4rem;
    padding: 0 1rem;
    margin-bottom: 7px;
    border-radius: 0.3rem;
    background: #222;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-50%, -1em, 0);
    transition: opacity 0.2s cubic-bezier(.78, .13, .15, .86) 0.3s, transform 0.2s cubic-bezier(.78, .13, .15, .86) 0.3s;
}
.joom-socials-item-popup:after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: -7px;
    margin-left: -8px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #222;
}
 .joom-socials-item-link:hover + .joom-socials-item-popup {
    display: block;
    visibility: visible;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
}
.joom_conetnt_table_title {
    background: #e1f4ff;
    border-radius: 10px 10px 0px 0px;
    padding: 12px 16px;
    margin: 0;
}
.joom_btn_wrap_conetnt {
    border-radius: 0px 0px 10px 10px;
    box-shadow: 0 0 30px 0 rgb(0 0 0 / 3%);
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.joom_btn_style {
    padding: 12px 16px;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    text-align: left;
    width: 100%;
    display: block; 
    color: var(--ink);
    font-size: 14px;
    font-weight: 500;
}
.joom_btn_style:hover,
.joom_btn_style:focus{
    color: #F6921E;
}
.joom_btn_wrapper:last-child .joom_btn_style {
    border-bottom: none !important;
}
.blog_details h2 {
    margin-bottom: 0.6em;
    padding-top: 1.5rem;
}
.blog_details h3,
.blog_details h4,
.blog_details h5,
.blog_details h6{
  margin-top: 1rem;
}
.blog_details h2 + br,
.blog_details h2 + br + br {
    display: none;
}
.joom-auther-section {
    border-radius: 10px;
    border: 1px solid #ddd;
    padding: 2.5rem 2rem 2rem 2rem;
    margin: 2rem 0;
    position: relative;
    transition: opacity 700ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}
.joom-auther-section:hover {
    transform: translateY(-4px);
    border-color: rgba(38, 157, 216, 0.3);
    box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}

.joom_via_grid{
    display: grid;
    grid-template-columns: 1fr 5fr;
    gap: 3rem;
}
.post_author img {
    border-radius: 100px;
}
.post-author-meta {
    margin-bottom: 1rem;
}
.post-author-name {
    color: var(--brand-blue);
    font-size: 20px;
    font-weight: 700;
}
.post-author-name:hover {color: #F6921E}
.joom_via_grid_content a{color: var(--brand-blue); font-weight: 500;}
.joom_via_grid_content a:hover{color: #F6921E}
.joom-bio-auther {
    position: absolute;
    top: -20px;
    width: 130px;
    padding: 12px 0px;
    left: 0;
    right: 0;
    background: #272222;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    font-weight: 600;
    font-size: 16px;
    border-radius: 5px;
    line-height: 1;
}
.blog_details ul {
    list-style-type: disc;
    margin-inline-start: 1.5rem;
}

.blog_details ul li{
  list-style: none;
  position: relative;
  margin: 0 0 0.5rem;
}
.blog_details ul li + br {
    display: none;
}
.blog_details ul li:before {
    position: absolute;
    content: "";
    top: 4px;
    bottom: auto;
    left: -24px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23F6921E" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check-icon lucide-check"><path d="M20 6 9 17l-5-5"/></svg>') no-repeat;
    background-size: 18px;
    width: 18px;
    height: 18px;
    margin: auto;
}
.blog_details ol {
    list-style-type: decimal;
    margin-inline-start: 1.5rem;
}
.blog_details ol li{
  position: relative;
  margin: 0 0 0.5rem;
}
.blog-gallery__item {
    margin-bottom: 1.5rem;
}
.blog_details img.emoji {
    max-width: 24px;
    display: inline-block;
    vertical-align: middle;
}
/* ==================
   Joom Case Studies CSS
======================= */
.jc-case-item {

    padding-bottom: 40px;

}

.jc-case-image img {

    transition: 0.3s;

}

.jc-case-image:hover img {

    transform: scale(1.03);

}
.jc-case-image {
    border-radius: 14px !important;
    box-shadow: var(--shadow-md);
}

.jc-case-title a {
    font-size: clamp(22px, 2vw, 28px);
    color: #00a0e3;
    transition: 0.3s;

}

.jc-case-title a:hover {

    color: #0077ad;

}

.jc-case-meta {
    color: var(--ink-3);
    font-size: 14px;
    padding: 14px 16px;
    background: var(--bg-band);
    border-radius: 10px;
    font-weight: 500;
}

.jc-case-intro {

    color: #444;

    line-height: 1.9;

}

.jc-case-readmore {

    color: var(--brand-blue);
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.jc-case-readmore:hover {

    color: #0077ad;

}

/* BREADCRUMB DESIGN START */
nav.mod-breadcrumbs__wrapper {
    display: flex;
    justify-content: center;
    gap: 8px;
    font-family: var(--font-mono);
    font-size: 11.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ink-4);
}
nav.mod-breadcrumbs__wrapper .breadcrumb{background: none; padding: 0; margin: 0; justify-content: center;}
nav.mod-breadcrumbs__wrapper .breadcrumb a {color: var(--ink-3);}
nav.mod-breadcrumbs__wrapper .breadcrumb a:hover {color: var(--brand-blue);}
.breadcrumb-item+.breadcrumb-item::before{content:var(--bs-breadcrumb-divider, ">");}
/* BREADCRUMB DESIGN CLOSE */
.page-hero .fields-container .field-value {
    display: inline-flex;
    background: var(--brand-orange-50);
    color: var(--brand-orange-ink);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 999px;
}

.jc-case-tag {

    background: #f7941d;

    color: #fff;

    padding: 6px 12px;

    border-radius: 4px;

    font-size: 13px;

    line-height: 1;

}

.case_studies_detail .row {
    --bs-gutter-x: 3rem;
}

.case_content {
    top: calc(60px + 4rem);
    position: -webkit-sticky;
    position: sticky;
    font-size: 16px;
    line-height: 1.6;
    color: var(--ink-2);
    z-index: 999;
}


.case-study-gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
.case_content h4 {
    font-size: 30px;
    margin-bottom: 1.5rem;
}
.case_content p {
    margin: 0px 0px 1.5rem;
}
.case_content h4:not(:first-child){
    padding-top: 1.5rem;
}
.case_content ul {
    list-style-type: disc;
    margin: 0 0 1.5rem;
    margin-inline-start: 2.5rem;
}
.case_content ul li {
    margin: 0 0 0.5rem;
}
/* =====================
   Joom Extensions CSS
======================== */
.extension_grid {
    display: grid;
    gap: 20px;
}

.jc-extension-card {

    /*border-radius: 10px;*/
    border-radius: 0.3rem;
    overflow: hidden;

    transition: 0.3s;

    box-shadow: 0 4px 20px rgba(0,0,0,0.08);

}

.jc-extension-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 10px 30px rgba(0,0,0,0.12);

}

.jc-extension-image img {

    /* height: 260px; */

    object-fit: cover;

    transition: 0.3s;

}

.jc-extension-card:hover .jc-extension-image img {

    transform: scale(1.04);

}

.jc-extension-title a {

    color: #222;

    font-weight: 700;

}

.jc-extension-title a:hover {

    color: #f7941d;

}

.jc-extension-intro {

    color: #555;

    line-height: 1.8;

}

.extension_details ul {
    list-style-type: disc;
    margin-inline-start: 1.5rem;
}
.extension_details ul li{
  /* list-style: none; */
  position: relative;
  margin: 0 0 0.5rem;
}
.extension_details img.emoji {
    max-width: 20px;
    display: inline-block;
}
@media screen and (max-width: 767px) {
  .article-details .article-header .article_title{font-size: 30px;}
  .case_content h4{font-size: 22px;}
  .case_studies_detail .row{--bs-gutter-y: 3rem;}  
  .post_author img {border-radius: 100px; width: 150px; margin: 0 auto;}
  .joom_via_grid{grid-template-columns: 1fr; gap: 1.5rem; text-align: center;}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
  .joom_via_grid{gap:1.5rem;}
}



/*@media (max-width: 767px) {
    .case-study-gallery {
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .case-study-gallery::-webkit-scrollbar {
        display: none;
    }
    .case-study-gallery__item img {
        width: 100%;
        height: auto;
        display: block;
    }
}
*/
/*@media (max-width: 767px) {

    .case-study-gallery {
        position: relative;
        overflow: hidden;
    }

    .case-study-gallery__track {
        display: flex;
        transition: transform .35s ease;
    }

    .case-study-gallery__item {
        min-width: 100%;
        flex: 0 0 100%;
    }

    .case-study-gallery__prev,
    .case-study-gallery__next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10;
        width: 40px;
        height: 40px;
        border: 0;
        border-radius: 50%;
        background: rgba(0,0,0,.7);
        color: #fff;
        cursor: pointer;
    }

    .case-study-gallery__prev {
        left: 10px;
    }

    .case-study-gallery__next {
        right: 10px;
    }
}
*/
@media (max-width: 991px) {

    .case-study-gallery {
        position: relative;
        overflow: hidden;
        display: block !important;
    }

    .case-study-gallery__track {
        display: flex;
        transition: transform .4s ease;
    }

    .case-study-gallery__item {
        flex: 0 0 100%;
        min-width: 100%;
    }

    .case-study-gallery__item img {
        width: 100%;
        display: block;
    }

    .case-gallery-prev,
    .case-gallery-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 42px;
        height: 42px;
        border: 0;
        border-radius: 50%;
        background: rgba(0,0,0,.75);
        color: #fff;
        font-size: 18px;
        cursor: pointer;
        z-index: 9;
    }

    .case-gallery-prev {
        left: 10px;
    }

    .case-gallery-next {
        right: 10px;
    }
}












































































































































































































/* ################################################################  New JoomConsultant HOME PAGE CSS #################################################################*/


/* ========================
1....  Hero Section CSS
========================= */
.hero-section {

    background: #ffffff;

    min-height: 75vh;

    display: flex;

    align-items: center;

    border-bottom: 1px solid #e3e6eb;


}



.hero-grid {

    /*background-image:
        linear-gradient(rgba(0,0,0,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,0.04) 1px, transparent 1px);
    background-size: 75px 75px;
    z-index: 0;*/

    inset: 0;
    background-image: linear-gradient(rgba(38, 157, 216, 0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(38, 157, 216, 0.07) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 0%, transparent 75%);
    z-index: 0;
    pointer-events: none;


}



.hero-section .container {

    position: relative;

    z-index: 2;

}



.hero-eyebrow {

    border: 1px solid #d9d9d9;

    padding: 10px 22px;

    font-size: 11px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 4px;

    color: #0f9de0;

    background: #fff;

}



.hero-title {

    /*font-size: 88px;*/

    font-size: clamp(40px, 5.6vw, 72px);
    line-height: 1.02;
    letter-spacing: -0.04em;



    /*line-height: 1.05;*/

    font-weight: 800;

    color: #05101f;

    /*letter-spacing: -2px;*/

    margin: 0;

}



.hero-highlight {

    position: relative;

    color: #0f9de0;

    display: inline-block;

}



.hero-highlight::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: 10px;

    width: 100%;

    height: 12px;

    background: #ffd8b5;

    z-index: -1;

}



.hero-btn {

    background: #ff962f;

    color: #fff;

    border-radius: 12px;

    padding: 18px 34px;

    font-size: 18px;

    font-weight: 700;

    border: none;

    box-shadow: 0 10px 25px rgba(255,150,47,0.35);

    transition: 0.3s;

}



.hero-btn:hover {

    background: #f58216;

    color: #fff;

    transform: translateY(-2px);

}



.hero-corner {

    position: absolute;

    width: 64px;

    height: 64px;

    border-color: #7d8791;

    z-index: 1;

}



.hero-corner-top {

    top: 24px;

    left: 24px;

    border-top: 1px solid;

    border-left: 1px solid;

}



.hero-corner-bottom {

    right: 24px;

    bottom: 24px;

    border-right: 1px solid;

    border-bottom: 1px solid;

}



/* Responsive */

@media (max-width: 1199px) {

    .hero-title {

        font-size: 72px;

    }

}



@media (max-width: 991px) {

    .hero-section {

        min-height: auto;

        padding-top: 120px !important;

        padding-bottom: 120px !important;

    }

    .hero-title {

        font-size: 58px;

        line-height: 1.1;

    }

}



@media (max-width: 767px) {

    .hero-title {

        font-size: 42px;

        letter-spacing: -1px;

    }

    .hero-highlight::after {

        height: 8px;

        bottom: 5px;

    }

    .hero-btn {

        padding: 15px 28px;

        font-size: 16px;

    }

    .hero-eyebrow {

        font-size: 10px;

        letter-spacing: 2px;

        padding: 8px 16px;

    }

}






/* ========================
2....  About Section CSS
========================= */
.about-section {

    background: #fafbfc;

}



.about-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.about-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.about-title {

    font-size: 58px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;

    color: #061120;

    max-width: 640px;

}



.about-highlight {

    color: #0f9de0;

}



.about-text {

    font-size: 18px;

    line-height: 1.75;

    color: #3f4a59;

    max-width: 620px;

}



.about-stat-card {

    background: #fff;

    border: 1px solid #e8e8e8;

    border-radius: 16px;

    padding: 16px;

    transition: 0.3s;

}



.about-stat-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 14px 34px rgba(0,0,0,0.08);

}



.about-stat-icon {

    width: 40px;

    height: 40px;

    border-radius: 10px;

    background: #eef7ff;

    color: #0f9de0;

}



.about-stat-number {

    font-size: 38px;

    line-height: 1;

    font-weight: 800;

    color: #061120;

    margin-bottom: 12px;

}



.about-stat-title {

    font-size: 18px;

    font-weight: 700;

    color: #061120;

    margin-bottom: 8px;

}



.about-stat-subtitle {

    font-size: 14px;

    color: #7b8794;

    line-height: 1.7;

}



.about-btn {

    background: #ff962f;

    color: #fff;

    border-radius: 12px;

    padding: 15px 28px;

    font-size: 16px;

    font-weight: 700;

    border: none;

    box-shadow: 0 10px 25px rgba(255,150,47,0.30);

    transition: 0.3s;

}



.about-btn:hover {

    background: #f58216;

    color: #fff;

    transform: translateY(-2px);

}



.about-main-image {

    max-width: 100%;

}



/* Responsive */

@media (max-width: 1199px) {

    .about-title {

        font-size: 52px;

    }

}



@media (max-width: 991px) {

    .about-section {

        text-align: center;

    }

    .about-title {

        font-size: 44px;

        max-width: 100%;

    }

    .about-text {

        max-width: 100%;

    }

    .about-eyebrow {

        padding-left: 0;

    }

    .about-eyebrow::before {

        display: none;

    }

}



@media (max-width: 767px) {

    .about-title {

        font-size: 36px;

        line-height: 1.12;

        letter-spacing: -1px;

    }

    .about-text {

        font-size: 17px;

    }

    .about-btn {

        width: 100%;

        justify-content: center;

    }

}





/* ========================
3....  Service Section CSS
========================= */
.services-section {

    background: #f3f5f8;

}



.services-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.services-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.services-title {

    /*font-size: 58px;*/
    font-size: clamp(28px, 3vw, 42px); line-height: 1.08; letter-spacing: -0.03em; 
    /*line-height: 1.05;*/

    font-weight: 800;

    /*letter-spacing: -2px;*/

    color: #061120;

    max-width: 920px;

    margin-left: auto;

    margin-right: auto;

}



.services-highlight {

    color: #0f9de0;

}



.services-text {

    font-size: 18px;

    line-height: 1.8;

    color: #4a5565;

    max-width: 760px;

    margin: 0 auto;

}



.service-card {

    position: relative;

    background: #fff;

    border: 1px solid #e5e7eb;

    border-radius: 18px;

    padding: 34px;

    transition: 0.35s;

    overflow: hidden;

}



.service-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 52px;

    height: 3px;

    background: #ff962f;

    transition: 0.35s;

}



.service-card:hover,
.service-card.active {

    border-color: #8fd8ff;

    box-shadow: 0 14px 40px rgba(0,0,0,0.08);

    transform: translateY(-4px);

}



.service-icon {

    width: 60px;

    height: 60px;

    border-radius: 14px;

    border: 1px solid #dbe3ea;

    color: #0f9de0;

    background: #f8fbfd;

    display: flex;

    align-items: center;

    justify-content: center;

    transition: border-color 240ms ease, color 240ms ease, transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 240ms ease;

    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);

    margin-bottom: 20px;

}
.service-card:hover .service-icon {
    border-color: var(--brand-blue);
    transform: scale(1.05);
    box-shadow: 0 6px 14px -4px rgba(38, 157, 216, 0.25);
}

.service-title {

    font-size: 18px;

    line-height: 1.4;

    font-weight: 700;

    color: #061120;

    margin-bottom: 20px;

}



.service-description {

    font-size: 16px;

    line-height: 1.9;

    color: #667085;

    margin: 0;

}
.arrow_dimension_swiper {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    max-width: 105px;
    margin: 2rem 0 0 auto;
}
.arrow_dimension_swiper .arrow_dimension_nav {
    position: unset;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 10px;
    color: var(--ink-2);
    background: var(--surface);
    border: 1px solid var(--border-strong);
    cursor: pointer;
    transition: background 150ms ease, color 150ms ease, border-color 150ms ease, transform 100ms ease, box-shadow 200ms ease;
    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
}
.arrow_dimension_swiper .arrow_dimension_nav svg{width: auto; height: auto;}
.arrow_dimension_swiper .arrow_dimension_nav:hover {
    background: var(--brand-blue);
    color: #fff;
    border-color: var(--brand-blue);
    box-shadow: 0 8px 18px -6px rgba(38,157,216,0.4);
}

/* Responsive */

@media (max-width: 1199px) {

    .services-title {

        font-size: 50px;

    }

}



@media (max-width: 991px) {

    .services-title {

        font-size: 42px;

    }

    .services-text {

        font-size: 17px;

    }

}



@media (max-width: 767px) {

    .services-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .services-text {

        font-size: 16px;

    }

    .service-card {

        padding: 28px;

    }

}



/* ========================
3....  CTA Section CSS
========================= */
.cta-section {

    background: #02111f;
    padding: 88px 24px;
    /*padding-top: 120px !important;

    padding-bottom: 120px !important;*/
    padding: 88px 24px;
}



.cta-grid {

    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);

    background-size: 56px 56px;

    opacity: 0.5;

    z-index: 0;

}



.cta-section .container {

    position: relative;

    z-index: 2;

}



.cta-top-line {

    position: absolute;

    top: 0;

    left: 50%;

    transform: translateX(-50%);

    width: 64px;

    height: 4px;

    background: #ff962f;

    z-index: 3;

}



.cta-title {

    /*font-size: 60px;*/

    /*line-height: 1.08;*/

    font-weight: 800;

    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.03em;

    /*letter-spacing: -2px;*/

    color: #ffffff;

    margin: 0;

}



.cta-text {

    font-size: 18px;

    line-height: 1.8;

    color: rgba(255,255,255,0.72);

    margin: 0 auto;

}



.cta-btn {

    background: #10d46f;

    color: #fff;

    border: none;

    border-radius: 14px;

    padding: 18px 34px;

    font-size: 18px;

    font-weight: 700;

    min-height: 64px;

    box-shadow: 0 12px 35px rgba(16,212,111,0.35);

    transition: 0.35s;

}



.cta-btn:hover {

    background: #0fc766;

    color: #fff;

    transform: translateY(-3px);

    box-shadow: 0 18px 40px rgba(16,212,111,0.45);

}



/* Responsive */

@media (max-width: 1199px) {

    .cta-title {

        font-size: 52px;

    }

}



@media (max-width: 991px) {

    .cta-section {

        padding-top: 100px !important;

        padding-bottom: 100px !important;

    }

    .cta-title {

        font-size: 44px;

    }

}



@media (max-width: 767px) {

    .cta-section {

        padding-top: 80px !important;

        padding-bottom: 80px !important;

    }

    .cta-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .cta-text {

        font-size: 16px;

    }

    .cta-btn {

        width: 100%;

        padding: 16px 24px;

        font-size: 16px;

    }

}






/* ========================
4....  case-studies Section CSS
========================= */
.case-studies-section {

    background: #fafbfc;

}



.case-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.case-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.case-section-title {

    font-size: 58px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;

    color: #061120;

}



.case-highlight {

    color: #0f9de0;

}



.case-section-text {

    font-size: 18px;

    line-height: 1.8;

    color: #4a5565;

    max-width: 720px;

    margin: 0 auto;

}



.case-study-card {

    background: #fff;

    border: 1px solid #e7e7e7;

    border-radius: 18px;

    overflow: hidden;

    transition: 0.35s;

    height: 100%;

}



.case-study-card:hover,
.case-study-card.active {

    transform: translateY(-4px);

    box-shadow: 0 14px 40px rgba(0,0,0,0.08);

    border-color: #9fdcff;

}



.case-study-image {

    height: 340px;

}



.case-study-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: 0.35s;

}



.case-study-card:hover .case-study-image img {

    transform: scale(1.04);

}



.case-study-body {

    padding: 30px;

}



.case-study-tag {

    display: inline-block;

    background: #ff962f;

    color: #fff;

    padding: 8px 14px;

    border-radius: 4px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    margin-bottom: 20px;

}



.case-study-tag.blue {

    background: #e8f5fd;

    color: #0f9de0;

}



.case-study-title {

    font-size: 32px;

    line-height: 1.3;

    font-weight: 800;

    color: #061120;

    margin-bottom: 18px;

}



.case-study-description {

    font-size: 16px;

    line-height: 1.9;

    color: #667085;

    margin-bottom: 26px;

}



.case-study-link {

    font-size: 15px;

    font-weight: 700;

    color: #0f9de0;

    text-decoration: none;

    transition: 0.3s;

}



.case-study-link:hover {

    color: #067bb3;

}



.case-main-btn {

    background: #ff962f;

    color: #fff;

    border-radius: 12px;

    padding: 16px 30px;

    font-size: 16px;

    font-weight: 700;

    border: none;

    box-shadow: 0 10px 25px rgba(255,150,47,0.30);

    transition: 0.35s;

}



.case-main-btn:hover {

    background: #f58216;

    color: #fff;

    transform: translateY(-2px);

}



/* Responsive */

@media (max-width: 1199px) {

    .case-section-title {

        font-size: 50px;

    }

    .case-study-title {

        font-size: 28px;

    }

}



@media (max-width: 991px) {

    .case-section-title {

        font-size: 42px;

    }

    .case-study-image {

        height: 300px;

    }

}



@media (max-width: 767px) {

    .case-section-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .case-section-text {

        font-size: 16px;

    }

    .case-study-title {

        font-size: 24px;

    }

    .case-study-body {

        padding: 24px;

    }

    .case-study-image {

        height: 240px;

    }

    .case-main-btn {

        width: 100%;

        justify-content: center;

    }

}












/* ========================
4....  work-process Section CSS
========================= */

.work-process-section {

    background: #f3f5f8;

}



.work-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.work-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.4px;

    background: var(--brand-orange);

}



.work-title {

    font-size: 58px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;

    color: #061120;

}



.work-highlight {

    color: #0f9de0;

}



.work-text {

    font-size: 18px;

    line-height: 1.8;

    color: #4a5565;

    max-width: 720px;

    margin: 0 auto;

}



.work-step-card {

    background: #fff;

    border: 1px solid #e6e9ee;

    border-radius: 18px;

    padding: 34px;

    transition: 0.35s;

    overflow: hidden;

}



.work-step-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 14px 40px rgba(0,0,0,0.08);

}



.work-step-number {

    position: absolute;

    top: 20px;

    right: 24px;

    font-size: 64px;

    line-height: 1;

    font-weight: 800;

    color: #dff4ff;

}



.work-step-icon {

    width: 56px;

    height: 56px;

    border-radius: 12px;

    border: 1px solid #dce5eb;

    background: #fff;

    color: #0f9de0;

}



.work-step-title {

    font-size: 18px;

    line-height: 1.4;

    font-weight: 700;

    color: #061120;

    margin-bottom: 18px;

}



.work-step-description {

    font-size: 16px;

    line-height: 1.9;

    color: #667085;

    margin: 0;

}



/* Slider */

.tools-slider-wrapper {

    overflow: hidden;

    position: relative;

    background: #ffffff;
    padding: 28px 0;
    border: 1px solid #e3e6eb;


}



.tools-slider-track {

    display: flex;

    gap: 18px;

    width: max-content;

    animation: toolsSlider 25s linear infinite;

}



.tool-item {

    width: 120px;

    height: 120px;

    background: #f3f5f8;

    border: 1px solid #e7e7e7;

    border-radius: 4px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    padding: 24px;

}



.tool-item img {

    max-width: 100%;

    max-height: 100%;

    object-fit: contain;

}



@keyframes toolsSlider {

    0% {

        transform: translateX(0);

    }

    100% {

        transform: translateX(-50%);

    }

}



/* Responsive */

@media (max-width: 1199px) {

    .work-title {

        font-size: 50px;

    }

}



@media (max-width: 991px) {

    .work-title {

        font-size: 42px;

    }

    .work-text {

        font-size: 17px;

    }

}



@media (max-width: 767px) {

    .work-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .work-text {

        font-size: 16px;

    }

    .work-step-card {

        padding: 28px;

    }

    .work-step-number {

        font-size: 52px;

    }

    .tool-item {

        width: 76px;

        height: 76px;

        padding: 14px;

    }

}








/* ========================
1....  engagement Section CSS
========================= */
.engagement-section {

    background: #fafbfc;

}



/* Section Heading */

.engagement-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 4px;

    text-transform: uppercase;

    color: #0f9de0;

}



.engagement-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1px;

    background: #0f9de0;

}



.engagement-title {

    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.03em;
    /*font-size: 58px;*/

    /*line-height: 1.05;*/

    font-weight: 700;

    /*letter-spacing: -2px;*/

    color: #061120;

    margin: 0;

}



.engagement-highlight {

    color: #0f9de0;

}



/* Cards */

/*.engagement-card {

    position: relative;

    background: #fff;

    border: 1px solid #dfe5ea;

    border-radius: 18px;

    padding: 36px 32px;

    overflow: hidden;

    transition: 0.35s;

}



.engagement-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 44px;

    height: 3px;

    background: #0f9de0;

    transition: 0.35s;

}*/



/* Hover for White Cards */

/*.engagement-card:hover {

    background: #02111f;

    border-color: #02111f;

    transform: translateY(-4px);

    box-shadow: 0 18px 45px rgba(0,0,0,0.12);

}



.engagement-card:hover .engagement-card-title,
.engagement-card:hover .engagement-card-text {

    color: #ffffff;

}



.engagement-card:hover::before {

    background: #ff962f;

}
*/


/* Blue Card */
/*
.engagement-card-blue {

    background: #1198cf;

    border-color: #1198cf;

}



.engagement-card-blue::before {

    background: #ff962f;

}



.engagement-card-blue .engagement-card-title,
.engagement-card-blue .engagement-card-text {

    color: #ffffff;

}
*/


/* Blue Card Hover */

/*.engagement-card-blue:hover {

    background: #02111f;

    border-color: #02111f;

}*/
/* Default Border */

/* Default Card */

/* Default Card */

.engagement-card {

    position: relative;

    background: #fff;

    border: 1px solid #dfe5ea;

    border-radius: 18px;

    padding: 36px 32px;

    overflow: hidden;

    transition:
        background 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        transform 0.35s ease;

}



/* Small Top Border */

.engagement-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 52px;

    height: 3px;

    background: #0f9de0;

    transition: width 0.35s ease,
                background 0.35s ease;

}



/* Hover = Full Border */

.engagement-card:hover {

    background: #02111f;

    border-color: #ff962f;

    transform: translateY(-4px);

    /*box-shadow: 0 18px 45px rgba(0,0,0,0.12);*/

}



/* Full Top Border on Hover */

.engagement-card:hover::before {

    width: 100%;

    background: #ff962f;

}



/* Hover Text */

.engagement-card:hover .engagement-card-title,
.engagement-card:hover .engagement-card-text {

    color: #ffffff;

}



/* Middle Blue Card */

.engagement-card-blue {

    background: #1198cf;

    border-color: #1198cf;

}



/* Small Orange Border */

.engagement-card-blue::before {

    background: #ff962f;

}



/* Middle Card Text */

.engagement-card-blue .engagement-card-title,
.engagement-card-blue .engagement-card-text {

    color: #ffffff;

}



/* Blue Card Hover */

.engagement-card-blue:hover {

    background: #1198cf;

    border-color: #ff962f;

    transform: translateY(-4px);

    box-shadow: 0 18px 45px rgba(0,0,0,0.12);

}



/* Full Border on Hover */

.engagement-card-blue:hover::before {

    width: 100%;

    background: #ff962f;

}






























.engagement-card-title {

    font-size: 24px;

    line-height: 1.3;

    font-weight: 800;

    color: #061120;

    margin-bottom: 24px;

    transition: 0.35s;

}



.engagement-card-text {

    font-size: 17px;

    line-height: 1.9;

    color: #667085;

    margin-bottom: 34px;

    transition: 0.35s;

}



/* Button */

.engagement-btn {

    background: #ff962f;

    color: #fff;

    border-radius: 10px;

    padding: 13px 22px;

    font-size: 15px;

    font-weight: 700;

    border: none;

    transition: 0.3s;

}



.engagement-btn:hover {

    background: #ff8818;

    color: #fff;

}



/* Responsive */

@media (max-width: 1199px) {

    .engagement-title {

        font-size: 50px;

    }

}



@media (max-width: 991px) {

    .engagement-title {

        font-size: 42px;

    }

    .engagement-card {

        padding: 36px 28px;

    }

}



@media (max-width: 767px) {

    .engagement-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .engagement-card-title {

        font-size: 22px;

    }

    .engagement-card-text {

        font-size: 16px;

    }

}


























.clients-section {

    background: #f3f5f8;

}



/* Section Header */

.clients-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.clients-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.clients-title {

    /*font-size: 52px;*/

    /*line-height: 1.05;*/

    font-weight: 800;

    /*letter-spacing: -2px;*/
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.03em;

    color: #061120;

    margin: 0;

}



.clients-highlight {

    color: #0f9de0;

}



/* Logo Slider */

.clients-marquee {

    position: relative;

    overflow: hidden;

    width: 100%;

    border-top: 1px solid #e5e7eb;

    border-bottom: 1px solid #e5e7eb;

}



.clients-track {

    display: flex;

    width: max-content;

    animation: clientSlider 28s linear infinite;

}



.client-logo-item {

    width: 220px;

    height: 102px;

    background: #fff;

    border-right: 1px solid #e5e7eb;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    padding: 26px;

}



.client-logo-item img {

    max-width: 100%;

    max-height: 42px;

    object-fit: contain;

    opacity: 0.35;

    filter: grayscale(100%);

    transition: 0.35s;

}



/* Hover */

.client-logo-item:hover img {

    opacity: 1;

    filter: grayscale(0%);

}



/* Infinite Slider */

@keyframes clientSlider {

    0% {

        transform: translateX(0);

    }

    100% {

        transform: translateX(-50%);

    }

}



/* Responsive */

@media (max-width: 991px) {

    .clients-title {

        font-size: 42px;

    }

    .client-logo-item {

        width: 180px;

        height: 88px;

        padding: 20px;

    }

}



@media (max-width: 767px) {

    .clients-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .client-logo-item {

        width: 150px;

        height: 78px;

        padding: 18px;

    }

    .client-logo-item img {

        max-height: 34px;

    }

}



/*TESTIMONIAL SECTION CSS */

.testimonials-section {

    background: #fafbfc;

}



/* Header */

.testimonials-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.testimonials-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.testimonials-title {

    font-size: 56px;

    line-height: 1.05;

    font-weight: 800;

    letter-spacing: -2px;

    color: #061120;

}



.testimonials-highlight {

    color: #0f9de0;

}



.testimonials-text {

    font-size: 17px;

    line-height: 1.8;

    color: #5b6574;

    max-width: 760px;

    margin: 0 auto;

}



/* Masonry */

.testimonial-masonry {

    column-count: 3;

    column-gap: 24px;

}



/* Card */

.testimonial-card {

    position: relative;

    display: inline-block;

    width: 100%;

    background: #fff;

    border: 1px solid #dfe5ea;

    border-radius: 14px;

    padding: 24px;

    margin-bottom: 24px;

    break-inside: avoid;

    transition: 0.35s;

    overflow: hidden;

}



/* Small Top Border */

.testimonial-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 46px;

    height: 3px;

    background: #0f9de0;

    transition: 0.35s;

}



/* Hover */

.testimonial-card:hover {

    transform: translateY(-4px);

    box-shadow: 0 16px 40px rgba(0,0,0,0.08);

    border-color: #8fd8ff;

}



.testimonial-card:hover::before {

    width: 100%;

}



/* Stars */

.testimonial-stars {

    color: #f6c443;

    font-size: 14px;

    letter-spacing: 2px;

    margin-bottom: 8px;

}



/* Text */

.testimonial-description {

    font-size: 14.5px;

    line-height: 1.9;

    color: var(--ink-2);

    margin-bottom: 8px;

}



/* Author */

.testimonial-author {

    gap: 14px;

}



/* Avatar */

.testimonial-avatar {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    background: #0f9de0;

    color: #fff;

    font-size: 13px;

    font-weight: 700;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

}



/* Name */

.testimonial-name {

    font-size: 13.5px;
    
    font-weight: 600;

    color: var(--ink);

}



/* Location */

.testimonial-location {

    font-size: 12px;
    
    color: var(--ink-4);

}



/* Responsive */

@media (max-width: 1199px) {

    .testimonial-masonry {

        column-count: 3;

    }

    .testimonials-title {

        font-size: 48px;

    }

}



@media (max-width: 991px) {

    .testimonial-masonry {

        column-count: 2;

    }

    .testimonials-title {

        font-size: 40px;

    }

}



@media (max-width: 767px) {

    .testimonial-masonry {

        column-count: 1;

    }

    .testimonials-title {

        font-size: 32px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .testimonial-card {

        padding: 22px;

    }

}





















/*FAQ SECTION CSS*/

.faq-section {

    background: #f3f5f8;

}



/* Header */

.faq-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.faq-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.faq-title {

    /*font-size: 58px;*/

    /*line-height: 1.05;*/

    font-weight: 800;

    /*letter-spacing: -2px;*/


    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.03em;


    color: #061120;

    margin: 0;

}



.faq-highlight {

    color: #0f9de0;

}



/* FAQ Wrapper */

.faq-wrapper {

    max-width: 900px;

}



/* Accordion */

.faq-accordion {

    display: flex;
    align-items: flex-start;
    flex-direction: column;
    align-content: flex-start;
    gap: 0.5rem;

}



/* Item */

.faq-item,
.faq-item:not(:first-of-type) {

    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 16px !important;
    padding: 16px;
    transition: 0.3s;
    width: 100%;

}


.faq-item:hover,
.faq-item:focus {
  border-color: #8fd8ff;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
}  
/* Button */

.faq-button {

    background: transparent !important;

    box-shadow: none !important;

    padding: 0px 0px;

    display: flex;

    align-items: center;

    gap: 16px;

}



.faq-button::after {

    width: 18px;

    height: 18px;

    background-size: 18px;


}
.accordion-button:not(.collapsed)::after{filter: brightness(0) saturate(100%) invert(54%) sepia(83%) saturate(1617%) hue-rotate(165deg) brightness(98%) contrast(92%);}

/* Number */
.accordion-button:not(.collapsed) .faq-number{
    width: 40px;
    height: 40px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    border-radius: 10px;
    background: #0f9de0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.faq-number {
    width: 40px;
    height: 40px;
    font-size: 16px;
    font-weight: 700;
    color: #0f9de0;
    border-radius: 10px;
    background: #eef7ff;
    display: flex;
    align-items: center;
    justify-content: center;

}


/* Question */

.faq-question {

    flex: 1;

    font-size: 16px;

    line-height: 1.4;

    font-weight: 700;

    color: #061120;

    /* text-align: center; */

}



/* Answer */

.faq-answer {

    padding: 8px 0px 0px 56px;
    font-size: 14.5px;
    line-height: 1.9;
    color: #556070;

}



/* Responsive */

@media (max-width: 991px) {

    .faq-title {

        font-size: 46px;

    }

    .faq-question {

        font-size: 22px;

    }

}



@media (max-width: 767px) {

    .faq-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .faq-button {

        gap: 14px;

        padding: 24px 10px;

    }

    .faq-question {

        font-size: 18px;

    }

    .faq-answer {

        padding: 0 12px 24px 56px;

        font-size: 15px;

    }

    .faq-button::after {

        width: 14px;

        height: 14px;

        background-size: 14px;

    }

}









/**************************** 
 BLOG PREVIE CSS 
 **************************/
.blogs-section {

    background: #fafbfc;

}



/* Header */

.blogs-eyebrow {

    position: relative;

    display: inline-block;

    padding-left: 28px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--brand-orange);

}



.blogs-eyebrow::before {

    content: "";

    position: absolute;

    left: 0;

    top: 50%;

    transform: translateY(-50%);

    width: 18px;

    height: 1.5px;

    background: var(--brand-orange);

}



.blogs-title {

    /*font-size: 58px;*/

    /*line-height: 1.05;*/

    font-weight: 800;

    /*letter-spacing: -2px;*/
        font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.03em;

    color: #061120;

    margin: 0;

}



.blogs-highlight {

    color: #0f9de0;

}



/* Card */

.blog-card {

    background: #fff;

    border: 1px solid #dfe5ea;

    border-radius: 16px;

    overflow: hidden;

    transition: 0.35s;

    display: flex;

    flex-direction: column;

    height: 100%;

}



.blog-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 18px 45px rgba(0,0,0,0.08);

}



/* Image */

.blog-card-image {

    overflow: hidden;

}



.blog-card-image img {

    width: 100%;

    height: 240px;

    object-fit: cover;

    transition: 0.4s;

}



.blog-card:hover .blog-card-image img {

    transform: scale(1.03);

}



/* Body */

.blog-card-body {

    padding: 28px 26px 26px;

}



/* Date */

.blog-date {

    font-size: 14px;

    font-weight: 500;

    color: #7a8696;

    margin-bottom: 18px;

}



/* Title */

.blog-card-title {

    /*font-size: 31px;*/

    /*line-height: 1.35;*/
    font-size: 17px;
    line-height: 1.3;

    font-weight: 800;

    color: #061120;

    margin-bottom: 18px;

}



/* Text */

.blog-card-text {

    font-size: 14px;

    /*line-height: 1.9;*/

    color: #5d6776;

    /*margin-bottom: 28px;*/

}



/* Read More */

.blog-readmore {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    font-size: 15px;

    font-weight: 700;

    color: #0f9de0;

    text-decoration: none;

    transition: 0.3s;

}



.blog-readmore:hover {

    color: #ff962f;

}



/* Button */

.blogs-btn {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 28px;

    background: #fff;

    border: 1px solid #cfd6dd;

    border-radius: 12px;

    font-size: 15px;

    font-weight: 700;

    color: #061120;

    transition: 0.3s;

}



.blogs-btn:hover {

    background: #061120;

    border-color: #061120;

    color: #fff;

}



/* Responsive */

@media (max-width: 1199px) {

    .blogs-title {

        font-size: 50px;

    }

}



@media (max-width: 991px) {

    .blogs-title {

        font-size: 42px;

    }

    .blog-card-title {

        font-size: 26px;

    }

}



@media (max-width: 767px) {

    .blogs-title {

        font-size: 34px;

        line-height: 1.15;

        letter-spacing: -1px;

    }

    .blog-card-title {

        font-size: 22px;

    }

    .blog-card-image img {

        height: 220px;

    }

}


.joom_bg_banner {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    align-items: center;
    justify-content: center;
}
.joom_img_blog img {
    border-radius: 16px;
}





























































































 /* ===================== Joomla Partner — page-local ===================== */

/* ---- Custom header ---- */
.jp-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.88);
  backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 200ms ease, background 200ms ease;
}
.jp-header.is-scrolled { border-bottom-color: var(--border); background: rgba(255,255,255,0.95); }
.jp-header__inner {
  display: flex; align-items: center; gap: 32px;
  height: 78px;
  max-width: 1240px; margin: 0 auto; padding: 0 24px;
}
.jp-brand { display: inline-flex; align-items: center; }
.jp-brand img { height: 42px; width: auto; display: block; }
.jp-nav {
  display: flex; align-items: center; gap: 6px;
  margin-left: auto; margin-right: auto;
}
.jp-nav a {
  padding: 8px 16px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink-2);
  transition: color 150ms ease, background 150ms ease;
}
.jp-nav a:hover, .jp-nav a.is-active { color: var(--brand-orange); }
.jp-header__cta { display: inline-flex; align-items: center; }
.btn-schedule {
  padding: 7px 8px 7px 22px;
  gap: 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.btn-schedule img {
  width: 34px; height: 34px; border-radius: 50%;
  object-fit: cover; border: 2px solid rgba(255,255,255,0.65);
  flex-shrink: 0;
}
.jp-burger {
  display: none;
  width: 40px; height: 40px; border-radius: 8px;
  background: transparent; border: 1px solid var(--border-strong);
  align-items: center; justify-content: center; color: var(--ink);
}

/* Joomla Service Provider floating badge */
.jsp-badge {
  position: absolute;
  top: 86px; right: 0;
  z-index: 40;
  display: block;
  box-shadow: -4px 6px 18px -8px rgba(20,30,50,0.25);
  border-radius: 6px 0 0 6px;
  overflow: hidden;
}
.jsp-badge img { height: 42px; width: auto; display: block; }
@media (max-width: 1100px) { .jsp-badge { display: none; } }

/* ---- Section scaffolding ---- */
.jp-section { padding: 96px 0; position: relative; }
.jp-section.tint { background: var(--bg-tint); }
.jp-section.band { background: var(--bg-band); }
.jp-eyebrow {
  font-family: var(--font-mono);
  font-size: 12px; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--brand-orange);
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 18px;
}
.jp-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.jp-h2 {
  font-size: clamp(30px, 3.6vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.035em;
  margin-bottom: 20px;
}
.jp-lead { font-size: 16.5px; line-height: 1.65; color: var(--ink-3); max-width: 620px; }

/* underline accent like screenshots */
.u-mark { color: var(--brand-blue); position: relative; white-space: nowrap; }
.u-mark::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 8px;
  background: var(--brand-orange); opacity: 0.55; border-radius: 4px; z-index: -1;
}

/* ---- HERO ---- */
.jp-hero {
  padding: 72px 0 0;
  background: linear-gradient(180deg, #dff0fb 0%, #eaf6fc 60%, var(--bg) 100%);
  position: relative;
  overflow: hidden;
}
.jp-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 48px;
  align-items: center;
}
.jp-hero__pill {
  display: inline-flex; align-items: center; gap: 9px;
  background: #fff;
  border: 1px solid rgba(38,157,216,0.25);
  color: var(--brand-blue);
  font-weight: 600; font-size: 14px;
  padding: 8px 18px; border-radius: 999px;
  margin-bottom: 26px;
  box-shadow: 0 4px 14px -8px rgba(38,157,216,0.4);
}
.jp-hero__pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--brand-blue); }
.jp-hero h1 {
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.0;
  letter-spacing: -0.04em;
  margin-bottom: 26px;
}
.jp-hero p.intro { font-size: 17px; line-height: 1.6; color: var(--ink-2); max-width: 540px; }
.jp-hero__actions { margin-top: 32px; }
.jp-hero__tags {
  display: flex; flex-wrap: wrap; gap: 26px;
  margin-top: 40px; padding-top: 34px;
  border-top: 1px solid rgba(38,157,216,0.18);
}
.jp-tag { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 15px; color: var(--ink); }
.jp-tag__icon {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--brand-orange); color: #fff;
  display: grid; place-items: center; flex-shrink: 0;
}

/* hero visual diagram */
.jp-hero__visual { position: relative; min-height: 440px; }
.hv-blob {
  position: absolute; inset: 6% 0 0 6%;
  background: radial-gradient(circle at 60% 40%, #ffffff 0%, #eef7fd 60%, transparent 75%);
  border-radius: 48% 52% 55% 45%;
  filter: blur(2px);
}
.hv-screen {
  position: absolute;
  left: 14%; top: 26%;
  width: 62%;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 28px 56px -24px rgba(20,30,50,0.28);
  overflow: hidden;
}
.hv-screen__bar { height: 26px; background: #14223a; display: flex; align-items: center; gap: 5px; padding: 0 12px; }
.hv-screen__bar span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.5); }
.hv-screen__body { padding: 16px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: linear-gradient(180deg,#f4f9fd,#fff); }
.hv-tile { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 12px; display: grid; gap: 7px; }
.hv-tile .l { height: 6px; border-radius: 3px; background: #e4eaf1; }
.hv-tile .l.b { background: var(--brand-blue); opacity: 0.5; width: 70%; }
.hv-tile .l.o { background: var(--brand-orange); opacity: 0.55; width: 55%; }
.hv-tile .l.g { background: #22a45c; opacity: 0.5; width: 60%; }
.hv-node {
  position: absolute;
  background: #fff; border: 1px solid var(--border);
  border-radius: 12px; padding: 12px 14px;
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  box-shadow: 0 14px 30px -16px rgba(20,30,50,0.3);
  font-size: 11.5px; font-weight: 600; color: var(--ink-2); text-align: center;
  min-width: 92px;
}
.hv-node__ic { width: 36px; height: 36px; border-radius: 9px; display: grid; place-items: center; color: #fff; }
.hv-node--client { top: 6%; left: 2%; }
.hv-node--client .hv-node__ic { background: var(--brand-blue); }
.hv-node--brand { top: 2%; right: 16%; }
.hv-node--brand .hv-node__ic { background: var(--brand-blue); }
.hv-node--dev { top: 34%; right: 0; }
.hv-node--dev .hv-node__ic { background: #14223a; }
.hv-node--done { bottom: 8%; right: 6%; }
.hv-node--done .hv-node__ic { background: var(--brand-orange); }
@media (max-width: 1024px) {
  .jp-hero__grid { grid-template-columns: 1fr; }
  .jp-hero__visual { min-height: 380px; order: -1; }
  .jp-hero p.intro { max-width: none; }
}
@media (max-width: 560px) {
  .jp-hero__visual { min-height: 320px; }
  .hv-node { padding: 8px 10px; min-width: 76px; font-size: 10.5px; }
}

/* hero stats bar */
.jp-stats {
  margin-top: 56px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -2px 24px -12px rgba(20,30,50,0.12);
  display: grid; grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
}
.jp-stats__item { padding: 34px 24px; text-align: center; border-right: 1px solid var(--border); }
.jp-stats__item:last-child { border-right: 0; }
.jp-stats__ic { width: 40px; height: 40px; margin: 0 auto 12px; }
.jp-stats__num { font-family: var(--font-display); font-weight: 700; font-size: 34px; letter-spacing: -0.03em; color: var(--ink); line-height: 1; }
.jp-stats__label { font-size: 13.5px; color: var(--ink-3); margin-top: 8px; }
@media (max-width: 720px) {
  .jp-stats { grid-template-columns: repeat(2, 1fr); border-radius: 18px; }
  .jp-stats__item:nth-child(2n) { border-right: 0; }
  .jp-stats__item:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}

/* ---- What We Handle grid ---- */
.wh-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.wh-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: 14px; padding: 32px;
  box-shadow: 0 1px 2px rgba(20,30,50,0.03);
  transition: transform 220ms cubic-bezier(0.2,0.7,0.2,1), box-shadow 220ms ease, border-color 220ms ease;
}
.wh-card:hover { transform: translateY(-5px); border-color: rgba(38,157,216,0.3); box-shadow: 0 24px 48px -22px rgba(20,30,50,0.18); }
.wh-card__ic {
  width: 56px; height: 56px; border-radius: 12px;
  background: var(--brand-blue-50); color: var(--brand-blue);
  display: grid; place-items: center; margin-bottom: 24px;
}
.wh-card h3 { font-size: 19px; margin-bottom: 12px; }
.wh-card p { font-size: 14.5px; line-height: 1.6; color: var(--ink-3); }
@media (max-width: 920px) { .wh-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .wh-grid { grid-template-columns: 1fr; } }

/* CTA strip (white rounded with orange button) */
.cta-strip {
  background: #fff; border: 1px solid var(--border);
  border-radius: 18px; padding: 28px 36px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  box-shadow: 0 12px 32px -22px rgba(20,30,50,0.2);
  flex-wrap: wrap;
}
.cta-strip p { font-family: var(--font-display); font-weight: 700; font-size: clamp(18px, 2vw, 24px); letter-spacing: -0.02em; color: var(--ink); }
@media (max-width: 600px) { .cta-strip { flex-direction: column; align-items: flex-start; } }

/* ---- Process (numbered 2-col) ---- */
.proc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.proc-item { padding: 30px 0; border-top: 1px solid var(--border); }
.proc-item__head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 12px; }
.proc-item__num { font-family: var(--font-display); font-weight: 700; font-size: 24px; color: var(--brand-blue); letter-spacing: -0.02em; }
.proc-item h3 { font-size: 22px; letter-spacing: -0.02em; }
.proc-item p { font-size: 14.5px; line-height: 1.6; color: var(--ink-3); padding-left: 40px; }
@media (max-width: 800px) { .proc-grid { grid-template-columns: 1fr; gap: 0; } }

/* ---- Why agencies grid (blue tint section) ---- */
.why2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.why2-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: 16px; padding: 32px;
  box-shadow: 0 6px 18px -14px rgba(20,30,50,0.2);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.why2-card:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -22px rgba(20,30,50,0.2); }
.why2-card__ic {
  width: 56px; height: 56px; border-radius: 14px;
  background: var(--brand-blue-50); color: var(--brand-blue);
  display: grid; place-items: center; margin-bottom: 22px;
}
.why2-card h3 { font-size: 19px; margin-bottom: 12px; }
.why2-card p { font-size: 14.5px; line-height: 1.6; color: var(--ink-3); }
@media (max-width: 920px) { .why2-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .why2-grid { grid-template-columns: 1fr; } }

/* ---- Testimonials ---- */
.test-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.partner_reviews .testimonial-masonry {column-count: 2;}
.yt-wrap { }
.yt-frame {
  position: relative; aspect-ratio: 16/10;
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 20px 44px -22px rgba(20,30,50,0.3);
  border: 1px solid var(--border); background: #000;
}
.yt-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt-caption { text-align: center; font-family: var(--font-display); font-weight: 700; font-size: 15px; margin-top: 16px; color: var(--ink); }
.test-col { columns: 2; column-gap: 20px; }
.rev-card {
  break-inside: avoid; margin-bottom: 20px;
  background: #fff; border: 1px solid var(--border);
  border-radius: 14px; padding: 24px;
  position: relative; box-shadow: 0 1px 2px rgba(20,30,50,0.03);
}
.rev-card__stars { color: var(--brand-orange); font-size: 15px; letter-spacing: 1px; margin-bottom: 14px; }
.rev-card__text { font-size: 14px; line-height: 1.6; color: var(--ink-2); }
.rev-card__author { display: flex; align-items: center; gap: 10px; margin-top: 18px; }
.rev-card__flag { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-size: 16px; background: var(--bg-band); flex-shrink: 0; }
.rev-card__name { font-weight: 600; font-size: 14px; color: var(--ink); }
.rev-card__loc { font-size: 12.5px; color: var(--ink-4); font-style: italic; }
.rev-card__q { position: absolute; top: 18px; right: 20px; font-family: var(--font-display); font-weight: 700; font-size: 44px; color: var(--ink); opacity: 0.08; line-height: 1; }
@media (max-width: 1024px) { .test-grid { grid-template-columns: 1fr; } .test-col { columns: 2; } }
@media (max-width: 600px) { .test-col { columns: 1; } }

.rev-sources { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 48px; }
.rev-source {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 12px 22px; border-radius: 999px;
  background: #fff; border: 1px solid var(--border-strong);
  font-weight: 600; font-size: 14px; color: var(--ink);
  transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}
.rev-source:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -10px rgba(20,30,50,0.2); }
.rev-source.is-google { border-color: #4285F4; }
.rev-source.is-video { border-color: #FF0000; }
.rev-source.is-upwork { border-color: #14A800; }

/* ---- Stats blue band ---- */
.stats-band { 
  /*background: var(--brand-blue); */
  padding: 64px 0; 
}
.stats-band__card {
  background: #fff; border-radius: 22px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  overflow: hidden; box-shadow: 0 24px 48px -24px rgba(0,0,0,0.25);
}
.stats-band__item { padding: 36px 24px; text-align: center; border-right: 1px solid var(--border); }
.stats-band__item:last-child { border-right: 0; }
.stats-band__ic { width: 42px; height: 42px; margin: 0 auto 14px; }
.stats-band__num { font-family: var(--font-display); font-weight: 700; font-size: 36px; letter-spacing: -0.03em; line-height: 1; }
.stats-band__label { font-size: 13.5px; color: var(--ink-3); margin-top: 8px; }
@media (max-width: 720px) {
  .stats-band__card { grid-template-columns: repeat(2, 1fr); }
  .stats-band__item:nth-child(2n) { border-right: 0; }
  .stats-band__item:nth-child(-n+2) { border-bottom: 1px solid var(--border); }
}

/* ---- Trusted (logo slider) reuse marquee ---- */
.trusted-title { text-align: center; font-size: clamp(26px,3vw,40px); letter-spacing: -0.03em; margin-bottom: 40px; }

/* ---- The Solution ---- */
.sol-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.sol-steps { display: grid; gap: 0; }
.sol-step { display: grid; grid-template-columns: 40px 1fr; gap: 16px; padding: 22px 0; border-top: 1px solid var(--border); align-items: start; }
.sol-step:first-child { border-top: 0; }
.sol-step__n { width: 32px; height: 32px; border-radius: 50%; border: 1.5px solid var(--brand-blue); color: var(--brand-blue); font-weight: 700; font-size: 13px; display: grid; place-items: center; font-family: var(--font-display); }
.sol-step h4 { font-size: 17px; margin-bottom: 3px; }
.sol-step p { font-size: 14px; color: var(--ink-3); }
.sol-boxes { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.sol-box { background: #fff; border: 1px solid var(--border); border-radius: 14px; padding: 26px; box-shadow: 0 1px 2px rgba(20,30,50,0.03); }
.sol-box h4 { font-size: 17px; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.sol-box p { font-size: 13.5px; line-height: 1.6; color: var(--ink-3); }
@media (max-width: 1024px) { .sol-grid { grid-template-columns: 1fr; gap: 36px; } }
@media (max-width: 560px) { .sol-boxes { grid-template-columns: 1fr; } }

.sol-cta {
  margin-top: 48px;
  background: #fff; border: 1px solid var(--border);
  border-radius: 18px; padding: 28px 36px;
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  box-shadow: 0 12px 32px -22px rgba(20,30,50,0.2);
}
.sol-cta p { font-family: var(--font-display); font-weight: 700; font-size: clamp(18px,2vw,22px); letter-spacing: -0.02em; }

/* ---- Before / After ---- */
.ba-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 0 32px; align-items: stretch; }
.ba-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 40px; box-shadow: 0 12px 32px -24px rgba(20,30,50,0.2); }
.ba-card.after { border-color: rgba(34,164,92,0.35); }
.ba-pill { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; font-weight: 700; font-size: 14px; color: #fff; margin-bottom: 24px; text-transform: uppercase; letter-spacing: 0.04em; }
.ba-pill.before { background: var(--brand-orange); }
.ba-pill.after { background: #22a45c; }
.ba-card h3 { font-size: 26px; line-height: 1.1; margin-bottom: 26px; }
.ba-item { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 16px 0; border-top: 1px solid var(--border); }
.ba-item:first-of-type { border-top: 0; }
.ba-item__ic { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; color: #fff; }
.before .ba-item__ic { background: var(--brand-orange); }
.after .ba-item__ic { background: #22a45c; }
.ba-item h4 { font-size: 16px; margin-bottom: 3px; }
.ba-item p { font-size: 13.5px; line-height: 1.55; color: var(--ink-3); }
.ba-vs { align-self: center; font-family: var(--font-display); font-weight: 800; font-size: 22px; color: var(--brand-blue); background: #fff; border: 1px solid var(--border); width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; box-shadow: 0 8px 20px -10px rgba(20,30,50,0.25); }
.ba-vs small { color: var(--brand-orange); }
@media (max-width: 920px) {
  .ba-grid { grid-template-columns: 1fr; gap: 24px; }
  .ba-vs { margin: 0 auto; }
}

/* ---- FAQ 2-col ---- */
.jp-faq-head { display: flex; flex-direction: column; align-items: flex-start; }
.jp-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 48px; }
.jp-faq-item { background: #fff; border: 1px solid var(--border); border-radius: 12px; overflow: hidden; transition: border-color 200ms ease, box-shadow 200ms ease; height: fit-content; }
.jp-faq-item.is-open { border-color: rgba(38,157,216,0.4); box-shadow: 0 14px 30px -20px rgba(20,30,50,0.2); }
.jp-faq-q { width: 100%; background: transparent; border: 0; text-align: left; cursor: pointer; padding: 22px 24px; display: flex; align-items: center; justify-content: space-between; gap: 16px; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--ink); }
.jp-faq-q .pm { width: 22px; height: 22px; flex-shrink: 0; color: var(--brand-blue); transition: transform 240ms ease; }
.jp-faq-item.is-open .pm { transform: rotate(45deg); color: var(--brand-orange); }
.jp-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 280ms ease; }
.jp-faq-item.is-open .jp-faq-a { grid-template-rows: 1fr; }
.jp-faq-a > div { overflow: hidden; }
.jp-faq-a p { font-size: 14px; line-height: 1.65; color: var(--ink-3); padding: 0 24px 22px; }
@media (max-width: 800px) { .jp-faq-grid { grid-template-columns: 1fr; } }

/* ---- Contact ---- */
.jp-contact-card {
  background: #fff; border: 1px solid var(--border);
  border-radius: 22px; padding: 52px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
  box-shadow: 0 24px 56px -28px rgba(20,30,50,0.18);
  position: relative;
}
.jp-contact-card::before { content: ""; position: absolute; top: 0; left: 0; width: 80px; height: 3px; background: var(--brand-orange); border-radius: 22px 0 0 0; }
.jp-contact h2 { font-size: clamp(30px,3.4vw,44px); line-height: 1.05; letter-spacing: -0.035em; margin-bottom: 20px; }
.jp-contact .lead { font-size: 15.5px; line-height: 1.65; color: var(--ink-3); margin-bottom: 28px; }
.jp-contact__btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.btn-linkedin { background: #fff; color: #0A66C2; border: 1px solid #0A66C2; }
.btn-linkedin:hover { background: #0A66C2; color: #fff; }
.jp-contact__checks { display: grid; gap: 14px; }
.jp-contact__check { display: flex; align-items: center; gap: 12px; font-size: 15px; color: var(--ink-2); font-weight: 500; }
.jp-contact__check svg { width: 22px; height: 22px; padding: 3px; background: #e6f7ec; color: #1f7a47; border-radius: 50%; box-sizing: content-box; flex-shrink: 0; }
@media (max-width: 920px) { .jp-contact-card { grid-template-columns: 1fr; gap: 36px; padding: 36px 28px; } }

/* ---- Footer ---- */
/* .jp-footer { background: var(--bg-tint); border-top: 1px solid var(--border); padding: 64px 0 28px; } */
#sp-footer .jp-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1.3fr; gap: 48px; }
#sp-footer .jp-footer__brand img { height: 46px; width: auto; margin-bottom: 18px; }
#sp-footer .jp-footer__tag { font-size: 14.5px; color: var(--ink-3); line-height: 1.6; max-width: 300px; margin-bottom: 22px; }
#sp-footer .jp-footer__social { display: flex; gap: 12px; }
#sp-footer .jp-footer__social a { width: 40px; height: 40px; border-radius: 50%; background: var(--brand-blue); color: #fff; display: grid; place-items: center; transition: transform 150ms ease, background 150ms ease; }
#sp-footer .jp-footer__social a:hover {color: #fff; background: var(--brand-blue-ink); transform: translateY(-2px); }
#sp-footer .jp-footer h4 { font-size: 16px; margin-bottom: 18px; }
#sp-footer .jp-footer__links { display: grid; gap: 12px; }
#sp-footer .jp-footer__links a { font-size: 14.5px; color: var(--ink-2); }
#sp-footer .jp-footer__links a:hover { color: var(--brand-orange); }
#sp-footer .jp-footer__contact { display: grid; gap: 16px; }
#sp-footer .jp-footer__ci { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--ink-2); }
#sp-footer .jp-footer__ci svg { width: 18px; height: 18px; padding: 9px; border-radius: 50%; background: var(--brand-blue); color: #fff; box-sizing: content-box; flex-shrink: 0; }
#sp-footer .jp-footer__ci a { color: var(--ink-2); }
#sp-footer .jp-footer__ci a:hover { color: var(--brand-orange); }
#sp-footer .jp-footer__bottom { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; color: var(--ink-4); }
#sp-footer .jp-footer__bottom a { color: var(--brand-blue); }
#sp-footer .jp-footer__bottom-links { display: flex; gap: 16px; align-items: center; }
#sp-footer .jp-footer__bottom-links a { color: var(--ink-3); }
#sp-footer .jp-footer__bottom-links a:hover { color: var(--brand-orange); }
@media (max-width: 860px) { 
  #sp-footer .jp-footer__grid { grid-template-columns: 1fr 1fr; }
  #sp-footer .jp-footer__brand { grid-column: 1 / -1; } 
}
@media (max-width: 560px) { 
  #sp-footer .jp-footer__grid { grid-template-columns: 1fr; } 
  #sp-footer .jp-footer__bottom { flex-direction: column; text-align: center; } 
}

/* Mobile nav */
@media (max-width: 880px) {
  .jp-nav { display: none; }
  .jp-nav.is-open {
    display: flex; flex-direction: column; align-items: stretch;
    position: fixed; top: 78px; left: 0; right: 0;
    background: #fff; border-bottom: 1px solid var(--border);
    padding: 16px 24px; gap: 4px; margin: 0; z-index: 99;
  }
  .btn-schedule span { display: none; }
  .btn-schedule { padding: 6px; }
  .jp-burger { display: inline-flex; }
}

.privacy-policy-page ul {
    list-style-type: disc;
    margin-inline-start: 1.5rem;
}
.privacy-policy-page ul li {
    position: relative;
    margin: 0 0 0.5rem;
}
.privacy_line{
  opacity: 1;
  border-color: var(--border-strong);
  margin: 1.5rem 0;
}

.privacy-policy-page .contact-details a {
  color: var(--brand-blue);
}
.privacy-policy-page .contact-details a:hover,
.privacy-policy-page .contact-details a:focus,
.privacy-policy-page .contact-details a:visited {
  color: var(--brand-orange);
}

.pagenavigation .pagination {
    display: flex;
    /* grid-template-columns: 1fr 1fr; */
    gap: 2rem;
    align-items: center;
}
.pagenavigation .pagination .previous {
    float: none;
    flex: 1 50%;
    max-width: 50%;
    margin-left: 0;
    margin-right: auto;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    white-space: normal;
    text-align: left;
    position: relative;
    padding: 12px;
    line-height: normal;
    gap: 1rem;
}
.pagenavigation .pagination .next {
    float: none;
    flex: 1 50%;
    max-width: 50%;
    margin-left: auto;
    margin-right: 0;
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
    white-space: normal;
    text-align: right;
    position: relative;
    padding: 12px;
    line-height: normal;
    gap: 1rem;
}
.pagenavigation .pagination:after,
.pagenavigation .pagination:before{display: none;}

.pagenavigation .pagination .txt_lbl{display: block;}
.pagenavigation .pagination .btn_icon {font-size: 20px;}


.sidebar{
    position: relative;
}
@media (min-width: 991px) {
  #joom_blogs_sidebar.is-sticky{
      position: fixed;
      top: 60px;
  }

  #joom_blogs_sidebar.is-bottom{
      position: absolute;
      bottom: 0;
  }
}
.author-section .joom-socials-item-link,
.author-bio .joom-socials-item-link{box-shadow: none;}
.modal-backdrop{--bs-backdrop-zindex: 9999;}
.modal{--bs-modal-zindex: 99999;}


.maintenance_grid_items {
    gap: 1rem;
    transition: .35s ease;
}
.maintenance_grid_items:hover{
  transform: translateY(-4px);
  border-color: #8fd8ff;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.08);
}
.maintenance_grid_items .maintenance_txt{
  font-size: 16px;
  margin: 0;
}
.maintenance_grid_items .maintanance_title{margin: 0;}
.maintenance_grid_items:hover .maintanance_title{color: var(--brand-blue);}
.maintenance_icon {
    width: 42px;
    height: 42px;
    background: #f8fbfd;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe3ea;
    color: var(--brand-blue);
    border-radius: var(--radius);
    transition: border-color 240ms ease, color 240ms ease, transform 240ms cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 240ms ease;
    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.04);
}
.maintenance_grid_items:hover .maintenance_icon {
    border-color: var(--brand-blue);
    transform: scale(1.05);
    box-shadow: 0 6px 14px -4px rgba(38, 157, 216, 0.25);
}

.case_content .ui_card_list_01 ul,
.case_content .ui_card_list_02 ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}

.case_content .ui_card_list_01 ul li,
.case_content .ui_card_list_02 ul li {
    position: relative;
    padding-left: 30px;
}

.case_content .ui_card_list_01 ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23f6921e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
}
.case_content .ui_card_list_02 ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%2333c759" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check-icon lucide-circle-check"><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></svg>');
}

.joom_blog_cta {
    display: grid;
    grid-template-columns: 60% auto;
    background: linear-gradient(-45deg, #FFF -5%, #DBF3FF 100%);
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(0, 0, 0, .07);
    margin: 1.5rem 0 0;
    overflow: hidden;
    transition: box-shadow .25s, transform .25s;
}
.joom_blog_cta:hover {
    transform: translateY(-4px);
    border-color: rgba(38, 157, 216, 0.3);
    box-shadow: 0 24px 48px -20px rgba(20, 30, 50, 0.18), 0 6px 14px -6px rgba(20, 30, 50, 0.08);
}
.joom_blog_cta .joom_blog_cta_desc {
    padding: 2rem;
}
.blog_details .joom_blog_cta .joom_blog_cta_desc h3 {
    margin-top: 0;
    margin-bottom: 1rem;
}
.blog_details .joom_blog_cta .joom_blog_cta_desc p{
    margin-top: 0;
    margin-bottom: 1rem;
}
.blog_details .joom_blog_cta .joom_blog_cta_desc p a {
    color: var(--brand-blue);
}
.blog_details .joom_blog_cta .joom_blog_cta_desc p a:hover,
.blog_details .joom_blog_cta .joom_blog_cta_desc p a:focus,
.blog_details .joom_blog_cta .joom_blog_cta_desc p a:active {
    color: var(--brand-orange);
}
.joom_blog_cta_img img{width: 100%; height: 100%;}
.upgrad_cta_blog {
    background: var(--surface);
    border: 1px solid var(--border);
    border-left: 3px solid #d44455;
    border-radius: var(--radius-xl);
    box-shadow: 0 1px 2px rgba(20, 30, 50, 0.03);
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    padding: 36px 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.upgrad_cta_blog:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px -16px rgba(20, 30, 50, 0.15);
}
.upgrad_cta_blog h3 {
    margin-bottom: 1rem;
    margin-top: 0;
    
}
.upgrad_cta_blog p{
 
} 
.thank_modal .modal-header .btn-close {
    margin: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
    padding: 0;
}
.thank_modal .btn-link-primary{color: var(--brand-blue);}
.thank_modal .btn-link-primary:hover,
.thank_modal .btn-link-primary:focus{color: var(--brand-orange);}


@media (max-width: 767px) {
    .btn-lg{padding: 14px 20px;}
    .promise-bullets{grid-template-columns: 1fr;}
    .jcsr-tile{padding: 24px;}
    .jcsr_btn__group{align-items: stretch; flex-direction: column;}
    .plan_btn_group{align-items: stretch; flex-direction: column;}
    .joom_blogs_sidebar{margin-bottom: 1.5rem;}
    .offcanvas-active .burger-icon>span:nth-child(1), #modal-menu-toggler.active .burger-icon>span:nth-child(1){transform: translate(0, 8px) rotate(-45deg);}
    .offcanvas-active .burger-icon>span:nth-child(3), #modal-menu-toggler.active .burger-icon>span:nth-child(3){transform: translate(0, 0px) rotate(45deg);}
    .joom_blog_cta{grid-template-columns: 100%;}
    .joom_blog_cta_img img{width: 100%;}

    .pagenavigation .pagination{flex-direction: column;}
    .pagenavigation .pagination .previous,
    .pagenavigation .pagination .next{flex: 1 100%; max-width: 100%;}

}


/*extenxion popup start */

.jc-modal{position:fixed;inset:0;z-index:1055;display:none;}
.jc-modal.is-open{display:block;}
.jc-modal__overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);}
.jc-modal__dialog{
  position:relative;max-width:520px;width:calc(100% - 2rem);
  margin:1.75rem auto;display:flex;align-items:center;min-height:calc(100% - 3.5rem);
}
.jc-modal__content{
  position:relative;width:100%;background:#fff;border-radius:10px;
  box-shadow:0 10px 40px rgba(0,0,0,.25);overflow:hidden;
  animation:jcModalIn .18s ease-out;
}
@keyframes jcModalIn{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}
.jc-modal__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1rem .5rem;}
.jc-modal__title{margin:0;font-size:1.25rem;font-weight:700;}
.jc-modal__body{padding:1rem 1.5rem 1.5rem;}
.jc-modal__close{
  border:0;background:transparent;font-size:1.6rem;line-height:1;
  cursor:pointer;color:#444;padding:0 .25rem;margin-left:auto;
}
.jc-modal__close:hover{color:#000;}
body.jc-modal-open{overflow:hidden;}

/*extenxion popup end */









































































   /* ===================== About — page-local ===================== */
    .ab-hero {
      padding: 88px 0 72px;
      background: var(--surface);
      border-bottom: 1px solid var(--border);
      position: relative; overflow: hidden;
    }
    .ab-hero::before {
      content: ""; position: absolute; inset: 0;
      background-image:
        linear-gradient(rgba(38,157,216,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(38,157,216,0.06) 1px, transparent 1px);
      background-size: 56px 56px;
      mask-image: radial-gradient(ellipse 60% 70% at 50% 0%, #000 0%, transparent 72%);
      -webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 0%, #000 0%, transparent 72%);
      pointer-events: none;
    }
    .ab-hero__inner { position: relative; z-index: 1; max-width: 860px; }
    .ab-hero h1 { font-size: clamp(32px, 4.2vw, 54px); line-height: 1.06; letter-spacing: -0.035em; }
    .ab-hero__body { margin-top: 28px; display: grid; gap: 18px; max-width: 760px; }
    .ab-hero__body p { font-size: 16.5px; line-height: 1.75; color: var(--ink-2); }

    .ab-section { padding: 88px 0; }
    .ab-narrow { max-width: 820px; margin: 0 auto; }
    .ab-eyebrow {
      display: inline-flex; align-items: center; gap: 10px;
      font-family: var(--font-mono); font-size: 12px; font-weight: 500;
      letter-spacing: 0.16em; text-transform: uppercase; color: var(--brand-blue);
      margin-bottom: 18px;
    }
    .ab-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
    .ab-section h2 { font-size: clamp(26px, 3vw, 38px); letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 20px; }
    .ab-section p { font-size: 16.5px; line-height: 1.75; color: var(--ink-2); }
    .ab-section p + p { margin-top: 16px; }

    /* Team — single centered box */
    .ab-teamcard {
      max-width: 760px; margin: 44px auto 0;
      background: #fff; border: 1px solid var(--border); border-radius: 16px;
      padding: 44px 48px; position: relative; overflow: hidden;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      display: grid; gap: 16px;
    }
    .ab-teamcard::before { content: ""; position: absolute; top: 0; left: 0; width: 72px; height: 3px; background: var(--brand-orange); }
    .ab-teamcard p { font-size: 16px; line-height: 1.75; color: var(--ink-2); }
    @media (max-width: 600px) { .ab-teamcard { padding: 32px 26px; } }

    /* Why Joomla — two-column with image */
    .ab-why { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
    .ab-why__media img { display: block; width: 100%; height: auto; max-width: 540px; margin: 0 auto; }
    @media (max-width: 920px) {
      .ab-why { grid-template-columns: 1fr; gap: 36px; }
      .ab-why__media { order: -1; }
    }

    /* Why Joomla — pull quote accent */
    .ab-pull {
      border-left: 3px solid var(--brand-orange);
      padding: 6px 0 6px 26px;
      margin-top: 28px;
      font-family: var(--font-display);
      font-weight: 600;
      font-size: clamp(19px, 2vw, 24px);
      line-height: 1.4;
      letter-spacing: -0.02em;
      color: var(--ink);
    }

    /* Team — founder spotlight + makeup */
    .ab-founder {
      max-width: 720px; margin: 48px auto 24px;
      background: #fff; border: 1px solid var(--border); border-radius: 18px;
      padding: 44px 40px; text-align: center;
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03); position: relative; overflow: hidden;
    }
    .ab-founder::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 72px; height: 3px; background: var(--brand-orange); }
    .ab-founder__photo { position: relative; width: 104px; height: 104px; margin-bottom: 14px; }
    .ab-founder__photo img { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; box-shadow: 0 10px 24px -8px rgba(20,30,50,0.3); }
    .ab-founder__dot { position: absolute; bottom: 6px; right: 6px; width: 18px; height: 18px; background: #22c55e; border: 3px solid #fff; border-radius: 50%; }
    .ab-founder__tag { font-family: var(--font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--brand-blue); }
    .ab-founder h3 { font-size: 26px; letter-spacing: -0.02em; margin: 4px 0 12px; }
    .ab-founder p { font-size: 15.5px; line-height: 1.7; color: var(--ink-3); max-width: 560px; }
    .ab-founder__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; justify-content: center; }
    .ab-founder__chip { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-tint); border: 1px solid var(--brand-blue-100); color: var(--brand-blue-ink); font-size: 12.5px; font-weight: 600; padding: 7px 14px; border-radius: 999px; }

    .ab-makeup { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 920px; margin: 0 auto; }
    .ab-makeup__row {
      background: #fff; border: 1px solid var(--border); border-radius: 14px;
      padding: 26px; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
    }
    .ab-makeup__row:hover { transform: translateY(-3px); border-color: rgba(38,157,216,0.3); box-shadow: 0 16px 32px -20px rgba(20,30,50,0.18); }
    .ab-makeup__num { font-family: var(--font-display); font-weight: 800; font-size: 40px; letter-spacing: -0.03em; color: var(--brand-blue); line-height: 1; min-width: 36px; }
    .ab-makeup__ic { width: 46px; height: 46px; border: 1.5px solid var(--border); border-radius: 12px; display: grid; place-items: center; color: var(--brand-blue); }
    .ab-makeup__row h4 { font-size: 16.5px; margin-bottom: 4px; }
    .ab-makeup__row p { font-size: 13.5px; line-height: 1.55; color: var(--ink-3); }
    .ab-makeup__note { grid-column: 1 / -1; display: flex; gap: 14px; align-items: flex-start; background: var(--brand-blue); color: #fff; border-radius: 14px; padding: 22px 26px; font-size: 14.5px; line-height: 1.6; }
    .ab-makeup__note svg { flex-shrink: 0; margin-top: 2px; color: #fff; }
    @media (max-width: 820px) { .ab-makeup { grid-template-columns: 1fr; } }
    @media (max-width: 480px) { .ab-founder { padding: 36px 24px; } }

    /* Trust stats */
    .ab-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 44px; }
    .ab-stat {
      background: #fff; border: 1px solid var(--border);
      border-radius: 14px; padding: 28px 24px; text-align: left;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
    }
    .ab-stat:hover { transform: translateY(-4px); border-color: rgba(38,157,216,0.3); box-shadow: 0 18px 36px -20px rgba(20,30,50,0.18); }
    .ab-stat__ic { width: 44px; height: 44px; border: 1.5px solid var(--border); border-radius: 12px; display: grid; place-items: center; color: var(--brand-blue); margin-bottom: 16px; }
    .ab-stat__num { font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: -0.02em; color: var(--ink); line-height: 1; }
    .ab-stat__num.sm { font-size: 21px; }
    .ab-stat__label { font-size: 13.5px; color: var(--ink-3); margin-top: 8px; line-height: 1.4; }
    @media (max-width: 820px) { .ab-stats { grid-template-columns: repeat(2, 1fr); } }
    @media (max-width: 460px) { .ab-stats { grid-template-columns: 1fr; } }

    /* Credentials */
    .ab-cred { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 8px; }
    .ab-cred__card {
      background: #fff; border: 1px solid var(--border);
      border-radius: 14px; padding: 32px;
      box-shadow: 0 1px 2px rgba(20,30,50,0.03);
      transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
    }
    .ab-cred__card:hover { transform: translateY(-4px); border-color: rgba(38,157,216,0.3); box-shadow: 0 18px 36px -20px rgba(20,30,50,0.18); }
    .ab-cred__media {
      border-radius: 10px; overflow: hidden; margin-bottom: 22px;
      display: grid; place-items: center; padding: 12px 0; min-height: 160px;
    }
    .ab-cred__media img { display: block; max-width: 100%; max-height: 220px; width: auto; height: auto; object-fit: contain; }
    .ab-cred__card h3 { font-size: 18px; margin-bottom: 8px; }
    .ab-cred__card p { font-size: 14.5px; line-height: 1.65; color: var(--ink-3); }
    @media (max-width: 820px) { .ab-cred { grid-template-columns: 1fr; } }

    /* Final CTA */
    .ab-cta { background: var(--ink); color: #fff; border-radius: 20px; padding: 64px; text-align: center; position: relative; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(14,22,32,0.4); }
    .ab-cta::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(ellipse 70% 70% at 50% 0%, #000 0%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 0%, #000 0%, transparent 80%); pointer-events: none; }
    .ab-cta::after { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 4px; background: var(--brand-orange); border-radius: 0 0 4px 4px; }
    .ab-cta > * { position: relative; z-index: 1; }
    .ab-cta h2 { color: #fff; font-size: clamp(28px, 3vw, 40px); margin-bottom: 20px; }
    .ab-cta p { color: rgba(255,255,255,0.8); font-size: 16.5px; line-height: 1.7; max-width: 640px; margin: 0 auto 32px; }
    @media (max-width: 600px) { .ab-cta { padding: 44px 26px; } }