.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-container.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-63 .elementor-element.elementor-element-c1571c8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-html.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-63 .elementor-element.elementor-element-7fcf6a2{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-63 .elementor-element.elementor-element-12d5bba{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-63 .elementor-element.elementor-element-4a7775e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-63 .elementor-element.elementor-element-97a8b11{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-63 .elementor-element.elementor-element-21e673de{--display:flex;--min-height:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-63 .elementor-element.elementor-element-73599d4{width:var( --container-widget-width, 0% );max-width:0%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:0%;--container-widget-flex-grow:0;}@media(min-width:768px){.elementor-63 .elementor-element.elementor-element-21e673de{--width:0%;}}/* Start custom CSS for html, class: .elementor-element-6c19ed3 *//* =========================
   HERO SECTION
========================= */

.dps-services-hero{
  position: relative !important;
  overflow: hidden !important;
  background-color: lab(3.79096% 1.82402 -14.1156) !important; /* navy */
  color: #fff !important;
  font-family: "Inter","Sora",system-ui,sans-serif !important;
}

/* =========================
   GRID PATTERN BACKGROUND
========================= */

.dps-services-hero-bg{
  position: absolute !important;
  inset: 0 !important;
  opacity: 0.30 !important;
  pointer-events: none !important;

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

  background-size: 48px 48px !important;

  transform: rotate(0deg) !important;
}

/* =========================
   CONTAINER
========================= */

.dps-services-hero-container{
  position: relative !important;
  max-width: 80rem !important; /* 7xl */
  margin: 0 auto !important;
  padding: 7rem 1.5rem !important;
}

/* =========================
   KICKER
========================= */

.dps-services-hero-kicker{
  display: inline-block !important;
  font-size: .75rem !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: lab(74.7761% -22.909 -36.3339) !important; /* ice */
}

/* =========================
   TITLE
========================= */

.dps-services-hero-title{
  margin-top: 1rem !important;
  max-width: 64rem !important;
  font-size: clamp(2.25rem, 4vw, 3.75rem) !important; /* 4xl → 6xl */
  font-weight: 700 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: #fff !important;
}

/* =========================
   TEXT
========================= */

.dps-services-hero-text{
  margin-top: 2rem !important;
  max-width: 48rem !important;
  font-size: 1.125rem !important; /* lg */
  line-height: 1.625 !important;
  color: lab(79.1056% -1.60345 -5.33681) !important; /* silver */
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1024px){

  .dps-services-hero-container{
    padding: 5rem 1.5rem !important;
  }

  .dps-services-hero-title{
    font-size: 2.5rem !important;
  }
}

@media (max-width: 640px){

  .dps-services-hero-container{
    padding: 4rem 1.25rem !important;
  }

  .dps-services-hero-text{
    font-size: 1rem !important;
  }
}/* End custom CSS */


/* Start custom CSS for html, class: .elementor-element-fd43fc6 */.dps-services{
  background: #ffffff !important;
  padding-block: 112px !important;
  box-sizing: border-box !important;
}

/* container */
.dps-services__container{
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* header */
.dps-services__header{
  max-width: 720px !important;
  margin-bottom: 56px !important;
}

.dps-services__kicker{
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #1f4fff !important; /* electric fallback */
  display: inline-block !important;
}

.dps-services__title{
  margin-top: 16px !important;
  font-size: 36px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #0b1b3a !important; /* navy fallback */
}

@media(min-width:1024px){
  .dps-services__title{
    font-size: 56px !important;
  }
}

/* GRID (THIS is the key part of your reference) */
.dps-services__grid{
  display: grid !important;
  gap: 1px !important;
  background: #e5e7eb !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

@media(min-width:768px){
  .dps-services__grid{
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media(min-width:1024px){
  .dps-services__grid{
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* CARD */
.dps-services__card{
  background: #ffffff !important;
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  transition: all .2s ease !important;
}

/* hover */
.dps-services__card:hover{
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
}

/* number */
.dps-services__num{
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  color: #1f4fff !important;
}

/* title */
.dps-services__h3{
  margin-top: 24px !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #0b1b3a !important;
}

/* text */
.dps-services__p{
  margin-top: 12px !important;
  font-size: 14px !important;
  line-height: 1.625 !important;
  color: #6b7280 !important;
  flex: 1 !important;
}

/* link */
.dps-services__link{
  margin-top: 32px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #1f4fff !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(31,79,255,0.35) !important;
  width: fit-content !important;
  padding-bottom: 2px !important;
  transition: opacity .2s ease !important;
}

.dps-services__link:hover{
  opacity: 0.7 !important;
}/* End custom CSS */


/* Start custom CSS for html, class: .elementor-element-09cb94d */.dps-cta-section {
    position: relative !important;
    overflow: hidden !important;
    background: var(--navy) !important;
    color: #fff !important;
    font-family: "Inter", system-ui, sans-serif !important;
}

/* BACKGROUND WRAPPER */
.dps-cta-bg {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
}

/* IMAGE */
.dps-cta-image {
    position: absolute !important;
    inset: -150px 0 -150px 0 !important;
    width: 100% !important;
    height: calc(100% + 300px) !important;
    object-fit: cover !important;
    display: block !important;
    will-change: transform !important;
}

@media (prefers-reduced-motion: reduce) {
    .dps-cta-image {
        transform: none !important;
    }
}

/* DARK GRADIENT OVERLAY */
.dps-cta-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg,
            rgba(10, 20, 40, 0.95) 0%,
            rgba(10, 20, 40, 0.85) 50%,
            rgba(10, 20, 40, 0.7) 100%) !important;
}

/* GRID PATTERN OVERLAY */
.dps-cta-pattern {
    position: absolute !important;
    inset: -100% !important;
    opacity: 0.25 !important;

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

    background-size: 48px 48px !important;

    transform: rotate(45deg) !important;
}

/* CONTENT WRAPPER */
.dps-cta-container {
    position: relative !important;
    max-width: 64rem !important;
    margin: 0 auto !important;
    padding: 7rem 1.5rem !important;
    text-align: center !important;
}

/* KICKER */
.dps-cta-kicker {
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #9ad7ff !important;
}

/* TITLE */
.dps-cta-title {
    margin-top: 1rem !important;
    font-size: 2.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

@media (min-width: 1024px) {
    .dps-cta-title {
        font-size: 3rem !important;
    }
}

/* TEXT */
.dps-cta-text {
    margin-top: 1.5rem !important;
    font-size: 1.125rem !important;
    line-height: 1.625 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    max-width: 48rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* BUTTON */
.dps-cta-button {
    margin-top: 3rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 1rem 2rem !important;
    border-radius: 0.5rem !important;
    background: #2f7cff !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: 0 20px 40px rgba(47, 124, 255, 0.35) !important;
    transition: all 0.2s ease-in-out !important;
}

.dps-cta-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 25px 60px rgba(47, 124, 255, 0.45) !important;
}/* End custom CSS */


/* Start custom CSS for html, class: .elementor-element-598c983 */.dps-audience-section {
  background: lab(97.1022 -0.690848 -1.72737) !important;
  padding: 110px 0 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  color: #1e2a44 !important;
}

.dps-audience-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* HEADER */
.dps-audience-header {
  max-width: 640px !important;
}

.dps-audience-kicker {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #1f7aff !important;
}

.dps-audience-title {
  margin-top: 16px !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: #1e2a44 !important;
}

.dps-audience-text {
  margin-top: 20px !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #5b667a !important;
}

/* GRID */
.dps-audience-grid {
  margin-top: 56px !important;
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1px !important;
  background: #d7d2c8 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  border: 1px solid #d7d2c8 !important;
}

/* CARD */
.dps-audience-item {
  background: #ffffff !important;
  padding: 22px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;

  position: relative !important;
  overflow: hidden !important;

  transition: background-color 0.25s ease !important;
}

/* subtle layered hover background */
.dps-audience-item::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: radial-gradient(
    circle at 20% 30%,
    rgba(31, 122, 255, 0.10),
    transparent 60%
  ) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}

/* HOVER = ONLY BACKGROUND CHANGE */
.dps-audience-item:hover {
  background: #f3f7ff !important;
}

.dps-audience-item:hover::before {
  opacity: 1 !important;
}

/* NUMBER */
.dps-audience-number {
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #1f7aff !important;
  letter-spacing: 0.1em !important;
}

/* LABEL */
.dps-audience-label {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1e2a44 !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .dps-audience-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .dps-audience-grid {
    grid-template-columns: 1fr !important;
  }

  .dps-audience-title {
    font-size: 32px !important;
  }
}/* End custom CSS */


/* Start custom CSS for html, class: .elementor-element-7719160 */.dps-gallery-section {
  padding: 110px 0 !important;
  background: #ffffff !important;
  font-family: "Sora", "Inter", system-ui, sans-serif !important;
  color: #1b2b44 !important;
  -webkit-font-smoothing: antialiased !important;
}

.dps-gallery-container {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

/* HEADER */
.dps-gallery-header {
  max-width: 640px !important;
}

.dps-gallery-kicker {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #3b82f6 !important;
}

.dps-gallery-title {
  margin-top: 16px !important;
  font-size: 42px !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: #1b2b44 !important;
}

/* GRID */
.dps-gallery-grid {
  margin-top: 56px !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
}

/* ITEM CARD */
.dps-gallery-item {
  border-radius: 14px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  background: #ffffff !important;
  transition: background-color 220ms ease-in-out !important;
}

/* ONLY BACKGROUND HOVER (NO MOVE) */
.dps-gallery-item:hover {
  background: #f5f7fa !important;
}

/* IMAGE WRAPPER */
.dps-gallery-frame {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  background: #f1f3f5 !important;
  overflow: hidden !important;
}

/* IMAGE */
.dps-gallery-frame img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: filter 250ms ease-in-out !important;
}

/* SUBTLE HOVER DEPTH */
.dps-gallery-item:hover img {
  filter: brightness(1.05) contrast(1.05) !important;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .dps-gallery-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (max-width: 640px) {
  .dps-gallery-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .dps-gallery-title {
    font-size: 32px !important;
  }
}/* End custom CSS */


/* Start custom CSS for html, class: .elementor-element-73599d4 */@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

/* =========================
   SECTION WRAPPER
========================= */
.dps-cta-section {
    position: relative !important;
    overflow: hidden !important;
    padding: 140px 0 !important;
    font-family: "Plus Jakarta Sans", sans-serif !important;
    background-color: #ffffff !important;
}

/* =========================
   BACKGROUND WRAPPER
========================= */
.dps-cta-background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    overflow: hidden !important;
}

/* BACKGROUND IMAGE */
.dps-cta-image {
    position: absolute !important;
    inset: -150px 0 -150px 0 !important;
    width: 100% !important;
    height: calc(100% + 300px) !important;
    object-fit: cover !important;
    display: block !important;
    will-change: transform !important;
}

@media (prefers-reduced-motion: reduce) {
    .dps-cta-image {
        transform: none !important;
    }
}

/* GRADIENT OVERLAY */
.dps-cta-gradient {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom,
            rgba(28, 34, 56, 0.85) 0%,
            rgba(28, 34, 56, 0.75) 50%,
            rgba(28, 34, 56, 0.9) 100%) !important;
}

/* GRID PATTERN */
.dps-cta-grid {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0.12 !important;
    /* reduced from 0.25 */
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
    background-size: 64px 64px !important;
    /* larger spacing = softer visual density */
    mix-blend-mode: overlay !important;
    /* integrates better with gradient */
}

/* =========================
   CONTENT WRAPPER
========================= */
.dps-cta-content {
    position: relative !important;
    z-index: 2 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    text-align: center !important;
}

/* LABEL */
.dps-cta-label {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase !important;
    color: #cfe3f3 !important;
}

/* TITLE */
.dps-cta-title {
    margin-top: 16px !important;
    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
}

/* TEXT */
.dps-cta-text {
    margin-top: 28px !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    color: #c0c6d4 !important;
    max-width: 720px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* BUTTON */
.dps-cta-button {
    margin-top: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px 32px !important;
    background-color: #3b82f6 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 25px rgba(59, 130, 246, 0.3) !important;
    transition: all 0.3s ease !important;
}

/* BUTTON HOVER */
.dps-cta-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 14px 30px rgba(59, 130, 246, 0.4) !important;
}/* End custom CSS */

