.solutions-page{background:var(--dg-color-off-white)}
.solutions-page h1{max-width:19ch;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.12;letter-spacing:-.04em}
.solutions-page h2{max-width:28ch;letter-spacing:-.03em}
.solutions-page__hero{padding:clamp(9rem,12vw,12rem) 0 4rem;background:radial-gradient(ellipse at 85% 10%,rgb(123 97 255 / 25%),transparent 55%),var(--dg-color-deep);color:white}
.solutions-page__hero h1,.solutions-page__hero .eyebrow,.solutions-page__final h2,.solutions-page__final .eyebrow,.solutions-page__connected h2,.solutions-page__connected .eyebrow{color:inherit}
.solutions-page__lead{max-width:58ch;font-size:var(--dg-text-large);margin:2rem 0}
.solutions-page__pieces{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgb(255 255 255 / 25%)}
.solutions-page__pieces span{padding:.65rem 1rem;border:1px solid rgb(255 255 255 / 30%);border-radius:var(--dg-radius-pill);font-size:.8rem;letter-spacing:.06em}
.solutions-page__pieces span+span::before{content:'•';color:var(--dg-color-orange);margin-right:.75rem}
.solutions-page__list{margin-top:3rem;display:grid;gap:1.5rem}
.solutions-page__card{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,5vw,5rem);padding:clamp(1.5rem,4vw,3.5rem);border:1px solid var(--dg-color-border);border-left:4px solid var(--dg-color-purple);border-radius:var(--dg-radius-lg);background:white}
.solutions-page__card--analytics{border-left-color:var(--dg-color-teal)}
.solutions-page__number{font-family:var(--dg-font-display);font-size:2.25rem;color:var(--dg-color-purple)}
.solutions-page__card--analytics .solutions-page__number{color:var(--dg-color-deep)}
.solutions-page__card h3{margin:1rem 0;font-size:clamp(1.5rem,2.5vw,2.25rem)}
.solutions-page__card-heading p{max-width:35ch;color:var(--dg-color-text-muted)}
.solutions-page__card dt{font-weight:800;margin-bottom:.5rem;color:var(--dg-color-deep)}
.solutions-page__card dd{margin:0 0 1.5rem;max-width:55ch}
.solutions-page .button{gap:1rem;max-width:100%;white-space:normal;text-align:center}
.solutions-page__connected{background:var(--dg-color-navy);color:white}
.solutions-page__connected>.container>p:not(.eyebrow){max-width:70ch;margin:1.5rem 0 2.5rem;color:var(--dg-color-light)}
.solutions-page__connected .button--secondary{color:white;border-color:rgb(255 255 255 / 55%)}
.solutions-page__journey{margin:3rem 0;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid rgb(255 255 255 / 25%);border-radius:var(--dg-radius-lg)}
.solutions-page__journey ol{display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none;gap:1.5rem;margin:2rem 0}
.solutions-page__journey li{position:relative;padding:1rem .5rem;border-bottom:2px solid var(--dg-color-orange);font-family:var(--dg-font-display)}
.solutions-page__journey li:not(:last-child)::after{content:'→';position:absolute;right:-1.2rem;color:var(--dg-color-orange)}
.solutions-page__measurement{border-top:1px solid var(--dg-color-teal);padding-top:1rem;color:var(--dg-color-light)}
.solutions-page__method ol{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;list-style:none;padding:0;margin:3rem 0}
.solutions-page__method li{border-top:2px solid var(--dg-color-purple);padding-top:1.5rem}
.solutions-page__method li>span{color:var(--dg-color-purple);font-weight:800}
.solutions-page__method h3{margin:1rem 0}
.solutions-page__note{padding:1.5rem;border-left:3px solid var(--dg-color-orange);background:white;font-size:var(--dg-text-large)}
.solutions-page__final{background:radial-gradient(ellipse at 50% 110%,rgb(66 40 211 / 65%),transparent 70%),var(--dg-color-deep);color:white;text-align:center}
.solutions-page__final h2{margin-inline:auto;font-size:clamp(2rem,4vw,3.5rem)}
.solutions-page__final p:not(.eyebrow){max-width:50ch;margin:1.5rem auto 2rem}
.solutions-page [id]{scroll-margin-top:7rem}
.solutions-page .button:focus-visible{outline:3px solid var(--dg-color-orange);outline-offset:5px}
@media(max-width:760px){.solutions-page__card{grid-template-columns:1fr;gap:1rem}.solutions-page__method ol{grid-template-columns:1fr}.solutions-page__journey ol{grid-template-columns:1fr;gap:1rem}.solutions-page__journey li:not(:last-child)::after{content:'↓';right:.5rem;bottom:-1.3rem}.solutions-page__hero{padding-top:8rem}.solutions-page__pieces{margin-top:2.5rem}.solutions-page__card .button{width:100%}}
#main-content.solutions-page .button,
.site-header__cta {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --dg-neon-edge: rgb(255 255 255 / 70%);
  --dg-neon-glow: rgb(255 134 0 / 45%);
}

