/* CES Digital refresh. Page-scoped override for /digital/ and /digital/blog/ surfaces. */
:root {
  --ces-ink: #10142a;
  --ces-graphite: #2c3142;
  --ces-muted: #606a80;
  --ces-soft: #f5f7fb;
  --ces-white: #ffffff;
  --ces-line: #dce3ee;
  --ces-blue: #4f46e5;
  --ces-indigo: #3730a3;
  --ces-pulse: #0e7c6b;
  --ces-pulse-bright: #2fb39c;
  --font-display: "Barlow Condensed", Impact, "Arial Narrow", sans-serif;
  --font-body: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.scheme-digital {
  --accent: var(--ces-blue);
  --accent-light: var(--ces-blue);
  --accent-dim: rgba(79,70,229,0.12);
  --section-dark: var(--ces-ink);
  --white: var(--ces-white);
  --ink: var(--ces-ink);
  --ink-mid: var(--ces-graphite);
  --border: var(--ces-line);
  background: var(--ces-white) !important;
  color: var(--ces-ink);
  font-family: var(--font-body);
}

body.scheme-digital .reveal {
  opacity: 1 !important;
  transform: none !important;
}

.scheme-digital #readProgress {
  background: linear-gradient(90deg, var(--ces-blue), var(--ces-pulse-bright));
}

