.main-nav-knowza,
body {
  font-family: var(--knowza-font-body)
}

.cf-select,
.pf-tab,
.svc-back-btn,
.svc-scroll-top,
.testi-dot {
  cursor: pointer
}

.mqt-track,
.post-hero-bg,
.testi-track {
  will-change: transform
}

body,
html {
  max-width: 100%
}

body {
  overflow-x: hidden;
  font-size: var(--knowza-text-md);
  line-height: 1.5
}

.mqt-row,
.testi-track-wrap,
body.jm-open,
body.knowza-nav-open {
  overflow: hidden
}

.knowza-only-desktop {
  display: none !important
}

.knowza-only-mobile {
  display: inline-flex !important
}

.header-knowza-style1 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1040;
  transition: background-color .3s
}

.logo-wrapper-knowza>a {
  display: inline-flex;
  align-items: center;
  padding: 0;
  background: 0 0;
  box-shadow: none
}

.header-main-knowza {
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
  box-shadow: 0 .25rem 1.25rem rgba(15, 29, 55, .06);
  padding: .875rem 0;
  position: relative;
  z-index: 1035
}

.header-inner-knowza {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.gap-knowza-header-actions {
  gap: .35rem
}

.logo-wrapper-knowza {
  width: 160px;
  height: 48px;
}

.logo-wrapper-knowza .knowza-logo {
  width: 80%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.main-nav-knowza {
  transition: right .4s cubic-bezier(.4, 0, .2, 1), box-shadow .3s
}

@media (min-width:1031px) {

  .knowza-only-desktop.header-btn-knowza,
  .knowza-only-desktop.hero-btn-knowza {
    display: inline-flex !important
  }

  .knowza-only-mobile,
  .main-nav-knowza.slidein .main-nav-knowza-list>li::before,
  .main-nav-knowza:not(.slidein) .menu-close-trigger-knowza {
    display: none !important
  }

  .header-right-knowza,
  .logo-wrapper-knowza {
    flex: 1;
    display: flex;
    align-items: center
  }

  .header-right-knowza {
    justify-content: flex-end
  }

  .main-nav-knowza {
    flex: 0 0 auto;
    margin-inline: 2rem;
    display: flex;
    justify-content: center;
    min-width: 0;
    overflow: visible;
    position: relative
  }

  .gap-knowza-header-actions {
    gap: .5rem
  }

  .main-nav-knowza,
  .main-nav-knowza.slidein .main-nav-knowza-list {
    box-shadow: none !important;
    background-color: transparent !important
  }

  .main-nav-knowza-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .5rem 2.5rem;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    box-shadow: none;
    overflow: visible
  }

  .main-nav-knowza-list>li {
    position: relative;
    padding: 0;
    margin: 0
  }

  .main-nav-knowza-link {
    color: #1f1f1f;
    font-family: var(--knowza-font-body);
    font-size: .95rem;
    font-weight: 700;
    display: block;
    line-height: 1.35;
    padding: .5rem 0;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: .03em;
    transition: .3s;
    position: relative
  }

  .main-nav-knowza-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--knowza-gradient);
    transition: width .3s
  }

  .main-nav-knowza-link:focus-visible::after,
  .main-nav-knowza-link:hover::after {
    width: 100%
  }

  .main-nav-knowza-link:focus-visible,
  .main-nav-knowza-link:hover {
    color: var(--knowza-blue)
  }

  .main-nav-knowza.slidein {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 20rem;
    height: 100vh;
    padding: 5rem 1.875rem 2rem;
    overflow-y: auto;
    z-index: 10040;
    flex: none !important;
    margin: 0 !important;
    display: block !important;
    justify-content: initial !important;
    align-items: initial !important;
    background-color: #fff !important;
    border-radius: 0 !important;
    box-shadow: -10px 0 50px rgba(0, 0, 0, .15);
    pointer-events: auto !important
  }

  .main-nav-knowza.slidein .main-nav-knowza-list {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important
  }

  .main-nav-knowza.slidein .main-nav-knowza-list>li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--knowza-border-light)
  }

  .main-nav-knowza.slidein .main-nav-knowza-link {
    color: #191917;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 1rem 0;
    white-space: normal
  }

  .main-nav-knowza.slidein .menu-close-trigger-knowza {
    display: inline-flex !important;
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-image: var(--knowza-gradient);
    color: #fff !important;
    font-size: 1.35rem;
    line-height: 1;
    z-index: 1
  }
}

@media (max-width:1030px) {
  .main-nav-knowza {
    position: fixed;
    top: 0;
    right: -20rem;
    bottom: 0;
    width: 100%;
    max-width: 20rem;
    height: 100vh;
    padding: 5rem 1.875rem 2rem;
    overflow-y: auto;
    z-index: 10040;
    background-color: #fff !important;
    border-radius: 0 !important;
    box-shadow: -10px 0 50px rgba(0, 0, 0, .15);
    flex: none !important;
    margin: 0 !important
  }

  .main-nav-knowza.slidein {
    right: 0;
    pointer-events: auto
  }

  .main-nav-knowza:not(.slidein) {
    pointer-events: none
  }

  .main-nav-knowza-list {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100%
  }

  .main-nav-knowza-list>li {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid var(--knowza-border-light)
  }

  .main-nav-knowza-list>li::before {
    display: none !important
  }

  .main-nav-knowza-link {
    color: #191917;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    padding: 1rem 0
  }

  .main-nav-knowza-link:focus-visible,
  .main-nav-knowza-link:hover {
    color: var(--knowza-blue)
  }

  .menu-close-trigger-knowza {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-image: var(--knowza-gradient);
    color: #fff !important;
    font-size: 1.35rem;
    line-height: 1;
    z-index: 1
  }
}

.btn-outline-knowza,
.hero-knowza-eyebrow {
  align-items: center;
  font-family: var(--knowza-font-ui)
}

.menu-close-trigger-knowza span {
  margin-top: -2px
}

.btn-outline-knowza {
  border: 2px solid var(--knowza-subtle);
  padding: .96rem 2.5rem;
  font-size: .738rem;
  font-weight: 700;
  color: var(--knowza-subtle);
  border-radius: 50rem;
  justify-content: center;
  gap: .5rem;
  transition: background-color .2s, border-color .2s, color .2s
}

.header-btn-knowza,
.hero-btn-knowza {
  border-color: var(--knowza-blue) !important
}

.header-btn-knowza {
  margin-left: 0;
  color: var(--knowza-blue) !important
}

.hero-btn-knowza {
  margin-left: 0
}

@media (min-width:1031px) {

  .header-btn-knowza,
  .hero-btn-knowza {
    margin-left: .85rem
  }
}

.btn-outline-knowza:focus-visible,
.btn-outline-knowza:hover {
  background-color: var(--knowza-blue) !important;
  border-color: var(--knowza-blue) !important;
  color: #fff !important
}

.menu-trigger-knowza {
  width: 2.5rem;
  height: 2.5rem;
  gap: 5px;
  flex-direction: column;
  padding: .5rem;
  border-radius: .3125rem;
  cursor: pointer;
  border: 2px solid var(--knowza-subtle) !important
}

.menu-trigger-knowza span {
  display: block;
  width: 1.25rem;
  height: 2px;
  background: var(--knowza-subtle);
  border-radius: 2px
}

.knowza-nav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(15, 29, 55, .35);
  z-index: 1032
}

.hero-knowza {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: min(100vh, 100dvh)
}

.hero-knowza-fixed-bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-color: #04131f;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  transition: background-image .8s ease-in-out
}

.hero-knowza-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(4, 14, 26, .75) 0, rgba(7, 80, 130, .32) 48%, rgba(4, 15, 28, .94) 100%);
  pointer-events: none
}

.about-hero-knowza,
.appproc-track,
.clients-knowza,
.footer-cta-inner,
.footer-cta-strip,
.hero-knowza-content,
.knowza-hr,
.process-knowza,
.process-knowza-step,
.process-knowza-steps,
.psteps-wrap,
.svc-tile,
.testi-card {
  position: relative
}

.hero-knowza-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 100% at 50% 50%, transparent 45%, rgba(3, 10, 20, .5) 100%)
}

.hero-knowza-content {
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(10rem, 16vw, 18rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem)
}

.hero-knowza-eyebrow {
  display: inline-flex;
  gap: .625rem;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--knowza-blue-light);
  margin-bottom: 1.25rem
}

.hero-knowza-eyebrow::after,
.hero-knowza-eyebrow::before {
  content: "";
  display: block;
  height: 1px;
  width: 2.5rem;
  background: var(--knowza-gradient);
  opacity: .75
}

.services-knowza::before,
.svc-tile::before {
  top: 0;
  height: 3px;
  background: var(--knowza-gradient);
  position: absolute;
  inset-inline: 0
}

.hero-knowza-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.9rem, 1.3rem + 2.6vw, 2.8rem);
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: -.04em;
  color: #fff
}

.hero-title-accent {
  background: linear-gradient(90deg, #41b4f2 0, #8de0ff 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.hero-knowza-lead {
  font-family: var(--knowza-font-body);
  font-size: var(--knowza-text-lg);
  font-weight: 500;
  line-height: 1.75;
  max-width: 46rem;
  color: rgba(255, 255, 255, .75)
}

.hero-btn-knowza {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--knowza-font-ui);
  font-weight: 700;
  font-size: .8125rem;
  letter-spacing: .1em;
  color: #fff !important;
  padding: .9rem 2.375rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border: none;
  box-shadow: 0 .4rem 1.5rem rgba(7, 119, 189, .5), inset 0 1px 0 rgba(255, 255, 255, .15);
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, filter .2s
}

.clients-knowza-cta::after,
.footer-cta-btn::after,
.hero-btn-knowza::after,
.process-knowza-cta::after,
.testi-knowza-cta::after {
  content: "→";
  transition: transform .2s
}

.section-knowza {
  padding-block: clamp(4rem, 8vw, 4rem)
}

.about-us-eyebrow-knowza,
.section-eyebrow-knowza {
  letter-spacing: .14em;
  color: var(--knowza-blue);
  padding: .3rem 1rem;
  text-transform: uppercase;
  border-radius: 50rem;
  display: flex;
  font-family: Montserrat, sans-serif;
  font-weight: 700
}

.section-header-knowza {
  max-width: 52rem;
  margin-inline: auto
}

.section-eyebrow-knowza {
  justify-content: center;
  font-size: .85rem
}

.about-us-eyebrow-knowza {
  justify-content: center;
  font-size: 1.3rem
}

.section-title-knowza {
  font-family: Montserrat, sans-serif;
  font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.15;
  color: var(--knowza-black);
  margin-bottom: 0
}

.process-knowza-steps-section,
.services-knowza {
  background-color: #f8fafc;
  position: relative
}

.services-knowza::before {
  content: "";
  opacity: .18
}

.services-header-knowza {
  max-width: 52rem;
  margin-bottom: 3rem
}

.services-eyebrow-knowza {
  font-family: Montserrat, sans-serif;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  padding: 0 .2rem;
  border-radius: 50rem
}

.svc-tile {
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.525rem;
  padding: 2rem 1.75rem 1.75rem;
  color: var(--knowza-black);
  overflow: hidden;
  transition: transform .3s, box-shadow .3s, border-color .3s
}

.svc-tile::before {
  content: "";
  border-radius: 1.525rem 1.525rem 0 0;
  opacity: 0;
  transition: opacity .3s
}

.svc-tile-icon-wrap {
  width: 56px;
  height: 56px;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--knowza-blue);
  border-radius: .875rem;
  flex-shrink: 0;
  box-shadow: 0 .25rem .85rem rgba(7, 119, 189, .3), 0 0 0 4px rgba(42, 168, 230, .1);
  transition: box-shadow .3s, transform .3s
}

.process-knowza-cta,
.why-knowza-cta {
  text-decoration: none;
  border-radius: 50rem;
  text-transform: uppercase
}

.svc-tile-icon {
  width: 26px;
  height: 26px;
  color: #fff;
  display: block
}

.svc-tile-title {
  font-family: Montserrat, sans-serif;
  font-size: clamp(.95rem, .85rem + .4vw, 1.525rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--knowza-black);
  margin: 0 0 .5rem
}

.svc-tile-cta,
.svc-tile-summary {
  font-family: Montserrat, sans-serif;
  letter-spacing: .02em
}

.process-knowza-eyebrow,
.svc-tile-cta {
  color: var(--knowza-blue);
  font-weight: 700
}

.svc-tile-summary {
  font-size: .9rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--knowza-blue);
  margin: 0 0 .875rem;
  line-height: 1.4
}

.svc-tile-cta {
  justify-content: center;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .875rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--knowza-border-light);
  margin-top: 1.25rem;
  width: 100%;
  transition: color .25s, gap .25s
}

.process-knowza {
  padding-block: clamp(4.5rem, 9vw, 4.5rem);
  background-color: #f5f8fb;
  overflow: hidden
}

.appproc-knowza::before,
.process-knowza::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(7, 119, 189, .055) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none
}

.process-knowza-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-family: var(--knowza-font-ui);
  font-size: .85rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 1rem
}

.process-knowza-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
  color: var(--knowza-black);
  margin-bottom: 1.25rem
}

.process-knowza-lead {
  font-family: var(--knowza-font-body);
  font-size: var(--knowza-text-md);
  font-weight: 400;
  line-height: 1.8;
  color: var(--knowza-muted);
  margin-bottom: 2.5rem;
  max-width: 34rem
}

.process-knowza-cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: #fff;
  padding: .9rem 2.125rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .32);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.process-step-num,
.process-step-title {
  font-family: var(--knowza-font-display)
}

.process-knowza-steps::before {
  content: "";
  position: absolute;
  top: 1.75rem;
  bottom: 1.75rem;
  left: 1.75rem;
  width: 1px;
  background: linear-gradient(180deg, rgba(7, 119, 189, .5) 0, rgba(7, 119, 189, .12) 100%);
  z-index: 0
}

.process-knowza-step {
  display: flex;
  align-items: flex-start;
  gap: 1.625rem;
  z-index: 1
}

.process-knowza-step+.process-knowza-step {
  margin-top: 2.5rem
}

.process-step-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0
}

.process-step-num {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--knowza-blue);
  box-shadow: 0 0 0 4px rgba(7, 119, 189, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--knowza-blue);
  flex-shrink: 0;
  transition: background .25s, color .25s, box-shadow .25s
}

.process-step-body {
  flex: 1;
  padding-top: .4rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--knowza-border-light)
}

.post-related-item:last-child,
.process-knowza-step:last-child .process-step-body {
  border-bottom: none;
  padding-bottom: 0
}

.process-step-title {
  font-size: clamp(1.525rem, 1rem + .5vw, 1.35rem);
  font-weight: 600;
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin-bottom: .5rem
}

.process-step-desc {
  font-family: var(--knowza-font-body);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--knowza-muted);
  margin: 0
}

.knowza-hr {
  border: none;
  height: 2px;
  margin: 0;
  background: linear-gradient(90deg, transparent 0, rgba(7, 119, 189, .25) 10%, var(--knowza-blue-dark) 50%, rgba(7, 119, 189, .25) 90%, transparent 100%);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .4), 0 2px 10px rgba(7, 119, 189, .18);
  opacity: 1 !important
}

.why-knowza {
  padding-block: clamp(4.5rem, 9vw, 4.5rem);
  background-color: #f5f8fb
}

.testi-knowza-title,
.why-knowza-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
  color: var(--knowza-black);
  margin: 0
}

.why-card {
  display: flex;
  align-items: flex-start;
  gap: 1.35rem;
  padding: 2rem 1.85rem;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1rem;
  background: #ffff;
  min-height: 180px;
  height: 100%;
  transition: border-color .28s, box-shadow .28s, transform .28s
}

.why-card-icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: .85rem;
  border: 1px solid var(--knowza-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue);
  background: #f5f8fb;
  transition: background .22s, color .22s, border-color .22s
}

.why-card-icon svg {
  width: 35px;
  height: 35px;
  display: block
}

.why-card-body {
  flex: 1;
  min-width: 0
}

.why-card-title {
  font-family: var(--knowza-font-display);
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--knowza-black);
  margin-bottom: .55rem;
  font-size: clamp(.9rem, .82rem + .25vw, 1.5rem)
}

.why-card-desc {
  font-family: var(--knowza-font-body);
  font-size: 1.1rem;
  line-height: 1.75;
  font-weight: 400;
  color: var(--knowza-muted);
  margin: 0
}

.why-knowza-cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--knowza-blue);
  padding: .9rem 2.5rem;
  border: 2px solid var(--knowza-blue);
  background: 0 0;
  transition: background .3s, color .3s, transform .3s, box-shadow .3s
}

.clients-knowza-lead,
.hero-trust-label {
  font-family: var(--knowza-font-body);
  font-weight: 600
}

.clients-knowza-cta,
.testi-knowza-cta {
  text-decoration: none;
  border-radius: 50rem
}

.why-knowza-cta::after {
  content: "→";
  transition: transform .3s
}

.hero-trust-strip {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding-top: 2rem;
  margin-top: 3rem
}

.hero-trust-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0
}

.hero-trust-item {
  display: flex;
  align-items: center;
  gap: .625rem;
  padding: .5rem clamp(1.25rem, 2.5vw, 2.5rem)
}

.hero-trust-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  opacity: .85
}

.hero-trust-label {
  font-size: 1.05rem;
  letter-spacing: .02em;
  color: rgba(255, 255, 255, .88);
  white-space: nowrap
}

.hero-trust-sep {
  width: 1px;
  height: 1.25rem;
  background: rgba(255, 255, 255, .2);
  flex-shrink: 0;
  align-self: center
}

.clients-knowza {
  padding-block: clamp(4.5rem, 9vw, 4.5rem);
  background: linear-gradient(150deg, #edf4fb 0, #f8faff 50%, #edf3f9 100%);
  overflow: hidden
}

.clients-knowza::before {
  content: "";
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  height: 60%;
  background: radial-gradient(ellipse, rgba(7, 119, 189, .07) 0, transparent 70%);
  pointer-events: none
}

.clients-knowza-lead {
  font-size: .9375rem;
  letter-spacing: .07em;
  text-transform: uppercase;
  line-height: 1.8;
  color: var(--knowza-muted);
  max-width: 44rem;
  margin-inline: auto;
  margin-bottom: 0
}

.clients-hex-layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem
}

.clients-hex-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
  transform: translateY(10px)
}

.clients-hex-row {
  display: flex;
  gap: 10px
}

.clients-hex-row+.clients-hex-row {
  margin-top: -29px
}

.clients-hex-row--offset {
  margin-left: 59px
}

