                                                                      
                                                                              
                                                                                   
@import url("/assets/ds-v2/concepts/scrape-fourmula.css?v=20260722-6");
@import url("/assets/ds-v2/concepts/query-proof.css");
@import url("/assets/ds-v2/concepts/revenue-control.css?v=20260722-4");
@import url("/assets/ds-v2/concepts/practice-six.css");

:root {
  --dsv2-cream: #f6f1e6;
  --dsv2-cream-82: rgba(246, 241, 230, .82);
  --dsv2-cream-58: rgba(246, 241, 230, .58);
  --dsv2-cream-34: rgba(246, 241, 230, .34);
  --dsv2-line: rgba(228, 212, 255, .15);
  --dsv2-line-strong: rgba(228, 212, 255, .3);
  --dsv2-lavender: #e4d4ff;
  --dsv2-green: #bdf99a;
  --dsv2-void: #08030f;
  --dsv2-serif: "Fraunces", Georgia, serif;
  --dsv2-sans: "Hanken Grotesk", Arial, sans-serif;
  --dsv2-max: 1180px;
}

* { box-sizing: border-box; }
                             
body.data-services-page { margin: 0; color: var(--dsv2-cream); background: var(--dsv2-void); font-family: var(--dsv2-sans); }
.data-services-page main { position: relative; overflow: clip; }
.dsv2-wrap { width: min(calc(100% - 64px), var(--dsv2-max)); margin-inline: auto; }

                                          
.dsv2-hero {
  position: relative;
  min-height: 900px;
  height: 100svh;
  overflow: hidden;
  background: rgba(4, 1, 10, .56);
  isolation: isolate;
}
.dsv2-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 1, 12, .82) 0%, rgba(5, 1, 12, .2) 48%, rgba(5, 1, 12, .47) 100%),
    linear-gradient(0deg, rgba(5, 1, 12, .76), transparent 40%);
  pointer-events: none;
}
.dsv2-portrait { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; }
.dsv2-portrait g[fill="#e4d4ff"] circle { transform-box: fill-box; transform-origin: center; animation: dsv2Point 4.8s ease-in-out infinite; }
.dsv2-portrait g[fill="#e4d4ff"] circle:nth-child(2) { animation-delay: -1.2s; }
.dsv2-portrait g[fill="#e4d4ff"] circle:nth-child(3) { animation-delay: -2.7s; }
.dsv2-portrait g[fill="#e4d4ff"] circle:nth-child(4) { animation-delay: -3.5s; }
@keyframes dsv2Point { 0%, 100% { opacity: .45; transform: scale(.72); } 46% { opacity: 1; transform: scale(1.25); } }