.scheme-digital .site-nav,
.scheme-digital .site-nav:not(.scrolled) {
  background: rgba(255,255,255,0.9);
  border-bottom: 1px solid rgba(16,20,42,0.1);
  box-shadow: none;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.scheme-digital .nav-logo,
.scheme-digital .site-nav:not(.scrolled) .nav-logo,
.scheme-digital .nav-links a,
.scheme-digital .site-nav:not(.scrolled) .nav-links a {
  color: var(--ces-ink);
}

.scheme-digital .nav-logo span,
.scheme-digital .site-nav:not(.scrolled) .nav-logo span,
.scheme-digital .nav-links a.active {
  color: var(--ces-blue);
}

.scheme-digital .nav-links a.active::after { background: var(--ces-blue); }
.scheme-digital .nav-hamburger span,
.scheme-digital .site-nav:not(.scrolled) .nav-hamburger span { background: var(--ces-ink); }
.scheme-digital .nav-cta,
.scheme-digital .site-nav:not(.scrolled) .nav-cta {
  background: var(--ces-ink);
  border-color: var(--ces-ink);
  border-radius: 999px;
  color: #fff;
  box-shadow: none;
}
.scheme-digital .nav-cta:hover {
  background: var(--ces-blue);
  border-color: var(--ces-blue);
  color: #fff;
}

.scheme-digital .blog-header {
  background:
    radial-gradient(circle at 16% 22%, rgba(99,102,241,0.14), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(31,181,122,0.13), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
  padding: clamp(124px, 16vh, 178px) 0 clamp(66px, 8vw, 104px) !important;
}

.scheme-digital .blog-header::after {
  content: "CES" !important;
  right: clamp(16px, 7vw, 110px) !important;
  color: rgba(79,70,229,0.055) !important;
  -webkit-text-stroke: 0 !important;
  letter-spacing: 0 !important;
}

.scheme-digital .blog-header .container,
.scheme-digital .blog-listing .container {
  max-width: 1240px !important;
}

.scheme-digital .blog-header__back {
  color: var(--ces-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .blog-header__back:hover { color: var(--ces-blue) !important; }

.scheme-digital .af-brand {
  gap: 10px !important;
  margin-bottom: 24px !important;
}

.scheme-digital .af-mark {
  width: 46px !important;
  height: 46px !important;
  border-radius: 14px !important;
  background: var(--ces-ink) !important;
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-size: 1.18rem !important;
}

.scheme-digital .af-wordmark {
  color: var(--ces-ink) !important;
  font-family: var(--font-body) !important;
  font-weight: 900 !important;
}

.scheme-digital .blog-header__section-label {
  color: var(--ces-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.84rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .blog-header h1 {
  max-width: 860px !important;
  color: var(--ces-ink) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(4.3rem, 9vw, 6rem) !important;
  letter-spacing: 0 !important;
  line-height: 0.82 !important;
  text-transform: none !important;
}

.scheme-digital .blog-header h1 em {
  color: var(--ces-blue) !important;
  font-style: normal !important;
}

.scheme-digital .blog-header p {
  max-width: 650px !important;
  border-left: 0 !important;
  padding-left: 0 !important;
  color: var(--ces-graphite) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1rem, 1.28vw, 1.18rem) !important;
  font-style: normal !important;
  line-height: 1.72 !important;
}

.scheme-digital .blog-h1 .hl > i {
  transform: none !important;
  animation: none !important;
}

.scheme-digital .blog-h1 .hl {
  overflow: visible !important;
  padding-bottom: 0.08em !important;
}

.scheme-digital .blog-listing {
  background: var(--ces-white) !important;
  padding: clamp(70px, 8vw, 112px) 0 clamp(86px, 10vw, 132px) !important;
}

.scheme-digital .blog-grid {
  grid-template-columns: repeat(auto-fit, minmax(292px, 1fr)) !important;
  gap: 18px !important;
}

.scheme-digital .blog-card {
  background: #fff !important;
  border: 1px solid var(--ces-line) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.scheme-digital .blog-card:hover {
  border-color: color-mix(in srgb, var(--ces-blue), #ffffff 35%) !important;
  box-shadow: 0 8px 8px -10px rgba(16,20,42,0.45) !important;
  transform: translateY(-3px) !important;
}

.scheme-digital .blog-card__body {
  padding: 26px !important;
  gap: 14px !important;
}

.scheme-digital .blog-card__tag {
  background: color-mix(in srgb, var(--ces-blue), white 88%) !important;
  color: var(--ces-blue) !important;
  font-family: var(--font-body) !important;
  font-size: 0.74rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border-radius: 999px !important;
  padding: 6px 11px !important;
}

.scheme-digital .blog-card__title {
  color: var(--ces-ink) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(1.18rem, 1.5vw, 1.48rem) !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .blog-card__excerpt {
  color: var(--ces-graphite) !important;
  font-size: 0.93rem !important;
  line-height: 1.62 !important;
}

.scheme-digital .blog-card__meta {
  border-top-color: var(--ces-line) !important;
  color: var(--ces-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .blog-card__meta::before { background: var(--ces-line) !important; }

.scheme-digital .blog-card--featured .blog-card__body {
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr) !important;
  column-gap: clamp(28px, 5vw, 72px) !important;
  padding: clamp(32px, 4vw, 54px) !important;
  background:
    radial-gradient(circle at 82% 18%, rgba(47,179,156,0.13), transparent 32%),
    #fff !important;
}

.scheme-digital .blog-card--featured .blog-card__title {
  font-family: var(--font-display) !important;
  font-size: clamp(3.2rem, 6vw, 6rem) !important;
  line-height: 0.82 !important;
  letter-spacing: 0 !important;
}

.scheme-digital .blog-card--featured .blog-card__excerpt {
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
}

.scheme-digital .atf-newsletter {
  background:
    radial-gradient(circle at 82% 28%, rgba(99,102,241,0.18), transparent 30%),
    linear-gradient(135deg, #eef0ff, #ffffff 58%) !important;
  border-top: 1px solid var(--ces-line) !important;
}

.scheme-digital .atf-newsletter p,
.scheme-digital .atf-newsletter h2,
.scheme-digital .atf-newsletter #subThanks {
  color: var(--ces-ink) !important;
}

.scheme-digital .atf-newsletter h2 {
  font-family: var(--font-display) !important;
  font-size: clamp(3rem, 6vw, 6rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 0.82 !important;
  text-transform: none !important;
}

.scheme-digital .atf-newsletter > div > p:first-child {
  color: var(--ces-blue) !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .atf-newsletter form input[type="email"] {
  background: #fff !important;
  border-color: var(--ces-line) !important;
  color: var(--ces-ink) !important;
  border-radius: 999px !important;
}

.scheme-digital .atf-newsletter form button {
  background: var(--ces-ink) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-weight: 900 !important;
  text-transform: none !important;
}

.scheme-digital .atf-newsletter form button:hover {
  background: var(--ces-blue) !important;
}

.scheme-digital .article-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 22%, rgba(99,102,241,0.14), transparent 28%),
    radial-gradient(circle at 78% 18%, rgba(31,181,122,0.13), transparent 25%),
    linear-gradient(180deg, #ffffff 0%, #f5f7fb 100%) !important;
  padding: clamp(122px, 16vh, 176px) 0 clamp(66px, 8vw, 104px) !important;
}

.scheme-digital .article-hero::after {
  content: "CES";
  position: absolute;
  right: clamp(16px, 7vw, 110px);
  bottom: 8px;
  color: rgba(79,70,229,0.055);
  font-family: var(--font-display);
  font-size: clamp(8rem, 20vw, 17rem);
  font-weight: 900;
  line-height: 0.76;
  pointer-events: none;
}

.scheme-digital .article-hero .container,
.scheme-digital .article-body .container,
.scheme-digital .article-nav .container,
.scheme-digital .article-references .container {
  width: min(100% - 48px, 780px) !important;
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative;
  z-index: 1;
}

.scheme-digital .article-back {
  color: var(--ces-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin-bottom: 28px !important;
}

.scheme-digital .article-back:hover { color: var(--ces-blue) !important; }

.scheme-digital .article-tag {
  display: inline-flex !important;
  align-items: center;
  min-height: 34px;
  margin-bottom: 24px !important;
  padding: 7px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--ces-blue), white 88%) !important;
  color: var(--ces-blue) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .article-title {
  max-width: 900px;
  margin: 0 0 clamp(28px, 4vw, 42px) !important;
  color: var(--ces-ink) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(3.4rem, 7vw, 6rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  line-height: 0.84 !important;
  text-wrap: balance;
}

.scheme-digital .article-title em {
  color: var(--ces-blue) !important;
  font-style: normal !important;
}

.scheme-digital .article-meta {
  gap: 12px !important;
  border-top: 1px solid var(--ces-line) !important;
  padding-top: 18px !important;
}

.scheme-digital .article-meta__item {
  color: var(--ces-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .article-meta__item strong {
  color: var(--ces-muted) !important;
  font-weight: 800 !important;
}

.scheme-digital .article-body {
  --white: var(--ces-white);
  --ink: var(--ces-ink);
  --ink-mid: var(--ces-graphite);
  --border: var(--ces-line);
  background: var(--ces-white) !important;
  padding: clamp(66px, 8vw, 108px) 0 clamp(86px, 10vw, 132px) !important;
  overflow-x: hidden;
}

.scheme-digital .article-intro {
  color: var(--ces-ink) !important;
  font-size: clamp(1.08rem, 1.5vw, 1.28rem) !important;
  font-weight: 600 !important;
  line-height: 1.78 !important;
  margin-bottom: clamp(36px, 5vw, 58px) !important;
  padding-bottom: clamp(32px, 5vw, 54px) !important;
  border-bottom: 1px solid var(--ces-line) !important;
}

.scheme-digital .article-body h2,
.scheme-digital .article-body h3,
.scheme-digital .article-body h4 {
  color: var(--ces-ink) !important;
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.scheme-digital .article-body h2 {
  margin-top: clamp(54px, 7vw, 82px) !important;
  margin-bottom: 18px !important;
  font-size: clamp(2.6rem, 5vw, 4.8rem) !important;
  line-height: 0.9 !important;
}

.scheme-digital .article-body h3 {
  margin-top: clamp(48px, 6vw, 76px) !important;
  margin-bottom: 16px !important;
  font-size: clamp(2.1rem, 3.7vw, 3.5rem) !important;
  line-height: 0.94 !important;
}

.scheme-digital .article-body h4 {
  margin-top: 34px !important;
  margin-bottom: 12px !important;
  font-size: clamp(1.45rem, 2.2vw, 2rem) !important;
  line-height: 1 !important;
}

.scheme-digital .article-body p,
.scheme-digital .article-body li,
.scheme-digital .article-list {
  color: var(--ces-graphite) !important;
  font-size: 1rem !important;
  line-height: 1.82 !important;
}

.scheme-digital .article-body p {
  margin-bottom: 22px !important;
  text-wrap: pretty;
}

.scheme-digital .article-body ul,
.scheme-digital .article-body ol {
  margin-bottom: 26px !important;
  padding-left: 1.2rem !important;
}

.scheme-digital .article-body li { margin-bottom: 10px !important; }
.scheme-digital .article-body strong { color: var(--ces-ink) !important; }
.scheme-digital .article-body a {
  color: var(--ces-blue) !important;
  text-decoration-color: color-mix(in srgb, var(--ces-blue), transparent 58%) !important;
}

.scheme-digital .article-divider {
  border: 0 !important;
  border-top: 1px solid var(--ces-line) !important;
  margin: clamp(42px, 6vw, 72px) 0 !important;
}

.scheme-digital .article-divider::after { display: none !important; }

.scheme-digital .article-callout,
.scheme-digital .article-warning,
.scheme-digital .article-cta-block,
.scheme-digital .article-visual,
.scheme-digital figure {
  border: 1px solid color-mix(in srgb, var(--ces-blue), #ffffff 70%) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 88% 14%, rgba(79,70,229,0.12), transparent 30%),
    var(--ces-soft) !important;
  box-shadow: none !important;
}

.scheme-digital .article-callout,
.scheme-digital .article-warning {
  margin: clamp(34px, 5vw, 52px) 0 !important;
  padding: clamp(22px, 4vw, 34px) !important;
  border-left-width: 1px !important;
}

.scheme-digital .article-callout p,
.scheme-digital .article-warning p,
.scheme-digital .article-cta-block p,
.scheme-digital figcaption {
  color: var(--ces-graphite) !important;
}

.scheme-digital .article-cta-block {
  margin-top: clamp(50px, 7vw, 82px) !important;
  padding: clamp(28px, 5vw, 46px) !important;
}

.scheme-digital .article-cta-block a,
.scheme-digital .article-cta-block a.btn-teal {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  background: var(--ces-ink) !important;
  color: #fff !important;
  border: 1px solid var(--ces-ink) !important;
  font-family: var(--font-body) !important;
  font-size: 0.9rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

.scheme-digital .article-cta-block a:hover,
.scheme-digital .article-cta-block a.btn-teal:hover {
  background: var(--ces-blue) !important;
  border-color: var(--ces-blue) !important;
  color: #fff !important;
}

.scheme-digital .article-references,
.scheme-digital .article-nav,
.scheme-digital section[style*="f7f6f3"],
.scheme-digital section[style*="var(--section-dark)"] {
  background: var(--ces-soft) !important;
  border-top: 1px solid var(--ces-line) !important;
}

.scheme-digital .article-references {
  padding: clamp(52px, 7vw, 84px) 0 !important;
}

.scheme-digital .article-references h4,
.scheme-digital section[style*="f7f6f3"] h2,
.scheme-digital section[style*="f7f6f3"] h3,
.scheme-digital section[style*="var(--section-dark)"] h2,
.scheme-digital section[style*="var(--section-dark)"] h3 {
  color: var(--ces-ink) !important;
}

.scheme-digital .article-references li,
.scheme-digital section[style*="f7f6f3"] p,
.scheme-digital section[style*="var(--section-dark)"] p {
  color: var(--ces-graphite) !important;
}

.scheme-digital .article-nav {
  padding: 28px 0 !important;
}

.scheme-digital .article-nav .container {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.scheme-digital .article-nav a {
  color: var(--ces-blue) !important;
  font-family: var(--font-body) !important;
  font-size: 0.86rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.scheme-digital .article-body [style*="background:#fff"],
.scheme-digital .article-body [style*="background: #fff"],
.scheme-digital .article-body [style*="background:white"],
.scheme-digital .article-body [style*="background: white"],
.scheme-digital .article-body [style*="var(--white)"] {
  background: var(--ces-soft) !important;
}

.scheme-digital .funnel-step,
.scheme-digital .assistant-visual span,
.scheme-digital .creative-visual span,
.scheme-digital .entity-visual div,
.scheme-digital .compare-visual div,
.scheme-digital .bio-visual div {
  background: #fff !important;
  color: var(--ces-graphite) !important;
  border-color: var(--ces-line) !important;
}

.scheme-digital .funnel-step.strong {
  background: var(--ces-blue) !important;
  color: #fff !important;
  border-color: var(--ces-blue) !important;
}

.scheme-digital .compare-visual span,
.scheme-digital .bio-visual p {
  color: var(--ces-muted) !important;
  border-top-color: var(--ces-line) !important;
}

.scheme-digital .site-footer {
  background: #f7f8fb !important;
  color: var(--ces-ink);
  border-top: 1px solid var(--ces-line);
}

.scheme-digital .footer-brand .nav-logo { color: var(--ces-ink); }
.scheme-digital .footer-brand p,
.scheme-digital .footer-col a { color: var(--ces-muted); }
.scheme-digital .footer-col h5,
.scheme-digital .footer-col a:hover,
.scheme-digital .footer-bottom a:hover { color: var(--ces-blue); }
.scheme-digital .footer-bottom { border-top-color: var(--ces-line); }
.scheme-digital .footer-bottom p,
.scheme-digital .footer-bottom a { color: color-mix(in srgb, var(--ces-muted), white 16%); }

@media (max-width: 680px) {
  .scheme-digital .blog-header h1 {
    font-size: clamp(4.1rem, 18vw, 5.8rem) !important;
  }

  .scheme-digital .blog-card--featured .blog-card__body {
    grid-template-columns: 1fr !important;
    grid-template-areas: "tag" "title" "excerpt" "meta" !important;
  }

  .scheme-digital .article-hero .container,
  .scheme-digital .article-body .container,
  .scheme-digital .article-nav .container,
  .scheme-digital .article-references .container {
    width: min(100% - 36px, 780px) !important;
    max-width: min(100% - 36px, 780px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .scheme-digital .article-title {
    font-size: clamp(3rem, 16vw, 4.6rem) !important;
    line-height: 0.88 !important;
  }

  .scheme-digital .article-nav .container {
    flex-direction: column;
  }
}