.clients-hex-shell {
  flex-shrink: 0;
  filter: drop-shadow(0 3px 10px rgba(7, 119, 189, .1));
  transition: filter .22s, transform .22s
}

.clients-hex-cell {
  width: 118px;
  height: 118px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  transition: background .22s;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 108'%3E%3Cpath d='M54 2C58 2 62 4 64 7L98 27C101 29 103 32 103 36V72C103 76 101 79 98 81L64 101C62 104 58 106 54 106C50 106 46 104 44 101L10 81C7 79 5 76 5 72V36C5 32 7 29 10 27L44 7C46 4 50 2 54 2Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 108 108'%3E%3Cpath d='M54 2C58 2 62 4 64 7L98 27C101 29 103 32 103 36V72C103 76 101 79 98 81L64 101C62 104 58 106 54 106C50 106 46 104 44 101L10 81C7 79 5 76 5 72V36C5 32 7 29 10 27L44 7C46 4 50 2 54 2Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat
}

.clients-hex-center,
.th-aside {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.clients-knowza-cta,
.testi-knowza-eyebrow {
  display: inline-flex;
  font-family: var(--knowza-font-ui);
  font-weight: 700;
  text-transform: uppercase
}

.clients-hex-cell--featured {
  width: 220px;
  height: 220px;
  padding: 42px
}

.clients-hex-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: filter .22s
}

@media(max-width:768px) {
  .grid-responsive {
    padding-left: 53px
  }
}

.clients-hex-logo--featured {
  transform: scale(1.15)
}

.clients-knowza-cta {
  align-items: center;
  gap: .55rem;
  font-size: .8125rem;
  letter-spacing: .08em;
  color: #fff;
  padding: .9rem 2.5rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .32);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.mission-knowza,
.testi-knowza {
  padding-block: clamp(4.5rem, 9vw, 4.5rem);
  background-color: #fff
}

.testi-knowza-eyebrow {
  align-items: center;
  justify-content: center;
  gap: .625rem;
  font-size: .85rem;
  letter-spacing: .2em;
  color: var(--knowza-blue);
  margin-bottom: 1rem
}

.testi-track {
  display: flex;
  gap: 1.5rem;
  transition: transform .45s cubic-bezier(.4, 0, .2, 1)
}

.testi-card {
  flex: 0 0 calc(33.333% - 1rem);
  min-width: 0;
  background: #f5f8fb;
  border: 1px solid var(--knowza-border-light);
  border-radius: .875rem;
  padding: 2rem 1.875rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transition: border-color .22s, box-shadow .22s
}

.testi-card-quote {
  color: var(--knowza-blue);
  opacity: .18;
  width: 28px;
  flex-shrink: 0
}

.testi-card-quote svg {
  display: block;
  width: 100%;
  height: auto
}

.testi-card-body {
  font-family: var(--knowza-font-body);
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.8;
  color: #374151;
  margin: 0;
  flex: 1
}

.testi-card-avatar,
.testi-card-name {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.testi-card-footer {
  display: flex;
  align-items: center;
  gap: .875rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--knowza-border-light);
  margin-top: auto
}

.testi-card-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--knowza-gradient);
  color: #fff;
  font-size: .5625rem;
  letter-spacing: .05em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.testi-card-name {
  font-size: .825rem;
  letter-spacing: .04em;
  color: var(--knowza-black);
  margin: 0 0 .2rem;
  text-transform: uppercase
}

.testi-card-role {
  font-family: var(--knowza-font-body);
  font-size: .8125rem;
  font-weight: 400;
  color: var(--knowza-muted);
  margin: 0
}

.footer-cta-eyebrow,
.testi-knowza-cta {
  font-family: var(--knowza-font-ui);
  text-transform: uppercase
}

.testi-dots {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 2rem
}

.testi-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--knowza-border-light);
  border: none;
  padding: 0;
  transition: background .2s, transform .2s
}

.testi-dot.is-active {
  background: var(--knowza-blue);
  transform: scale(1.3)
}

.testi-knowza-cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--knowza-blue);
  padding: .9rem 2.5rem;
  border: 2px solid var(--knowza-blue);
  background: 0 0;
  transition: background .2s, color .2s, transform .2s, box-shadow .2s
}

.footer-cta-strip {
  border-top: 1px solid rgba(255, 255, 255, .06);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  padding-block: clamp(1.5rem, 7vw, 1.5rem);
  overflow: hidden
}

.footer-cta-strip::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -5%;
  transform: translateY(-50%);
  width: 45rem;
  height: 45rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(7, 119, 189, .13) 0, transparent 65%);
  pointer-events: none
}

.footer-cta-inner {
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
  flex-wrap: wrap
}

.footer-cta-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-size: .9875rem;
  font-weight: 700;
  letter-spacing: .2em;
  color: var(--knowza-blue-light);
  margin-bottom: 1rem
}

.footer-cta-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.5rem, 1rem + 2vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.12;
  color: var(--knowza-black)
}

.footer-cta-action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .875rem;
  flex-shrink: 0
}

.footer-cta-btn,
.footer-social-btn {
  align-items: center;
  text-decoration: none
}

.footer-cta-btn {
  display: inline-flex;
  gap: .55rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  padding: 1rem 2.5rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  box-shadow: 0 .4rem 1.5rem rgba(7, 119, 189, .45), inset 0 1px 0 rgba(255, 255, 255, .12);
  white-space: nowrap;
  transition: transform .2s, box-shadow .2s, filter .2s
}

.footer-brand-desc,
.footer-cta-note {
  font-family: var(--knowza-font-body);
  font-weight: 400
}

.footer-cta-note {
  font-size: .85rem;
  color: rgba(255, 255, 255, .28);
  margin: 0;
  padding-left: .25rem
}

.footer-knowza {
  background-color: #0d1f2d;
  padding-top: clamp(2.5rem, 4vw, 1.5rem);
  padding-bottom: 0
}

.footer-knowza-row {
  padding-bottom: clamp(1rem, 5vw, 1rem);
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.footer-logo-link {
  display: inline-block;
  margin-bottom: 1.375rem
}

.footer-logo {
  opacity: .9;
  max-height: 44px;
  width: auto
}

.footer-brand-desc {
  font-size: .9rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, .5);
  margin-bottom: 1.75rem;
  max-width: 30rem
}

.footer-col-heading {
  font-family: var(--knowza-font-display);
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 1.25rem
}

.footer-copy,
.footer-nav-link {
  font-weight: 400;
  font-family: var(--knowza-font-body)
}

.footer-nav-list {
  display: flex;
  flex-direction: column;
  gap: .625rem
}

.footer-nav-link {
  font-size: .9rem;
  color: rgba(255, 255, 255, .5);
  text-decoration: none;
  transition: color .2s, padding-left .2s;
  display: inline-block
}

.footer-social {
  display: flex;
  gap: .625rem;
  flex-wrap: wrap
}

.footer-social-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .05);
  display: flex;
  justify-content: center;
  color: rgba(255, 255, 255, .55);
  transition: background .2s, border-color .2s, color .2s
}

.footer-social-btn svg {
  width: 15px;
  height: 15px;
  display: block
}

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 0.375rem;
  gap: 1rem;
  flex-wrap: wrap
}

.footer-copy {
  font-size: .8125rem;
  color: rgba(255, 255, 255, .3);
  margin: 0
}

.footer-contact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .875rem
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: .625rem
}

.footer-contact-icon {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: .4rem;
  background: rgba(255, 255, 255, .06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, .5);
  margin-top: 1px;
  flex-shrink: 0
}

.contact-info-item-label svg,
.footer-contact-icon svg {
  width: 13px;
  height: 13px;
  display: block
}

.footer-contact-text {
  font-family: var(--knowza-font-body);
  font-size: .8375rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, .55);
  margin: 0
}

.footer-contact-text a {
  color: rgba(255, 255, 255, .55);
  text-decoration: none;
  transition: color .2s
}

.contact-info-item-value a:hover,
.contact-social-link:hover,
.footer-contact-text a:hover {
  color: var(--knowza-blue-light)
}

.footer-pseb {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: var(--knowza-font-display);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .35);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50rem;
  padding: .25rem .75rem
}

.about-hero-knowza {
  display: flex;
  flex-direction: column
}

.about-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #04131f;
  background-image: url("../images/SS1.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(4, 14, 26, .92) 0, rgba(6, 50, 90, .78) 50%, rgba(4, 20, 38, .88) 100%);
  pointer-events: none
}

.about-hero-content {
  position: relative;
  z-index: 2;
  padding-top: clamp(9rem, 14vw, 10rem);
  padding-bottom: clamp(5rem, 7vw, 5rem)
}

.about-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-family: var(--knowza-font-ui);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--knowza-blue-light);
  margin-bottom: .525rem
}

.about-hero-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.875rem, 1.2rem + 2.8vw, 3rem);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.04em;
  color: #fff;
  margin-bottom: 1.5rem
}

.about-hero-lead {
  font-family: var(--knowza-font-body);
  font-size: var(--knowza-text-lg);
  font-weight: 600;
  line-height: 1.75;
  color: rgba(255, 255, 255, .88);
  margin-bottom: 1rem
}

.about-hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .875rem
}

.about-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: .9rem 2.125rem;
  border-radius: 50rem;
  transition: transform .2s, box-shadow .2s, filter .2s, background .2s, color .2s, border-color .2s
}

.about-hero-btn--primary {
  color: #fff;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border: 0 solid transparent;
  box-shadow: 0 .4rem 1.5rem rgba(7, 119, 189, .45)
}

.about-hero-btn--primary::after,
.appproc-cta::after,
.culture-cta::after {
  content: "→";
  transition: transform .2s
}

.about-hero-btn--ghost {
  color: rgba(255, 255, 255, .82);
  background: 0 0;
  border: 2px solid rgba(255, 255, 255, .25)
}

.about-hero-video-wrap {
  position: relative;
  padding-bottom: 56.25%;
  margin-top: 33%;
  height: 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, .45);
  border: 1px solid rgba(255, 255, 255, .08)
}

.about-hero-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%
}

.mission-block {
  padding-bottom: clamp(3.5rem, 7vw, 4rem)
}

.mission-col {
  padding-inline: clamp(1.5rem, 3vw, 3rem)
}

.mission-col--center {
  border-left: 1px solid var(--knowza-border-light);
  border-right: 1px solid var(--knowza-border-light)
}

.mission-col-body {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.85;
  color: var(--knowza-muted);
  margin: 0
}

.pstep-num,
.pstep-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.mission-quote::before,
.pstep-arrow,
.pstep-icon,
.pstep-num {
  color: var(--knowza-blue)
}

.mission-quote {
  position: relative;
  margin: 0;
  padding: 0;
  border: none
}

.mission-quote::before {
  content: "\201C";
  position: absolute;
  top: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  font-family: Georgia, serif;
  font-size: 8rem;
  line-height: 1;
  opacity: .1;
  pointer-events: none
}

.mission-quote p {
  text-align: center;
  font-family: var(--knowza-font-display);
  font-size: clamp(.95rem, .85rem + .4vw, 1.1rem);
  font-weight: 600;
  font-style: italic;
  line-height: 1.8;
  letter-spacing: -.01em;
  color: var(--knowza-black);
  margin: 0;
  position: relative;
  z-index: 1
}

.careers-form-notice strong,
.careers-form-notice-alto strong {
  margin-bottom: .35rem;
  letter-spacing: .06em;
  font-size: .75rem;
  display: block
}

.partner-knowza,
.teams-knowza,
.values-knowza {
  background-color: #f8fafc
}

.psteps-connector {
  display: none;
  position: absolute;
  top: 150px;
  left: 0;
  right: 0;
  height: 120px;
  pointer-events: none;
  z-index: 0;
  transform: scaleX(-1);
  transform: rotate(4deg)
}

.psteps-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem
}

.pstep {
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1rem;
  padding: 2rem 1.75rem 1.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  transition: transform .28s, box-shadow .28s, border-color .28s
}

.appproc-card--accent,
.pstep--accent {
  background: var(--knowza-blue-dark);
  border-color: transparent
}

.pstep-icon,
.pstep-tag {
  background: rgba(7, 119, 189, .06)
}

.pstep--accent .pstep-num {
  color: rgba(255, 255, 255, .9);
  border-color: rgba(255, 255, 255, .3)
}

.pstep--accent .pstep-arrow {
  color: rgba(255, 255, 255, .5)
}

.pstep--accent .pstep-icon {
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .2);
  color: #fff
}

.pstep--accent .pstep-title {
  color: #fff
}

.pstep--accent .pstep-desc {
  color: rgba(255, 255, 255, .75)
}

.pstep--accent .pstep-tag {
  background: rgba(255, 255, 255, .12);
  color: rgba(255, 255, 255, .9);
  border-color: rgba(255, 255, 255, .2)
}

.pstep--accent .pstep-bracket {
  border-color: rgba(255, 255, 255, .35);
  opacity: 1
}

.pstep-bracket--tl,
.pstep-bracket--tr {
  top: 8px;
  border-top: 2px solid var(--knowza-blue)
}

.pstep-bracket--bl,
.pstep-bracket--tl {
  left: 8px;
  border-left: 2px solid var(--knowza-blue)
}

.pstep-bracket--bl,
.pstep-bracket--br {
  bottom: 8px;
  border-bottom: 2px solid var(--knowza-blue)
}

.pstep-bracket--br,
.pstep-bracket--tr {
  right: 8px;
  border-right: 2px solid var(--knowza-blue);
  border-radius: 0
}

.pstep-bracket {
  position: absolute;
  width: 16px;
  height: 16px;
  opacity: .4;
  transition: border-color .28s, opacity .28s
}

.pstep-bracket--tl {
  border-radius: 0
}

.pstep-bracket--bl {
  border-radius: 0
}

.pstep-head {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.post-share,
.pstep-num-wrap {
  display: flex;
  align-items: center;
  gap: .5rem
}

.pstep-num {
  font-size: .75rem;
  letter-spacing: .12em;
  border: 1px solid rgba(7, 119, 189, .25);
  border-radius: 50rem;
  padding: .2rem .65rem;
  line-height: 1.5
}

.pstep-arrow {
  opacity: .4;
  width: 18px;
  height: 18px
}

.pstep-arrow svg {
  width: 100%;
  height: 100%;
  display: block
}

.pstep-icon {
  width: 48px;
  height: 48px;
  border-radius: .75rem;
  border: 1px solid rgba(7, 119, 189, .15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.pstep-icon svg,
.svc-detail-icon-wrap svg,
.tc-icon svg,
.th-icon-wrap svg {
  width: 22px;
  height: 22px;
  display: block
}

.pstep-title {
  font-size: clamp(1.1rem, .9rem + .5vw, 1.25rem);
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin: 0 0 .625rem
}

.pstep-desc,
.tc-desc {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--knowza-muted);
  margin: 0;
  flex: 1
}

.partner-logo-label,
.pstep-tag {
  font-family: var(--knowza-font-display);
  font-size: .6875rem;
  font-weight: 700;
  color: var(--knowza-blue);
  text-transform: uppercase
}

.pstep-tag {
  display: inline-block;
  letter-spacing: .1em;
  border: 1px solid rgba(7, 119, 189, .14);
  padding: .3rem .75rem;
  border-radius: 50rem;
  margin-top: auto
}

.partner-lockup {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap
}

.partner-logo-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  padding: 2rem 3rem;
  position: relative;
  transition: box-shadow .25s, border-color .25s;
  min-width: 220px
}

.partner-logo-img {
  max-height: 130px;
  max-width: 270px;
  width: auto;
  object-fit: contain
}

.partner-logo-label {
  letter-spacing: .12em;
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .15);
  padding: .25rem .75rem;
  border-radius: 50rem;
  white-space: nowrap
}

.partner-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem
}

.partner-connector-icon {
  width: 42px;
  height: 42px;
  display: block;
  flex-shrink: 0
}

.partner-lead {
  font-family: var(--knowza-font-body);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.85;
  color: var(--knowza-muted);
  margin: 0
}

.partner-lead a {
  color: #000;
  text-decoration: none
}

.partner-lead a:hover {
  color: #0777bd
}

.partner-inst-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .75rem
}

.partner-inst-item {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--knowza-font-display);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--knowza-black);
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 50rem;
  padding: .5rem 1.125rem .5rem .75rem;
  transition: border-color .2s, box-shadow .2s
}

.partner-inst-item svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--knowza-blue)
}

.svcpage-lead {
  font-family: var(--knowza-font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.85;
  color: var(--knowza-muted);
  margin: 0
}

.svc-back-btn,
.svc-detail-title {
  font-family: var(--knowza-font-display)
}

.svc-detail {
  padding-block: clamp(3.5rem, 7vw, 5rem);
  background: #fff;
  scroll-margin-top: 100px
}

.svc-back-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .18);
  border-radius: 50rem;
  padding: .5rem 1.125rem .5rem .875rem;
  margin-bottom: 2.5rem;
  transition: background .2s, border-color .2s, transform .2s
}

.svc-back-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0
}

.svc-detail-eyebrow {
  display: flex;
  align-items: center;
  gap: .875rem;
  margin-bottom: 1.25rem
}

.svc-detail-icon-wrap {
  font-size: 1.2em;
  font-weight: 600;
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: .75rem;
  background: rgba(7, 119, 189, .08);
  border: 1px solid rgba(7, 119, 189, .15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue)
}

.svc-detail-subheading,
.svc-offer-item {
  border-bottom: 1px solid var(--knowza-border-light)
}

.svc-offer-list,
.svc-sidebar {
  flex-direction: column;
  display: flex
}

.svc-detail-title {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.15;
  color: var(--knowza-black);
  margin: 0
}

.svc-detail-body,
.svc-detail-lead {
  font-family: var(--knowza-font-body);
  font-weight: 400;
  line-height: 1.85;
  color: var(--knowza-black)
}

.svc-detail-lead {
  font-size: 1.0625rem;
  margin: 0 0 1.125rem;
  border-left: 3px solid var(--knowza-blue);
  padding-left: 1.25rem
}

.svc-detail-body {
  font-size: .9375rem;
  margin: 0 0 1rem
}

.svc-detail-subheading,
.svc-offer-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.svc-detail-subheading {
  font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem);
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin: 2.5rem 0 1.5rem;
  padding-bottom: .75rem
}

.svc-offer-list {
  gap: 0
}

.svc-offer-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 0;
  transition: transform .2s
}

.contact-info-item:first-child,
.post-related-item:first-child,
.svc-offer-item:first-child {
  padding-top: 0
}

.artwork-table-knowza tr:last-child td,
.careers-table tbody tr:last-child,
.contact-info-item:last-child,
.post-toc-item:last-child,
.svc-offer-item:last-child {
  border-bottom: none
}