.dsv2-hero-copy { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; }
.dsv2-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--dsv2-lavender);
  font: 650 11px/1 var(--dsv2-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
}
.dsv2-kicker::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 16px currentColor; }
.dsv2-hero h1 {
  max-width: 8.6ch;
  margin: 18px 0 0;
  color: var(--dsv2-cream);
  font: 460 clamp(58px, 7.2vw, 98px)/.91 var(--dsv2-serif);
  letter-spacing: -.055em;
  text-wrap: balance;
}
.dsv2-hero h1 em { color: var(--dsv2-lavender); font-weight: 430; }
.dsv2-hero-lead { max-width: 42ch; margin: 26px 0 0; color: var(--dsv2-cream-82); font: 500 18px/1.55 var(--dsv2-sans); }
.dsv2-hero-lead strong { color: var(--dsv2-cream); }
.dsv2-jump { display: inline-flex; align-items: center; gap: 18px; margin-top: 30px; color: var(--dsv2-cream); font: 650 14px/1 var(--dsv2-sans); text-decoration: none; }
.dsv2-jump::after { content: "↘"; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--dsv2-line-strong); border-radius: 50%; transition: transform .25s ease, background .25s ease; }
.dsv2-jump:hover::after,
.dsv2-jump:focus-visible::after { transform: translate(3px, 3px); background: rgba(228, 212, 255, .1); }
.dsv2-scale { position: absolute; z-index: 3; top: 128px; right: max(32px, calc((100vw - var(--dsv2-max)) / 2)); text-align: right; }
.dsv2-scale strong { display: block; font: 480 clamp(29px, 3vw, 44px)/1 var(--dsv2-serif); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.dsv2-scale span { display: block; margin-top: 9px; color: var(--dsv2-cream-58); font: 650 10px/1 var(--dsv2-sans); letter-spacing: .16em; text-transform: uppercase; }
.dsv2-trust-rail { position: absolute; z-index: 3; right: max(32px, calc((100vw - var(--dsv2-max)) / 2)); bottom: 0; width: 310px; padding: 0 0 54px; border-top: 1px solid var(--dsv2-line-strong); }
.dsv2-trust-rail h2 { margin: 18px 0 72px; font: 600 15px/1.2 var(--dsv2-sans); }
.dsv2-trust-rail p { margin: 0; color: var(--dsv2-cream-58); font: 500 14px/1.5 var(--dsv2-sans); }
.dsv2-trust-rail strong { color: var(--dsv2-cream); }

                                                                                  
.dsv2-chapters {
  position: relative;
  z-index: 24;
  border-block: 1px solid var(--dsv2-line);
  background: rgba(8, 3, 15, .78);
  backdrop-filter: blur(18px) saturate(115%);
}
.dsv2-chapters .dsv2-wrap { display: grid; grid-template-columns: 170px repeat(4, minmax(0, 1fr)); min-height: 64px; }
.dsv2-chapters span,
.dsv2-chapters a { display: flex; align-items: center; min-width: 0; padding: 0 18px; border-right: 1px solid var(--dsv2-line); }
.dsv2-chapters span { padding-left: 0; color: var(--dsv2-cream-34); font: 650 9px/1 var(--dsv2-sans); letter-spacing: .15em; text-transform: uppercase; }
.dsv2-chapters a { color: var(--dsv2-cream-58); font: 620 12px/1.2 var(--dsv2-sans); text-decoration: none; transition: color 220ms ease, background 220ms ease; }
.dsv2-chapters a:last-child { border-right: 0; }
.dsv2-chapters a:hover,
.dsv2-chapters a:focus-visible { color: var(--dsv2-cream); background: rgba(228, 212, 255, .055); }
.dsv2-chapters a::before { content: attr(data-index); margin-right: 10px; color: var(--dsv2-cream-34); font-size: 9px; letter-spacing: .1em; }

.data-services-page :is(.revenue-control, .scrape-products, .decision-query, .practice-six) { border-top: 1px solid var(--dsv2-line); scroll-margin-top: 128px; }
.data-services-page .revenue-control { padding-top: clamp(104px, 9vw, 142px); }
.data-services-page .scrape-products { padding-top: clamp(104px, 9vw, 142px); }
.data-services-page .decision-query { padding-top: clamp(104px, 9vw, 142px); }
.data-services-page .practice-six { padding-top: clamp(104px, 9vw, 142px); }

                                                                           
                                                                                
html:not(.has-js) .data-services-page .reader-controls,
html:not(.has-js) .data-services-page .product-index { display: none; }
html:not(.has-js) .data-services-page :is(.reader-body, .product-stage) { min-height: 0; }
html:not(.has-js) .data-services-page .product-stage { display: grid; }
html:not(.has-js) .data-services-page .data-product,
html:not(.has-js) .data-services-page .data-product[hidden] {
  position: relative;
  inset: auto;
  display: grid !important;
  min-height: 604px;
  border-top: 1px solid var(--ds-line);
}
html:not(.has-js) .data-services-page .data-product:first-child { border-top: 0; }

                                                                         
.dsv2-live-example { position: relative; border-top: 1px solid var(--dsv2-line); padding: 0; background: rgba(8, 3, 16, .64); }
.dsv2-live-example .dsv2-wrap { display: grid; grid-template-columns: 170px minmax(0, 1fr) 250px; gap: 34px; align-items: center; min-height: 148px; }
.dsv2-live-example > .dsv2-wrap > span { color: var(--dsv2-cream-34); font: 670 9px/1 var(--dsv2-sans); letter-spacing: .16em; text-transform: uppercase; }
.dsv2-live-example strong { display: block; color: var(--dsv2-cream); font: 430 clamp(23px, 2.2vw, 32px)/1.1 var(--dsv2-serif); letter-spacing: -.035em; }
.dsv2-live-example p { margin: 9px 0 0; color: var(--dsv2-cream-58); font: 500 13px/1.48 var(--dsv2-sans); }
.dsv2-live-example a { justify-self: end; color: var(--dsv2-cream); font: 650 11px/1 var(--dsv2-sans); letter-spacing: .08em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid var(--dsv2-line-strong); padding-bottom: 6px; }
.dsv2-live-example a::after { content: " ↗"; color: var(--dsv2-lavender); }

.dsv2-close { position: relative; padding: clamp(110px, 11vw, 166px) 0 116px; border-top: 1px solid var(--dsv2-line); overflow: hidden; isolation: isolate; }
.dsv2-close::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 72% 42%, rgba(139, 92, 189, .23), transparent 43%); }
.dsv2-close-grid { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .62fr); gap: clamp(58px, 8vw, 110px); align-items: end; }
.dsv2-close h2 { max-width: 10ch; margin: 19px 0 0; color: var(--dsv2-cream); font: 440 clamp(54px, 6.7vw, 92px)/.92 var(--dsv2-serif); letter-spacing: -.055em; }
.dsv2-close-copy { padding-top: 21px; border-top: 1px solid var(--dsv2-line-strong); }
.dsv2-close-copy p { margin: 0; color: var(--dsv2-cream-82); font: 500 17px/1.58 var(--dsv2-sans); }
.dsv2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.dsv2-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 23px; border: 1px solid var(--dsv2-line-strong); border-radius: 7px; color: var(--dsv2-cream); background: rgba(228, 212, 255, .035); font: 650 13px/1 var(--dsv2-sans); text-decoration: none; transition: transform 220ms ease, border-color 220ms ease, background 220ms ease; }
.dsv2-button--primary { color: #170b20; border-color: rgba(246, 241, 230, .65); background: linear-gradient(135deg, #f4ecff, #cdb6ed); box-shadow: inset 0 1px rgba(255,255,255,.72), 0 13px 34px rgba(85, 44, 126, .22); }
.dsv2-button:hover,
.dsv2-button:focus-visible { transform: translateY(-2px); border-color: var(--dsv2-lavender); }

@media (max-width: 900px) {
  .dsv2-wrap { width: min(calc(100% - 36px), var(--dsv2-max)); }
  .dsv2-hero { height: auto; min-height: 940px; }
  .dsv2-hero-copy { align-items: flex-start; padding-top: 172px; }
  .dsv2-hero h1 { max-width: 8ch; font-size: clamp(54px, 12vw, 76px); }
  .dsv2-scale { top: 112px; right: 18px; }
  .dsv2-trust-rail { right: 18px; width: min(310px, calc(100% - 36px)); }
  .dsv2-chapters { overflow-x: auto; }
  .dsv2-chapters .dsv2-wrap { width: max-content; min-width: 100%; grid-template-columns: 118px repeat(4, 180px); }
  .dsv2-live-example .dsv2-wrap { grid-template-columns: 120px minmax(0, 1fr); padding-block: 28px; }
  .dsv2-live-example a { grid-column: 2; justify-self: start; }
  .dsv2-close-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .dsv2-portrait { opacity: .46; transform: translateX(24%); }
  .dsv2-scale { display: none; }
  .dsv2-trust-rail h2 { margin-bottom: 34px; }
  .dsv2-chapters .dsv2-wrap { grid-template-columns: 92px repeat(4, 154px); }
  .dsv2-chapters span,
  .dsv2-chapters a { padding-inline: 13px; }
  .dsv2-live-example .dsv2-wrap { display: block; }
  .dsv2-live-example strong { margin-top: 14px; }
  .dsv2-live-example a { display: inline-block; margin-top: 18px; }
  .dsv2-actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
                             
  .dsv2-portrait g[fill="#e4d4ff"] circle { animation: none; opacity: .75; transform: none; }
}

                                                                                                
                                                                               
  
                                                                                               
                                                                                               
                                                                                                 
                               
                                                                                            
                                                                                           
                                                                                  
  
                                                                                              
                                                                                              
                                                                             
@media (min-width: 981px) {
  .source-stack .source-sheet.is-active > footer,
  .source-stack .source-sheet.is-active > footer b {
    color: #FFFFFF;
    opacity: 1;
  }
}
