/* Alternating graphite and pale studio gradients; transparent product cutouts. */
#content-capabilities .content-mosaic {
  --service-row: clamp(180px,20vw,250px);
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  grid-template-rows: repeat(3,var(--service-row)) !important;
  grid-auto-rows: var(--service-row) !important;
  gap: 14px !important;
  height: auto !important;
  transition: none !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(n) {
  --service-surface: linear-gradient(145deg,#d2dce1 0%,#e7eeef 60%,#f8faf6 100%);
  --service-ink: #151a1e;
  --service-muted: #3d515d;
  --service-accent: #193e4a;
  --service-tag-bg: rgba(255,255,255,.5);
  --service-tag-ink: #415963;
  --service-action-border: #101515;
  --service-focus: #4f969b;
  --object-width: 72%;
  --object-height: 57%;
  --object-right: -8px;
  --object-bottom: -12px;
  grid-area: auto !important;
  position: relative !important;
  align-self: stretch !important;
  display: block !important;
  width: 100% !important;
  height: calc(100% + var(--service-detail-extra,0px)) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  top: calc(0px - var(--service-detail-lift,0px)) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: var(--service-surface) !important;
  opacity: 1 !important;
  filter: none !important;
  perspective: none !important;
  transform: scale(1) !important;
  transform-origin: center !important;
  z-index: 1 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: transform .45s cubic-bezier(.22,.68,.25,1), height .45s cubic-bezier(.22,.68,.25,1), top .45s cubic-bezier(.22,.68,.25,1), box-shadow .4s ease !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) {
  --service-surface: radial-gradient(ellipse at 95% 88%,rgba(112,132,143,.42) 0%,rgba(112,132,143,0) 66%),linear-gradient(145deg,#0e1419 0%,#1c272f 56%,#394a53 100%);
  --service-ink: #f6f8fa;
  --service-muted: #ccd7de;
  --service-accent: #bde4e1;
  --service-tag-bg: rgba(255,255,255,.1);
  --service-tag-ink: #dce8ed;
  --service-action-border: rgba(255,255,255,.3);
  --service-focus: #a6d8de;
  --object-width: 94%; --object-height: 70%; --object-right: -25px; --object-bottom: -28px;
  grid-column: span 2 !important; grid-row: span 2 !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(2) {
  --service-surface: radial-gradient(ellipse at 100% 100%,rgba(255,255,253,.95) 0%,rgba(255,255,253,0) 65%),linear-gradient(145deg,#cbd5da 0%,#e8edef 57%,#f9faf6 100%);
  --object-width: 48%; --object-height: 96%; --object-right: 3px; --object-bottom: -27px;
  grid-column: span 2 !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(3) { --service-surface: radial-gradient(ellipse at 90% 95%,rgba(244,250,245,.9) 0%,rgba(244,250,245,0) 68%),linear-gradient(145deg,#a4babf 0%,#ccdce0 56%,#eef4f0 100%); --service-muted: #203640; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(4) { --service-surface: radial-gradient(ellipse at 98% 95%,rgba(255,255,251,.9) 0%,rgba(255,255,251,0) 64%),linear-gradient(145deg,#d7e0e4 0%,#e9efef 55%,#fafaf7 100%); --object-width: 86%; --object-right: -17px; --object-bottom: -17px; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(5) { --service-surface: radial-gradient(ellipse at 93% 90%,rgba(245,249,245,.85) 0%,rgba(245,249,245,0) 64%),linear-gradient(145deg,#94a3b1 0%,#c7d3da 58%,#f0f4f2 100%); --service-muted: #1d303c; --object-width: 68%; --object-right: -7px; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(6) {
  --service-surface: radial-gradient(ellipse at 90% 92%,rgba(67,97,110,.55) 0%,rgba(67,97,110,0) 67%),linear-gradient(150deg,#11181f 0%,#24313d 58%,#3c5060 100%);
  --service-ink: #f4f8fc; --service-muted: #c8d6e0; --service-accent: #b7e5ed;
  --service-tag-bg: rgba(255,255,255,.1); --service-tag-ink: #d6e7ef;
  --service-action-border: rgba(255,255,255,.3); --service-focus: #a6d8de;
}
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(7) { --service-surface: radial-gradient(ellipse at 95% 90%,rgba(246,251,245,.9) 0%,rgba(246,251,245,0) 65%),linear-gradient(145deg,#bcced0 0%,#dde8e5 58%,#f5f8f1 100%); --service-muted: #304e58; --object-width: 88%; --object-right: -18px; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(8) {
  --service-surface: radial-gradient(ellipse at 100% 90%,rgba(103,120,119,.4) 0%,rgba(103,120,119,0) 62%),linear-gradient(145deg,#14191c 0%,#282f34 58%,#434f53 100%);
  --service-ink: #f6f8f8; --service-muted: #d0d8da; --service-accent: #c3e4df;
  --service-tag-bg: rgba(255,255,255,.1); --service-tag-ink: #e0e9e8;
  --service-action-border: rgba(255,255,255,.3); --service-focus: #a6d8de;
  --object-width: 73%;
}
#content-capabilities .content-mosaic article.content-mosaic-card.is-hovered { transform: scale(1.06) !important; z-index: 20 !important; box-shadow: 0 15px 34px rgba(35,50,61,.13) !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:focus-visible { outline: 2px solid var(--service-focus) !important; outline-offset: 4px; }
#content-capabilities .content-mosaic article.content-mosaic-card::before,
#content-capabilities .content-mosaic article.content-mosaic-card::after { content: none !important; display: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card * { text-shadow: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-media {
  position: absolute !important;
  inset: auto var(--object-right) var(--object-bottom) auto !important;
  z-index: 0 !important;
  width: var(--object-width) !important;
  height: var(--object-height) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  pointer-events: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: translate(0,0) scale(1) !important;
  transform-origin: right bottom !important;
  transition: opacity .4s ease, filter .45s ease, transform .55s ease !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-media::before,
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-media::after { content: none !important; display: none !important; background: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-media > img {
  position: absolute !important; inset: 0 !important; display: block !important;
  width: 100% !important; height: 100% !important; max-width: none !important;
  object-fit: contain !important; object-position: right bottom !important;
  margin: 0 !important; opacity: 1 !important; background: none !important;
  filter: none !important; transform: none !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card.is-hovered .service-card-media { opacity: .13 !important; filter: blur(2px) !important; transform: translate(10px,8px) scale(1.025) !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-shade { display: none !important; background: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-face {
  position: absolute !important; inset: 0 !important; z-index: 2 !important;
  width: 100% !important; height: 100% !important; min-height: 0 !important;
  box-sizing: border-box !important; margin: 0 !important; padding: 24px !important;
  border: none !important; background: transparent !important; transform: none !important;
  transition: opacity .25s ease, visibility .25s ease !important;
}
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-front { display: block !important; opacity: 1 !important; visibility: visible !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-copy { position: static !important; display: flex !important; flex-direction: column !important; gap: 10px !important; width: 100% !important; padding: 0 !important; margin: 0 !important; background: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-front h3 { max-width: 18em !important; margin: 0 !important; color: var(--service-ink) !important; font-size: clamp(18px,1.48vw,26px) !important; line-height: 1.35 !important; font-weight: 750 !important; letter-spacing: -.025em !important; transform: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-summary { display: block !important; max-width: 27em !important; margin: 0 !important; color: var(--service-muted) !important; font-size: 13px !important; line-height: 1.65 !important; opacity: 1 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-face { padding: 32px !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-front h3 { font-size: clamp(25px,2.15vw,36px) !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-summary { color: var(--service-muted) !important; font-size: 15px !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(2) .service-card-copy { max-width: 65% !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-back { display: grid !important; grid-template-columns: minmax(0,1fr) !important; grid-template-rows: minmax(0,1fr) auto !important; gap: 18px !important; color: var(--service-ink) !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-back::before,
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-back::after { content: none !important; display: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card.is-hovered .service-card-front { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card.is-hovered .service-card-back { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-card-back .service-card-body { display: flex !important; flex-direction: column !important; position: static !important; inset: auto !important; flex: none !important; width: 100% !important; height: auto !important; min-height: 0 !important; max-height: none !important; max-block-size: none !important; margin: 0 !important; padding: 0 !important; overflow: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; transition: none !important; color: var(--service-ink) !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-content { flex: 0 0 auto !important; width: 100% !important; min-width: 0 !important; margin: auto 0 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-kicker { margin: 0 0 10px !important; color: var(--service-muted) !important; font-size: 11px !important; line-height: 1.5 !important; font-weight: 550 !important; letter-spacing: .06em !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-lead { margin: 0 0 14px !important; color: var(--service-ink) !important; font-size: clamp(22px,1.55vw,28px) !important; line-height: 1.35 !important; font-weight: 700 !important; letter-spacing: -.02em !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-lead em { color: var(--service-accent) !important; font-style: normal !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-description { margin: 0 !important; color: var(--service-muted) !important; font-size: 14px !important; line-height: 1.8 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; list-style: none !important; margin: 17px 0 0 !important; padding: 0 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-tags li { margin: 0 !important; padding: 5px 9px !important; border: none !important; border-radius: 5px !important; background: var(--service-tag-bg) !important; color: var(--service-tag-ink) !important; font-size: 11px !important; line-height: 1.45 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-stats { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 12px !important; margin: 0 0 14px !important; padding: 8px 0 !important; border: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-stats strong { display: block !important; margin-bottom: 4px !important; color: var(--service-ink) !important; font-size: 25px !important; line-height: 1.2 !important; font-weight: 650 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-stats span { color: var(--service-muted) !important; font-size: 12px !important; line-height: 1.5 !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-footer { display: flex !important; justify-content: flex-end !important; align-items: center !important; width: 100% !important; margin: 0 !important; padding: 0 !important; border: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-footer .service-case-link { position: static !important; display: inline-flex !important; justify-content: center !important; align-items: center !important; gap: 16px !important; min-height: 44px !important; min-width: 132px !important; box-sizing: border-box !important; margin: 0 !important; padding: 12px 20px !important; border: 1px solid var(--service-action-border) !important; border-radius: 999px !important; background: #101515 !important; color: #fff !important; font-size: 14px !important; line-height: 1.2 !important; font-weight: 650 !important; text-decoration: none !important; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; filter: none !important; box-shadow: none !important; transition: background-color .2s ease !important; }
#content-capabilities .content-mosaic article.content-mosaic-card .service-detail-footer .service-case-link:hover { background: #000 !important; border-color: var(--service-action-border) !important; box-shadow: none !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-detail-content { max-width: 650px !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-detail-lead { font-size: clamp(30px,2.7vw,44px) !important; line-height: 1.25 !important; margin-bottom: 18px !important; }
#content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-detail-description { font-size: 15px !important; }
#content-capabilities { min-height: calc(100svh - var(--nav-h,80px)) !important; box-sizing: border-box !important; background: #fff !important; margin-bottom: 0 !important; padding-bottom: 48px !important; }
.cc-deck-page:has(#content-capabilities),.cc-deck-content:has(> #content-capabilities) { background: #fff !important; min-height: 100% !important; }
#content-capabilities .content-mosaic-card.is-visible { animation: service-background-card-arrive .65s backwards cubic-bezier(.2,.72,.22,1); animation-delay: var(--card-delay,0ms); }
@keyframes service-background-card-arrive { from { translate: 0 18px; } to { translate: 0 0; } }
@media(max-width:1100px) and (min-width:901px) {
  #content-capabilities .content-mosaic article.content-mosaic-card .service-card-face { padding: 19px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-card-front h3 { font-size: 17px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-card-summary { font-size: 12px !important; }
}
@media(max-width:900px) {
  #content-capabilities .content-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)) !important; grid-template-rows: none !important; grid-auto-rows: 300px !important; gap: 10px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) { grid-row: auto !important; --object-width: 56%; --object-height: 96%; --object-bottom: -24px; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(n+3) { --object-height: 64%; }
  #content-capabilities .content-mosaic article.content-mosaic-card.is-hovered { transform: scale(1.025) !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-card-face { padding: 22px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-card-front h3 { font-size: 21px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-detail-lead,
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-detail-lead { font-size: 25px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card .service-detail-description,
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-detail-description { font-size: 13px !important; }
}
@media(max-width:520px) {
  #content-capabilities .content-mosaic { grid-template-columns: minmax(0,1fr) !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(n) { grid-column: auto !important; grid-row: auto !important; --object-width: 68%; --object-height: 65%; --object-right: -8px; --object-bottom: -14px; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-face { padding: 24px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-front h3 { font-size: 24px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(1) .service-card-summary { font-size: 13px !important; }
  #content-capabilities .content-mosaic article.content-mosaic-card:nth-child(2) .service-card-copy { max-width: 100% !important; }
}
@media(prefers-reduced-motion:reduce) {
  #content-capabilities .content-mosaic article.content-mosaic-card,
  #content-capabilities .content-mosaic article.content-mosaic-card * { animation: none !important; transition: none !important; }
}