.svc-offer-icon {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: .625rem;
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .14);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue);
  transition: background .2s, color .2s, border-color .2s
}

.svc-offer-icon svg {
  width: 18px;
  height: 18px;
  display: block
}

.svc-offer-title {
  font-size: .9375rem;
  color: var(--knowza-black);
  margin: 0 0 .3rem;
  letter-spacing: -.01em
}

.svc-offer-desc,
.svc-sidebar-list li {
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  font-weight: 400;
  color: var(--knowza-black)
}

.svc-offer-desc {
  line-height: 1.75;
  margin: 0
}

.svc-sidebar-cta-title,
.svc-sidebar-heading {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.svc-sidebar {
  gap: 1.5rem;
  position: sticky;
  top: 50px
}

.svc-sidebar-card {
  background: #f8fafc;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1rem;
  padding: 1.75rem
}

.svc-sidebar-heading {
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  margin: 0 0 1.25rem
}

.svc-sidebar-list {
  display: flex;
  flex-direction: column;
  gap: .75rem
}

.svc-sidebar-list li {
  padding-left: 1.125rem;
  position: relative;
  line-height: 1.55
}

.svc-sidebar-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--knowza-blue);
  flex-shrink: 0
}

.svc-sidebar-cta {
  background: var(--knowza-blue);
  border-radius: 1rem;
  padding: 2rem 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .875rem
}

.svc-sidebar-cta-title {
  font-size: 1.1rem;
  color: #fff;
  margin: 0;
  letter-spacing: -.02em
}

.svc-sidebar-cta-body {
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, .75);
  margin: 0
}

.svc-hero-eyebrow,
.svc-hero-title,
.svc-sidebar-cta-btn {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.svc-sidebar-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .7125rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--knowza-blue);
  background: #fff;
  border-radius: 50rem;
  padding: .75rem 1.375rem;
  transition: background .2s, transform .2s;
  align-self: flex-start
}

html {
  scroll-behavior: smooth
}

.svc-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: min(60vh, 550px)
}

.svc-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #04131f;
  background-position: 50% 40%;
  background-repeat: no-repeat;
  background-size: cover
}

@media (min-width:992px) {

  .hero-knowza-fixed-bg,
  .svc-hero-bg {
    background-attachment: fixed
  }

  .psteps-connector {
    display: block
  }

  .psteps-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    align-items: start
  }

  .psteps-grid .pstep:nth-child(2) {
    margin-top: 3.5rem
  }
}

.svc-cta-overlay,
.svc-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(170deg, rgba(4, 14, 26, .88) 0, rgba(7, 80, 130, .38) 50%, rgba(4, 15, 28, .96) 100%);
  pointer-events: none
}

.svc-cta-overlay::after,
.svc-hero-overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 75% 90% at 50% 50%, transparent 40%, rgba(3, 10, 20, .55) 100%)
}

.svc-hero-content {
  position: relative;
  z-index: 2;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: clamp(9rem, 14vw, 9rem);
  padding-bottom: clamp(2rem, 14vw, 2rem)
}

.svc-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  font-size: 1.3rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--knowza-blue-light);
  margin-bottom: .5rem
}

.svc-hero-eyebrow span {
  display: block;
  width: 2rem;
  height: 1px;
  background: var(--knowza-gradient);
  opacity: .7;
  flex-shrink: 0
}

.svc-hero-title {
  font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3rem);
  letter-spacing: -.04em;
  line-height: 1.08;
  margin-bottom: 1.5rem
}

.svc-hero-lead {
  font-family: var(--knowza-font-body);
  font-size: var(--knowza-text-lg);
  font-weight: 400;
  line-height: 1.8;
  color: rgba(255, 255, 255, .7);
  max-width: 44rem;
  margin-bottom: 2.5rem
}

.svc-hero-ghost,
.tc-num,
.tc-tag,
.tc-title {
  font-family: var(--knowza-font-display)
}

.svc-hero-ghost,
.svc-pill,
.tc-num,
.tc-tag,
.tc-title {
  font-weight: 700
}

.svc-hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: clamp(3rem, 6vw, 5rem)
}

.svc-hero-ghost {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .82) !important;
  border: 2px solid rgba(255, 255, 255, .25);
  border-radius: 50rem;
  padding: .875rem 2.25rem;
  transition: border-color .2s, color .2s, transform .2s
}

.tc-icon,
.tc-num {
  color: var(--knowza-blue)
}

.teams-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  overflow: hidden
}

.tc-header,
.tc-icon,
.tc-item,
.tc-tags {
  display: flex
}

.tc-item {
  padding: 2.25rem 2.5rem;
  background: #fff;
  flex-direction: column;
  gap: 1.125rem;
  position: relative;
  transition: background .22s
}

.tc-item:nth-child(2n) {
  border-left: 1px solid var(--knowza-border-light)
}

.post-toc-item,
.tc-item:not(:nth-last-child(-n+2)) {
  border-bottom: 1px solid var(--knowza-border-light)
}

.tc-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2rem;
  bottom: 2rem;
  width: 3px;
  background: var(--knowza-gradient);
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity .22s
}

.tc-item:nth-child(2n)::before {
  left: -1px
}

.tc-header {
  align-items: center;
  gap: 1rem
}

.tc-icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: .875rem;
  border: 1px solid var(--knowza-border-light);
  background: rgba(7, 119, 189, .05);
  align-items: center;
  justify-content: center;
  transition: background .22s, color .22s, border-color .22s, box-shadow .22s
}

.tc-header-text {
  display: flex;
  flex-direction: column;
  gap: .2rem;
  min-width: 0
}

.tc-num {
  font-size: .625rem;
  letter-spacing: .14em;
  opacity: .5
}

.tc-title {
  font-size: clamp(.95rem, .85rem + .35vw, 1.15rem);
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--knowza-black);
  margin: 0;
  transition: color .22s
}

.tc-tags {
  flex-wrap: wrap;
  gap: .4rem;
  padding-top: 1rem;
  border-top: 1px solid var(--knowza-border-light)
}

.tc-tag {
  font-size: .6375rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .15);
  padding: .22rem .65rem;
  border-radius: 50rem;
  white-space: nowrap
}

.fa-solid {
  display: flex !important;
  justify-content: center
}

.svc-scroll-top {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 58px;
  height: 58px;
  border: none;
  border-radius: 50%;
  background: var(--knowza-blue);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  box-shadow: 0 10px 30px rgba(7, 119, 189, .28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity .25s, transform .25s, visibility .25s, background .2s
}

.svc-scroll-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0)
}

.svc-scroll-top svg {
  width: 24px;
  height: 24px
}

.svc-pill-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .875rem
}

.svc-pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  padding: .8rem 1.15rem;
  border-radius: 999px;
  background: #0777bd0f;
  border: 1px solid rgba(7, 119, 189, .12);
  color: var(--knowza-blue);
  text-decoration: none;
  font-family: var(--knowza-font-body);
  font-size: .92rem;
  letter-spacing: -.01em;
  transition: transform .2s, background .2s, border-color .2s, box-shadow .2s, color .2s;
  box-shadow: 0 .25rem 1.2rem rgba(15, 29, 55, .04);
  overflow: hidden
}

.platform-card-acronym-knowza,
.platform-card-acronym-knowza-white {
  font-size: clamp(2.2rem, 1.8rem + 1.5vw, 3.25rem);
  font-weight: 800;
  line-height: 1;
  margin-bottom: .5rem
}

.svc-pill::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(42, 168, 230, .08), rgba(7, 119, 189, .02));
  opacity: 0;
  transition: opacity .2s
}

.svc-pill-text {
  position: relative;
  z-index: 1;
  white-space: nowrap;
  line-height: 1
}

.svc-pill--active {
  background: var(--knowza-blue);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 1rem 2.5rem rgba(7, 119, 189, .25)
}

@media (max-width:767px) {
  .svc-pill-wrap {
    gap: .7rem
  }

  .svc-pill {
    width: 100%;
    justify-content: flex-start;
    padding: .9rem 1rem;
    border-radius: 1rem
  }

  .svc-pill-text {
    white-space: normal
  }
}

.platform-grid-knowza {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem
}

.platform-card-knowza {
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s, box-shadow .3s
}

.platform-card-header-knowza {
  background: #f8fafc;
  padding: 1.5rem 1.5rem 1.25rem
}

.platform-card-header-knowza-blue {
  background: #0d3a5c;
  color: #fff
}

.platform-card-acronym-knowza {
  color: #0d3a5c;
  letter-spacing: -.03em
}

.platform-card-acronym-knowza-white {
  letter-spacing: -.03em;
  color: #fff
}

.platform-card-subtitle-knowza {
  font-size: .825rem;
  font-weight: 700;
  color: var(--knowza-black);
  line-height: 1.35;
  margin: 0
}

.platform-card-subtitle-knowza-white {
  font-size: .825rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
  color: #fff
}

.platform-card-desc-knowza,
.platform-card-desc-knowza-white {
  font-size: .9rem;
  margin: 0 0 1rem;
  font-weight: 400;
  line-height: 1.7
}

.platform-card-body-knowza {
  background: #f8fafc;
  padding: 1.25rem 1.5rem 1.5rem;
  flex: 1;
  display: flex;
  flex-direction: column
}

.artwork-table-knowza tr:nth-child(2n),
.platform-card-body-knowza-blue {
  background: #0d3a5c
}

.platform-card-desc-knowza {
  color: #374151
}

.platform-card-desc-knowza-white {
  color: #fff
}

.platform-card-list-knowza,
.platform-card-list-knowza-white {
  list-style: none;
  margin: auto 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.platform-card-list-knowza li {
  font-size: .875rem;
  font-weight: 400;
  color: #374151;
  line-height: 1.55;
  display: flex;
  align-items: flex-start;
  gap: .55rem
}

.platform-card-list-knowza-white li {
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.55;
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: #fff
}

.platform-card-list-knowza li::before {
  content: "";
  width: 6px;
  height: 6px;
  background: var(--knowza-blue);
  border-radius: 50%;
  margin-top: .45rem;
  flex-shrink: 0
}

.platform-card-list-knowza-white li::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  margin-top: .45rem;
  flex-shrink: 0
}

@media (max-width:900px) {
  .platform-grid-knowza {
    grid-template-columns: 1fr
  }
}

@media (min-width:600px) and (max-width:900px) {
  .platform-grid-knowza {
    grid-template-columns: repeat(2, 1fr)
  }

  .platform-card-knowza:last-child {
    grid-column: 1/-1
  }
}

.artwork-table-knowza {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: .875rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, .5)
}

.artwork-table-knowza tr {
  opacity: 0;
  transform: translateY(15px);
  animation: .6s forwards tableRowFadeIn;
  transition: transform .3s, box-shadow .3s
}

.artwork-table-knowza tr td {
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.artwork-table-knowza tr:nth-child(odd),
.careers-table tbody tr:nth-child(2n) {
  background: #f8fafc
}

.artwork-table-knowza tr:nth-child(odd) td {
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.artwork-table-knowza tr:nth-child(odd) .artwork-label-knowza span,
.digmkt-item-knowza-grey .digmkt-item-title-knowza,
.webdev-item-knowza-grey .webdev-item-title-knowza {
  color: var(--knowza-black)
}

.artwork-table-knowza tr:nth-child(odd) .artwork-desc-knowza {
  color: var(--knowza-black);
  border-left: 1px solid rgba(0, 0, 0, .1)
}

.artwork-table-knowza tr:nth-child(2n) .artwork-label-knowza span {
  color: var(--knowza-border-light)
}

.artwork-table-knowza tr:nth-child(2n) .artwork-desc-knowza {
  color: var(--knowza-border-light);
  border-left: 1px solid rgba(255, 255, 255, .07)
}

.artwork-label-knowza {
  width: 34%;
  padding: 1.5rem 2rem;
  vertical-align: middle;
  text-align: center
}

.artwork-label-knowza span {
  font-family: Montserrat, sans-serif;
  font-size: clamp(.82rem, .75rem + .3vw, .95rem);
  font-weight: 700;
  line-height: 1.45
}

.artwork-desc-knowza {
  padding: 1.5rem 2rem;
  vertical-align: middle;
  font-family: Montserrat, sans-serif;
  font-size: clamp(.85rem, .8rem + .2vw, .9375rem);
  font-weight: 400;
  line-height: 1.7
}

.webdev-item-title-knowza,
.webdev-num-knowza {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.artwork-table-knowza tr:hover {
  transform: scale(1.01);
  box-shadow: 0 10px 25px rgba(0, 0, 0, .2);
  z-index: 2;
  position: relative
}

.artwork-table-knowza tr:nth-child(2n):hover {
  background: var(--knowza-blue-dark)
}

.artwork-table-knowza tr:first-child,
.webdev-item-knowza:first-child {
  animation-delay: .1s
}

.artwork-table-knowza tr:nth-child(2),
.webdev-item-knowza:nth-child(2) {
  animation-delay: .2s
}

.artwork-table-knowza tr:nth-child(3),
.webdev-item-knowza:nth-child(3) {
  animation-delay: .3s
}

.artwork-table-knowza tr:nth-child(4),
.digmkt-item-knowza:nth-child(6),
.webdev-item-knowza:nth-child(4) {
  animation-delay: .4s
}

@keyframes tableRowFadeIn {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.appproc-item,
.careers-form-notice-alto,
.careers-td-num,
.careers-td-posts,
.cf-success-card,
.cv-card,
.portfolio-page-hero,
.svc-cta-banner {
  text-align: center
}

.webdev-knowza {
  background: #fff
}

.webdev-grid-knowza {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: .625rem;
  overflow: hidden
}

.webdev-item-knowza,
.webdev-item-knowza-grey {
  padding: 2.25rem 2rem 2.5rem;
  display: flex;
  gap: .5rem;
  opacity: 0;
  transform: translateY(20px);
  animation: .6s cubic-bezier(.16, 1, .3, 1) forwards webdevFadeIn;
  transition: background-color .4s, transform .4s cubic-bezier(.16, 1, .3, 1)
}

.webdev-item-knowza {
  background: #0d3a5c;
  flex-direction: column
}

.webdev-item-knowza-grey {
  background: #f8fafc;
  flex-direction: column
}

.webdev-num-knowza {
  font-size: clamp(2rem, 1.6rem + 1.5vw, 3rem);
  line-height: 1;
  letter-spacing: -.03em;
  margin-bottom: .25rem;
  display: block;
  transition: transform .4s, color .4s;
  color: var(--knowza-blue-light)
}

.post-content a:hover,
.webdev-item-knowza-grey .webdev-num-knowza {
  color: var(--knowza-blue-dark)
}

.webdev-item-title-knowza {
  font-size: clamp(.85rem, .78rem + .3vw, .9375rem);
  line-height: 1.4;
  margin: 0;
  color: #fff
}

.webdev-item-desc-knowza {
  font-family: var(--knowza-font-body);
  font-size: clamp(.85rem, .8rem + .2vw, .9375rem);
  font-weight: 400;
  line-height: 1.7;
  margin: 0;
  color: var(--knowza-border-light)
}

.webdev-item-knowza-grey .webdev-item-desc-knowza {
  color: #475569
}

@media (hover:hover) {

  .hero-btn-knowza:focus-visible,
  .hero-btn-knowza:hover {
    transform: translateY(-2px);
    box-shadow: 0 .65rem 2rem rgba(7, 119, 189, .65), inset 0 1px 0 rgba(255, 255, 255, .15);
    filter: brightness(1.08);
    color: #fff !important
  }

  .about-hero-btn--primary:hover::after,
  .clients-knowza-cta:hover::after,
  .footer-cta-btn:hover::after,
  .hero-btn-knowza:hover::after,
  .process-knowza-cta:hover::after,
  .svc-offer-item:hover,
  .testi-knowza-cta:hover::after,
  .why-knowza-cta:hover::after {
    transform: translateX(4px)
  }

  .svc-tile:hover {
    transform: translateY(-6px);
    box-shadow: 0 1.25rem 3rem rgba(7, 119, 189, .12), 0 0 0 1px rgba(7, 119, 189, .1);
    border-color: rgba(7, 119, 189, .2)
  }

  .svc-pill:hover::before,
  .svc-tile:hover::before,
  .tc-item:hover::before {
    opacity: 1
  }

  .svc-tile:hover .svc-tile-icon-wrap {
    box-shadow: 0 .5rem 1.25rem rgba(7, 119, 189, .35), 0 0 0 6px rgba(42, 168, 230, .12);
    transform: translateY(-2px)
  }

  .svc-tile:hover .svc-tile-cta {
    color: var(--knowza-blue-dark);
    gap: .6rem
  }

  .process-knowza-cta:focus-visible,
  .process-knowza-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .48);
    filter: brightness(1.06);
    color: #fff
  }

  .process-knowza-step:hover .process-step-num {
    background: var(--knowza-blue);
    color: #fff;
    box-shadow: 0 0 0 5px rgba(7, 119, 189, .14), 0 .3rem .9rem rgba(7, 119, 189, .3)
  }

  .why-card:hover {
    box-shadow: 0 .5rem 1.5rem rgba(7, 119, 189, .09);
    border-color: rgba(7, 119, 189, .22);
    box-shadow: 0 .5rem 1.5rem rgba(7, 119, 189, .08), 0 1.25rem 2.5rem rgba(15, 29, 55, .06);
    transform: translateY(-4px)
  }

  .why-card:hover .why-card-icon {
    background: var(--knowza-blue);
    color: #fff
  }

  .why-knowza-cta:focus-visible,
  .why-knowza-cta:hover {
    background: var(--knowza-blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 .4rem 1.25rem rgba(7, 119, 189, .3)
  }

  .clients-hex-shell:hover {
    filter: drop-shadow(0 6px 18px rgba(7, 119, 189, .22));
    transform: scale(1.06)
  }

  .clients-hex-shell:hover .clients-hex-cell {
    background: #f0f7fd
  }

  .clients-hex-shell:hover .clients-hex-cell--featured {
    filter: drop-shadow(rgba(7, 119, 189, .22) 0px 6px 18px)
  }

  .clients-hex-shell:hover .clients-hex-logo {
    filter: grayscale(0) opacity(1)
  }

  .clients-knowza-cta:focus-visible,
  .clients-knowza-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .48);
    filter: brightness(1.06);
    color: #fff
  }

  .testi-card:hover {
    border-color: rgba(7, 119, 189, .25);
    box-shadow: 0 .5rem 1.75rem rgba(7, 119, 189, .08)
  }

  .testi-knowza-cta:focus-visible,
  .testi-knowza-cta:hover {
    background: var(--knowza-blue);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 .4rem 1.25rem rgba(7, 119, 189, .3)
  }

  .footer-cta-btn:focus-visible,
  .footer-cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 .65rem 2rem rgba(7, 119, 189, .6), inset 0 1px 0 rgba(255, 255, 255, .12);
    filter: brightness(1.07);
    color: #fff
  }

  .footer-nav-link:focus-visible,
  .footer-nav-link:hover {
    color: var(--knowza-blue-light);
    padding-left: 4px
  }

  .footer-social-btn:focus-visible,
  .footer-social-btn:hover {
    background: var(--knowza-blue);
    border-color: var(--knowza-blue);
    color: #fff
  }

  .about-hero-btn--primary:focus-visible,
  .about-hero-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 .65rem 2rem rgba(7, 119, 189, .6);
    filter: brightness(1.07);
    color: #fff
  }

  .about-hero-btn--ghost:focus-visible,
  .about-hero-btn--ghost:hover {
    border-color: rgba(255, 255, 255, .6);
    color: #fff;
    transform: translateY(-2px)
  }

  .pstep:hover {
    transform: translateY(-5px);
    box-shadow: 0 1rem 2.5rem rgba(7, 119, 189, .1);
    border-color: rgba(7, 119, 189, .25)
  }

  .pstep:hover .pstep-bracket {
    border-color: var(--knowza-blue);
    opacity: 1
  }

  .pstep--accent:hover {
    box-shadow: 0 1.25rem 3rem rgba(7, 119, 189, .5);
    border-color: transparent;
    filter: brightness(1.06)
  }

  .pstep--accent:hover .pstep-bracket {
    border-color: rgba(255, 255, 255, .7)
  }

  .partner-logo-card:hover {
    box-shadow: 0 .5rem 1.75rem rgba(7, 119, 189, .09);
    border-color: rgba(7, 119, 189, .2)
  }

  .partner-inst-item:hover {
    border-color: rgba(7, 119, 189, .25);
    box-shadow: 0 .25rem .75rem rgba(7, 119, 189, .08)
  }

  .svc-back-btn:hover {
    background: rgba(7, 119, 189, .12);
    border-color: rgba(7, 119, 189, .3);
    transform: translateX(-3px)
  }

  .svc-offer-item:hover .svc-offer-icon {
    background: var(--knowza-blue);
    color: #fff;
    border-color: var(--knowza-blue)
  }

  .svc-sidebar-cta-btn:hover {
    background: rgba(255, 255, 255, .88);
    transform: translateY(-2px);
    color: var(--knowza-blue-dark)
  }

  .svc-hero-ghost:hover {
    border-color: rgba(255, 255, 255, .6);
    color: #fff !important;
    transform: translateY(-2px)
  }

  .tc-item:hover {
    background: #f8fafc
  }

  .tc-item:hover .tc-icon {
    background: var(--knowza-blue);
    color: #fff;
    border-color: var(--knowza-blue);
    box-shadow: 0 .35rem 1rem rgba(7, 119, 189, .3)
  }

  .tc-item:hover .tc-title {
    color: var(--knowza-blue)
  }

  .svc-scroll-top:hover {
    background: var(--knowza-blue-dark);
    transform: translateY(-4px)
  }

  .svc-pill:hover {
    background: var(--knowza-blue);
    color: #fff;
    border-color: transparent;
    box-shadow: 0 1rem 2.5rem rgba(7, 119, 189, .25)
  }

  .platform-card-knowza:hover {
    transform: translateY(-5px);
    box-shadow: 0 1.25rem 3rem rgba(7, 119, 189, .12)
  }

  .webdev-item-knowza:hover {
    background: #086dae;
    transform: translateY(-4px)
  }

  .webdev-item-knowza:hover .webdev-num-knowza {
    transform: scale(1.08) translateX(2px);
    color: #fff
  }

  .webdev-item-knowza-grey:hover {
    background: #f1f5f9;
    transform: translateY(-4px)
  }

  .webdev-item-knowza-grey:hover .webdev-num-knowza {
    transform: scale(1.08) translateX(2px);
    color: var(--knowza-blue-light)
  }

  .digmkt-item-knowza:hover {
    background: var(--knowza-blue-dark);
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .3);
    z-index: 2
  }

  .digmkt-item-knowza:hover .digmkt-acronym-knowza {
    transform: scale(1.06);
    color: #fff
  }

  .digmkt-item-knowza:hover .digmkt-item-desc-knowza {
    color: var(--knowza-border-light)
  }

  .digmkt-item-knowza-grey:hover {
    background: #f1f5f9;
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(15, 23, 42, .08);
    z-index: 2
  }

  .digmkt-item-knowza-grey:hover .digmkt-acronym-knowza {
    transform: scale(1.06);
    color: var(--knowza-blue-light)
  }

  .digmkt-item-knowza-grey:hover .digmkt-item-desc-knowza {
    color: var(--knowza-black)
  }
}

