/* V11755 — public-site lightweight paint layer. Layout/content unchanged. */
html{scroll-behavior:auto}
img{content-visibility:auto}
iframe{content-visibility:auto}
main>section:not(:first-child),body>section:not(:first-of-type),footer{content-visibility:auto;contain-intrinsic-size:auto 640px}
@media (max-width:900px){
  .topbar,.site-header,.header-shell,.nav-shell,.glass,.glass-card,[class*="glass"]{
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  .topbar{box-shadow:0 2px 10px rgba(6,32,77,.06)!important}
  [style*="backdrop-filter"]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  [class*="blur"]{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* ==========================================================================
   GLOBAL TEXT NORMALIZATION - Natural Casing & Balanced Typography
   Applies across all 52 public website pages
   ========================================================================== */
html body:not(.adminBody) h1,
html body:not(.adminBody) h2,
html body:not(.adminBody) h3,
html body:not(.adminBody) h4,
html body:not(.adminBody) h5,
html body:not(.adminBody) h6,
html body:not(.adminBody) [class*="Hero"] h1,
html body:not(.adminBody) [class*="Hero"] h2,
html body:not(.adminBody) [class*="Hero"] h3,
html body:not(.adminBody) [class*="Head"] h1,
html body:not(.adminBody) [class*="Head"] h2,
html body:not(.adminBody) [class*="Head"] h3,
html body:not(.adminBody) [class*="Card"] h2,
html body:not(.adminBody) [class*="Card"] h3,
html body:not(.adminBody) [class*="Card"] h4,
html body:not(.adminBody) [class*="Box"] h2,
html body:not(.adminBody) [class*="Box"] h3,
html body:not(.adminBody) [class*="Strip"] h2,
html body:not(.adminBody) [class*="Strip"] h3,
html body:not(.adminBody) [class*="Intro"] h2,
html body:not(.adminBody) [class*="Intro"] h3,
html body:not(.adminBody) [class*="Item"] h3,
html body:not(.adminBody) .sampleTitleWrap h2,
html body:not(.adminBody) .sampleInfo h3,
html body:not(.adminBody) .slideText h3,
html body:not(.adminBody) .workCard .cap,
html body:not(.adminBody) .step h3,
html body:not(.adminBody) .footer h2,
html body:not(.adminBody) .footer h3,
html body:not(.adminBody) .legal h1,
html body:not(.adminBody) .legal h2,
html body:not(.adminBody) .legal h3 {
  text-transform: none !important;
}

/* Badges, chips, tags & eyebrows render in natural Title Case */
html body:not(.adminBody) .badge,
html body:not(.adminBody) [class*="Eyebrow"],
html body:not(.adminBody) [class*="Badge"],
html body:not(.adminBody) [class*="Kicker"],
html body:not(.adminBody) .blogCat,
html body:not(.adminBody) .blogTags span,
html body:not(.adminBody) .servicePills span,
html body:not(.adminBody) .blogKeywordChips span,
html body:not(.adminBody) .heroBadge,
html body:not(.adminBody) .tag {
  text-transform: none !important;
  letter-spacing: normal !important;
  font-weight: 600 !important;
}

/* Clean, modern typography weights (removes distorted 1000/900 hyper-bold) */
html body:not(.adminBody) h1,
html body:not(.adminBody) [class*="Hero"] h1 {
  font-weight: 750 !important;
}
html body:not(.adminBody) h2,
html body:not(.adminBody) [class*="Head"] h2 {
  font-weight: 700 !important;
}
html body:not(.adminBody) h3,
html body:not(.adminBody) h4 {
  font-weight: 650 !important;
}
html body:not(.adminBody) .clientStatItem strong,
html body:not(.adminBody) .countFromZero,
html body:not(.adminBody) .aboutStat b,
html body:not(.adminBody) .stat b {
  font-weight: 750 !important;
  letter-spacing: -0.015em !important;
}
html body:not(.adminBody) .clientStatItem h3 {
  font-weight: 600 !important;
  text-transform: none !important;
  color: #0077b6 !important;
}

/* ==========================================================================
   CONTENT GAP EQUALIZATION - Compact & Balanced Section Spacing
   ========================================================================== */
@media (min-width: 769px) {
  html body:not(.adminBody) section.section,
  html body:not(.adminBody) .section:not(.aboutClientStatsSection):not(.aboutStatsSection),
  html body:not(.adminBody) .blogPostsSection,
  html body:not(.adminBody) .aboutIntroSection,
  html body:not(.adminBody) .aboutSeoPremiumV2436,
  html body:not(.adminBody) .aboutTrustSection,
  html body:not(.adminBody) .aboutWhySection,
  html body:not(.adminBody) .blogSeoIntroV2452,
  html body:not(.adminBody) .blogArchiveSection,
  html body:not(.adminBody) .serviceSection,
  html body:not(.adminBody) .portfolioSection,
  html body:not(.adminBody) .pricingSection {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }

  html body:not(.adminBody) .aboutHero,
  html body:not(.adminBody) .blogHero,
  html body:not(.adminBody) .pageHero,
  html body:not(.adminBody) .servicesHero,
  html body:not(.adminBody) .pricingBreakdownHero,
  html body:not(.adminBody) .blogArchiveHero.blogHeroPremiumV2459 {
    padding-top: 32px !important;
    padding-bottom: 28px !important;
  }

  html body:not(.adminBody) .aboutClientStatsSection {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }
  html body:not(.adminBody) .aboutStatsSection {
    padding-top: 14px !important;
    padding-bottom: 18px !important;
  }
  html body:not(.adminBody) .clientStatsBox {
    padding: 16px 20px !important;
  }

  html body:not(.adminBody) .sectionHead {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
  }
  html body:not(.adminBody) .sectionHead h2,
  html body:not(.adminBody) .sectionHead h1 {
    margin-top: 8px !important;
    margin-bottom: 10px !important;
  }
  html body:not(.adminBody) .sectionHead p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  html body:not(.adminBody) section.section,
  html body:not(.adminBody) .section:not(.aboutClientStatsSection):not(.aboutStatsSection),
  html body:not(.adminBody) .blogPostsSection,
  html body:not(.adminBody) .aboutIntroSection,
  html body:not(.adminBody) .aboutSeoPremiumV2436,
  html body:not(.adminBody) .aboutTrustSection,
  html body:not(.adminBody) .aboutWhySection,
  html body:not(.adminBody) .blogSeoIntroV2452,
  html body:not(.adminBody) .blogArchiveSection,
  html body:not(.adminBody) .serviceSection,
  html body:not(.adminBody) .portfolioSection,
  html body:not(.adminBody) .pricingSection {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
  }

  html body:not(.adminBody) .aboutHero,
  html body:not(.adminBody) .blogHero,
  html body:not(.adminBody) .pageHero,
  html body:not(.adminBody) .blogArchiveHero.blogHeroPremiumV2459 {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  html body:not(.adminBody) .aboutClientStatsSection {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  html body:not(.adminBody) .aboutStatsSection {
    padding-top: 10px !important;
    padding-bottom: 12px !important;
  }
  html body:not(.adminBody) .sectionHead {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
  }
}


/* Maximum specificity override to guarantee normal natural casing everywhere */
html body:not(.adminBody) :is(h1, h2, h3, h4, h5, h6, .aboutSeoHeadV2436 h2, .blogSeoIntroBoxV2452 h2, .blogHeroPremiumV2459 h1, .blogArchiveHero h1, .aboutHeroText h1, .serviceHero h1, .catalogHero h1, .sectionHead h2, .sectionHead h3) {
  text-transform: none !important;
}
html body:not(.adminBody) :is(.aboutSeoHeadV2436, .blogSeoIntroBoxV2452, .aboutContent, .aboutHeroText, .blogArchiveHero) :is(h1, h2, h3) {
  text-transform: none !important;
}

/* ==========================================================================
   BLOG CARDS TYPOGRAPHY & CONTENT NORMALIZATION
   All blog card headings balanced/slightly smaller, content normalized
   ========================================================================== */

/* 1. Blog Post Hero Cards (.blogArticleHero) across all 21 blog post pages */
html body:not(.adminBody) .blogArticleHeroGrid > div:first-child,
html body:not(.adminBody) .blogArticleHero .blogArticleHeroGrid > div:first-child{
  background:rgba(255,255,255,.90) !important;
  border:1px solid #dbe9fb !important;
  border-radius:24px !important;
  padding:24px 26px 22px !important;
  box-shadow:0 12px 32px rgba(7,38,83,.05) !important;
}

html body:not(.adminBody) .blogArticleHero h1,
html body:not(.adminBody) .blogArticleHeroGrid h1,
html body:not(.adminBody) .blogArticleHeroGrid > div:first-child h1,
html body:not(.adminBody) .blogArticlePage .blogArticleHero h1{
  font-size:clamp(22px,2.3vw,28px) !important;
  line-height:1.24 !important;
  font-weight:750 !important;
  letter-spacing:-.018em !important;
  color:#082d5c !important;
  margin:10px 0 10px !important;
}

html body:not(.adminBody) .blogArticleHero p,
html body:not(.adminBody) .blogArticleHeroGrid p,
html body:not(.adminBody) .blogArticleHeroGrid > div:first-child p,
html body:not(.adminBody) .blogArticlePage .blogArticleHero p{
  font-size:14.5px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  color:#263d57 !important;
  margin:0 !important;
}

html body:not(.adminBody) .blogArticleHero .blogRefEyebrow{
  display:inline-block !important;
  font-size:11.5px !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  color:#0768e8 !important;
  margin-bottom:6px !important;
}

html body:not(.adminBody) .blogArticleHero .blogTagRow,
html body .blogArticleHero .blogTagRow,
html body .blogArticlePage .blogTagRow,
html body .blogTagRow{
  margin-top:16px !important;
  gap:10px !important;
}

html body:not(.adminBody) .blogArticleHero .blogTagRow span,
html body .blogArticleHero .blogTagRow span,
html body .blogArticlePage .blogTagRow span,
html body .blogTagRow span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:8px !important;
  min-height:52px !important;
  padding:10px 18px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  border:1px solid #d5e5f7 !important;
  color:#17325b !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  box-sizing:border-box !important;
  box-shadow:0 4px 16px rgba(7,38,83,.04) !important;
}

html body:not(.adminBody) .blogArticleHero .blogTagRow span::before,
html body .blogArticleHero .blogTagRow span::before,
html body .blogArticlePage .blogTagRow span::before,
html body .blogTagRow span::before{
  content:"✦" !important;
  color:#0b68df !important;
  font-size:14px !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-shrink:0 !important;
  margin:0 !important;
}

html body:not(.adminBody) .blogArticleHero img{
  border-radius:24px !important;
  border:1px solid #dbe9fb !important;
}

/* 2. Blog Archive Listing Cards (.blogArchiveCard) on blog.html & portfolio */
html body:not(.adminBody) .blogArchiveCard{
  border:1px solid #dbe9fb !important;
  border-radius:22px !important;
}

html body:not(.adminBody) .blogArchiveList .blogArchiveBody h2,
html body:not(.adminBody) .blogArchiveList .blogArchiveBody h2 a,
html body:not(.adminBody) .blogArchiveCard h2,
html body:not(.adminBody) .blogArchiveCard h2 a{
  font-size:18px !important;
  line-height:1.26 !important;
  font-weight:750 !important;
  letter-spacing:-.015em !important;
  color:#082d5c !important;
  margin:0 0 8px !important;
}

html body:not(.adminBody) .blogArchiveList .blogArchiveBody p,
html body:not(.adminBody) .blogArchiveCard p{
  font-size:13.5px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  color:#263d57 !important;
  margin:0 0 12px !important;
}

/* 3. Blog Archive Hero & SEO Intro Box on blog.html */
html body:not(.adminBody) .blogArchiveHero.blogHeroPremiumV2459 h1,
html body:not(.adminBody) main.blogArchivePage .blogArchiveHero h1{
  font-size:clamp(22px,2.4vw,28px) !important;
  line-height:1.24 !important;
  font-weight:750 !important;
  color:#082d5c !important;
  margin:0 auto 8px !important;
}

html body:not(.adminBody) .blogArchiveHero.blogHeroPremiumV2459 p,
html body:not(.adminBody) main.blogArchivePage .blogArchiveHero p{
  font-size:14.5px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  color:#263d57 !important;
}

html body:not(.adminBody) .blogSeoIntroBoxV2452 h2{
  font-size:19px !important;
  line-height:1.3 !important;
  font-weight:750 !important;
  color:#082d5c !important;
  margin-bottom:10px !important;
}

html body:not(.adminBody) .blogSeoIntroBoxV2452 p{
  font-size:14px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  color:#263d57 !important;
}

/* 4. In-Article Cards (.cimClipIconCard, .cimClipTypeCard, .cimClipStep) */
html body:not(.adminBody) .blogArticleContent .cimClipIconCard,
html body:not(.adminBody) .blogArticleContent .cimClipTypeCard,
html body:not(.adminBody) .blogArticleContent .cimClipStep{
  border:1px solid #d8e8fb !important;
  border-radius:18px !important;
}

html body:not(.adminBody) .blogArticleContent .cimClipIconCard h3,
html body:not(.adminBody) .blogArticleContent .cimClipTypeCard h3,
html body:not(.adminBody) .blogArticleContent .cimClipStep h3{
  font-size:15.5px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  color:#082d5c !important;
  margin:0 0 6px !important;
}

html body:not(.adminBody) .blogArticleContent .cimClipIconCard p,
html body:not(.adminBody) .blogArticleContent .cimClipTypeCard p,
html body:not(.adminBody) .blogArticleContent .cimClipStep p{
  font-size:13.5px !important;
  line-height:1.58 !important;
  font-weight:400 !important;
  color:#263d57 !important;
  margin:0 !important;
}

/* 5. In-Article Sections & Lead */
html body:not(.adminBody) .blogArticleContent .cimClipLead p,
html body:not(.adminBody) .blogArticleContent .cimClipSection p,
html body:not(.adminBody) .blogArticleContent .cimClipSection li{
  font-size:14.5px !important;
  line-height:1.65 !important;
  font-weight:400 !important;
  color:#263d57 !important;
}

html body:not(.adminBody) .blogArticleContent .cimClipSection h2{
  font-size:20px !important;
  line-height:1.3 !important;
  font-weight:750 !important;
  color:#082d5c !important;
  margin:28px 0 12px !important;
}

html body:not(.adminBody) .blogArticleContent .cimClipSection h3{
  font-size:16.5px !important;
  line-height:1.35 !important;
  font-weight:700 !important;
  color:#082d5c !important;
  margin:20px 0 8px !important;
}

/* 6. Blog Sidebar Box (.blogSideBox) */
html body:not(.adminBody) .blogSideBox{
  border:1px solid #dbe9fb !important;
  border-radius:20px !important;
}

html body:not(.adminBody) .blogSideBox h3{
  font-size:16px !important;
  font-weight:750 !important;
  color:#082d5c !important;
  margin:0 0 10px !important;
}

/* 7. Footer Social Pills exact Center-Center Alignment */
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a,
html body:not(.adminBody) .cimSocialsV2029 a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:26px !important;
  min-width:26px !important;
  max-width:26px !important;
  height:26px !important;
  min-height:26px !important;
  max-height:26px !important;
  flex:0 0 26px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:6px !important;
  background:#ffffff !important;
  overflow:hidden !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  text-indent:0 !important;
  letter-spacing:0 !important;
}

html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a:hover,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a:focus,
html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a:active,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a:hover,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a:focus,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a:active,
html body:not(.adminBody) .cimSocialsV2029 a:hover,
html body:not(.adminBody) .cimSocialsV2029 a:focus,
html body:not(.adminBody) .cimSocialsV2029 a:active{
  transform:none !important;
  width:26px !important;
  height:26px !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}

html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a[data-social]::before,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a[data-social]::before,
html body:not(.adminBody) .cimSocialsV2029 a[data-social]::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
}

html body:not(.adminBody) footer.cimFooterRestoreV2029 .cimSocialsV2029 a svg,
html body:not(.adminBody) .cimFooterRestoreV2029 .cimSocialsV2029 a svg,
html body:not(.adminBody) .cimSocialsV2029 a svg{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
}

/* 8. Talk To Us / Enterprise Strip Button Single Row Lock */
html body:not(.adminBody) .cimEnterpriseStrip{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
}

html body:not(.adminBody) .cimEnterpriseStrip > div{
  min-width:0 !important;
  flex:1 1 auto !important;
}

html body:not(.adminBody) .cimEnterpriseStrip .cimBtn,
html body:not(.adminBody) .cimGrowthV11794 .cimEnterpriseStrip .cimBtn,
html body:not(.adminBody) .cimGrowthV11794 .cimBtn{
  white-space:nowrap !important;
  flex:0 0 auto !important;
  flex-shrink:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

@media(max-width:620px){
  html body:not(.adminBody) .cimEnterpriseStrip{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  html body:not(.adminBody) .cimEnterpriseStrip .cimBtn,
  html body:not(.adminBody) .cimGrowthV11794 .cimEnterpriseStrip .cimBtn{
    width:100% !important;
    white-space:nowrap !important;
  }
}

/* 9. Home CTA Strip Compact & Single Row Heading + Subtitle Match */
html body .homeCtaStrip,
html body section.homeCtaStrip{
  padding:32px 0 54px !important;
  background:#f8fbff !important;
}

html body .homeCtaStrip .ctaStripInner,
html body section.homeCtaStrip .ctaStripInner{
  border-radius:22px !important;
  padding:24px 34px !important;
  gap:24px !important;
}

html body .homeCtaStrip .ctaStripInner .ctaStripContent,
html body section.homeCtaStrip .ctaStripInner .ctaStripContent,
html body .homeCtaStrip .ctaStripInner > div:first-child{
  gap:5px !important;
  min-width:0 !important;
  flex:1 1 auto !important;
}

html body .homeCtaStrip .ctaStripInner .ctaStripEyebrow,
html body section.homeCtaStrip .ctaStripInner .ctaStripEyebrow{
  padding:3px 11px !important;
  font-size:11px !important;
  margin:0 0 2px !important;
}

html body .homeCtaStrip .ctaStripInner h2,
html body section.homeCtaStrip .ctaStripInner h2{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#072855 !important;
  -webkit-text-fill-color:#072855 !important;
  font-size:clamp(18px,1.65vw,22.5px) !important;
  font-weight:750 !important;
  letter-spacing:-.015em !important;
  line-height:1.22 !important;
  max-width:none !important;
  width:auto !important;
  white-space:nowrap !important;
}

html body .homeCtaStrip .ctaStripInner .ctaStripSub,
html body .homeCtaStrip .ctaStripInner p,
html body section.homeCtaStrip .ctaStripInner .ctaStripSub,
html body section.homeCtaStrip .ctaStripInner p{
  margin:0 !important;
  color:#263d57 !important;
  -webkit-text-fill-color:#263d57 !important;
  font-size:14.5px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
  max-width:720px !important;
  text-shadow:none !important;
  opacity:1 !important;
}

@media(max-width:960px){
  html body .homeCtaStrip .ctaStripInner h2,
  html body section.homeCtaStrip .ctaStripInner h2{
    white-space:normal !important;
    font-size:clamp(17px,3.8vw,21px) !important;
    line-height:1.26 !important;
  }
}

@media(max-width:880px){
  html body .homeCtaStrip .ctaStripInner,
  html body section.homeCtaStrip .ctaStripInner{
    padding:24px 22px !important;
    gap:18px !important;
  }
}

/* Contact Page Upload Cards Centering & Contrast Fix */
html body.contactPage .cimUploadGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}

html body.contactPage .cimUploadItem{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:14px 12px 12px !important;
  border-radius:14px !important;
  border:1px solid #dbe9fb !important;
  background:#ffffff !important;
  box-sizing:border-box !important;
}

html body.contactPage .cimUploadItemTop{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  margin-bottom:8px !important;
  position:relative !important;
}

html body.contactPage .cimUploadLabel{
  display:block !important;
  text-align:center !important;
  width:100% !important;
  margin:0 auto !important;
  color:#072e5c !important;
  font-size:12px !important;
  font-weight:700 !important;
}

html body.contactPage .cimUploadClearBtn{
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}

html body.contactPage .cimUploadButton{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  gap:7px !important;
  width:100% !important;
  max-width:100% !important;
  height:36px !important;
  min-height:36px !important;
  margin:0 auto 8px !important;
  padding:0 12px !important;
  background:#f2f7fd !important;
  border:1px solid #cce1fa !important;
  border-radius:999px !important;
  color:#0852bd !important;
  font-size:12px !important;
  font-weight:600 !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  transition:all .18s ease !important;
}

html body.contactPage .cimUploadButton .cimBtnLabel,
html body.contactPage .cimUploadButton svg{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  vertical-align:middle !important;
}

html body.contactPage .cimUploadButton:hover,
html body.contactPage .cimUploadItem.has-file .cimUploadButton{
  background:#0852bd !important;
  border-color:#0852bd !important;
  color:#ffffff !important;
}

html body.contactPage .cimUploadButton:hover .cimBtnLabel,
html body.contactPage .cimUploadButton:hover svg,
html body.contactPage .cimUploadItem.has-file .cimUploadButton .cimBtnLabel,
html body.contactPage .cimUploadItem.has-file .cimUploadButton svg{
  color:#ffffff !important;
  stroke:#ffffff !important;
}

html body.contactPage .cimImageInfo{
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  font-size:11px !important;
  color:#557a9f !important;
  margin:0 auto !important;
}

html body.contactPage .cimImageInfo span,
html body.contactPage .cimEmptyText{
  text-align:center !important;
  display:block !important;
  width:100% !important;
}

@media(max-width:760px){
  html body.contactPage .cimUploadGrid{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }
}

/* ==========================================================================
   Compact Floating Language Pill & WhatsApp Controls (Global Modern Polish)
   ========================================================================== */
html body #cimLangV11688,
html body .cimLangV11688 {
  position: fixed !important;
  right: 18px !important;
  bottom: 66px !important;
  z-index: 2147483188 !important;
}

html body #cimLangV11688 .cimLangButtonV11688,
html body .cimLangButtonV11688 {
  min-width: 52px !important;
  height: 28px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  gap: 4.5px !important;
  font-size: 11px !important;
  border: 1px solid #d0e2f5 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  color: #062a5c !important;
  box-shadow: 0 3px 12px rgba(5, 31, 65, 0.08) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

html body #cimLangV11688 .cimLangButtonV11688:hover,
html body .cimLangButtonV11688:hover {
  border-color: #0b68df !important;
  box-shadow: 0 5px 16px rgba(5, 31, 65, 0.12) !important;
}

html body #cimLangV11688 .cimLangButtonV11688:active,
html body .cimLangButtonV11688:active {
  transform: translateY(1px) !important;
}

html body #cimLangV11688 .cimLangGlobeV11688,
html body .cimLangGlobeV11688 {
  font-size: 12.5px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}

html body #cimLangV11688 .cimLangCodeV11688,
html body .cimLangCodeV11688 {
  font-size: 10.5px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  color: #062a5c !important;
  letter-spacing: .03em !important;
}

html body #cimLangV11688 .cimLangChevronV11688,
html body .cimLangChevronV11688 {
  width: 5px !important;
  height: 5px !important;
  border-right: 1.5px solid #062a5c !important;
  border-bottom: 1.5px solid #062a5c !important;
  border-top: 0 !important;
  border-left: 0 !important;
  transform: rotate(45deg) !important;
  margin-top: -3px !important;
  margin-left: 1px !important;
  display: inline-block !important;
  opacity: .75 !important;
  flex-shrink: 0 !important;
}

html body #cimLangV11688[data-open="1"] .cimLangChevronV11688,
html body .cimLangV11688[data-open="1"] .cimLangChevronV11688 {
  transform: rotate(225deg) !important;
  margin-top: 2px !important;
}

html body #cimLangV11688 .cimLangMenuV11688,
html body .cimLangMenuV11688 {
  width: 184px !important;
  bottom: 34px !important;
  padding: 4px !important;
  border-radius: 12px !important;
}

html body #cimLangV11688 .cimLangTitleV11688,
html body .cimLangTitleV11688 {
  font-size: 9.5px !important;
  padding: 4px 7px 2px !important;
}

html body #cimLangV11688 .cimLangOptionV11688,
html body .cimLangOptionV11688 {
  min-height: 28px !important;
  padding: 5px 7px !important;
  font-size: 11.5px !important;
  border-radius: 8px !important;
  gap: 7px !important;
}

html body #cimLangV11688 .cimLangFlagV11688,
html body .cimLangFlagV11688 {
  width: 16px !important;
  font-size: 13px !important;
}

/* Compact WhatsApp Floating Button */
html body .cimWhatsAppFloatV3040,
html body .cimWhatsAppFloatV3041,
.cimWhatsAppFloatV3040,
.cimWhatsAppFloatV3041 {
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 99999 !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  box-shadow: 0 8px 18px rgba(14, 128, 65, 0.26), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.34), inset 0 -4px 10px rgba(0, 75, 30, 0.18) !important;
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

html body .cimWhatsAppFloatV3040:hover,
html body .cimWhatsAppFloatV3041:hover {
  transform: translateY(-2px) scale(1.04) !important;
  box-shadow: 0 12px 24px rgba(14, 128, 65, 0.32), inset 0 1.5px 1.5px rgba(255, 255, 255, 0.38), inset 0 -4px 10px rgba(0, 75, 30, 0.2) !important;
}

html body .cimWhatsAppFloatV3040 .cimWhatsAppIconV3040,
html body .cimWhatsAppFloatV3041 .cimWhatsAppIconV3041,
.cimWhatsAppFloatV3040 .cimWhatsAppIconV3040,
.cimWhatsAppFloatV3041 .cimWhatsAppIconV3041 {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: grid !important;
  place-items: center !important;
}

html body .cimWhatsAppFloatV3040 svg,
html body .cimWhatsAppFloatV3041 svg,
.cimWhatsAppFloatV3040 svg,
.cimWhatsAppFloatV3041 svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: #fff !important;
}

html body .cimWhatsAppFloatV3040::after,
html body .cimWhatsAppFloatV3041::after,
.cimWhatsAppFloatV3040::after,
.cimWhatsAppFloatV3041::after {
  content: "" !important;
  position: absolute !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: #00f060 !important;
  border: 2px solid #fff !important;
  right: 0 !important;
  bottom: 1px !important;
  box-shadow: 0 2px 6px rgba(0, 140, 60, 0.24) !important;
}

/* Mobile Adjustments (<= 768px) */
@media (max-width: 768px) {
  html body .cimWhatsAppFloatV3040,
  html body .cimWhatsAppFloatV3041,
  .cimWhatsAppFloatV3040,
  .cimWhatsAppFloatV3041 {
    right: 14px !important;
    bottom: 14px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
  }
  html body .cimWhatsAppFloatV3040 svg,
  html body .cimWhatsAppFloatV3041 svg,
  .cimWhatsAppFloatV3040 svg,
  .cimWhatsAppFloatV3041 svg {
    width: 20px !important;
    height: 20px !important;
  }
  html body #cimLangV11688,
  html body .cimLangV11688 {
    right: 14px !important;
    bottom: 58px !important;
  }
}

/* ==========================================================================
   Compact SEO Headings & Matching Subtext Across All Website Sections
   Ensures single-row desktop flow, matching pill badge, and balanced typography.
   ========================================================================== */

/* 1. Header Containers */
html body:not(.adminBody) .aboutSeoHeadV2436,
html body:not(.adminBody) .serviceSeoPremiumHead,
html body:not(.adminBody) .blogSeoIntroBoxV2452,
html body:not(.adminBody) .sectionHead,
html body main.aboutPremium .aboutSeoHeadV2436,
html body.serviceCatalogPage .serviceSeoPremiumHead,
html body.catalogPageSection .serviceSeoPremiumHead {
  max-width: 1040px !important;
  margin: 0 auto 18px !important;
  text-align: center !important;
}

/* Intermediate Flow Section Titles (Equal balanced spacing, no sticking) */
html body:not(.adminBody) .cimSectionTitle,
html body:not(.adminBody) .cimGrowthV11794 .cimSectionTitle {
  max-width: 1040px !important;
  margin: 56px auto 20px !important;
  text-align: center !important;
}

html body:not(.adminBody) .cimSectionTitle:first-child,
html body:not(.adminBody) .cimGrowthV11794 .cimSectionTitle:first-child {
  margin-top: 0 !important;
}

/* 2. Top Pill Badges */
html body:not(.adminBody) .aboutSeoBadgeV2436,
html body:not(.adminBody) .serviceSeoPremiumHead span,
html body:not(.adminBody) .blogHeroBadgeV2459,
html body:not(.adminBody) .aboutHeroText .badge,
html body:not(.adminBody) .cimEyebrow,
html body main.aboutPremium .aboutSeoBadgeV2436 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 10px !important;
  padding: 6px 14px !important;
  border: 1px solid rgba(128, 184, 241, .7) !important;
  border-radius: 999px !important;
  color: #0069cc !important;
  background: #f3f9ff !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 750 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

/* 3. Compact Bold Headings (Ek raw me on desktop) */
html body:not(.adminBody) .aboutSeoHeadV2436 h2,
html body:not(.adminBody) .serviceSeoPremiumHead h2,
html body:not(.adminBody) .blogSeoIntroBoxV2452 h2,
html body:not(.adminBody) .cimSectionTitle h2,
html body:not(.adminBody) .cimSectionTitle h3,
html body:not(.adminBody) .sectionHead h2,
html body:not(.adminBody) .homeStory h2,
html body:not(.adminBody) .premiumWorkflow2dSection h2,
html body:not(.adminBody) .homeSamplesServiceStyle h2,
html body:not(.adminBody) .pricingBreakdownSection h2,
html body:not(.adminBody) .faqGradientLineV2865 h2,
html body:not(.adminBody) .cimGrowthHead h2,
html body:not(.adminBody) .cimQuotePanel h2,
html body:not(.adminBody) .cimTrustPanel h2,
html body main.aboutPremium .aboutSeoHeadV2436 h2,
html body.serviceCatalogPage .serviceSeoPremiumHead h2,
html body.catalogPageSection .serviceSeoPremiumHead h2 {
  margin: 0 auto 10px !important;
  color: #003b70 !important;
  font-size: clamp(20px, 1.95vw, 26px) !important;
  line-height: 1.22 !important;
  font-weight: 780 !important;
  letter-spacing: -.018em !important;
  max-width: 1040px !important;
  text-align: center !important;
  white-space: normal !important;
}

/* 4. Subtext Paragraphs - Same Matched Look */
html body:not(.adminBody) .aboutSeoHeadV2436 p,
html body:not(.adminBody) .serviceSeoPremiumHead p,
html body:not(.adminBody) .blogSeoIntroBoxV2452 p,
html body:not(.adminBody) .cimSectionTitle p,
html body:not(.adminBody) .sectionHead p,
html body:not(.adminBody) .cimPanelLead,
html body:not(.adminBody) .cimGrowthHead p,
html body:not(.adminBody) .pricingBreakdownSection p,
html body main.aboutPremium .aboutSeoHeadV2436 p,
html body.serviceCatalogPage .serviceSeoPremiumHead p,
html body.catalogPageSection .serviceSeoPremiumHead p {
  margin: 0 auto !important;
  color: #315985 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
  max-width: 780px !important;
  text-align: center !important;
}

/* 5. Compact Section Padding */
html body:not(.adminBody) main.aboutPremium .aboutSeoPremiumV2436 {
  padding: 38px 0 32px !important;
}

html body:not(.adminBody) .serviceSeoPremiumBlock {
  margin: 24px 0 28px !important;
  padding: 26px 24px !important;
}

/* 6. Compact Cards inside grid */
html body:not(.adminBody) main.aboutPremium .aboutSeoGridV2436 {
  gap: 16px !important;
  margin: 0 auto 18px !important;
}

html body:not(.adminBody) main.aboutPremium .aboutSeoCardV2436 {
  padding: 20px 18px !important;
  border-radius: 20px !important;
}

html body:not(.adminBody) main.aboutPremium .aboutSeoCardV2436 h3 {
  font-size: 17px !important;
  line-height: 1.25 !important;
  margin: 0 0 8px !important;
}

html body:not(.adminBody) main.aboutPremium .aboutSeoCardV2436 p {
  font-size: 13.5px !important;
  line-height: 1.6 !important;
  color: #315985 !important;
  font-weight: 480 !important;
}

@media (max-width: 768px) {
  html body:not(.adminBody) .aboutSeoHeadV2436,
  html body:not(.adminBody) .serviceSeoPremiumHead,
  html body:not(.adminBody) .blogSeoIntroBoxV2452,
  html body:not(.adminBody) .sectionHead {
    margin: 0 auto 14px !important;
  }
  html body:not(.adminBody) .cimSectionTitle,
  html body:not(.adminBody) .cimGrowthV11794 .cimSectionTitle {
    margin: 38px auto 16px !important;
  }
  html body:not(.adminBody) .cimSectionTitle:first-child,
  html body:not(.adminBody) .cimGrowthV11794 .cimSectionTitle:first-child {
    margin-top: 0 !important;
  }
  html body:not(.adminBody) .aboutSeoHeadV2436 h2,
  html body:not(.adminBody) .serviceSeoPremiumHead h2,
  html body:not(.adminBody) .blogSeoIntroBoxV2452 h2,
  html body:not(.adminBody) .cimSectionTitle h2,
  html body:not(.adminBody) .cimSectionTitle h3,
  html body:not(.adminBody) .sectionHead h2,
  html body:not(.adminBody) .homeStory h2,
  html body:not(.adminBody) .premiumWorkflow2dSection h2,
  html body:not(.adminBody) .homeSamplesServiceStyle h2,
  html body:not(.adminBody) .pricingBreakdownSection h2,
  html body:not(.adminBody) .faqGradientLineV2865 h2,
  html body:not(.adminBody) .cimGrowthHead h2,
  html body:not(.adminBody) .cimQuotePanel h2,
  html body:not(.adminBody) .cimTrustPanel h2 {
    font-size: 19px !important;
    line-height: 1.25 !important;
  }
  html body:not(.adminBody) .aboutSeoHeadV2436 p,
  html body:not(.adminBody) .serviceSeoPremiumHead p,
  html body:not(.adminBody) .blogSeoIntroBoxV2452 p,
  html body:not(.adminBody) .cimSectionTitle p,
  html body:not(.adminBody) .sectionHead p,
  html body:not(.adminBody) .cimPanelLead,
  html body:not(.adminBody) .cimGrowthHead p,
  html body:not(.adminBody) .pricingBreakdownSection p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
  html body:not(.adminBody) main.aboutPremium .aboutSeoPremiumV2436 {
    padding: 24px 0 20px !important;
  }
}