#main-content.solutions-page .button--primary,
.site-header__cta {
  --dg-neon-edge: rgb(180 162 255 / 85%);
  --dg-neon-glow: rgb(123 97 255 / 52%);
}

#main-content.solutions-page .button--secondary {
  --dg-neon-edge: rgb(123 97 255 / 75%);
  --dg-neon-glow: rgb(66 40 211 / 42%);
}

#main-content.solutions-page .button::before,
.site-header__cta::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: 0.3;
  background-image:
    radial-gradient(circle, currentColor 0 1px, transparent 2px),
    radial-gradient(circle, currentColor 0 1px, transparent 2px),
    radial-gradient(circle, currentColor 0 1px, transparent 2px);
  background-size: 3.2rem 2.6rem, 4.4rem 3.8rem, 5.5rem 4.8rem;
  background-position: 0 0, 1.5rem 1rem, 3rem 1.5rem;
  content: "";
  pointer-events: none;
  animation: dg-button-particles 12s linear infinite;
}

#main-content.solutions-page .button:hover::before,
#main-content.solutions-page .button:focus-visible::before,
.site-header__cta:hover::before,
.site-header__cta:focus-visible::before {
  opacity: 0.62;
  animation-duration: 4s;
}

#main-content.solutions-page .button::after,
.site-header__cta::after {
  position: absolute;
  inset: 2px;
  border: 1px solid var(--dg-neon-edge);
  border-radius: inherit;
  box-shadow: inset 0 0 0.35rem var(--dg-neon-glow), inset 0 0 0.8rem var(--dg-neon-glow);
  content: "";
  pointer-events: none;
  animation: dg-button-neon 3.6s ease-in-out infinite;
}

#main-content.solutions-page .button:hover::after,
#main-content.solutions-page .button:focus-visible::after,
.site-header__cta:hover::after,
.site-header__cta:focus-visible::after {
  animation-duration: 1.6s;
}

@keyframes dg-button-particles {
  to { background-position: 3.2rem -2.6rem, -2.9rem 4.8rem, 8.5rem -3.3rem; }
}

@keyframes dg-button-neon {
  0%, 100% { opacity: 0.42; }
  50% { opacity: 1; }
}