@keyframes webdevFadeIn {
  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@media (max-width:640px) {

  .artwork-table-knowza,
  .artwork-table-knowza tbody,
  .artwork-table-knowza td,
  .artwork-table-knowza tr {
    display: block;
    width: 100%
  }

  .artwork-table-knowza tr:hover,
  .webdev-item-knowza:hover {
    transform: none
  }

  .artwork-label-knowza {
    padding: 1.1rem 1.5rem .75rem;
    text-align: left;
    border-left: 3px solid #e07a5f
  }

  .artwork-desc-knowza {
    padding: .75rem 1.5rem 1.25rem;
    border-left: 3px solid rgba(224, 122, 95, .2)
  }

  .webdev-grid-knowza {
    grid-template-columns: 1fr
  }
}

.digmkt-grid-knowza {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(7, 119, 189, .15);
  border: 1px solid rgba(7, 119, 189, .15);
  border-radius: .75rem;
  overflow: hidden
}

.digmkt-item-knowza,
.digmkt-item-knowza-grey {
  padding: 2rem 1.75rem 2.25rem;
  gap: .35rem;
  transform: translateY(20px) scale(.98);
  animation: .65s cubic-bezier(.25, 1, .5, 1) forwards digmktFadeIn;
  transition: background-color .3s, transform .3s cubic-bezier(.25, 1, .5, 1), box-shadow .3s;
  position: relative;
  display: flex;
  opacity: 0
}

.digmkt-item-knowza {
  background: #0d3a5c;
  flex-direction: column
}

.digmkt-item-knowza-grey {
  background: #f8fafc;
  flex-direction: column
}

.digmkt-acronym-knowza {
  display: block;
  font-family: var(--knowza-font-display);
  font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
  margin-bottom: .3rem;
  transform-origin: left center;
  transition: transform .3s, color .3s;
  color: var(--knowza-blue-light)
}

.digmkt-item-knowza-grey .digmkt-acronym-knowza {
  color: #0d3a5c
}

.digmkt-item-title-knowza {
  font-family: var(--knowza-font-display);
  font-size: clamp(.8rem, .75rem + .2vw, .9rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
  color: #fff
}

.digmkt-item-desc-knowza {
  font-family: var(--knowza-font-body);
  font-size: clamp(.83rem, .78rem + .2vw, .9375rem);
  font-weight: 400;
  line-height: 1.7;
  margin: .1rem 0 0;
  transition: color .3s;
  color: #a8c8de
}

.digmkt-item-knowza-grey .digmkt-item-desc-knowza {
  color: #64748b
}

.digmkt-item-knowza:first-child {
  animation-delay: 50ms
}

.digmkt-item-knowza:nth-child(2) {
  animation-delay: .12s
}

.digmkt-item-knowza:nth-child(3) {
  animation-delay: .19s
}

.digmkt-item-knowza:nth-child(4) {
  animation-delay: .26s
}

.digmkt-item-knowza:nth-child(5) {
  animation-delay: .33s
}

@keyframes digmktFadeIn {
  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}

@media (max-width:768px) {
  .digmkt-grid-knowza {
    grid-template-columns: repeat(2, 1fr)
  }
}

.svc-cta-banner {
  position: relative;
  overflow: hidden;
  background-color: #04131f;
  max-width: 960px;
  margin: 3.5rem auto;
  border-radius: 1rem;
  box-shadow: 0 15px 35px rgba(0, 0, 0, .25);
  padding-top: clamp(2.5rem, 4.5vw, 3.5rem)
}

.svc-cta-content {
  position: relative;
  z-index: 2;
  max-width: 620px;
  margin-inline: auto;
  padding-inline: 1.5rem
}

.svc-cta-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.12;
  color: #fff;
  margin: 0 0 1rem
}

.svc-cta-title em {
  font-style: normal;
  color: var(--knowza-blue-light)
}

.careers-form-notice strong,
.cf-file-label strong,
.cf-file-wrap svg,
.cf-label span,
.pf-tab:hover {
  color: var(--knowza-blue)
}

.svc-cta-lead {
  font-family: var(--knowza-font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 255, 255, .7);
  max-width: 38rem;
  margin: 0 auto 1.75rem
}

@media (max-width:1200px) {
  .svc-cta-banner {
    margin-inline: 1.5rem
  }

  .pfm-grid {
    column-count: 3
  }
}

@media (max-width:560px) {
  .svc-cta-banner {
    margin: 2.5rem 1rem;
    border-radius: .75rem
  }
}

.portfolio-page-hero {
  background: #04131f;
  position: relative;
  overflow: hidden;
  padding: clamp(10rem, 12vw, 4rem) 0 clamp(4rem, 6vw, 4rem)
}

.portfolio-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(42, 168, 230, .1) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none
}

.portfolio-page-hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100px;
  background: linear-gradient(180deg, transparent 0, #04131f 100%);
  pointer-events: none
}

.portfolio-page-hero-inner,
.post-hero-inner {
  position: relative;
  z-index: 2
}

.appproc-item,
.blog-newsletter-text,
.culture-inner,
.post-sidebar-cta-inner {
  z-index: 1;
  position: relative
}

.portfolio-page-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .625rem;
  font-family: var(--knowza-font-ui);
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--knowza-blue-light);
  margin-bottom: .2rem;
  justify-content: center
}

.portfolio-page-hero-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(2rem, 1.3rem + 3vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.08;
  color: #fff;
  margin-bottom: 1.25rem
}

.portfolio-page-hero-lead {
  font-family: var(--knowza-font-body);
  font-size: clamp(.9rem, .82rem + .3vw, 1.05rem);
  font-weight: 400;
  line-height: 1.85;
  color: rgba(255, 255, 255, .62);
  max-width: 50rem;
  margin: 0 auto
}

.careers-form-notice strong,
.pf-tab {
  font-weight: 700;
  text-transform: uppercase
}

.pf-empty,
.pf-tab {
  color: var(--knowza-muted);
  font-family: var(--knowza-font-display)
}

.pf-tab {
  font-size: .72rem;
  letter-spacing: .07em;
  background: #f5f8fb;
  border: 1.5px solid var(--knowza-border-light);
  border-radius: 50rem;
  padding: .5rem 1.25rem;
  transition: background .2s, color .2s, border-color .2s;
  white-space: nowrap
}

.pf-tab:hover {
  background: rgba(7, 119, 189, .06);
  border-color: rgba(7, 119, 189, .3)
}

.blog-mini-card:hover .blog-mini-arrow,
.jm-close:hover,
.pf-tab.is-active,
.post-share-btn:hover {
  background: var(--knowza-blue);
  border-color: var(--knowza-blue);
  color: #fff
}

@keyframes pf-in {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.pf-empty {
  grid-column: 1/-1;
  font-weight: 600
}

.careers-form-wrap {
  background: #f8fafc;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.5rem;
  padding: clamp(2rem, 4vw, 3rem)
}

.careers-form-notice,
.careers-form-notice-alto {
  background: rgba(7, 119, 189, .05);
  font-family: var(--knowza-font-body);
  font-size: .825rem;
  line-height: 1.7;
  color: var(--knowza-muted);
  margin-bottom: 2rem
}

.careers-form-notice {
  border: 1px solid rgba(7, 119, 189, .15);
  border-left: 3px solid var(--knowza-blue);
  border-radius: .5rem;
  padding: 1rem 1.25rem
}

.careers-form-notice strong {
  font-family: var(--knowza-font-display)
}

.careers-form-notice-alto {
  border: 1px solid rgba(7, 119, 189, .15);
  border-radius: .5rem;
  padding: 1rem 1.25rem
}

.careers-form-notice-alto strong,
.cf-success-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.careers-form-notice-alto strong {
  text-align: center;
  text-transform: uppercase;
  color: var(--knowza-blue)
}

.cf-success {
  width: 100%;
  justify-content: center;
  align-items: flex-start;
  padding: .5rem 0 2rem
}

.cf-success-btn,
.cf-success-icon {
  display: inline-flex;
  align-items: center
}

.cf-success.is-visible {
  display: flex;
  animation: .45s both cfSuccessIn;
  display: flex
}

@keyframes cfSuccessIn {
  from {
    opacity: 0;
    transform: translateY(12px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.cf-success-card {
  width: 100%;
  max-width: 640px;
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  padding: 2.5rem 2.25rem;
  box-shadow: 0 1rem 2.5rem rgba(7, 119, 189, .08);
  position: relative;
  overflow: hidden
}

.cf-success-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 3px;
  background: var(--knowza-gradient)
}

.cf-success-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background: var(--knowza-gradient);
  justify-content: center;
  color: #fff;
  box-shadow: 0 .35rem 1rem rgba(7, 119, 189, .3)
}

.cf-success-icon svg {
  width: 28px;
  height: 28px
}

.cf-success-title {
  font-size: clamp(1.15rem, 1rem + .45vw, 1.4rem);
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin: 0 0 1.25rem
}

.cf-success-body {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  line-height: 1.8;
  color: var(--knowza-muted);
  margin-bottom: 1.75rem
}

.cf-success-body p {
  margin: 0 0 .75rem
}

.beg-legal-body p:last-child,
.cf-success-body p:last-child,
.post-content p:last-child {
  margin-bottom: 0
}

.cf-success-lead {
  font-weight: 500;
  color: var(--knowza-black)
}

.cf-label,
.cf-success-btn {
  font-family: var(--knowza-font-display);
  font-weight: 700;
  text-transform: uppercase
}

.cf-success-muted {
  font-size: .875rem;
  opacity: .85
}

.cf-success-btn {
  gap: .5rem;
  font-size: .8rem;
  letter-spacing: .08em;
  text-decoration: none;
  color: #fff;
  padding: .9rem 2.25rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .32);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.cf-success-btn:hover,
.jm-apply-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .45);
  filter: brightness(1.06);
  color: #fff
}

.cf-group {
  margin-bottom: 1.25rem
}

.cf-label {
  display: block;
  font-size: .72rem;
  letter-spacing: .07em;
  color: var(--knowza-black);
  margin-bottom: .45rem
}

.cf-label span {
  margin-left: 1px
}

.cf-input,
.cf-select,
.cf-textarea {
  width: 100%;
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  font-weight: 400;
  color: var(--knowza-black);
  background: #fff;
  border: 1.5px solid var(--knowza-border-light);
  border-radius: .625rem;
  padding: .7rem 1rem;
  outline: 0;
  transition: border-color .2s, box-shadow .2s;
  appearance: none;
  -webkit-appearance: none
}

.cf-check-text,
.cf-file-label {
  font-family: var(--knowza-font-body);
  color: var(--knowza-muted)
}

.cf-input:focus,
.cf-select:focus,
.cf-textarea:focus {
  border-color: var(--knowza-blue);
  box-shadow: 0 0 0 3px rgba(7, 119, 189, .1)
}

.cf-input::placeholder,
.cf-textarea::placeholder {
  color: #b0bbc6
}

.cf-textarea {
  resize: vertical;
  min-height: 90px
}

.cf-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236c757d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem
}

.cf-check-wrap,
.cf-file-wrap {
  display: flex;
  background: #fff
}

.cf-file-wrap {
  align-items: center;
  gap: .85rem;
  padding: .75rem 1rem;
  border: 1.5px dashed rgba(7, 119, 189, .3);
  border-radius: .625rem;
  transition: border-color .2s, background .2s;
  cursor: pointer
}

.careers-footer-cta-btn,
.cf-submit-btn {
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .35);
  transition: transform .2s, box-shadow .2s, filter .2s;
  cursor: pointer
}

.cf-file-wrap:hover {
  border-color: var(--knowza-blue);
  background: rgba(7, 119, 189, .03)
}

.cf-file-wrap svg {
  flex-shrink: 0
}

.cf-file-label {
  font-size: .85rem
}

.cf-file-label strong {
  font-weight: 600
}

.cf-file-wrap input[type=file] {
  position: absolute;
  opacity: 0;
  pointer-events: none
}

.cf-check-wrap {
  align-items: flex-start;
  gap: .75rem;
  padding: 1.25rem;
  border: 1.5px solid var(--knowza-border-light);
  border-radius: .75rem
}

.cf-check-wrap input[type=checkbox] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  margin-top: 1px;
  accent-color: var(--knowza-blue);
  cursor: pointer
}

.cf-check-text {
  font-size: .8rem;
  line-height: 1.7
}

.careers-footer-cta-title,
.cf-submit-btn {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.cf-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-size: .8rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border: none;
  border-radius: 50rem;
  padding: .925rem 2.5rem
}

.careers-footer-cta-btn:hover,
.cf-submit-btn:hover,
.contact-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .45);
  filter: brightness(1.06)
}

.cf-success {
  display: none
}

.careers-footer-cta {
  background: #f8fafc;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.5rem;
  padding: clamp(2rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 3rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap
}

.careers-footer-cta-btn,
.careers-status {
  display: inline-flex;
  text-transform: uppercase
}

.careers-footer-cta-title {
  font-size: clamp(1.1rem, .9rem + .8vw, 1.45rem);
  letter-spacing: -.025em;
  color: var(--knowza-black);
  margin-bottom: .3rem
}

.careers-footer-cta-sub {
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  color: var(--knowza-muted);
  margin: 0
}

.careers-footer-cta-btn {
  align-items: center;
  text-decoration: none;
  gap: .55rem;
  font-family: var(--knowza-font-display);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .09em;
  color: #fff;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border: none;
  border-radius: 50rem;
  padding: .925rem 2.5rem
}

.careers-table-wrap {
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 .25rem 1.5rem rgba(7, 119, 189, .06)
}

.careers-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--knowza-font-body)
}

