/* CD-DUPLICATION.COM DESIGN TOKENS — change colours globally here. */
:root {
  --cdx-primary: #2f029e;
  --cdx-secondary: #a648ed;
  --cdx-accent: #fccf42;
  --cdx-primary-dark: #210074;
  --cdx-ink: #211b35;
  --cdx-muted: #645e75;
  --cdx-bg: #ffffff;
  --cdx-surface: #f8f6fe;
  --cdx-surface-2: #f1ecfc;
  --cdx-border: #e7e0f2;
  --cdx-gradient: linear-gradient(112deg, #2f029e 0%, #a648ed 63%, #fccf42 100%);
  --cdx-gradient-purple: linear-gradient(120deg, #2f029e 0%, #6b23d0 55%, #a648ed 100%);
  --cdx-radius-sm: 10px;
  --cdx-radius: 16px;
  --cdx-radius-lg: 26px;
  --cdx-shadow: 0 12px 36px rgba(47, 2, 158, .08);
  --cdx-width: 1240px;
  --cdx-ease: 220ms ease;
  --cdx-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
html { scroll-behavior: smooth; }
body.cdx-body { margin: 0; background: var(--cdx-bg); color: var(--cdx-ink); font-family: var(--cdx-font); -webkit-font-smoothing: antialiased; }
.cdx-body, .cdx-body * { box-sizing: border-box; }
.cdx-body :is(button,input,select,textarea) { font: inherit; }
.cdx-body :is(a, button) { -webkit-tap-highlight-color: transparent; }
.cdx-body a { transition: color var(--cdx-ease), background var(--cdx-ease), transform var(--cdx-ease), border-color var(--cdx-ease); }
.cdx-body a:focus-visible, .cdx-body button:focus-visible, .cdx-body :is(input,textarea,select):focus-visible { outline: 3px solid var(--cdx-secondary); outline-offset: 3px; }
.cdx-container { width: min(var(--cdx-width), calc(100% - 48px)); margin-inline: auto; }
.cdx-icon {
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 auto;
  width: var(--cdx-icon-size, 20px);
  height: var(--cdx-icon-size, 20px);
  background-color: transparent;
  -webkit-mask-image: var(--cdx-mask-image, none);
  mask-image: var(--cdx-mask-image, none);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.cdx-skip-link { position: fixed; z-index: 99999; top: -100px; left: 12px; background: #fff; padding: 12px 20px; color: var(--cdx-primary); border-radius: 10px; }
.cdx-skip-link:focus { top: 12px; }
.cdx-eyebrow { display: inline-block; color: var(--cdx-secondary); text-transform: uppercase; font-size: 12px; letter-spacing: .13em; font-weight: 800; }
.cdx-display { font-size: clamp(35px, 5vw, 64px); line-height: 1.08; letter-spacing: -.045em; font-weight: 800; }
.cdx-section-title { font-size: clamp(28px, 3.4vw, 42px); line-height: 1.16; letter-spacing: -.035em; font-weight: 800; }
.cdx-muted { color: var(--cdx-muted); }
.cdx-gradient-text { background: var(--cdx-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cdx-grad-line { height: 4px; background: var(--cdx-gradient); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .cdx-body *, .cdx-body *::before, .cdx-body *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