@media(prefers-reduced-motion:reduce){#main-content.solutions-page .button::before,#main-content.solutions-page .button::after,.site-header__cta::before,.site-header__cta::after{animation:none}}

/* 2.9.0: approved palette, connected hero and section typewriter. */
.solutions-page .dg-typewriter.is-writing .dg-typewriter__character{opacity:0}
.solutions-page .dg-typewriter.is-writing .dg-typewriter__character.is-revealed{opacity:1}
.solutions-page__hero{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(125deg,var(--dg-color-navy),var(--dg-color-deep) 48%,var(--dg-color-purple))}
.solutions-page__hero>.container{position:relative;z-index:1}
.solutions-page__hero .eyebrow{color:var(--dg-color-orange)}
.solutions-page__hero-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 85% 25%,rgb(123 97 255 / 38%),transparent 48%),radial-gradient(ellipse at 90% 90%,rgb(255 60 172 / 15%),transparent 40%)}
.solutions-page__orbit{position:absolute;left:78%;top:42%;width:clamp(28rem,54vw,56rem);aspect-ratio:1;border-radius:50%;border:1px solid rgb(180 162 255 / 28%);background:repeating-radial-gradient(circle,transparent 0 5rem,rgb(123 97 255 / 13%) 5.05rem 5.12rem);transform:translate(-50%,-50%);animation:solutions-orbit 32s linear infinite}
.solutions-page__orbit::before,.solutions-page__orbit::after{content:'';position:absolute;inset:16%;border-radius:50%;border:1px dashed rgb(255 134 0 / 38%)}
.solutions-page__orbit::after{inset:34%;border-style:solid;border-color:rgb(255 255 255 / 18%)}
.solutions-page__orbit--two{width:clamp(24rem,42vw,44rem);left:84%;top:45%;opacity:.55;animation-direction:reverse;animation-duration:45s}
.solutions-page__rays{position:absolute;left:78%;top:42%;width:clamp(28rem,54vw,56rem);aspect-ratio:1;transform:translate(-50%,-50%);background:linear-gradient(35deg,transparent 49.9%,rgb(255 134 0 / 32%) 50%,transparent 50.1%),linear-gradient(140deg,transparent 49.9%,rgb(123 97 255 / 40%) 50%,transparent 50.1%);animation:solutions-rays 40s linear infinite}
.solutions-page__signal{position:absolute;width:.6rem;aspect-ratio:1;border-radius:50%;background:var(--dg-color-orange);box-shadow:0 0 1.5rem rgb(255 134 0 / 70%);animation:solutions-signal 6s ease-in-out infinite}
.solutions-page__signal--one{left:65%;top:20%}.solutions-page__signal--two{left:92%;top:52%;animation-delay:-2s}.solutions-page__signal--three{left:70%;top:78%;animation-delay:-4s}.solutions-page__signal--four{left:86%;top:16%;background:var(--dg-color-violet);box-shadow:0 0 1.5rem rgb(123 97 255 / 70%);animation-delay:-3s}
.solutions-page__capabilities{background:linear-gradient(135deg,rgb(41 98 255 / 7%),transparent 38%),linear-gradient(325deg,rgb(123 97 255 / 9%),transparent 45%),var(--dg-color-off-white)}
.solutions-page__capabilities header .eyebrow{color:var(--dg-color-blue)}
.solutions-page__card{position:relative;overflow:hidden;background:linear-gradient(120deg,rgb(66 40 211 / 7%),white 48%);box-shadow:0 .75rem 2.5rem rgb(39 24 126 / 5%)}
.solutions-page__card--demand{border-left-color:var(--dg-color-orange);background:linear-gradient(120deg,rgb(255 134 0 / 12%),white 48%)}
.solutions-page__card--analytics{background:linear-gradient(120deg,rgb(0 180 166 / 12%),white 48%)}
.solutions-page__card--crm{border-left-color:var(--dg-color-blue);background:linear-gradient(120deg,rgb(41 98 255 / 10%),white 48%)}
.solutions-page__card--automation{border-left-color:var(--dg-color-violet);background:linear-gradient(120deg,rgb(123 97 255 / 12%),white 48%)}
.solutions-page__card--demand .solutions-page__number{color:var(--dg-color-deep)}
.solutions-page__card--crm .solutions-page__number{color:var(--dg-color-blue)}
.solutions-page__connected{background:radial-gradient(ellipse at 90% 15%,rgb(123 97 255 / 25%),transparent 55%),linear-gradient(130deg,var(--dg-color-navy),var(--dg-color-deep))}
.solutions-page__connected .eyebrow{color:var(--dg-color-orange)}
.solutions-page__journey{background:rgb(13 16 38 / 35%)}
.solutions-page__journey li{border-radius:.5rem .5rem 0 0;background:rgb(66 40 211 / 28%);padding:1rem}
.solutions-page__measurement{background:rgb(0 180 166 / 10%);padding:1rem;border-radius:0 0 .5rem .5rem}
.solutions-page__method{background:linear-gradient(150deg,rgb(255 60 172 / 5%),transparent 50%),var(--dg-color-off-white)}
.solutions-page__method .eyebrow{color:var(--dg-color-purple)}
.solutions-page__method li{padding:1.5rem;border-radius:var(--dg-radius-md);background:white;box-shadow:0 .5rem 2rem rgb(39 24 126 / 4%)}
.solutions-page__method li:nth-child(2){border-top-color:var(--dg-color-orange)}
.solutions-page__method li:nth-child(3){border-top-color:var(--dg-color-violet)}
.solutions-page__final{background:radial-gradient(ellipse at 10% 90%,rgb(255 60 172 / 18%),transparent 45%),radial-gradient(ellipse at 85% 10%,rgb(123 97 255 / 42%),transparent 55%),var(--dg-color-deep)}
.solutions-page__final .eyebrow{color:var(--dg-color-orange)}
@keyframes solutions-orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes solutions-rays{to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes solutions-signal{0%,100%{translate:0 0;opacity:.6}50%{translate:0 -1rem;opacity:1}}
@media(max-width:760px){.solutions-page__hero-field{opacity:.5}.solutions-page__orbit,.solutions-page__rays{left:110%}.solutions-page__orbit--two{left:120%}}
@media(prefers-reduced-motion:reduce){.solutions-page__hero-field *{animation:none}.solutions-page .dg-typewriter__character{opacity:1!important}}