.careers-table thead th,
.careers-td-num {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.careers-table thead tr {
  background: linear-gradient(90deg, var(--knowza-blue) 0, var(--knowza-blue-light) 100%)
}

.careers-table thead th {
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  padding: 1rem 1.25rem;
  white-space: nowrap;
  border: none
}

.careers-table thead th:first-child {
  border-radius: 0;
  width: 52px
}

.careers-table tbody tr {
  border-bottom: 1px solid var(--knowza-border-light);
  transition: background .2s
}

.careers-table tbody tr:hover {
  background: rgba(7, 119, 189, .04)
}

.careers-table tbody td {
  padding: 1.125rem 1.25rem;
  vertical-align: middle;
  font-size: .9rem;
  color: var(--knowza-black);
  line-height: 1.5
}

.careers-td-num {
  font-size: .8rem;
  color: var(--knowza-blue);
  width: 52px
}

.careers-td-title {
  font-family: var(--knowza-font-body);
  font-weight: 600;
  color: var(--knowza-black);
  min-width: 260px
}

.careers-apply-btn,
.careers-status {
  font-family: var(--knowza-font-display)
}

.careers-td-date,
.careers-td-posts {
  font-weight: 500;
  color: var(--knowza-muted);
  white-space: nowrap
}

.careers-td-date {
  font-size: .85rem
}

.careers-status {
  align-items: center;
  gap: .35rem;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  padding: .28rem .75rem;
  border-radius: 50rem;
  white-space: nowrap
}

.careers-status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0
}

.careers-status--open {
  color: #0a7c42;
  background: rgba(10, 124, 66, .09);
  border: 1px solid rgba(10, 124, 66, .2)
}

.careers-status--closed {
  color: #555555;
  background: rgba(85, 85, 85, .09);
  border: 1px solid rgba(85, 85, 85, .2);
}

.careers-apply-btn,
.culture-eyebrow {
  align-items: center;
  color: var(--knowza-blue);
  font-weight: 700;
  display: inline-flex;
  text-transform: uppercase
}

.careers-status--open::before {
  background: #0a7c42
}

.careers-status--closed::before {
  background: #888888
}

.careers-apply-btn {
  gap: .4rem;
  font-size: .7rem;
  letter-spacing: .07em;
  text-decoration: none;
  border: 1.5px solid var(--knowza-blue);
  border-radius: 50rem;
  padding: .45rem 1.1rem;
  white-space: nowrap;
  transition: background .2s, color .2s, transform .2s
}

.careers-apply-btn:hover {
  background: var(--knowza-blue);
  color: #fff;
  transform: translateY(-1px)
}

.appproc-card,
.blog-hero-card,
.blog-hero-excerpt,
.blog-hero-img-wrap,
.blog-hero-text,
.blog-mini-img-wrap,
.blog-newsletter,
.blog-search-wrap,
.contact-info-panel,
.contact-map-wrap,
.ctc-map-wrap,
.culture-knowza,
.cv-card,
.faq-item,
.faq-panel-inner,
.pfm-card,
.post-hero,
.stats-card,
.val-bg-block,
.val-card {
  overflow: hidden
}

.culture-knowza {
  background-color: #f8fafc;
  position: relative
}

.culture-knowza::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(7, 119, 189, .08) 1px, transparent 1px);
  background-size: 26px 26px;
  pointer-events: none
}

.culture-knowza::after {
  content: "";
  position: absolute;
  top: 40%;
  left: 35%;
  transform: translate(-50%, -50%);
  width: 55%;
  height: 55%;
  background: radial-gradient(ellipse, rgba(7, 119, 189, .08) 0, transparent 72%);
  pointer-events: none
}

.culture-eyebrow {
  gap: .625rem;
  font-family: var(--knowza-font-ui);
  font-size: 1rem;
  letter-spacing: .2em;
  margin-bottom: .25rem
}

.culture-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.65rem, 1.2rem + 1.8vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.035em;
  color: var(--knowza-black);
  margin-bottom: 1.375rem
}

.culture-title em {
  font-style: normal;
  background: linear-gradient(90deg, #0777bd 0, #2aa8e6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text
}

.culture-body {
  font-family: var(--knowza-font-body);
  font-size: clamp(.9rem, .85rem + .2vw, 1.05rem);
  font-weight: 400;
  line-height: 1.85;
  color: #5f6b76;
  margin-bottom: 2.25rem;
  max-width: 38rem
}

.culture-body strong {
  color: var(--knowza-black);
  font-weight: 600
}

.culture-cta {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  padding: .9rem 2.25rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .2);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.cv-label,
.th-num,
.th-pill,
.th-title {
  font-family: var(--knowza-font-display)
}

.culture-values-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  align-items: stretch
}

.cv-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 210px;
  padding: 2rem 1.5rem;
  border-radius: 1.1rem;
  background: #fff;
  border: 1px solid rgba(7, 119, 189, .08);
  box-shadow: 0 4px 20px rgba(15, 29, 55, .04), 0 8px 24px rgba(7, 119, 189, .1);
  transition: transform .28s, border-color .28s, box-shadow .28s, background .28s
}

.cv-icon,
.th-body {
  align-items: center
}

.cv-icon {
  width: auto;
  height: auto;
  min-width: auto;
  display: flex;
  justify-content: center;
  background: 0 0;
  border: 0;
  border-radius: 0;
  color: var(--knowza-blue);
  transition: transform .28s, color .28s
}

.cv-icon svg {
  width: 2.15rem;
  height: 2.2rem;
  display: block;
  stroke-width: 1.7
}

.cv-label {
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.015em;
  color: var(--knowza-black);
  transition: color .28s
}

.appproc-card::after,
.th-num {
  font-weight: 800;
  line-height: 1;
  user-select: none
}

.teams-hire-knowza {
  background-color: #fff
}

.th-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem
}

.th-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 1.25rem;
  padding: 1.5rem;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  background: #fff;
  position: relative;
  transition: .22s
}

.th-row:first-child {
  border-top: 1px solid var(--knowza-border-light)
}

.th-num {
  font-size: clamp(1.85rem, 1.5rem + 1vw, 2.5rem);
  letter-spacing: -.04em;
  color: var(--knowza-blue-dark);
  opacity: 1;
  transition: color .22s, opacity .22s
}

.th-body {
  display: flex;
  gap: 1.125rem;
  min-width: 0
}

.th-icon-wrap {
  width: 48px;
  height: 48px;
  min-width: 48px;
  border-radius: .875rem;
  border: 1px solid var(--knowza-border-light);
  background: #f5f8fb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue);
  transition: background .22s, border-color .22s, color .22s
}

.ai-hero .svc-hero-eyebrow,
.th-pills {
  justify-content: flex-start
}

.post-body,
.th-text {
  min-width: 0
}

.th-title {
  font-size: clamp(.95rem, .88rem + .22vw, 1.1rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--knowza-black);
  margin: 0 0 .2rem;
  white-space: nowrap;
  transition: color .22s
}

.appproc-node,
.th-pill {
  color: var(--knowza-blue)
}

.th-pills {
  grid-column: 1/-1;
  padding-left: calc(4.5rem + 1.25rem);
  margin-top: .25rem
}

.th-pill {
  font-size: .6875rem;
  font-weight: 600;
  letter-spacing: .04em;
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .14);
  padding: .28rem .75rem;
  border-radius: 50rem;
  white-space: nowrap;
  transition: background .22s, border-color .22s, color .22s
}

.appproc-node,
.appproc-step-label,
.appproc-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.blog-newsletter-btn,
.faq-contact-btn,
.float-chip,
.float-home-label,
.jm-meta-chip,
.reveal-word,
.stats-badge {
  white-space: nowrap
}

.appproc-knowza {
  background-color: #f5f8fb;
  position: relative
}

.appproc-item {
  display: flex;
  flex-direction: column;
  align-items: center
}

.appproc-node {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid var(--knowza-blue);
  box-shadow: 0 0 0 5px rgba(7, 119, 189, .08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  letter-spacing: .08em;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  margin-bottom: 1.5rem;
  transition: background .25s, color .25s, box-shadow .25s, transform .25s
}

@media (min-width:1200px) {
  .appproc-track::before {
    content: "";
    position: absolute;
    top: 25px;
    left: 10%;
    right: 10%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0, rgba(7, 119, 189, .3) 10%, rgba(7, 119, 189, .55) 50%, rgba(7, 119, 189, .3) 90%, transparent 100%);
    z-index: 0
  }

  .appproc-node::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 1.5rem;
    background: linear-gradient(180deg, rgba(7, 119, 189, .4), transparent)
  }
}

.appproc-node--final {
  background: var(--knowza-blue);
  color: #fff;
  border-color: var(--knowza-blue);
  box-shadow: 0 0 0 5px rgba(7, 119, 189, .15), 0 .35rem 1rem rgba(7, 119, 189, .28)
}

.appproc-cta,
.contact-submit-btn {
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .32)
}

.appproc-card {
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1rem;
  padding: 1.5rem 1.375rem 1.375rem;
  display: flex;
  flex-direction: column;
  gap: .625rem;
  position: relative;
  width: 100%;
  transition: transform .25s, box-shadow .25s, border-color .25s
}

.appproc-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--knowza-blue), var(--knowza-blue-light));
  border-radius: 1rem 1rem 0 0;
  opacity: 0;
  transition: opacity .25s
}

.appproc-card::after {
  content: attr(data-num);
  position: absolute;
  bottom: -1.25rem;
  right: .5rem;
  font-family: var(--knowza-font-display);
  font-size: 6rem;
  color: var(--knowza-blue);
  opacity: .05;
  pointer-events: none
}

.appproc-card--accent::before,
.blog-hero-card.is-hidden,
.blog-mini-card.is-hidden,
.faq-group,
.pfm-card.is-hidden {
  display: none
}

.appproc-card--accent::after {
  color: rgba(255, 255, 255, .06);
  opacity: 1
}

.appproc-card--accent .appproc-step-label {
  color: rgba(255, 255, 255, .5)
}

.appproc-card--accent .appproc-title,
.reveal-container .letter.active {
  color: #fff
}

.appproc-card--accent .appproc-desc {
  color: rgba(255, 255, 255, .7)
}

.appproc-card--accent .appproc-icon {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .18);
  color: #fff;
  transition: background .25s, border-color .25s
}

.appproc-card--accent .appproc-tag {
  color: rgba(255, 255, 255, .9);
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .18)
}

.appproc-icon {
  width: 38px;
  height: 38px;
  border-radius: .5625rem;
  background: rgba(7, 119, 189, .07);
  border: 1px solid rgba(7, 119, 189, .14);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue);
  flex-shrink: 0;
  transition: background .25s, color .25s, border-color .25s
}

.appproc-cta,
.appproc-tag {
  display: inline-flex;
  text-transform: uppercase
}

.appproc-icon svg {
  width: 17px;
  height: 17px;
  display: block
}

.appproc-step-label {
  font-size: .5625rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  opacity: .75
}

.appproc-title {
  font-size: clamp(.88rem, .82rem + .2vw, 1rem);
  letter-spacing: -.02em;
  line-height: 1.25;
  color: var(--knowza-black);
  margin: 0
}

.appproc-desc {
  font-family: var(--knowza-font-body);
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--knowza-muted);
  margin: 0;
  flex: 1
}

.appproc-tag {
  align-items: center;
  font-family: var(--knowza-font-display);
  font-size: .5625rem;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--knowza-blue);
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .14);
  padding: .22rem .65rem;
  border-radius: 50rem;
  align-self: center;
  margin-top: auto
}

@media (min-width:576px) and (max-width:1199.98px) {
  .appproc-item {
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 1.25rem
  }

  .appproc-node {
    margin-bottom: 0;
    margin-top: .2rem
  }

  .appproc-tag {
    align-self: flex-start
  }
}

.appproc-cta {
  align-items: center;
  gap: .55rem;
  font-family: var(--knowza-font-ui);
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  color: #fff;
  padding: .9rem 2.25rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.faq-filter-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  margin-bottom: 3rem
}

.faq-group.is-active {
  display: block
}

.faq-item {
  border: 1px solid var(--knowza-border-light);
  border-radius: .875rem;
  background: #fff;
  margin-bottom: .75rem;
  transition: border-color .22s, box-shadow .22s
}

.faq-item.is-open {
  border-color: rgba(7, 119, 189, .28);
  box-shadow: 0 .4rem 1.25rem rgba(7, 119, 189, .07)
}

.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: 0 0;
  border: none;
  cursor: pointer;
  text-align: left
}

.faq-trigger-text {
  font-family: var(--knowza-font-display);
  font-size: clamp(.875rem, .82rem + .18vw, 1rem);
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--knowza-black);
  line-height: 1.4;
  transition: color .2s
}

.faq-answer,
.faq-icon {
  color: var(--knowza-muted)
}

.blog-mini-card:hover .blog-mini-title,
.faq-item.is-open .faq-trigger-text,
.post-toc-link:hover {
  color: var(--knowza-blue)
}

.faq-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--knowza-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .22s, border-color .22s, color .22s, transform .3s
}

.faq-icon svg,
.post-share-btn svg {
  width: 14px;
  height: 14px;
  display: block
}

.faq-item.is-open .faq-icon {
  background: var(--knowza-blue);
  border-color: var(--knowza-blue);
  color: #fff;
  transform: rotate(45deg)
}

.faq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .3s
}

.faq-item.is-open .faq-panel {
  grid-template-rows: 1fr
}

.faq-panel-inner {
  padding: 0 1.5rem
}

.faq-item.is-open .faq-panel-inner {
  padding-bottom: 1.375rem
}

.faq-answer {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.8;
  margin: 0;
  border-top: 1px solid var(--knowza-border-light);
  padding-top: 1rem
}

.faq-contact-nudge {
  margin-top: 3.5rem;
  padding: 2.25rem 2.5rem;
  background: #f5f8fb;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap
}

.faq-contact-nudge-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1rem, .9rem + .5vw, 1.25rem);
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin-bottom: .3rem
}

.faq-contact-nudge-sub {
  font-family: var(--knowza-font-body);
  font-size: .875rem;
  color: var(--knowza-muted);
  margin: 0
}

.faq-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-family: var(--knowza-font-display);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: var(--knowza-blue);
  border-radius: 50rem;
  padding: .875rem 2rem;
  transition: background .2s, transform .2s
}

.faq-contact-btn:hover {
  background: var(--knowza-blue-dark);
  color: #fff;
  transform: translateY(-2px)
}

.contact-page {
  padding-block: clamp(4rem, 8vw, 6rem)
}

.contact-panels {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 1.5rem;
  align-items: start
}

.contact-info-eyebrow,
.contact-info-item-label {
  gap: .5rem;
  font-family: var(--knowza-font-display);
  font-size: .65rem;
  font-weight: 700;
  text-transform: uppercase;
  display: flex
}

@media (max-width:1199.98px) {
  .clients-hex-cell {
    width: 92px;
    height: 92px;
    padding: 18px
  }

  .clients-hex-cell--featured {
    width: 130px;
    height: 130px;
    padding: 28px
  }

  .clients-hex-row+.clients-hex-row {
    margin-top: -23px
  }

  .clients-hex-row--offset {
    margin-left: 51px
  }

  .appproc-track::before {
    display: none
  }

  .contact-panels {
    grid-template-columns: 320px 1fr
  }
}

.contact-info-panel {
  background: #0d3a5c;
  border-radius: 1.5rem;
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  min-height: 520px;
  position: relative
}

.blog-newsletter::before,
.contact-info-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(42, 168, 230, .1) 1px, transparent 1px);
  background-size: 22px 22px;
  pointer-events: none
}

.contact-info-inner {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column
}

.contact-info-eyebrow {
  letter-spacing: .18em;
  color: var(--knowza-blue-light);
  margin-bottom: 1.75rem;
  align-items: center
}

.contact-info-eyebrow::before {
  content: "";
  width: 1.5rem;
  height: 1px;
  background: var(--knowza-blue-light);
  opacity: .6;
  flex-shrink: 0
}

.contact-info-list {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1
}

.contact-info-item {
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .08)
}

.contact-info-item-label {
  align-items: center;
  letter-spacing: .12em;
  color: rgba(255, 255, 255, .45);
  margin-bottom: .5rem
}

.contact-info-item-value {
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  font-weight: 500;
  color: rgba(255, 255, 255, .88);
  line-height: 1.6;
  margin: 0
}

.cf-line-label,
.contact-social-link,
.contact-submit-btn {
  font-family: var(--knowza-font-display);
  font-size: .8rem
}

.contact-info-item-value a {
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  transition: color .2s
}

.contact-info-socials {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  flex-direction: column;
  gap: .6rem
}

.contact-social-link {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .6);
  text-decoration: none;
  transition: color .2s
}

.contact-social-arrow {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, .15);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .2s, border-color .2s
}

.contact-social-link:hover .contact-social-arrow {
  background: var(--knowza-blue);
  border-color: var(--knowza-blue)
}

.blog-mini-arrow svg,
.contact-social-arrow svg {
  width: 10px;
  height: 10px;
  display: block
}

.contact-form-panel {
  background: #f5f8fb;
  border-radius: 1.5rem;
  padding: clamp(2rem, 3.5vw, 2.75rem)
}

.cf-line-group {
  margin-bottom: 1.625rem
}

.cf-line-label {
  display: block;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--knowza-black);
  margin-bottom: .35rem
}

.contact-map-gdpr-btn,
.contact-submit-btn {
  letter-spacing: .08em;
  cursor: pointer;
  text-transform: uppercase
}

.cf-line-label .cf-opt {
  font-weight: 500;
  color: var(--knowza-muted);
  font-size: .72rem;
  letter-spacing: 0
}

.contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding-top: .5rem
}

.contact-submit-btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border: none;
  border-radius: 50rem;
  padding: .95rem 2.5rem;
  transition: transform .2s, box-shadow .2s, filter .2s
}

.contact-success {
  display: none;
  align-items: flex-start;
  gap: .75rem;
  background: rgba(10, 124, 66, .07);
  border: 1px solid rgba(10, 124, 66, .22);
  border-radius: .75rem;
  padding: 1.25rem 1.5rem;
  margin-top: 1.5rem;
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  line-height: 1.7;
  color: var(--knowza-blue)
}

.contact-success.is-visible,
.jm-overlay.is-open {
  display: flex
}

.contact-map-section {
  margin-top: 4rem
}

.contact-map-wrap {
  border-radius: 1.25rem;
  border: 1px solid var(--knowza-border-light);
  position: relative
}

.contact-map-wrap iframe {
  display: block;
  width: 100%;
  height: 380px;
  border: none
}

.contact-map-gdpr {
  position: absolute;
  inset: 0;
  background: #f0f4f8;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  z-index: 2
}

.contact-map-gdpr-title {
  font-family: var(--knowza-font-display);
  font-size: .95rem;
  font-weight: 700;
  color: var(--knowza-black);
  margin: .875rem 0 .5rem
}

.contact-map-gdpr-body {
  font-family: var(--knowza-font-body);
  font-size: .825rem;
  line-height: 1.7;
  color: var(--knowza-muted);
  max-width: 28rem;
  margin-bottom: 1.25rem
}

.contact-map-gdpr-btn,
.val-card-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.contact-map-gdpr-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .72rem;
  color: #fff;
  background: var(--knowza-blue);
  border: none;
  border-radius: 50rem;
  padding: .75rem 1.75rem;
  transition: background .2s, transform .2s
}

.contact-map-gdpr-btn:hover {
  background: var(--knowza-blue-dark);
  transform: translateY(-1px)
}

.reveal-container {
  line-height: 1.6
}

.reveal-container .letter {
  display: inline-block;
  color: rgba(255, 255, 255, .2);
  transition: color .15s
}

.reveal-word {
  display: inline-block
}

.val-scroll-outer {
  position: relative;
  height: calc(100vh + 1200px)
}

.val-sticky-inner {
  position: sticky;
  top: 0;
  padding-block: 2rem 2.5rem
}

.val-bg-block {
  position: relative;
  border-radius: 1rem;
  background-image: url('../images/about-us.jpg');
  background-size: cover;
  background-position: center 40%
}

.val-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(4, 14, 26, .91) 0, rgba(6, 58, 100, .76) 50%, rgba(4, 15, 28, .93) 100%);
  pointer-events: none
}

.ctc-map-wrap,
.stats-card,
.val-card,
.val-grid {
  position: relative
}

.val-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  z-index: 1;
  background: rgba(255, 255, 255, .1)
}

.val-card {
  background: rgba(8, 24, 40, .55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 2.25rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  opacity: 0;
  transition: opacity .55s, transform .55s, background .28s, box-shadow .28s
}

.val-card:nth-child(odd) {
  transform: translateX(-36px)
}

.val-card:nth-child(2n) {
  transform: translateX(36px)
}

.val-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--knowza-blue), var(--knowza-blue-light));
  opacity: 0;
  transition: opacity .28s
}

.val-card.is-revealed {
  opacity: 1;
  transform: translateX(0) translateY(0)
}

.val-card-icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: .875rem;
  border: 1px solid rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .07);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-blue-light);
  transition: background .25s, border-color .25s, color .25s
}

.val-card-icon svg {
  width: 23px;
  height: 23px;
  display: block
}

.val-card-title {
  font-size: clamp(1rem, .92rem + .3vw, 1.15rem);
  letter-spacing: -.02em;
  line-height: 1.25;
  color: #fff;
  margin: 0
}

.val-card-desc {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.8;
  color: rgba(255, 255, 255, .6);
  margin: 0
}

.stats-badge,
.stats-num {
  font-family: var(--knowza-font-display)
}

.mqt-wrapper {
  --mqt-logo-h: 70px;
  --mqt-card-w: 160px;
  --mqt-gap: 1.25rem;
  --mqt-speed: 38s;
  --mqt-row-gap: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--mqt-row-gap);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%)
}

.mqt-track {
  display: flex;
  width: max-content
}

.mqt-set {
  display: flex;
  align-items: center;
  gap: var(--mqt-gap);
  padding-right: var(--mqt-gap);
  padding-bottom: 50px
}

.mqt-item {
  flex-shrink: 0;
  width: var(--mqt-card-w);
  height: calc(var(--mqt-logo-h) + 1.75rem);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .875rem 1.25rem;
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: .75rem;
  transition: border-color .22s, box-shadow .22s
}

.mqt-item img {
  max-height: var(--mqt-logo-h);
  max-width: calc(var(--mqt-card-w) - 2.5rem);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(1) opacity(1);
  transition: filter .22s, transform .22s
}

@keyframes mqt-scroll-left {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}

@keyframes mqt-scroll-right {
  from {
    transform: translateX(-50%)
  }

  to {
    transform: translateX(0)
  }
}

.mqt-row[data-mqt-dir=left] .mqt-track {
  animation: mqt-scroll-left var(--mqt-speed) linear infinite
}

.mqt-row[data-mqt-dir=right] .mqt-track {
  animation: mqt-scroll-right var(--mqt-speed) linear infinite
}

.stats-knowza {
  padding-block: clamp(4rem, 8vw, 4rem);
  background: #fff
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  align-items: start
}

.stats-card {
  border-radius: 1.25rem;
  padding: 2.25rem 2rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
  transition: transform .28s, box-shadow .28s
}

.stats-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: auto
}

.stats-num {
  font-size: clamp(2.75rem, 2.2rem + 2.2vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
  display: block
}

.stats-badge {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  padding: .3rem .65rem;
  border-radius: .375rem;
  border: 1.5px solid currentColor;
  opacity: .85;
  flex-shrink: 0;
  margin-top: .35rem
}

.ctc-form-card,
.stats-card--light {
  border: 1px solid var(--knowza-border-light)
}

.stats-badge-brace {
  color: var(--knowza-blue);
  font-weight: 800
}

.stats-desc {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  font-weight: 400;
  line-height: 1.75;
  margin: 2rem 0 0
}

.stats-card--light {
  background: #fff;
  box-shadow: 0 .25rem 1.5rem rgba(7, 119, 189, .06)
}

.blog-search-clear:hover,
.stats-card--light .stats-num {
  color: var(--knowza-black)
}

.stats-card--light .stats-badge {
  color: var(--knowza-black);
  border-color: var(--knowza-border-light)
}

.stats-card--light .stats-desc {
  color: var(--knowza-muted)
}

.stats-card--blue {
  background: var(--knowza-blue);
  border: 1px solid transparent
}

.stats-card--blue .stats-num {
  color: #fff
}

.stats-card--blue .stats-badge {
  color: #fff;
  border-color: rgba(255, 255, 255, .45)
}

.stats-card--blue .stats-badge .stats-badge-brace {
  color: rgba(255, 255, 255, .65)
}

.beg-legal-body a:hover,
.blog-hero-card:hover .blog-hero-title,
.ctc-eyebrow,
.post-hero-breadcrumb a:hover,
.stats-card--dark .stats-badge .stats-badge-brace {
  color: var(--knowza-blue-light)
}

.stats-card--blue .stats-desc {
  color: rgba(255, 255, 255, .82);
  font-weight: 500
}

.stats-card--dark {
  background: #0d1f2d;
  border: 1px solid transparent
}

.stats-card--dark .stats-num {
  color: #fff
}

.stats-card--dark .stats-badge {
  color: rgba(255, 255, 255, .75);
  border-color: rgba(255, 255, 255, .2)
}

.stats-card--dark .stats-desc {
  color: rgba(255, 255, 255, .55)
}

@media (max-width:767.98px) {
  .hero-trust-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0
  }

  .hero-trust-sep {
    display: none
  }

  .hero-trust-item {
    padding: .85rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, .08)
  }

  .hero-trust-item:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, .08)
  }

  .hero-trust-item:nth-last-child(-n+2) {
    border-bottom: none
  }

  .hero-trust-label {
    white-space: normal;
    font-size: .85rem
  }

  .clients-hex-layout {
    flex-direction: column;
    gap: 2rem
  }

  .clients-hex-row--offset {
    margin-left: 0
  }

  .clients-hex-row+.clients-hex-row {
    margin-top: 10px
  }

  .clients-hex-group .clients-hex-row {
    justify-content: center
  }

  .clients-hex-center {
    order: -1
  }

  .footer-cta-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem
  }

  .footer-cta-action {
    width: 100%
  }

  .footer-cta-btn {
    width: 100%;
    justify-content: center
  }

  .partner-connector {
    flex-direction: column;
    padding: 1rem 0
  }

  .partner-lockup {
    flex-direction: column
  }

  .partner-logo-card {
    width: 100%;
    max-width: 340px
  }

  .stats-grid,
  .teams-two-col,
  .val-grid {
    grid-template-columns: 1fr
  }

  .tc-item:nth-child(2n) {
    border-left: none;
    border-top: 1px solid var(--knowza-border-light)
  }

  .tc-item:not(:last-child) {
    border-bottom: 1px solid var(--knowza-border-light)
  }

  .tc-item:nth-child(2n)::before {
    left: 0
  }

  .careers-table-wrap {
    border-radius: .875rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch
  }

  .careers-table tbody td,
  .careers-table thead th {
    padding: .875rem 1rem
  }

  .careers-td-title {
    min-width: 200px
  }

  .val-scroll-outer {
    height: calc(100vh + 900px)
  }

  .stats-grid .stats-card:nth-child(2),
  .stats-grid .stats-card:nth-child(3) {
    margin-top: 0
  }

  .stats-card {
    min-height: auto
  }
}

.ctc-grid,
.ctc-row-2 {
  grid-template-columns: 1fr 1fr
}

@media (min-width:768px) and (max-width:991.98px) {
  .stats-grid .stats-card:nth-child(2) {
    margin-top: 1rem
  }

  .stats-grid .stats-card:nth-child(3) {
    margin-top: 2rem
  }
}

.ctc-section {
  background: #fff;
  padding: 5rem 0
}

.ctc-container {
  max-width: 1140px
}

.ctc-grid {
  display: grid;
  gap: 2rem;
  align-items: stretch
}

.ctc-form,
.ctc-form-card {
  display: flex;
  flex-direction: column
}

.ctc-map-wrap {
  border-radius: 16px;
  min-height: 480px
}

.ctc-map-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0
}

.ctc-map-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: 16px;
  box-shadow: inset 0 0 40px rgba(4, 19, 31, .55);
  border: 1px solid rgba(7, 119, 189, .25)
}

.ctc-form-card {
  background: #f5f8fb;
  border-radius: 16px;
  padding: 2.5rem 2.25rem
}

.ctc-eyebrow {
  display: flex;
  align-items: center;
  gap: .45rem;
  font-family: var(--knowza-font-ui);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: .6rem
}

.ctc-heading,
.ctc-input,
.ctc-label {
  color: var(--knowza-black)
}

.ctc-eyebrow-icon {
  font-size: .7rem
}

.ctc-heading {
  font-family: var(--knowza-font-display);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 700;
  line-height: 1.1;
  margin: 0 0 2rem
}

.ctc-form {
  gap: 1.25rem;
  flex: 1
}

.ctc-row-2 {
  display: grid;
  gap: 1rem
}

.ctc-field {
  display: flex;
  flex-direction: column;
  gap: .4rem
}

.ctc-label {
  font-family: var(--knowza-font-ui);
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .03em
}

.ctc-input {
  background: #fff;
  border: 1px solid var(--knowza-border-light);
  border-radius: 8px;
  font-family: var(--knowza-font-body);
  font-size: .92rem;
  padding: .7rem .9rem;
  transition: border-color .2s, background .2s, box-shadow .2s;
  outline: 0;
  width: 100%
}

.ctc-input::placeholder {
  color: rgba(255, 255, 255, .28)
}

.ctc-input:focus {
  background: rgba(7, 119, 189, .08);
  border-color: var(--knowza-blue);
  box-shadow: 0 0 0 3px rgba(7, 119, 189, .15)
}

.ctc-input.is-invalid {
  border-color: #e05252;
  box-shadow: none
}

.ctc-textarea {
  min-height: 110px;
  resize: vertical
}

.ctc-err {
  font-size: .75rem;
  color: #e05252;
  min-height: 1rem
}

.ctc-submit {
  width: 100%;
  padding: .85rem 1.5rem;
  background: var(--knowza-gradient);
  border: none;
  border-radius: 8px;
  color: #fff;
  font-family: var(--knowza-font-ui);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .04em;
  cursor: pointer;
  transition: opacity .2s, transform .15s;
  margin-top: auto
}

.pfm-co-name,
.pfm-mono {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.ctc-submit:hover {
  opacity: .88
}

.ctc-submit:active {
  transform: scale(.985)
}

.ctc-submit:disabled {
  opacity: .6;
  cursor: not-allowed
}

@media (max-width:1031px) {
  .ctc-grid {
    grid-template-columns: 1fr
  }

  .ctc-map-wrap {
    min-height: 300px;
    height: 300px
  }

  .ctc-map-frame {
    position: absolute
  }
}

@media (max-width:576px) {
  .ctc-form-card {
    padding: 1.75rem 1.25rem
  }

  .ctc-row-2 {
    grid-template-columns: 1fr
  }

  .ctc-map-wrap {
    min-height: 220px;
    height: 220px
  }
}

.pfm-grid {
  column-count: 3;
  column-gap: 14px;
  margin-top: 2.5rem
}

@media (max-width:800px) {
  .pfm-grid {
    column-count: 2
  }
}

@media (max-width:500px) {
  .pfm-grid {
    column-count: 1
  }
}

.pfm-card {
  break-inside: avoid;
  margin-bottom: 14px;
  position: relative;
  background: #f5f8fb;
  border-radius: 13px;
  border: 1px solid var(--knowza-border-light);
  cursor: pointer;
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .5s, transform .5s
}

.blog-hero-text::before,
.pfm-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none
}

.pfm-card.pfm-visible,
.pfm-card:hover .pfm-overlay {
  opacity: 1;
  transform: translateY(0)
}

.pfm-card.pfm-visible:hover {
  transform: scale(1.025);
  border-color: rgba(7, 119, 189, .35);
  transition: transform .35s, border-color .35s
}

.pfm-card.pfm-sm {
  height: 155px
}

.pfm-card.pfm-md {
  height: 210px
}

.pfm-card.pfm-lg {
  height: 270px
}

.pfm-logo {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px
}

.pfm-img {
  max-width: 72%;
  max-height: 72%;
  object-fit: contain;
  filter: brightness(1.05);
  transition: filter .3s
}

.pfm-card:hover .pfm-img {
  filter: brightness(.7)
}

.pfm-mono {
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  letter-spacing: .12em;
  color: rgba(42, 168, 230, .45)
}

.pfm-overlay {
  background: rgba(8, 14, 24, .96);
  padding: 18px 20px 16px;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .32s, transform .32s
}

.pfm-overlay-body {
  flex: 1
}

.pfm-co-name {
  font-size: .98rem;
  color: #6b9fd8;
  margin: 0 0 5px;
  line-height: 1.25
}

.pfm-co-sub,
.pfm-co-tags {
  font-family: var(--knowza-font-body)
}

.pfm-co-sub {
  font-size: .82rem;
  font-style: italic;
  color: rgba(255, 255, 255, .68);
  margin: 0 0 7px;
  line-height: 1.3
}

.pfm-co-tags {
  font-size: .76rem;
  font-weight: 400;
  color: rgba(255, 255, 255, .42);
  margin: 0;
  line-height: 1.55
}

.pfm-year {
  align-self: flex-end;
  font-family: var(--knowza-font-ui);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .25);
  margin-top: auto;
  padding-top: 6px
}

.pf-empty {
  display: none;
  column-span: all;
  text-align: center;
  color: var(--knowza-muted);
  font-family: var(--knowza-font-body);
  padding: 3rem 0;
  font-size: .9rem
}

.pf-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 2rem;
  margin-bottom: .5rem
}

.pf-filter-btn {
  font-family: var(--knowza-font-ui);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .45rem 1.1rem;
  border-radius: 99px;
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .04);
  color: rgba(255, 255, 255, .55);
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s
}

.blog-hero-cat,
.blog-hero-date {
  font-size: .65rem;
  font-family: var(--knowza-font-display)
}

.pf-filter-btn:hover {
  background: rgba(7, 119, 189, .12);
  border-color: rgba(7, 119, 189, .4);
  color: rgba(255, 255, 255, .85)
}

.pf-filter-btn.pf-filter-active {
  background: var(--knowza-blue, #0777bd);
  border-color: var(--knowza-blue, #0777bd);
  color: #fff
}

.blog-hero-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 1.375rem;
  background: #04131f;
  min-height: 320px;
  margin-bottom: 2.5rem;
  text-decoration: none;
  position: relative;
  transition: box-shadow .28s
}

.blog-hero-card:hover {
  box-shadow: 0 1.5rem 3.5rem rgba(4, 19, 31, .22)
}

.blog-hero-text {
  padding: clamp(2rem, 4vw, 2.75rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative
}

.blog-hero-text::before {
  content: "";
  background-image: radial-gradient(circle, rgba(42, 168, 230, .08) 1px, transparent 1px);
  background-size: 22px 22px
}

.blog-hero-meta {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .875rem;
  position: relative;
  z-index: 1
}

.blog-hero-cat {
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--knowza-blue-light)
}

.blog-hero-date {
  font-weight: 600;
  letter-spacing: .06em;
  color: rgba(255, 255, 255, .4)
}

.blog-hero-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.2rem, .9rem + 1.2vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 .875rem;
  position: relative;
  z-index: 1;
  transition: color .2s
}

.blog-hero-excerpt {
  font-family: var(--knowza-font-body);
  font-size: .875rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, .55);
  margin: 0;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 3;
  -webkit-box-orient: vertical
}

.blog-mini-cat,
.blog-mini-date {
  font-size: .65rem;
  font-family: var(--knowza-font-display)
}

.blog-hero-img-wrap {
  position: relative;
  min-height: 260px
}

.blog-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  transition: transform .45s
}

.blog-hero-card:hover .blog-hero-img {
  transform: scale(1.04)
}

.blog-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1.75rem
}

.blog-mini-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  gap: 0
}

.blog-mini-img-wrap {
  border-radius: .875rem;
  position: relative;
  aspect-ratio: 4/3;
  background: #f0f4f8;
  margin-bottom: 1rem;
  flex-shrink: 0;
  box-shadow: 0 10px 30px rgba(4, 19, 31, .1)
}

.blog-mini-img-placeholder {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.blog-mini-img-placeholder[data-cat=marketing] {
  background: linear-gradient(135deg, #e8f2fb 0, #cce4f6 100%)
}

.blog-mini-img-placeholder[data-cat=website] {
  background: linear-gradient(135deg, #fef3e8 0, #fde6cc 100%)
}

.blog-mini-img-placeholder[data-cat=curriculum] {
  background: linear-gradient(135deg, #e8f1fb 0, #ccdff6 100%)
}

.blog-mini-img-placeholder[data-cat=lms] {
  background: linear-gradient(135deg, #f3e8fb 0, #e5ccf6 100%)
}

.blog-mini-img-placeholder[data-cat=industry] {
  background: linear-gradient(135deg, #e8eef8 0, #ccd9f0 100%)
}

.blog-mini-img-placeholder svg {
  width: 36px;
  height: 36px;
  color: var(--knowza-blue);
  opacity: .3
}

.blog-mini-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .5rem
}

.blog-mini-meta-left {
  display: flex;
  align-items: center;
  gap: .4rem
}

.blog-mini-cat {
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--knowza-blue)
}

.blog-mini-meta-sep {
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: var(--knowza-muted);
  flex-shrink: 0
}

.blog-mini-date {
  font-weight: 600;
  letter-spacing: .05em;
  color: var(--knowza-muted)
}

.blog-mini-arrow {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--knowza-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-muted);
  flex-shrink: 0;
  transition: background .2s, border-color .2s, color .2s
}

.blog-mini-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(.9rem, .82rem + .22vw, 1.05rem);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.35;
  color: var(--knowza-black);
  margin: 0;
  transition: color .2s
}

.blog-newsletter {
  margin-top: 3.5rem;
  padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem);
  background: linear-gradient(135deg, #04131f 0, #073456 55%, #0777bd 100%);
  border-radius: 1.5rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap
}

.blog-newsletter-title {
  font-family: var(--knowza-font-display);
  font-size: clamp(1.1rem, .9rem + .8vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -.03em;
  color: #fff;
  margin-bottom: .35rem
}

.blog-newsletter-input,
.blog-newsletter-sub {
  font-family: var(--knowza-font-body);
  font-size: .875rem
}

.blog-newsletter-sub {
  color: rgba(255, 255, 255, .65);
  margin: 0
}

.blog-newsletter-form {
  display: flex;
  gap: .625rem;
  position: relative;
  z-index: 1;
  flex-wrap: wrap
}

.blog-newsletter-input {
  color: var(--knowza-black);
  background: #fff;
  border: none;
  border-radius: 50rem;
  padding: .75rem 1.375rem;
  outline: 0;
  min-width: 220px;
  transition: box-shadow .2s
}

.blog-newsletter-input:focus {
  box-shadow: 0 0 0 3px rgba(42, 168, 230, .4)
}

.blog-newsletter-input::placeholder {
  color: #b0bbc6
}

.blog-newsletter-btn {
  font-family: var(--knowza-font-display);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  background: #fff;
  border: none;
  border-radius: 50rem;
  padding: .75rem 1.75rem;
  cursor: pointer;
  transition: background .2s, color .2s, transform .2s
}

.blog-newsletter-btn:hover {
  background: var(--knowza-blue-light);
  color: #fff;
  transform: translateY(-1px)
}

.blog-search-wrap {
  margin-bottom: 3rem;
  width: 100%;
  max-width: 100%;
  padding: .5rem;
  box-sizing: border-box
}

.blog-search-inner {
  position: relative;
  max-width: 650px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box
}

.blog-search-clear,
.blog-search-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.blog-search-icon {
  left: 1.25rem;
  width: 22px;
  height: 22px;
  color: var(--knowza-muted);
  pointer-events: none
}

.blog-search-input {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  font-family: var(--knowza-font-body);
  font-size: 1.1rem;
  color: var(--knowza-black);
  background: #fff;
  border: 2px solid var(--knowza-border-light);
  border-radius: 50rem;
  padding: 1rem 3.5rem 1rem 3.2rem;
  outline: 0;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .05);
  transition: border-color .2s, box-shadow .2s, transform .2s;
  appearance: none
}

.post-content h2,
.post-content h3,
.post-hero-cat,
.post-hero-date,
.post-hero-read,
.post-hero-title,
.post-pullquote {
  font-family: var(--knowza-font-display)
}

.blog-search-input::-webkit-search-cancel-button {
  display: none
}

.blog-search-input:focus {
  border-color: var(--knowza-blue);
  box-shadow: 0 0 0 4px rgba(7, 119, 189, .15), 0 8px 24px rgba(0, 0, 0, .08);
  transform: translateY(-1px)
}

.blog-search-clear {
  right: 1.25rem;
  background: 0 0;
  border: none;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--knowza-muted);
  cursor: pointer;
  padding: .2rem .3rem;
  transition: color .2s
}

:root {
  --knowza-blue: #0777bd;
  --knowza-blue-dark: #065a91;
  --knowza-blue-light: #2aa8e6;
  --knowza-muted: #6c757d;
  --knowza-subtle: #3d9fd1;
  --knowza-black: #1f1f1f;
  --knowza-border-light: #e8e8e8;
  --knowza-gradient: linear-gradient(90deg,
      var(--knowza-blue) 0%,
      var(--knowza-blue-light) 100%);
  --knowza-font-body: "Segoe UI", system-ui, sans-serif;
  --knowza-font-display: "Montserrat", system-ui, sans-serif;
  --knowza-font-ui: "Montserrat", system-ui, sans-serif;
  --knowza-font-brand-alt: "Segoe UI", system-ui, sans-serif;
  --knowza-text-md: clamp(1rem, 0.94rem + 0.2vw, 1.825rem);
  --knowza-text-lg: clamp(1rem, 1rem + 0.32vw, 1.25rem);
  --color-navy: #132f46;
  --color-dark: #142737;
  --color-gold: #feb648;
  --color-black: #1a1a1a;
  --color-white: #ffffff;
  --color-heading: #1f1f25;
  --color-body: rgb(113, 113, 115);
  --color-border: #e6e6e6;
  --color-primary: #feb648;
  --color-primary-light: #f8f9fc;
  --radius: 4px;
  --transition: 0.3s ease
}

.beg-legal-section {
  background: #fff;
  padding: 60px 0 70px
}

.beg-legal-nav {
  position: sticky;
  top: 50px;
  background: #f8f9fa;
  border-left: 3px solid var(--knowza-blue-light);
  border-radius: 0 6px 6px 0;
  padding: 24px 20px
}

.beg-legal-nav-label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--knowza-blue-light);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--knowza-blue-dark)
}

.beg-legal-nav ul {
  list-style: none;
  padding: 0;
  margin: 0
}

.beg-legal-nav ul li {
  margin-bottom: 6px
}

.beg-legal-nav ul li a {
  font-size: .8rem;
  color: var(--color-body);
  text-decoration: none;
  line-height: 1.5;
  display: block;
  padding: 4px 0;
  border-bottom: none;
  transition: color var(--transition), padding-left var(--transition)
}

.beg-legal-nav ul li a:hover {
  color: var(--color-navy);
  padding-left: 4px
}

.beg-legal-body {
  padding-left: 40px;
  border-left: 1px solid var(--color-border)
}

.beg-legal-section-block {
  padding-bottom: 36px
}

.beg-legal-section-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0
}

.beg-legal-heading {
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-navy);
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--knowza-blue-light);
  display: inline-block
}

.beg-legal-body p,
.beg-legal-body ul {
  font-size: .9rem;
  color: var(--color-body);
  line-height: 1.85;
  margin-bottom: 10px
}

.beg-legal-body strong {
  color: var(--color-navy);
  font-weight: 600
}

.beg-legal-body a {
  color: var(--color-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--transition)
}

.float-home-btn,
.jm-apply-btn,
.post-related-item,
.post-share-btn,
.post-sidebar-cta-btn,
.post-tag,
.post-toc-link {
  text-decoration: none
}

.beg-legal-body .table {
  font-size: .9rem;
  color: var(--color-body);
  border-color: var(--color-border);
  margin-bottom: 20px
}

.post-content h2,
.post-footer {
  border-top: 1px solid var(--knowza-border-light)
}

.beg-legal-body .table th {
  color: var(--color-navy);
  font-weight: 600;
  background-color: #f8f9fa;
  border-bottom: 2px solid var(--color-border);
  padding: 14px 16px;
  vertical-align: bottom
}

.beg-legal-body .table td {
  padding: 14px 16px;
  vertical-align: middle;
  border-bottom: 1px solid var(--color-border);
  border-top: none
}

.beg-legal-body .table-bordered {
  border: none
}

.beg-legal-body .table-bordered td,
.beg-legal-body .table-bordered th {
  border-left: none;
  border-right: none
}

@media (max-width:575px) {
  .beg-legal-section {
    padding: 40px 0 50px
  }

  .beg-legal-heading {
    font-size: .95rem
  }

  .beg-legal-body .table,
  .beg-legal-body p {
    font-size: .85rem
  }

  .beg-legal-body .table td,
  .beg-legal-body .table th {
    padding: 10px 12px
  }
}

.post-hero {
  position: relative;
  padding: 110px 0 90px;
  color: #fff
}

.post-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(rgba(6, 18, 34, .75), rgba(6, 18, 34, .75));
  pointer-events: none
}

.post-hero-bg {
  position: absolute;
  inset: -30% 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 0
}

.ai-feature-list li::before,
.post-hero-cat,
.post-tag:hover {
  background: var(--knowza-blue)
}

.post-hero-breadcrumb {
  display: flex;
  align-items: center;
  gap: .4rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem
}

.post-hero-breadcrumb a,
.post-hero-breadcrumb span {
  font-family: var(--knowza-font-display);
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255, 255, 255, .5);
  transition: color .2s
}

.post-hero-breadcrumb .sep {
  color: rgba(255, 255, 255, .3);
  font-size: .65rem
}

.post-hero-breadcrumb .current {
  color: rgba(255, 255, 255, .8)
}

.post-hero-meta {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem
}

.post-hero-cat {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #fff;
  border-radius: 50rem;
  padding: .25rem .75rem
}

.post-hero-date,
.post-hero-read {
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .06em;
  color: rgba(255, 255, 255, .5)
}

.post-hero-meta-dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .3);
  flex-shrink: 0
}

.post-hero-title {
  font-size: clamp(1.75rem, 1.2rem + 3vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1.1;
  color: #fff;
  max-width: 48rem;
  margin: 0 0 1.5rem
}

.post-content,
.post-hero-lead {
  font-family: var(--knowza-font-body)
}

.post-hero-lead {
  font-size: clamp(.95rem, .85rem + .3vw, 1.1rem);
  line-height: 1.8;
  color: rgba(255, 255, 255, .6);
  max-width: 44rem;
  margin: 0
}

.post-featured-img-wrap {
  border-radius: 1.25rem;
  overflow: hidden;
  aspect-ratio: 16/7;
  background: #f0f4f8;
  margin-bottom: 3.5rem;
  position: relative
}

.post-featured-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0
}

.post-featured-img-placeholder {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0d3b6e 0, #0777bd 60%, #2aa8e6 100%);
  display: flex;
  align-items: center;
  justify-content: center
}

.post-featured-img-placeholder svg {
  width: 64px;
  height: 64px;
  color: rgba(255, 255, 255, .2)
}

.post-content h2,
.post-content h3,
.post-content strong {
  font-weight: 700;
  color: var(--knowza-black)
}

.post-layout {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 3.5rem;
  align-items: start
}

@media (max-width:1199.98px) {
  .post-layout {
    grid-template-columns: 1fr 250px;
    gap: 2.5rem
  }
}

.post-content {
  font-size: clamp(.95rem, .88rem + .22vw, 1.0625rem);
  line-height: 1.85;
  color: #2e3a45
}

.post-content p {
  margin-bottom: 1.5rem
}

.post-content h2 {
  font-size: clamp(1.2rem, 1rem + .8vw, 1.55rem);
  letter-spacing: -.03em;
  margin: 2.75rem 0 1rem;
  padding-top: 2rem;
  line-height: 1.25
}

.post-content h2:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none
}

.post-content h3 {
  font-size: clamp(1rem, .9rem + .4vw, 1.2rem);
  letter-spacing: -.02em;
  margin: 2rem 0 .75rem;
  line-height: 1.3
}

.post-content ol,
.post-content ul {
  padding-left: 1.25rem;
  margin-bottom: 1.5rem
}

.post-content li {
  margin-bottom: .5rem;
  line-height: 1.75
}

.post-content a {
  color: var(--knowza-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: color .2s
}

.post-pullquote {
  border-left: 3px solid var(--knowza-blue);
  background: rgba(7, 119, 189, .04);
  border-radius: 0 .75rem .75rem 0;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
  font-size: clamp(1rem, .9rem + .4vw, 1.15rem);
  font-weight: 600;
  font-style: italic;
  letter-spacing: -.01em;
  color: var(--knowza-blue-dark);
  line-height: 1.6
}

.post-share-label,
.post-sidebar-heading,
.post-tag {
  font-family: var(--knowza-font-display);
  font-weight: 700;
  text-transform: uppercase
}

.post-footer {
  padding-top: 2.5rem;
  margin-top: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap
}

.post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem
}

.post-tag {
  font-size: .65rem;
  letter-spacing: .07em;
  color: var(--knowza-blue);
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .15);
  border-radius: 50rem;
  padding: .25rem .7rem;
  transition: background .2s, color .2s
}

.post-tag:hover {
  color: #fff
}

.post-share-label {
  font-size: .65rem;
  letter-spacing: .1em;
  color: var(--knowza-muted)
}

.post-share-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--knowza-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--knowza-muted);
  transition: background .2s, border-color .2s, color .2s
}

.post-sidebar {
  position: sticky;
  top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem
}

@media (max-width:991.98px) {
  .process-knowza-steps::before {
    display: none
  }

  .process-knowza-lead {
    max-width: 100%
  }

  .testi-card {
    flex: 0 0 calc(50% - 0.85rem)
  }

  .about-hero-video-wrap {
    margin-top: 0
  }

  .mission-col {
    padding-inline: 0
  }

  .mission-col--center {
    border-left: none;
    border-right: none;
    border-top: 1px solid var(--knowza-border-light);
    border-bottom: 1px solid var(--knowza-border-light);
    padding-block: 2.5rem
  }

  .blog-mini-grid,
  .culture-values-grid {
    grid-template-columns: repeat(2, 1fr)
  }

  .contact-panels,
  .post-layout,
  .th-list {
    grid-template-columns: 1fr
  }

  .th-row {
    grid-template-columns: 3rem 1fr;
    grid-template-rows: auto auto;
    gap: .75rem 1rem
  }

  .th-pills {
    grid-column: 1/-1;
    justify-content: flex-start;
    padding-left: calc(3rem + 1rem)
  }

  .post-sidebar {
    position: static
  }
}

.ai-hero,
.post-sidebar-cta {
  position: relative;
  overflow: hidden
}

.post-sidebar-widget {
  background: #f8fafc;
  border: 1px solid var(--knowza-border-light);
  border-radius: 1.125rem;
  padding: 1.5rem
}

.post-sidebar-heading {
  font-size: .72rem;
  letter-spacing: .12em;
  color: var(--knowza-black);
  margin: 0 0 1.125rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--knowza-border-light)
}

.post-toc {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0
}

.post-toc-link {
  display: flex;
  align-items: flex-start;
  gap: .625rem;
  padding: .625rem 0;
  font-family: var(--knowza-font-body);
  font-size: .825rem;
  font-weight: 500;
  color: var(--knowza-muted);
  line-height: 1.45;
  transition: color .2s
}

.ai-feature-list li,
.post-related-item {
  gap: .75rem;
  border-bottom: 1px solid var(--knowza-border-light)
}

.post-related-cat,
.post-related-title,
.post-sidebar-cta-title,
.post-toc-num {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.post-toc-num {
  font-size: .6rem;
  color: var(--knowza-blue);
  opacity: .6;
  min-width: 18px;
  margin-top: 1px;
  flex-shrink: 0
}

.post-related-item {
  display: flex;
  padding: .75rem 0;
  transition: opacity .2s
}

.post-related-item:hover {
  opacity: .75
}

.post-related-thumb {
  width: 52px;
  height: 52px;
  min-width: 52px;
  border-radius: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.post-related-thumb svg {
  width: 20px;
  height: 20px;
  color: rgba(255, 255, 255, .3)
}

.post-related-title {
  font-size: .8rem;
  letter-spacing: -.01em;
  color: var(--knowza-black);
  line-height: 1.35;
  margin: 0 0 .25rem
}

.post-related-cat {
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--knowza-blue)
}

.post-sidebar-cta {
  background: linear-gradient(135deg, #04131f 0, #073456 55%, #0777bd 100%);
  border-radius: 1.125rem;
  padding: 1.5rem
}

.post-sidebar-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(42, 168, 230, .1) 1px, transparent 1px);
  background-size: 18px 18px;
  pointer-events: none
}

.post-sidebar-cta-title {
  font-size: .9rem;
  letter-spacing: -.02em;
  color: #fff;
  margin: 0 0 .5rem
}

.ai-feature-list li,
.post-sidebar-cta-body {
  font-family: var(--knowza-font-body);
  line-height: 1.65
}

.post-sidebar-cta-body {
  font-size: .8rem;
  color: rgba(255, 255, 255, .6);
  margin: 0 0 1.125rem
}

.post-sidebar-cta-btn,
.stat-num {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.post-sidebar-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--knowza-blue);
  background: #fff;
  border-radius: 50rem;
  padding: .6rem 1.375rem;
  transition: background .2s, color .2s;
  white-space: nowrap
}

.ring,
.ring-glow {
  border-radius: 50%
}

.post-sidebar-cta-btn:hover {
  background: var(--knowza-blue-light);
  color: #fff
}

.ai-hero {
  min-height: min(100vh, 900px)
}

.ai-grid-bg,
.ai-hero-fade {
  position: absolute;
  pointer-events: none
}

.ai-hero .svc-hero-bg {
  background-image: none;
  background-color: #04131f
}

.ai-grid-bg {
  inset: 0;
  background-image: radial-gradient(circle, rgba(42, 168, 230, .08) 1px, transparent 1px);
  background-size: 32px 32px;
  animation: 20s linear infinite gridMove;
  z-index: 1
}

@keyframes gridMove {
  0% {
    transform: translate(0, 0)
  }

  100% {
    transform: translate(32px, 32px)
  }
}

.ai-hero-fade {
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(180deg, transparent 0, #04131f 100%);
  z-index: 2
}

.ai-feature-list {
  list-style: none;
  padding: 0;
  margin: 1.25rem 0 2rem
}

.ai-feature-list li {
  display: flex;
  align-items: flex-start;
  padding: .625rem 0;
  font-size: .9375rem;
  color: var(--knowza-muted)
}

.ai-feature-list li::before {
  content: "";
  width: 6px;
  height: 6px;
  min-width: 6px;
  border-radius: 50%;
  margin-top: .55em;
  flex-shrink: 0
}

.ai-hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4rem;
  position: relative;
  z-index: 3;
  padding-bottom: clamp(2rem, 8vw, 1rem)
}

.ai-hero-text {
  flex: 1;
  min-width: 0;
  max-width: 640px
}

.ai-hero .svc-hero-title {
  font-size: clamp(2.2rem, 1.5rem + 3vw, 3.5rem);
  line-height: 1.05;
  margin-bottom: 1.5rem
}

.ai-hero .svc-hero-lead {
  max-width: 520px;
  margin-bottom: 2rem;
  font-size: clamp(.95rem, .9rem + .2vw, 1.05rem)
}

.ai-hero .svc-hero-actions {
  justify-content: flex-start;
  margin-bottom: 3rem;
  gap: 1rem
}

.hero-stats {
  display: flex;
  align-items: center;
  gap: 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, .1)
}

.stat-item {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  padding: 0 1.75rem
}

.stat-item:first-child {
  padding-left: 0
}

.stat-num {
  font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
  color: var(--knowza-blue-light);
  line-height: 1;
  letter-spacing: -.02em
}

.stat-num span {
  font-size: .75em;
  opacity: .8
}

.stat-label {
  font-family: var(--knowza-font-body);
  font-size: .8rem;
  font-weight: 500;
  color: rgba(255, 255, 255, .5);
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: .04em
}

.stat-divider {
  width: 1px;
  height: 40px;
  background: linear-gradient(180deg, transparent 0, rgba(255, 255, 255, .15) 50%, transparent 100%);
  align-self: center
}

.hero-visual {
  position: relative;
  width: 550px;
  height: 550px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center
}

.brain-ring {
  position: relative;
  width: 100%;
  height: 100%
}

.brain-center,
.brain-pulse,
.float-chip,
.ring,
.ring-dot,
.ring-glow {
  position: absolute
}

.ring-glow {
  inset: -40px;
  background: radial-gradient(circle, rgba(7, 119, 189, .15) 0, transparent 70%);
  animation: 4s ease-in-out infinite pulseGlow;
  pointer-events: none
}

@keyframes pulseGlow {

  0%,
  100% {
    opacity: .6;
    transform: scale(1)
  }

  50% {
    opacity: 1;
    transform: scale(1.05)
  }
}

.ring {
  border: 1.5px solid rgba(7, 119, 189, .25)
}

.ring-1 {
  inset: 0;
  animation: 30s linear infinite spin
}

.ring-2 {
  inset: 35px;
  border-color: rgba(42, 168, 230, .2);
  animation: 22s linear infinite reverse spin
}

.ring-3 {
  inset: 70px;
  border-color: rgba(7, 119, 189, .15);
  animation: 18s linear infinite spin
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}

.ring-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--knowza-blue-light);
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 16px var(--knowza-blue-light), 0 0 32px rgba(42, 168, 230, .4)
}

.ring-dot:hover {
  scale: 1.1;
  background: #81c8ea
}

.ring-dot-violet {
  background: var(--knowza-blue);
  box-shadow: 0 0 16px var(--knowza-blue), 0 0 32px rgba(7, 119, 189, .4)
}

.brain-center {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 150px;
  height: 150px;
  background: rgba(7, 119, 189, .08);
  border: 1.5px solid rgba(7, 119, 189, .3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px)
}

.brain-pulse {
  inset: -8px;
  border-radius: 50%;
  border: 2px solid rgba(42, 168, 230, .3);
  animation: 2s ease-out infinite brainPulse
}

@keyframes brainPulse {
  0% {
    transform: scale(1);
    opacity: 1
  }

  100% {
    transform: scale(1.15);
    opacity: 0
  }
}

.brain-icon {
  width: 48px;
  height: auto;
  object-fit: contain;
  filter: brightness(1.2)
}

.brain-label {
  font-family: var(--knowza-font-display);
  font-size: .7rem;
  font-weight: 700;
  color: var(--knowza-blue-light);
  letter-spacing: .12em;
  text-transform: uppercase
}

.ai-tech-tag,
.float-chip {
  align-items: center;
  font-weight: 600
}

.float-chip {
  background: rgba(4, 14, 26, .7);
  border: 1px solid rgba(7, 119, 189, .25);
  border-radius: 12px;
  padding: .6rem 1rem;
  font-family: var(--knowza-font-body);
  font-size: .78rem;
  color: #fff;
  display: flex;
  gap: .5rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .2), 0 0 0 1px rgba(7, 119, 189, .1);
  animation: 5s ease-in-out infinite floaty;
  transition: transform .3s, border-color .3s
}

.float-chip:hover {
  transform: scale(1.05) translateY(-2px) !important;
  border-color: rgba(42, 168, 230, .5)
}

.float-chip .chip-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--knowza-blue-light);
  flex-shrink: 0;
  box-shadow: 0 0 8px currentColor
}

.float-chip:nth-of-type(5) {
  top: 5%;
  left: -10px;
  animation-delay: 0s
}

.float-chip:nth-of-type(6) {
  top: 50%;
  right: -40px;
  animation-delay: -1.2s
}

.float-chip:nth-of-type(7) {
  bottom: 8%;
  left: 5px;
  animation-delay: -2.5s
}

.float-chip:nth-of-type(8) {
  top: 25%;
  right: 0;
  animation-delay: -3.8s
}

@keyframes floaty {

  0%,
  100% {
    transform: translateY(0)
  }

  50% {
    transform: translateY(-10px)
  }
}

@media (max-width:1199.98px) {
  .ai-hero-inner {
    gap: 3rem
  }

  .hero-visual {
    width: 360px;
    height: 360px
  }
}

@media (max-width:1031px) {
  .ai-hero-inner {
    flex-direction: column;
    text-align: center;
    gap: 3.5rem
  }

  .ai-hero-text {
    max-width: 100%
  }

  .ai-hero .svc-hero-actions,
  .ai-hero .svc-hero-eyebrow,
  .hero-stats {
    justify-content: center
  }

  .hero-visual {
    width: 340px;
    height: 340px
  }
}

@media (max-width:767.98px) {
  .blog-hero-card {
    grid-template-columns: 1fr
  }

  .blog-hero-img-wrap {
    min-height: 220px
  }

  .blog-newsletter {
    flex-direction: column
  }

  .blog-newsletter-form {
    width: 100%
  }

  .blog-newsletter-input {
    flex: 1;
    min-width: 0
  }

  .hero-visual {
    width: 300px;
    height: 300px
  }

  .brain-center {
    width: 120px;
    height: 120px
  }

  .brain-icon {
    width: 38px
  }

  .stat-item {
    padding: 0 1rem
  }

  .stat-label br {
    display: none
  }

  .float-chip {
    font-size: .7rem;
    padding: .45rem .75rem
  }
}

.ai-intel-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: .625rem;
  overflow: hidden
}

@media (max-width:991px) {
  .beg-legal-body {
    padding-left: 0;
    border-left: none;
    margin-top: 32px
  }

  .ai-intel-grid {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media (max-width:480px) {

  .ai-intel-grid,
  .digmkt-grid-knowza {
    grid-template-columns: 1fr
  }

  .digmkt-item-knowza:hover {
    transform: none;
    box-shadow: none
  }
}

.ai-intel-grid>.webdev-item-knowza-grey:nth-child(5),
.artwork-table-knowza tr:nth-child(5) {
  animation-delay: .5s
}

.ai-intel-grid>.webdev-item-knowza-grey:nth-child(6),
.artwork-table-knowza tr:nth-child(6) {
  animation-delay: .6s
}

.ai-intel-grid>.webdev-item-knowza-grey:nth-child(7),
.artwork-table-knowza tr:nth-child(7) {
  animation-delay: .7s
}

.ai-intel-grid>.webdev-item-knowza-grey:nth-child(8),
.artwork-table-knowza tr:nth-child(8) {
  animation-delay: .8s
}

.ai-tech-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .625rem;
  max-width: 900px;
  margin-inline: auto
}

.ai-tech-tag {
  display: inline-flex;
  font-family: var(--knowza-font-display);
  font-size: .8rem;
  letter-spacing: .02em;
  color: var(--knowza-black);
  background: #f5f8fb;
  border: 1px solid var(--knowza-border-light);
  padding: .45rem 1rem;
  border-radius: 50rem;
  transition: background .2s, color .2s, border-color .2s;
  cursor: default
}

.ai-tech-tag:hover {
  background: rgba(7, 119, 189, .07);
  border-color: rgba(7, 119, 189, .25);
  color: var(--knowza-blue)
}

.ai-sectors-lead {
  font-family: var(--knowza-font-body);
  font-size: .9375rem;
  line-height: 1.8;
  color: var(--knowza-muted);
  max-width: 50rem;
  margin-inline: auto
}

.float-home-btn,
.jm-meta-chip,
.jm-title {
  font-family: var(--knowza-font-display);
  font-weight: 700
}

.cf-line-group.is-invalid .cf-input,
.cf-line-group.is-invalid .cf-select,
.cf-line-group.is-invalid .cf-textarea {
  border-color: #dc3545
}

.cf-line-group.is-valid .cf-input,
.cf-line-group.is-valid .cf-select,
.cf-line-group.is-valid .cf-textarea {
  border-color: #0a7c42
}

.cf-error-msg {
  display: block;
  color: #dc3545;
  font-size: .875rem;
  margin-top: .25rem
}

.float-home-btn {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem .75rem .75rem .85rem;
  border-radius: 50rem;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  color: #fff;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  box-shadow: 0 .4rem 1.5rem rgba(7, 119, 189, .4), 0 0 0 1px rgba(255, 255, 255, .1) inset;
  border: none;
  transition: transform .25s, box-shadow .25s, filter .25s, gap .25s;
  cursor: pointer;
  animation: .5s cubic-bezier(.16, 1, .3, 1) both floatHomeIn;
  animation-delay: 1s
}

.float-home-btn svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: block
}

.float-home-label {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-width .3s, opacity .3s, margin-left .3s
}

.appproc-card--accent {
  background: var(--knowza-blue-dark);
  border-color: transparent;
}

@media (hover:hover) {
  .culture-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .32);
    filter: brightness(1.05);
    color: #fff
  }

  .appproc-cta:hover::after,
  .culture-cta:hover::after {
    transform: translateX(4px)
  }

  .cv-card:hover .cv-icon,
  .cv-card:hover .cv-label,
  .th-row:hover .th-title {
    color: var(--knowza-blue)
  }

  .cv-card:hover {
    transform: translateY(-5px);
    border-color: rgba(7, 119, 189, .18);
    box-shadow: 0 1rem 2.5rem rgba(7, 119, 189, .08);
    background: #fcfeff
  }

  .cv-card:hover .cv-icon {
    transform: scale(1.08)
  }

  .th-row:hover {
    background: rgba(7, 119, 189, .025);
    margin-left: -1.25rem;
    padding-right: 1.25rem;
    margin-right: -1.25rem
  }

  .th-row:hover::before {
    opacity: 1
  }

  .th-row:hover .th-num {
    color: var(--knowza-blue);
    opacity: 1
  }

  .th-row:hover .th-icon-wrap,
  .val-card.is-revealed:hover .val-card-icon {
    background: var(--knowza-blue);
    border-color: var(--knowza-blue);
    color: #fff
  }

  .th-row:hover .th-pill {
    background: rgba(7, 119, 189, .09);
    border-color: rgba(7, 119, 189, .22);
    color: var(--knowza-blue-dark)
  }

  .appproc-item:hover .appproc-node {
    background: var(--knowza-blue);
    color: #fff;
    box-shadow: 0 0 0 7px rgba(7, 119, 189, .12), 0 .35rem 1rem rgba(7, 119, 189, .28);
    transform: scale(1.08)
  }

  .appproc-item:hover .appproc-card:not(.appproc-card--accent) {
    transform: translateY(-4px);
    box-shadow: 0 .75rem 2rem rgba(7, 119, 189, .1), 0 0 0 1px rgba(7, 119, 189, .1);
    border-color: rgba(7, 119, 189, .22)
  }

  .appproc-item:hover .appproc-card:not(.appproc-card--accent)::before,
  .val-card.is-revealed:hover::before {
    opacity: 1
  }

  .appproc-item:hover .appproc-card:not(.appproc-card--accent) .appproc-icon {
    background: var(--knowza-blue);
    color: #fff;
    border-color: var(--knowza-blue)
  }

  .appproc-item:hover .appproc-card--accent {
    transform: translateY(-4px);
    box-shadow: 0 .75rem 2rem rgba(6, 90, 145, .45);
    filter: brightness(1.06)
  }

  .appproc-item:hover .appproc-node--final {
    background: var(--knowza-blue-dark);
    border-color: var(--knowza-blue-dark)
  }

  .appproc-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 .55rem 1.75rem rgba(7, 119, 189, .48);
    filter: brightness(1.07);
    color: #fff
  }

  .val-card.is-revealed:hover {
    background: rgba(7, 119, 189, .14);
    box-shadow: inset 0 0 0 1px rgba(42, 168, 230, .28);
    transform: translateX(0) translateY(-4px)
  }

  .mqt-item:hover {
    border-color: rgba(7, 119, 189, .28);
    box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .1)
  }

  .mqt-item:hover img {
    filter: grayscale(0) opacity(1);
    transform: scale(1.06)
  }

  .mqt-row:hover .mqt-track {
    animation-play-state: paused
  }

  .stats-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 1.25rem 3rem rgba(7, 119, 189, .15)
  }

  .float-home-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 .65rem 2rem rgba(7, 119, 189, .55), 0 0 0 1px rgba(255, 255, 255, .15) inset;
    filter: brightness(1.08);
    gap: .65rem;
    padding-right: 1.1rem
  }

  .float-home-btn:hover .float-home-label {
    max-width: 60px;
    opacity: 1;
    margin-left: .1rem
  }
}

.float-home-btn:active {
  transform: translateY(-1px) scale(.97)
}

@keyframes floatHomeIn {
  from {
    opacity: 0;
    transform: translateY(20px) scale(.9)
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}

.jm-overlay {
  position: fixed;
  inset: 0;
  background: rgba(4, 14, 26, .6);
  backdrop-filter: blur(3px);
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem
}

.jm-modal {
  background: #fff;
  width: 100%;
  max-width: 720px;
  max-height: 88vh;
  border-radius: 1.25rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 1.5rem 4rem rgba(4, 19, 31, .35);
  animation: .28s both jmIn
}

@keyframes jmIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(.98)
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1)
  }
}

.jm-modal::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 4px;
  background: var(--knowza-gradient)
}

.jm-header {
  padding: 1.75rem 2rem 1.25rem;
  border-bottom: 1px solid var(--knowza-border-light);
  flex-shrink: 0
}

.jm-title {
  font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem);
  letter-spacing: -.02em;
  color: var(--knowza-black);
  margin: 0 0 .875rem;
  padding-right: 2.5rem
}

.jm-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem
}

.jm-close,
.jm-footer {
  display: flex;
  align-items: center
}

.jm-meta-chip {
  font-size: .7rem;
  letter-spacing: .04em;
  color: var(--knowza-blue);
  background: rgba(7, 119, 189, .06);
  border: 1px solid rgba(7, 119, 189, .15);
  padding: .3rem .75rem;
  border-radius: 50rem
}

.jm-apply-btn,
.jm-body h4 {
  font-family: var(--knowza-font-display);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase
}

.jm-close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--knowza-border-light);
  background: #fff;
  color: var(--knowza-muted);
  justify-content: center;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s
}

.jm-close svg {
  width: 16px;
  height: 16px;
  display: block
}

.jm-body {
  padding: 1.75rem 2rem;
  overflow-y: auto;
  flex: 1
}

.jm-body h4 {
  color: var(--knowza-blue);
  margin: 1.75rem 0 .75rem
}

.jm-body li,
.jm-body p {
  font-family: var(--knowza-font-body);
  font-size: .9rem;
  line-height: 1.8;
  color: var(--knowza-black)
}

.jm-body h4:first-child {
  margin-top: 0
}

.jm-body p {
  margin: 0 0 .75rem
}

.jm-body ul {
  margin: 0 0 .5rem;
  padding-left: 1.125rem
}

.jm-body li {
  margin-bottom: .4rem
}

.jm-footer {
  padding: 1.25rem 2rem;
  border-top: 1px solid var(--knowza-border-light);
  justify-content: flex-end;
  gap: .75rem;
  flex-shrink: 0;
  background: #f8fafc
}

.jm-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #fff;
  background: linear-gradient(135deg, #2aa8e6 0, #0777bd 55%, #065a91 100%);
  border-radius: 50rem;
  padding: .85rem 2rem;
  box-shadow: 0 .35rem 1.25rem rgba(7, 119, 189, .32);
  transition: transform .2s, box-shadow .2s, filter .2s
}

.careers-td-title-btn {
  background: 0 0;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: color .2s
}

.careers-td-title-btn:focus-visible,
.careers-td-title-btn:hover {
  color: var(--knowza-blue)
}

@media (max-width:575.98px) {
  .testi-card {
    flex: 0 0 100%
  }

  .footer-bottom {
    justify-content: center;
    text-align: center
  }

  .svc-scroll-top {
    width: 52px;
    height: 52px;
    right: 1rem;
    bottom: 1rem
  }

  .cf-success-card {
    padding: 2rem 1.5rem;
    border-radius: 1rem
  }

  .careers-footer-cta,
  .faq-contact-nudge {
    flex-direction: column;
    text-align: center
  }

  .blog-mini-grid,
  .culture-values-grid {
    grid-template-columns: 1fr
  }

  .cv-card {
    min-height: 180px;
    padding: 1.75rem 1.25rem
  }

  .th-row {
    grid-template-columns: 2.25rem 1fr;
    gap: .6rem .75rem
  }

  .th-pills {
    padding-left: calc(2.25rem + .75rem)
  }

  .th-title {
    white-space: normal
  }

  .faq-trigger {
    padding: 1rem 1.125rem
  }

  .faq-panel-inner {
    padding: 0 1.125rem
  }

  .faq-item.is-open .faq-panel-inner {
    padding-bottom: 1.125rem
  }

  .contact-map-wrap iframe {
    height: 260px
  }

  .mqt-wrapper {
    --mqt-logo-h: 36px;
    --mqt-card-w: 130px;
    --mqt-gap: 1rem;
    --mqt-speed: 28s
  }

  .ai-hero-inner {
    padding-top: 7rem
  }

  .hero-visual {
    width: 260px;
    height: 260px
  }

  .ring-2 {
    inset: 25px
  }

  .ring-3 {
    inset: 50px
  }

  .stat-divider {
    display: none
  }

  .hero-stats {
    gap: 1.5rem;
    flex-wrap: wrap
  }

  .stat-item {
    padding: 0;
    flex: 1;
    min-width: 100px
  }

  .float-chip:nth-of-type(5) {
    left: -5px
  }

  .float-chip:nth-of-type(6) {
    right: -20px
  }

  .float-chip:nth-of-type(7) {
    left: 0
  }

  .float-chip:nth-of-type(8) {
    right: -10px
  }

  .float-home-btn {
    bottom: 1rem;
    left: 1rem;
    padding: .65rem
  }

  .float-home-btn svg {
    width: 20px;
    height: 20px
  }

  .float-home-label {
    max-width: 60px;
    opacity: 1;
    margin-left: .2rem;
    font-size: .7rem
  }

  .jm-body,
  .jm-footer,
  .jm-header {
    padding-inline: 1.25rem
  }
}