/*
 * Carmelo Barbera — editorial identity layer
 * Visual-only override. Content, document hierarchy and SEO markup stay untouched.
 */

:root {
  --cb-paper: #f4f6f7;
  --cb-paper-deep: #e5e9ec;
  --cb-surface: #ffffff;
  --cb-ink: #25313b;
  --cb-ink-soft: #56636e;
  --cb-muted: #64717b;
  --cb-line: #cfd6db;
  --cb-line-strong: #aab5bc;
  --cb-blue: #2f78b7;
  --cb-blue-text: #246293;
  --cb-orange: #b86a3c;
  --cb-orange-text: #8b4b2e;
  --cb-acid: #e4eef6;
  --cb-sand: #f1e2d7;
  --cb-shadow: 0 16px 42px rgba(37,49,59,.08);
  --cb-shadow-strong: 0 20px 54px rgba(37,49,59,.13);
  --cb-radius: 12px;
}

html { background: var(--cb-paper); }

body.cb-theme,
body.cb-theme.neon-page {
  margin: 0;
  color: var(--cb-ink) !important;
  background:
    linear-gradient(rgba(37,49,59,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,49,59,.035) 1px, transparent 1px),
    radial-gradient(circle at 88% 7%, rgba(47,120,183,.10), transparent 27rem),
    radial-gradient(circle at 7% 34%, rgba(184,106,60,.08), transparent 24rem),
    var(--cb-paper) !important;
  background-size: 48px 48px, 48px 48px, auto, auto, auto !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}

body.cb-theme::before,
body.cb-theme.neon-page::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: .32;
  pointer-events: none;
  background:
    radial-gradient(circle at 0 0, rgba(255,255,255,.9), transparent 28rem),
    radial-gradient(circle at 100% 100%, rgba(241,226,215,.24), transparent 30rem) !important;
  mask-image: none !important;
}

body.cb-theme .site-shell::before,
body.cb-theme .site-shell::after,
body.cb-theme.neon-page main::before,
body.cb-theme.neon-page main::after { display: none !important; }

body.cb-theme main { color: var(--cb-ink); }
body.cb-theme main p { text-wrap: pretty; }

body.cb-theme h1,
body.cb-theme h2,
body.cb-theme .section-title,
body.cb-theme .hero-copy h1,
body.cb-theme .step-heading h2,
body.cb-theme .teaser-copy h2 {
  color: var(--cb-ink) !important;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
  text-wrap: balance;
}

body.cb-theme h3,
body.cb-theme h4 { color: var(--cb-ink) !important; }

body.cb-theme .gradient-text,
body.cb-theme h1 em,
body.cb-theme h2 em,
body.cb-theme .hero-copy h1 em,
body.cb-theme .step-heading h2 em,
body.cb-theme .teaser-copy h2 em {
  color: var(--cb-orange) !important;
  background: none !important;
  -webkit-text-fill-color: var(--cb-orange) !important;
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
}

/* Utility colour translation: keeps the existing HTML and moves it into the new palette. */
body.cb-theme .text-white,
body.cb-theme .text-zinc-900,
body.cb-theme .text-zinc-800,
body.cb-theme .text-\[\#20195e\] { color: var(--cb-ink) !important; }
body.cb-theme .text-zinc-700,
body.cb-theme .text-zinc-600,
body.cb-theme .text-zinc-500,
body.cb-theme .text-white\/85,
body.cb-theme .text-white\/\[\.85\],
body.cb-theme .text-\[\#e4e2ff\],
body.cb-theme .text-\[\#d9d5ff\],
body.cb-theme .text-\[\#d8d6f7\],
body.cb-theme .text-\[\#c8c7e9\] { color: var(--cb-ink-soft) !important; }
body.cb-theme .text-\[\#8d90d6\],
body.cb-theme .text-\[\#a99cff\],
body.cb-theme .text-\[\#c9c2ff\],
body.cb-theme .text-\[\#9f9bd7\] { color: var(--cb-blue-text) !important; }
body.cb-theme .text-\[\#ffb19b\],
body.cb-theme .text-\[\#ffb19d\] { color: var(--cb-orange-text) !important; }

body.cb-theme .border-white\/10,
body.cb-theme .border-white\/\[\.08\],
body.cb-theme .border-white\/\[\.15\],
body.cb-theme .border-zinc-200 { border-color: rgba(37,49,59,.22) !important; }

body.cb-theme .bg-white,
body.cb-theme .bg-zinc-50 { background-color: var(--cb-surface) !important; }
body.cb-theme .bg-white\/5,
body.cb-theme .bg-white\/\[\.025\],
body.cb-theme .bg-white\/\[\.045\] { background: rgba(255,255,255,.64) !important; }
body.cb-theme .bg-\[\#7867ff\] {
  color: #fff !important;
  background: var(--cb-blue) !important;
  box-shadow: 3px 3px 0 var(--cb-orange) !important;
}

/* Header and navigation */
body.cb-theme > .site-shell > .sticky.top-0,
body.cb-theme > .sticky.top-0,
body.cb-theme.neon-page .sticky.top-0,
body.cb-theme .site-header {
  background: rgba(244,246,247,.94) !important;
  border-bottom: 1px solid var(--cb-line-strong) !important;
  box-shadow: 0 4px 0 rgba(37,49,59,.08) !important;
  backdrop-filter: blur(18px) saturate(.9) !important;
}

body.cb-theme header:not(.site-header) { max-width: 80rem !important; }
body.cb-theme header a,
body.cb-theme header button,
body.cb-theme .site-header a,
body.cb-theme .site-header button {
  color: var(--cb-ink) !important;
  text-shadow: none !important;
}

body.cb-theme header > div > a:first-child span:first-child,
body.cb-theme .brand-mark {
  color: transparent !important;
  background-color: #fff !important;
  background-image: url('/favicon.png?v=4') !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 5px !important;
  box-shadow: 3px 3px 0 var(--cb-orange) !important;
  transform: rotate(-2deg);
  font-size: 0 !important;
  overflow: hidden;
}

body.cb-theme header > div > a:first-child:hover span:first-child,
body.cb-theme .brand:hover .brand-mark { transform: rotate(2deg) translateY(-1px); }

body.cb-theme .nav-link,
body.cb-theme .site-nav a {
  color: var(--cb-ink) !important;
  position: relative;
  text-shadow: none !important;
}

body.cb-theme .nav-link::after,
body.cb-theme .site-nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  background: var(--cb-orange);
  transition: right .2s ease;
}

body.cb-theme .nav-link:hover::after,
body.cb-theme .site-nav a:not(.nav-cta):hover::after { right: 0; }

body.cb-theme #servicesMenu,
body.cb-theme #resourcesMenu {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: var(--cb-shadow-strong) !important;
  backdrop-filter: none !important;
}

body.cb-theme #servicesMenu a,
body.cb-theme #resourcesMenu a,
body.cb-theme #servicesMenu div,
body.cb-theme #resourcesMenu div { color: var(--cb-ink-soft) !important; }
body.cb-theme #servicesMenu .font-medium,
body.cb-theme #resourcesMenu .font-medium { color: var(--cb-ink) !important; }
body.cb-theme #servicesMenu a:hover,
body.cb-theme #resourcesMenu a:hover { background: rgba(228,238,246,.42) !important; }

body.cb-theme #mobileMenu {
  margin-bottom: 12px;
  padding: 12px !important;
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px;
  box-shadow: 5px 5px 0 rgba(37,49,59,.14);
}
body.cb-theme #mobileMenu a,
body.cb-theme #mobileMenu summary { color: var(--cb-ink) !important; }
body.cb-theme #mobileMenu details { background: var(--cb-paper) !important; border-color: var(--cb-line) !important; }

/* Buttons */
body.cb-theme .btn-primary,
body.cb-theme .nav-cta,
body.cb-theme .site-header .nav-cta,
body.cb-theme .button--dark,
body.cb-theme main .bg-zinc-900,
body.cb-theme header .bg-zinc-900 {
  color: #ffffff !important;
  background: var(--cb-ink) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 7px !important;
  box-shadow: 4px 4px 0 var(--cb-orange) !important;
  text-shadow: none !important;
}

body.cb-theme .btn-primary:hover,
body.cb-theme .nav-cta:hover,
body.cb-theme .site-header .nav-cta:hover,
body.cb-theme .button--dark:hover,
body.cb-theme main .bg-zinc-900:hover,
body.cb-theme header .bg-zinc-900:hover {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-ink) !important;
  transform: translate(-1px, -2px) !important;
  box-shadow: 6px 6px 0 var(--cb-orange) !important;
}

body.cb-theme .btn-secondary,
body.cb-theme .button--ghost,
body.cb-theme main a[class*="border-zinc-200"] {
  color: var(--cb-ink) !important;
  background: transparent !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 7px !important;
  box-shadow: 3px 3px 0 rgba(37,49,59,.12) !important;
}
body.cb-theme .btn-secondary:hover,
body.cb-theme .button--ghost:hover,
body.cb-theme main a[class*="border-zinc-200"]:hover {
  color: var(--cb-ink) !important;
  background: var(--cb-acid) !important;
  transform: translate(-1px, -1px);
}

/* Surfaces and cards */
body.cb-theme .glass,
body.cb-theme .glass-soft,
body.cb-theme main .rounded-3xl.border,
body.cb-theme main .rounded-2xl.border,
body.cb-theme main .rounded-\[2rem\].border,
body.cb-theme main details.border {
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.91) !important;
  border: 1px solid rgba(37,49,59,.38) !important;
  box-shadow: var(--cb-shadow) !important;
  backdrop-filter: none !important;
}

body.cb-theme .glass,
body.cb-theme .glass-soft { border-radius: var(--cb-radius) !important; }

body.cb-theme .glow-border::before { display: none !important; }
body.cb-theme .card-hover { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important; }
body.cb-theme .card-hover:hover {
  border-color: var(--cb-ink) !important;
  box-shadow: 10px 10px 0 rgba(37,49,59,.16) !important;
  transform: translate(-2px, -4px) rotate(-.25deg) !important;
}

body.cb-theme .service-card:nth-child(3n+2),
body.cb-theme .case-article:nth-child(even) { transform: rotate(.25deg); }

body.cb-theme .pill,
body.cb-theme main span[class*="rounded-full"][class*="border"] {
  color: var(--cb-ink) !important;
  background: rgba(228,238,246,.33) !important;
  border: 1px solid rgba(37,49,59,.40) !important;
  box-shadow: none !important;
}

body.cb-theme .icon-badge {
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 8px !important;
  box-shadow: 3px 3px 0 rgba(37,49,59,.16) !important;
}

body.cb-theme .section-line {
  color: var(--cb-ink) !important;
  border-bottom-color: rgba(37,49,59,.30) !important;
}
body.cb-theme .section-line::after { background: var(--cb-orange) !important; }

body.cb-theme main > section[class*="border-y"],
body.cb-theme main > section[class*="border-t"],
body.cb-theme.neon-page main section[class*="border-t"] {
  border-color: rgba(37,49,59,.22) !important;
}

body.cb-theme main > section[class*="bg-white"] {
  background: rgba(241,226,215,.16) !important;
}

/* Legacy service pages had a high-specificity neon skin. These rules deliberately
   outrank it while leaving every semantic element in place. */
body.cb-theme.neon-page main section:first-child h1 {
  color: var(--cb-ink) !important;
  background: none !important;
  -webkit-text-fill-color: var(--cb-ink) !important;
}
body.cb-theme.neon-page main h2,
body.cb-theme.neon-page main h3,
body.cb-theme.neon-page main .font-semibold,
body.cb-theme.neon-page main .font-medium,
body.cb-theme.neon-page main strong { color: var(--cb-ink) !important; }
body.cb-theme.neon-page main .bg-white,
body.cb-theme.neon-page main .bg-zinc-50,
body.cb-theme.neon-page main details,
body.cb-theme.neon-page main article {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border-color: rgba(37,49,59,.30) !important;
  box-shadow: var(--cb-shadow) !important;
  backdrop-filter: none !important;
}
body.cb-theme.neon-page main .rounded-3xl::before,
body.cb-theme.neon-page main article::before,
body.cb-theme.neon-page main details::before { display: none !important; }
body.cb-theme.neon-page main .rounded-3xl:hover,
body.cb-theme.neon-page main article:hover,
body.cb-theme.neon-page main a.rounded-3xl:hover,
body.cb-theme.neon-page main details:hover {
  border-color: var(--cb-ink) !important;
  box-shadow: 9px 9px 0 rgba(37,49,59,.15) !important;
}
body.cb-theme.neon-page main ul { color: var(--cb-ink-soft) !important; }
body.cb-theme.neon-page main li::marker { color: var(--cb-orange) !important; }
body.cb-theme.neon-page main section:first-child::before {
  inset: 3.5rem 1.5rem auto auto;
  width: 18rem;
  height: 18rem;
  opacity: .72;
  background: var(--cb-acid) !important;
  border: 1px solid var(--cb-ink);
  border-radius: 50%;
  filter: none !important;
}
body.cb-theme.neon-page main section:first-child::after {
  right: 5%;
  top: 6rem;
  width: 18rem;
  height: 18rem;
  opacity: .9;
  background:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
    var(--cb-blue) !important;
  background-size: 28px 28px !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 8px !important;
  box-shadow: 7px 7px 0 var(--cb-ink) !important;
  transform: rotate(5deg) !important;
}

/* Metodo: its original page-level skin had selectors strong enough to keep the
   old dark theme. The page gets a scoped editorial treatment here. */
body.cb-theme.cb-metodo {
  color: var(--cb-ink) !important;
  background:
    linear-gradient(rgba(37,49,59,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,49,59,.035) 1px, transparent 1px),
    radial-gradient(circle at 88% 7%, rgba(47,120,183,.10), transparent 27rem),
    radial-gradient(circle at 7% 34%, rgba(184,106,60,.08), transparent 24rem),
    var(--cb-paper) !important;
  background-size: 48px 48px, 48px 48px, auto, auto, auto !important;
}
body.cb-theme.cb-metodo main h1,
body.cb-theme.cb-metodo main h2,
body.cb-theme.cb-metodo main h3,
body.cb-theme.cb-metodo main strong,
body.cb-theme.cb-metodo main .font-semibold,
body.cb-theme.cb-metodo main .font-medium { color: var(--cb-ink) !important; }
body.cb-theme.cb-metodo main > section:first-child h1 {
  max-width: 54rem;
  color: var(--cb-ink) !important;
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: -.045em !important;
}
body.cb-theme.cb-metodo main > section:first-child h1::after {
  width: 8rem;
  height: .35rem;
  margin-top: 1.25rem;
  background: var(--cb-orange) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.cb-theme.cb-metodo main > section:first-child p.text-lg,
body.cb-theme.cb-metodo main > section:first-child p.text-sm,
body.cb-theme.cb-metodo section .max-w-3xl > p,
body.cb-theme.cb-metodo section > div > p { color: var(--cb-ink-soft) !important; }
body.cb-theme.cb-metodo main > section:first-child .text-sm:first-child,
body.cb-theme.cb-metodo main > section:first-child div.text-sm {
  color: var(--cb-ink) !important;
  background: rgba(228,238,246,.36) !important;
  border: 1px solid rgba(37,49,59,.36) !important;
  box-shadow: none !important;
}
body.cb-theme.cb-metodo main > section:first-child::before {
  right: -5rem;
  top: 2rem;
  width: 24rem;
  height: 24rem;
  opacity: .75;
  background: var(--cb-acid) !important;
  border: 1px solid var(--cb-ink);
  filter: none !important;
}
body.cb-theme.cb-metodo main > section:first-child::after {
  right: 5%;
  top: 6.5rem;
  width: 22rem;
  height: 18rem;
  opacity: .95;
  display: block;
  background:
    linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px),
    var(--cb-blue) !important;
  background-size: 30px 30px !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 8px !important;
  box-shadow: 8px 8px 0 var(--cb-ink) !important;
  transform: rotate(4deg) !important;
}
body.cb-theme.cb-metodo section.border-t { border-color: rgba(37,49,59,.22) !important; }
body.cb-theme.cb-metodo section.border-t::before {
  background: linear-gradient(90deg, transparent, var(--cb-orange), transparent) !important;
}
body.cb-theme.cb-metodo .rounded-3xl.border.border-zinc-200,
body.cb-theme.cb-metodo .rounded-2xl.border.border-zinc-200,
body.cb-theme.cb-metodo details.rounded-2xl,
body.cb-theme.cb-metodo details.rounded-xl {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border-color: rgba(37,49,59,.34) !important;
  box-shadow: var(--cb-shadow) !important;
  backdrop-filter: none !important;
}
body.cb-theme.cb-metodo .rounded-3xl.border.border-zinc-200 p,
body.cb-theme.cb-metodo .rounded-2xl.border.border-zinc-200 p,
body.cb-theme.cb-metodo .rounded-3xl.border.border-zinc-200 li,
body.cb-theme.cb-metodo .rounded-2xl.border.border-zinc-200 li { color: var(--cb-ink-soft) !important; }
body.cb-theme.cb-metodo .rounded-3xl.border.border-zinc-200 .text-xs,
body.cb-theme.cb-metodo .rounded-2xl.border.border-zinc-200 .text-xs { color: var(--cb-orange-text) !important; }
body.cb-theme.cb-metodo main > section:nth-of-type(2) .rounded-3xl.border.border-zinc-200::after {
  background: radial-gradient(circle, rgba(184,106,60,.18), transparent 65%) !important;
}
body.cb-theme.cb-metodo main > section:nth-of-type(3) .rounded-3xl.border.border-zinc-200::before,
body.cb-theme.cb-metodo main > section:nth-of-type(3) > div.mt-4.rounded-3xl::before {
  background: var(--cb-orange) !important;
  box-shadow: none !important;
}
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 9px 9px 0 var(--cb-ink) !important;
}
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl h2,
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl p { color: #ffffff !important; }
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl::before { background: rgba(228,238,246,.25) !important; }
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl::after { background: rgba(184,106,60,.30) !important; }

/* Audit navigation aligned with the rest of the site. */
body.cb-theme .site-header__inner { width: min(80rem, calc(100% - 2rem)); gap: 26px; }
body.cb-theme .site-header .site-nav { gap: 28px; }
body.cb-theme .site-header .site-nav a,
body.cb-theme .site-header .site-nav .nav-menu-trigger { font-size: 14px; font-weight: 500; }
body.cb-theme .site-header .site-nav .nav-menu-trigger {
  color: var(--cb-ink) !important;
  text-shadow: none !important;
}
body.cb-theme .nav-chevron-svg {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  opacity: .68;
  vertical-align: middle;
  transition: transform .18s ease;
}
body.cb-theme .nav-menu-trigger[aria-expanded="true"] .nav-chevron-svg { transform: rotate(180deg); }
body.cb-theme .site-header .nav-menu-trigger { position: relative; }
body.cb-theme .site-header .nav-menu-trigger::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  background: var(--cb-orange);
  transition: right .2s ease;
}
body.cb-theme .site-header .nav-menu-trigger:hover::after,
body.cb-theme .site-header .nav-menu-trigger[aria-expanded="true"]::after,
body.cb-theme .site-header .site-nav .nav-current::after { right: 0; }
body.cb-theme .nav-dropdown {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: var(--cb-shadow-strong) !important;
  backdrop-filter: none !important;
}
body.cb-theme .nav-dropdown--services { width: min(27rem, calc(100vw - 2rem)); }
body.cb-theme .nav-dropdown--resources { width: min(31rem, calc(100vw - 2rem)); }
body.cb-theme .nav-dropdown a,
body.cb-theme .nav-dropdown strong { color: var(--cb-ink) !important; }
body.cb-theme .nav-dropdown small { color: var(--cb-ink-soft) !important; }
body.cb-theme .nav-dropdown__label { color: var(--cb-blue-text) !important; }
body.cb-theme .nav-dropdown__divider { background: rgba(37,49,59,.16) !important; }
body.cb-theme .nav-dropdown a:hover { background: rgba(228,238,246,.42) !important; }
body.cb-theme .mobile-submenu {
  color: var(--cb-ink) !important;
  background: var(--cb-paper) !important;
  border-color: rgba(37,49,59,.24) !important;
}
body.cb-theme .mobile-submenu summary { color: var(--cb-ink) !important; }
body.cb-theme .mobile-submenu[open] summary .nav-chevron-svg { transform: rotate(180deg); }
body.cb-theme .site-header .nav-cta { padding: 10px 20px; font-size: 14px; }
body.cb-theme .site-header .mobile-menu-btn {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 999px !important;
}
body.cb-theme .site-header .mobile-menu {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: var(--cb-shadow) !important;
  padding: 12px !important;
}
body.cb-theme .site-header .mobile-menu a { color: var(--cb-ink) !important; }

/* Contrast hardening across legacy utility combinations. */
body.cb-theme label { color: var(--cb-ink-soft) !important; }
body.cb-theme main .hover\:text-white:hover,
body.cb-theme main .hover\:text-\[\#ffb19b\]:hover,
body.cb-theme main .hover\:text-\[\#ffb19d\]:hover { color: var(--cb-orange-text) !important; }

body.cb-theme main [class*="bg-gradient-to-"] h2,
body.cb-theme main [class*="bg-gradient-to-"] h3,
body.cb-theme main [class*="bg-gradient-to-"] p,
body.cb-theme main [class*="bg-gradient-to-"] .text-white,
body.cb-theme main [class*="bg-gradient-to-"] .text-zinc-700,
body.cb-theme main [class*="bg-gradient-to-"] .text-\[\#c8c7e9\] {
  color: #ffffff !important;
}
body.cb-theme main [class*="bg-gradient-to-"] a[class*="bg-white"] {
  color: var(--cb-ink) !important;
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: 3px 3px 0 rgba(37,49,59,.30) !important;
}
body.cb-theme main [class*="bg-gradient-to-"] a[class*="border-white"] {
  color: #fff !important;
  background: var(--cb-ink) !important;
  border-color: rgba(255,255,255,.78) !important;
}
body.cb-theme main [class*="bg-gradient-to-"] a[class*="border-white"]:hover {
  color: var(--cb-ink) !important;
  background: var(--cb-acid) !important;
  border-color: var(--cb-acid) !important;
}
/* Audit: full light-surface contrast map. */
body.cb-theme .button--link,
body.cb-theme .session-button { color: var(--cb-ink-soft) !important; }
body.cb-theme .button--link:hover,
body.cb-theme .session-button:hover { color: var(--cb-blue-text) !important; }
body.cb-theme .form-error,
body.cb-theme .invalid-label { color: #9f1d20 !important; }
body.cb-theme .checkline,
body.cb-theme .checkline span,
body.cb-theme .checkline--minimal span,
body.cb-theme .contact-minimal__grid label > span,
body.cb-theme .asset-urls > small { color: var(--cb-ink-soft) !important; }
body.cb-theme .checkline a,
body.cb-theme .checkline--minimal a { color: var(--cb-blue-text) !important; }

body.cb-theme .context-strip,
body.cb-theme .confidence-block,
body.cb-theme .asset-inventory,
body.cb-theme .simulator-result,
body.cb-theme .area-row,
body.cb-theme .priority-row,
body.cb-theme .focus-lane,
body.cb-theme .roadmap article,
body.cb-theme .preview-modal__grid article {
  color: var(--cb-ink) !important;
  background: rgba(244,246,247,.70) !important;
  border-color: rgba(37,49,59,.24) !important;
}
body.cb-theme .report-hero,
body.cb-theme .report-card,
body.cb-theme .action-card,
body.cb-theme .strategy-cta {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  box-shadow: var(--cb-shadow) !important;
}
body.cb-theme .report-view p,
body.cb-theme .report-view small,
body.cb-theme .report-view span,
body.cb-theme .live-panel small,
body.cb-theme .live-panel span,
body.cb-theme .workbench small { color: var(--cb-ink-soft) !important; }
body.cb-theme .report-view h1,
body.cb-theme .report-view h2,
body.cb-theme .report-view h3,
body.cb-theme .report-view strong,
body.cb-theme .report-view b,
body.cb-theme .live-panel strong,
body.cb-theme .live-panel b { color: var(--cb-ink) !important; }

body.cb-theme .page-picker span,
body.cb-theme .scenario-button {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border-color: rgba(37,49,59,.30) !important;
}
body.cb-theme .page-picker label:has(input:checked) span,
body.cb-theme .scenario-button.selected {
  color: #fff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-ink) !important;
}
body.cb-theme .page-picker label:has(input:checked) span::before,
body.cb-theme .scenario-button.selected small,
body.cb-theme .scenario-button.selected span { color: #fff !important; }
body.cb-theme .contact-minimal__head > span,
body.cb-theme .compact-contact-card__head > span {
  color: #176b4d !important;
  background: #e4f4ec !important;
  border-color: #72a58e !important;
}
body.cb-theme .funnel-connector span {
  color: #fff !important;
  background: var(--cb-blue) !important;
}
body.cb-theme .optional-company-data summary,
body.cb-theme .optional-company-data summary span { color: var(--cb-ink-soft) !important; }
body.cb-theme .preview-modal__eyebrow,
body.cb-theme .step-note,
body.cb-theme .live-head span,
body.cb-theme .data-card__head small,
body.cb-theme .asset-inventory__head small { color: var(--cb-blue-text) !important; }
body.cb-theme .preview-modal__deliverables span {
  color: var(--cb-ink) !important;
  background: var(--cb-paper) !important;
  border-color: rgba(37,49,59,.22) !important;
}

/* Home visual rebuilt as an editorial strategy board. */
body.cb-theme .visual-stage {
  min-height: 440px;
  isolation: isolate;
}
body.cb-theme .visual-stage::before {
  content: "CB / FIELD NOTES";
  inset: 18px 8% 24px 5%;
  display: block;
  padding: 26px;
  color: rgba(255,255,255,.78);
  background: var(--cb-blue) !important;
  border: 1px solid var(--cb-ink);
  border-radius: 10px;
  filter: none !important;
  box-shadow: 10px 10px 0 var(--cb-ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .20em;
  transform: rotate(1.5deg);
}
body.cb-theme .visual-orbit {
  left: auto;
  right: 2%;
  bottom: 12px;
  width: 37%;
  height: 58px;
  background: var(--cb-acid) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 50% !important;
  box-shadow: 4px 4px 0 var(--cb-ink) !important;
  transform: rotate(-8deg);
}
body.cb-theme .visual-orbit::after {
  content: "MISURA → DECIDI";
  display: grid;
  height: 100%;
  place-items: center;
  color: var(--cb-ink);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}
body.cb-theme .visual-laptop {
  left: 12%;
  top: 74px;
  width: 70%;
  padding: 20px;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 8px !important;
  box-shadow: 8px 8px 0 rgba(37,49,59,.85) !important;
  transform: rotate(-3deg) !important;
}
body.cb-theme .visual-laptop::after {
  content: "STRATEGIA / 01";
  inset: auto 18px 12px auto;
  width: auto;
  height: auto;
  color: var(--cb-orange);
  background: none !important;
  filter: none;
  transform: none;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
}
body.cb-theme .dash-panel {
  color: var(--cb-ink);
  background: var(--cb-paper) !important;
  border: 1px solid rgba(37,49,59,.28) !important;
  border-radius: 5px !important;
}
body.cb-theme .dash-panel > div:first-child { background: var(--cb-line) !important; }
body.cb-theme .bars span {
  background: var(--cb-orange) !important;
  border: 1px solid var(--cb-ink);
  border-bottom: 0;
  border-radius: 2px 2px 0 0;
  box-shadow: none !important;
}
body.cb-theme .bars span:nth-child(even) { background: var(--cb-acid) !important; }
body.cb-theme .line-graph { background: rgba(47,120,183,.08) !important; }
body.cb-theme .line-graph path { stroke: var(--cb-blue) !important; }
body.cb-theme .float-cube {
  width: 70px;
  height: 70px;
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 50% !important;
  box-shadow: 4px 4px 0 var(--cb-ink) !important;
  animation: none !important;
}
body.cb-theme .cube-a { transform: rotate(-8deg); }
body.cb-theme .cube-b { background: var(--cb-acid) !important; transform: rotate(6deg); }
body.cb-theme .cube-c { background: var(--cb-orange) !important; color: #fff !important; transform: rotate(-5deg); }
body.cb-theme .cube-d { background: var(--cb-surface) !important; transform: rotate(7deg); }

/* Illustration system: case studies and consultancy diagrams. */
body.cb-theme .case-visual,
body.cb-theme .consult-visual {
  background:
    radial-gradient(circle at 18% 18%, rgba(47,120,183,.14), transparent 13rem),
    radial-gradient(circle at 86% 22%, rgba(184,106,60,.12), transparent 12rem),
    var(--cb-paper-deep) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: 9px 9px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .case-visual::before,
body.cb-theme .consult-visual::before {
  background-image:
    linear-gradient(rgba(37,49,59,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,49,59,.07) 1px, transparent 1px) !important;
  opacity: .55 !important;
  mask-image: none !important;
}
body.cb-theme .case-orbit {
  background: rgba(228,238,246,.55) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 4px 4px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .case-dashboard,
body.cb-theme .strategy-screen {
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 9px !important;
  box-shadow: 8px 8px 0 var(--cb-ink) !important;
}
body.cb-theme .case-dashboard::before,
body.cb-theme .strategy-screen::before {
  background: linear-gradient(90deg, var(--cb-ink), rgba(37,49,59,.22)) !important;
  box-shadow: none !important;
}
body.cb-theme .case-bars span,
body.cb-theme .mini-bars span {
  background: var(--cb-blue) !important;
  border: 1px solid var(--cb-ink) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
body.cb-theme .case-bars span:nth-child(even),
body.cb-theme .mini-bars span:nth-child(even) { background: var(--cb-orange) !important; }
body.cb-theme .case-bars span:nth-child(3),
body.cb-theme .mini-bars span:nth-child(3) { background: var(--cb-acid) !important; }
body.cb-theme .case-card-float {
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 9px !important;
  box-shadow: 5px 5px 0 var(--cb-ink) !important;
}
body.cb-theme .case-card-b { background: var(--cb-acid) !important; }
body.cb-theme .case-card-c { background: var(--cb-surface) !important; }
body.cb-theme .case-card-float svg { color: var(--cb-ink) !important; }
body.cb-theme .consult-glow {
  background:
    radial-gradient(circle at 24% 26%, rgba(47,120,183,.18), transparent 16rem),
    radial-gradient(circle at 82% 78%, rgba(184,106,60,.16), transparent 15rem) !important;
  filter: none !important;
}
body.cb-theme .strategy-screen::after {
  background: rgba(228,238,246,.28) !important;
  border-color: rgba(37,49,59,.20) !important;
}
body.cb-theme .mini-panel {
  background: var(--cb-paper) !important;
  border-color: rgba(37,49,59,.28) !important;
}
body.cb-theme .mini-lines {
  background: linear-gradient(180deg, rgba(47,120,183,.08), transparent) !important;
}
body.cb-theme .flow-line {
  background: linear-gradient(180deg, var(--cb-blue), var(--cb-orange)) !important;
  box-shadow: none !important;
}
body.cb-theme .flow-node,
body.cb-theme .strategy-float {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 8px !important;
  box-shadow: 4px 4px 0 rgba(37,49,59,.20) !important;
}
body.cb-theme .flow-node-main {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
}
body.cb-theme .flow-node-left,
body.cb-theme .float-note-a { background: var(--cb-sand) !important; }
body.cb-theme .flow-node-bottom,
body.cb-theme .float-note-b { background: var(--cb-acid) !important; }
body.cb-theme .flow-node-right,
body.cb-theme .float-note-c { background: var(--cb-surface) !important; }
body.cb-theme .strategy-float small { color: var(--cb-ink-soft) !important; }

body.cb-theme .resource-visual,
body.cb-theme .contact-visual,
body.cb-theme .faq-visual {
  background:
    radial-gradient(circle at 18% 18%, rgba(47,120,183,.14), transparent 13rem),
    radial-gradient(circle at 86% 22%, rgba(184,106,60,.12), transparent 12rem),
    var(--cb-paper-deep) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: 9px 9px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .resource-visual::before,
body.cb-theme .contact-visual::before,
body.cb-theme .faq-visual::before {
  background-image:
    linear-gradient(rgba(37,49,59,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(37,49,59,.07) 1px, transparent 1px) !important;
  opacity: .55 !important;
  mask-image: none !important;
}
body.cb-theme .resource-card-visual,
body.cb-theme .message-card {
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 9px !important;
  box-shadow: 8px 8px 0 var(--cb-ink) !important;
}
body.cb-theme .resource-card-visual::before,
body.cb-theme .message-card::before {
  background: linear-gradient(90deg, var(--cb-ink), rgba(37,49,59,.22)) !important;
  box-shadow: none !important;
}
body.cb-theme .message-card::after {
  background: var(--cb-orange) !important;
  box-shadow: -1.25rem 0 0 var(--cb-acid), -2.5rem 0 0 var(--cb-blue) !important;
}
body.cb-theme .resource-line,
body.cb-theme .form-line {
  background: rgba(37,49,59,.08) !important;
  border-color: rgba(37,49,59,.20) !important;
}
body.cb-theme .resource-line:nth-child(even) { background: rgba(47,120,183,.12) !important; }
body.cb-theme .resource-mini {
  background: var(--cb-paper) !important;
  border-color: rgba(37,49,59,.26) !important;
}
body.cb-theme .resource-mini::after,
body.cb-theme .contact-bubble::before,
body.cb-theme .contact-bubble::after {
  background: linear-gradient(90deg, var(--cb-blue), var(--cb-orange)) !important;
  box-shadow: none !important;
}
body.cb-theme .floating-resource,
body.cb-theme .contact-bubble,
body.cb-theme .question-card {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 9px !important;
  box-shadow: 5px 5px 0 var(--cb-ink) !important;
  animation: none !important;
}
body.cb-theme .resource-a,
body.cb-theme .bubble-a,
body.cb-theme .question-a { background: var(--cb-sand) !important; }
body.cb-theme .resource-b,
body.cb-theme .bubble-b,
body.cb-theme .question-b { background: var(--cb-acid) !important; }
body.cb-theme .resource-c,
body.cb-theme .bubble-c,
body.cb-theme .question-c { background: var(--cb-surface) !important; }
body.cb-theme .floating-resource small { color: var(--cb-ink-soft) !important; }
body.cb-theme .contact-orbit,
body.cb-theme .question-orbit {
  background: rgba(228,238,246,.55) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 4px 4px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .question-main {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
}
body.cb-theme .question-d { background: var(--cb-orange) !important; color: #ffffff !important; }

/* Forms and accordions */
body.cb-theme input,
body.cb-theme textarea,
body.cb-theme select {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid rgba(37,49,59,.44) !important;
  border-radius: 7px !important;
  box-shadow: 3px 3px 0 rgba(37,49,59,.08) !important;
}
body.cb-theme input::placeholder,
body.cb-theme textarea::placeholder { color: var(--cb-muted) !important; }
body.cb-theme input:focus,
body.cb-theme textarea:focus,
body.cb-theme select:focus {
  border-color: var(--cb-blue) !important;
  outline: 3px solid rgba(47,120,183,.15) !important;
  box-shadow: none !important;
}
body.cb-theme select option { color: var(--cb-ink) !important; background: var(--cb-surface) !important; }
body.cb-theme summary { color: var(--cb-ink) !important; }
body.cb-theme details[open] { border-color: var(--cb-blue) !important; }

/* Long-form resources */
body.cb-theme .article-copy,
body.cb-theme .article-copy p,
body.cb-theme .article-copy li { color: var(--cb-ink-soft) !important; }
body.cb-theme .article-copy h2,
body.cb-theme .article-copy h3 { color: var(--cb-ink) !important; }
body.cb-theme .article-copy a { color: var(--cb-blue-text) !important; }
body.cb-theme .article-toc {
  border-left: 5px solid var(--cb-orange) !important;
  box-shadow: 5px 5px 0 rgba(37,49,59,.12) !important;
}
body.cb-theme .article-toc a { color: var(--cb-ink-soft) !important; border-color: rgba(37,49,59,.15) !important; }
body.cb-theme .article-toc a:hover { color: var(--cb-orange) !important; }
body.cb-theme .article-callout,
body.cb-theme .article-check {
  color: var(--cb-ink) !important;
  background: rgba(228,238,246,.26) !important;
  border: 1px solid rgba(37,49,59,.35) !important;
  border-radius: 8px !important;
}

/* The audit app uses its own component vocabulary; this maps it onto the same identity. */
body.cb-theme .site-header__inner { min-height: 72px; }
body.cb-theme .eyebrow { color: var(--cb-blue-text) !important; }
body.cb-theme .eyebrow span {
  color: var(--cb-ink) !important;
  background: var(--cb-acid) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 5px !important;
}
body.cb-theme .hero-lead,
body.cb-theme .hero-lead strong,
body.cb-theme .hero-proof,
body.cb-theme .hero-proof b { color: var(--cb-ink-soft) !important; }
body.cb-theme .hero-proof span {
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.7) !important;
  border-color: rgba(37,49,59,.28) !important;
}
body.cb-theme .compass-preview,
body.cb-theme .workbench,
body.cb-theme .live-panel,
body.cb-theme .report-card,
body.cb-theme .executive-card,
body.cb-theme .strategy-cta,
body.cb-theme .contact-minimal,
body.cb-theme .compact-contact-card,
body.cb-theme .preview-modal__dialog {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 12px !important;
  box-shadow: var(--cb-shadow) !important;
}
body.cb-theme .compass-preview::before { background: var(--cb-orange) !important; }
body.cb-theme .preview-top,
body.cb-theme .preview-score-row,
body.cb-theme .flow-map,
body.cb-theme .preview-footer,
body.cb-theme .wizard-actions,
body.cb-theme .data-card__head,
body.cb-theme .contact-minimal__head,
body.cb-theme .compact-contact-card__head { border-color: rgba(37,49,59,.18) !important; }
body.cb-theme .preview-top,
body.cb-theme .preview-score-row small,
body.cb-theme .preview-verdict small,
body.cb-theme .preview-verdict p,
body.cb-theme .flow-map article span,
body.cb-theme .flow-map article small,
body.cb-theme .preview-footer span { color: var(--cb-ink-soft) !important; }
body.cb-theme .flow-map article,
body.cb-theme .choice-card,
body.cb-theme .quick-question,
body.cb-theme .outcome-list label,
body.cb-theme .system-node,
body.cb-theme .funnel-stage,
body.cb-theme .constraint-grid label,
body.cb-theme .data-card,
body.cb-theme .single-line-field,
body.cb-theme .asset-inventory {
  color: var(--cb-ink) !important;
  background: rgba(244,246,247,.66) !important;
  border-color: rgba(37,49,59,.28) !important;
  border-radius: 9px !important;
}
body.cb-theme .choice-card small,
body.cb-theme .outcome-list small,
body.cb-theme .step-heading p,
body.cb-theme .teaser-copy > p,
body.cb-theme .quick-question small,
body.cb-theme .decision-note p,
body.cb-theme .data-trust p { color: var(--cb-ink-soft) !important; }
body.cb-theme .choice-card strong,
body.cb-theme .outcome-list strong,
body.cb-theme .quick-question strong,
body.cb-theme .single-line-field strong,
body.cb-theme .constraint-grid span,
body.cb-theme .contact-minimal__head strong { color: var(--cb-ink) !important; }
body.cb-theme .choice-card:has(input:checked),
body.cb-theme .outcome-list label:has(input:checked),
body.cb-theme .constraint-grid label:has(input:checked) {
  color: var(--cb-ink) !important;
  background: rgba(228,238,246,.40) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 4px 4px 0 rgba(37,49,59,.15) !important;
}
body.cb-theme .choice-card:has(input:checked)::after { color: #fff !important; background: var(--cb-blue) !important; }
body.cb-theme .answer-pills span,
body.cb-theme .segmented-choice button,
body.cb-theme .node-options button,
body.cb-theme .confidence-scale button,
body.cb-theme .score-dots button,
body.cb-theme .channel-picker span {
  color: var(--cb-ink-soft) !important;
  background: var(--cb-surface) !important;
  border-color: rgba(37,49,59,.30) !important;
  border-radius: 6px !important;
}
body.cb-theme .answer-pills label:has(input:checked) span,
body.cb-theme .segmented-choice button.selected,
body.cb-theme .node-options button.selected,
body.cb-theme .confidence-scale button.selected,
body.cb-theme .score-dots button.selected,
body.cb-theme .channel-picker label:has(input:checked) span {
  color: #fff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 3px 3px 0 var(--cb-orange) !important;
}
body.cb-theme .answer-pills label:has(input:checked) span *,
body.cb-theme .segmented-choice button.selected *,
body.cb-theme .node-options button.selected *,
body.cb-theme .confidence-scale button.selected *,
body.cb-theme .score-dots button.selected *,
body.cb-theme .channel-picker label:has(input:checked) span * { color: #fff !important; }
body.cb-theme .wizard-actions { background: rgba(244,246,247,.94) !important; }
body.cb-theme .journey-title > span,
body.cb-theme .callout-index,
body.cb-theme .node-heading > span,
body.cb-theme .outcome-list label > span {
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border: 1px solid var(--cb-ink) !important;
  border-radius: 6px !important;
}
body.cb-theme .journey-track__line,
body.cb-theme .journey-dots i { background: rgba(37,49,59,.14) !important; }
body.cb-theme .journey-track__line i,
body.cb-theme .journey-dots i.active,
body.cb-theme .journey-dots i.done { background: var(--cb-orange) !important; }
body.cb-theme .decision-note,
body.cb-theme .leak-readout,
body.cb-theme .teaser-diagnosis,
body.cb-theme .teaser-next,
body.cb-theme .data-trust {
  color: var(--cb-ink) !important;
  background: rgba(47,120,183,.07) !important;
  border-color: rgba(47,120,183,.30) !important;
}
body.cb-theme .preview-modal__backdrop { background: rgba(37,49,59,.70) !important; }
body.cb-theme .preview-modal__close { color: var(--cb-ink) !important; background: var(--cb-paper) !important; border-color: var(--cb-ink) !important; }

/* Footer */
body.cb-theme footer {
  color: #e7edf4 !important;
  background: var(--cb-ink) !important;
  border-color: var(--cb-ink) !important;
}
body.cb-theme footer p,
body.cb-theme footer span,
body.cb-theme footer small,
body.cb-theme footer .text-zinc-700,
body.cb-theme footer .text-zinc-600,
body.cb-theme footer .footer-brand p,
body.cb-theme footer .site-footer__bottom { color: #d7e0ea !important; }
body.cb-theme footer strong,
body.cb-theme footer b,
body.cb-theme footer .font-semibold,
body.cb-theme footer .font-bold,
body.cb-theme footer .brand-name,
body.cb-theme footer .footer-brand__logo .brand-name { color: #ffffff !important; }
body.cb-theme footer a {
  color: var(--cb-paper) !important;
  text-decoration-color: var(--cb-orange) !important;
}
body.cb-theme footer a:hover,
body.cb-theme footer a:focus-visible { color: var(--cb-acid) !important; }
body.cb-theme footer .site-footer__inner,
body.cb-theme footer .site-footer__bottom,
body.cb-theme footer .border-t { border-color: rgba(255,255,255,.22) !important; }

/* V1.4 — final consistency pass. Legacy page skins used selectors with enough
   specificity to leak the previous dark/violet identity into Metodo, Audit and
   the lower sections. These rules establish one visual contract everywhere. */
body.cb-theme {
  --bg: var(--cb-paper);
  --bg2: var(--cb-paper-deep);
  --panel: var(--cb-surface);
  --panel-2: var(--cb-paper-deep);
  --panel2: var(--cb-paper-deep);
  --text: var(--cb-ink);
  --muted: var(--cb-ink-soft);
  --soft: var(--cb-muted);
  --line: rgba(37,49,59,.24);
  --line2: var(--cb-line-strong);
  --violet: var(--cb-blue);
  --violet-2: var(--cb-blue);
  --violet2: var(--cb-blue);
  --peach: var(--cb-orange);
  --pink: var(--cb-acid);
  --blue: var(--cb-blue);
  --green: #176b4d;
  --red: #9f1d20;
}

/* Canonical desktop navigation metrics, shared by Tailwind pages and Audit. */
body.cb-theme .site-header {
  width: 100% !important;
  max-width: none !important;
}
body.cb-theme .site-header__inner {
  width: 100% !important;
  max-width: 80rem !important;
  min-height: 68px !important;
  margin-inline: auto !important;
  padding-inline: 1rem !important;
  gap: 24px !important;
  box-sizing: border-box !important;
  justify-content: space-between !important;
}
body.cb-theme .site-header .brand { gap: 8px !important; }
body.cb-theme .site-header .brand-name {
  color: var(--cb-ink) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
}
body.cb-theme header:not(.site-header) > div,
body.cb-theme header:not(.site-header) { color: var(--cb-ink) !important; }
body.cb-theme header:not(.site-header) a:first-child span:last-child,
body.cb-theme.cb-metodo header a:first-child span:last-child {
  color: var(--cb-ink) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
}
body.cb-theme header:not(.site-header) nav,
body.cb-theme .site-header .site-nav { gap: 24px !important; }
body.cb-theme .site-header .site-nav { margin-left: 0 !important; }
body.cb-theme header:not(.site-header) nav > a,
body.cb-theme header:not(.site-header) nav > div > button,
body.cb-theme .site-header .site-nav > a,
body.cb-theme .site-header .site-nav > .nav-menu-group > button {
  color: var(--cb-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-shadow: none !important;
}
body.cb-theme .site-header .site-nav .nav-current { font-weight: 500 !important; }
body.cb-theme header:not(.site-header) nav svg,
body.cb-theme .site-header .nav-chevron-svg {
  width: 16px !important;
  height: 16px !important;
  color: currentColor !important;
  opacity: .68 !important;
}
body.cb-theme .site-header .nav-cta {
  padding: 9px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* Same dropdown rhythm and typographic hierarchy on every page. */
body.cb-theme #servicesMenu,
body.cb-theme #resourcesMenu,
body.cb-theme .nav-dropdown {
  padding: 8px !important;
  border-radius: 12px !important;
}
body.cb-theme #servicesMenu,
body.cb-theme #resourcesMenu {
  top: auto !important;
  margin-top: .75rem !important;
}
body.cb-theme .nav-dropdown {
  top: calc(100% + 12px) !important;
  margin-top: 0 !important;
}
body.cb-theme #servicesMenu { width: min(27rem, calc(100vw - 2rem)) !important; }
body.cb-theme #resourcesMenu { width: min(30rem, calc(100vw - 2rem)) !important; }
body.cb-theme .nav-dropdown--services { width: min(27rem, calc(100vw - 2rem)) !important; }
body.cb-theme .nav-dropdown--resources { width: min(30rem, calc(100vw - 2rem)) !important; }
body.cb-theme #servicesMenu a,
body.cb-theme #resourcesMenu a,
body.cb-theme .nav-dropdown a {
  padding: 8px 12px !important;
  color: var(--cb-ink) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  border-radius: 8px !important;
  text-shadow: none !important;
}
body.cb-theme #servicesMenu .font-medium,
body.cb-theme #resourcesMenu .font-medium,
body.cb-theme .nav-dropdown strong {
  color: var(--cb-ink) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
body.cb-theme #servicesMenu .text-xs,
body.cb-theme #resourcesMenu .text-xs,
body.cb-theme .nav-dropdown small {
  color: var(--cb-ink-soft) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-variant: normal !important;
}
body.cb-theme.cb-metodo header #servicesMenu .text-xs,
body.cb-theme.cb-metodo header #resourcesMenu .text-xs {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-variant: normal !important;
}
body.cb-theme #servicesMenu .font-semibold,
body.cb-theme #resourcesMenu .font-semibold,
body.cb-theme .nav-dropdown__label {
  color: var(--cb-blue-text) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.cb-theme #servicesMenu,
body.cb-theme #servicesMenu *,
body.cb-theme #resourcesMenu,
body.cb-theme #resourcesMenu *,
body.cb-theme .nav-dropdown,
body.cb-theme .nav-dropdown * { text-transform: none !important; }
body.cb-theme .nav-dropdown a.nav-dropdown__all,
body.cb-theme #servicesMenu a.font-medium,
body.cb-theme #resourcesMenu a.font-medium { font-weight: 600 !important; }

/* Home closing panel: explicit contrast, independent from legacy utilities. */
body.cb-theme .cb-talk-cta {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  box-shadow: 8px 8px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .cb-talk-cta h2,
body.cb-theme .cb-talk-cta p,
body.cb-theme .cb-talk-cta svg { color: var(--cb-ink) !important; }
body.cb-theme .cb-talk-cta .cb-talk-icon {
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border-color: var(--cb-ink) !important;
}
body.cb-theme .cb-talk-cta .cb-talk-primary {
  color: var(--cb-ink) !important;
  background: var(--cb-acid) !important;
  border: 1px solid var(--cb-ink) !important;
  box-shadow: 4px 4px 0 var(--cb-orange) !important;
}
body.cb-theme .cb-talk-cta .cb-talk-secondary {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  box-shadow: 3px 3px 0 rgba(37,49,59,.28) !important;
}
body.cb-theme .cb-talk-cta .cb-talk-primary:hover,
body.cb-theme .cb-talk-cta .cb-talk-secondary:hover {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
}

/* Editorial CTA panels replace the remaining violet/peach gradients. */
body.cb-theme main [class*="bg-gradient-to-"] {
  background: linear-gradient(135deg, var(--cb-ink) 0 72%, var(--cb-blue) 72% 100%) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 8px 8px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .strategy-cta {
  color: var(--cb-ink) !important;
  background: var(--cb-surface) !important;
  border: 1px solid var(--cb-ink) !important;
  box-shadow: 8px 8px 0 rgba(37,49,59,.18) !important;
}
body.cb-theme .strategy-cta h2,
body.cb-theme .strategy-cta p,
body.cb-theme .strategy-cta small { color: var(--cb-ink) !important; }
body.cb-theme .strategy-cta .button--light,
body.cb-theme .strategy-cta .button--light span {
  color: #ffffff !important;
  background: var(--cb-ink) !important;
}
body.cb-theme .strategy-cta .button--light {
  border: 1px solid var(--cb-ink) !important;
  box-shadow: 4px 4px 0 var(--cb-orange) !important;
}
body.cb-theme .strategy-cta .button--light:hover,
body.cb-theme .strategy-cta .button--light:hover span {
  color: #ffffff !important;
  background: var(--cb-blue) !important;
}

/* Full brand mark, consistently visible above every footer layout. */
body.cb-theme footer .cb-footer-logo {
  display: block;
  width: min(260px, calc(100% - 2rem));
  height: auto;
  margin: 30px auto 0;
  padding: 8px;
  object-fit: contain;
  background: #fff;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 8px;
  box-shadow: 4px 4px 0 rgba(47,120,183,.32);
}

@media (max-width: 640px) {
  body.cb-theme footer .cb-footer-logo {
    width: min(230px, calc(100% - 2rem));
    margin-top: 24px;
  }
}

/* Audit diagrams and generated visual summaries use only the editorial palette. */
body.cb-theme .preview-score-row strong,
body.cb-theme .live-score-row strong,
body.cb-theme .score-card strong,
body.cb-theme .potential-number strong,
body.cb-theme .simulator-result strong { color: var(--cb-blue-text) !important; }
body.cb-theme .journey-track__line i,
body.cb-theme .mini-row i,
body.cb-theme .area-row__bar i,
body.cb-theme .focus-lane__bar i,
body.cb-theme .potential-track::before {
  background: linear-gradient(90deg, var(--cb-blue), var(--cb-orange)) !important;
}
body.cb-theme .score-ring {
  background: conic-gradient(var(--cb-blue) var(--pulse, 0%), rgba(37,49,59,.12) 0) !important;
}
body.cb-theme .score-ring span { background: var(--cb-surface) !important; }
body.cb-theme .flow-map > i { color: var(--cb-blue-text) !important; }
body.cb-theme .report-card__head > span:first-child,
body.cb-theme .priority-row__index,
body.cb-theme .data-card__head > span {
  color: var(--cb-ink) !important;
  background: var(--cb-sand) !important;
  border: 1px solid var(--cb-ink) !important;
}
body.cb-theme .roadmap article > span { color: var(--cb-orange-text) !important; }

/* Accessibility and motion */
body.cb-theme :focus-visible {
  outline: 3px solid var(--cb-orange) !important;
  outline-offset: 3px !important;
}

@media (max-width: 1024px) {
  body.cb-theme .visual-stage { min-height: 390px; }
  body.cb-theme .hero-grid { gap: 42px; }
  body.cb-theme.cb-metodo main > section:first-child::after { display: none !important; }
}

@media (min-width: 640px) {
  body.cb-theme .site-header__inner { padding-inline: 1.5rem !important; }
}

@media (min-width: 1024px) {
  body.cb-theme .site-header__inner { padding-inline: 2rem !important; }
}

@media (max-width: 1279px) {
  body.cb-theme .site-header .site-nav,
  body.cb-theme .site-header .nav-cta { display: none !important; }
  body.cb-theme .site-header .mobile-menu-btn { display: inline-flex !important; }
  body.cb-theme .site-header .mobile-menu:not([hidden]) { display: grid !important; }
}

@media (min-width: 1280px) {
  body.cb-theme .site-header .site-nav { display: flex !important; }
  body.cb-theme .site-header .nav-cta { display: inline-flex !important; }
  body.cb-theme .site-header .mobile-menu-btn,
  body.cb-theme .site-header .mobile-menu { display: none !important; }
}

@media (min-width: 1025px) {
  body.cb-theme.cb-metodo main > section:first-child .max-w-3xl {
    max-width: 51rem !important;
    padding-right: 18rem !important;
  }
}

@media (max-width: 768px) {
  body.cb-theme,
  body.cb-theme.neon-page { background-size: 34px 34px, 34px 34px, auto, auto, auto !important; }
  body.cb-theme h1,
  body.cb-theme .hero-copy h1 { letter-spacing: -.04em !important; }
  body.cb-theme .visual-stage { min-height: 340px; }
  body.cb-theme .visual-stage::before { inset: 10px 5% 18px 3%; }
  body.cb-theme .visual-laptop { left: 10%; top: 62px; width: 77%; }
  body.cb-theme .float-cube { width: 55px; height: 55px; }
  body.cb-theme .page-wrap,
  body.cb-theme .site-header__inner { width: min(100% - 28px, 1320px); }
  body.cb-theme .hero-grid { grid-template-columns: 1fr; padding: 54px 0 62px; }
  body.cb-theme .compass-preview { margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  body.cb-theme *,
  body.cb-theme *::before,
  body.cb-theme *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* ========================================================================== */
/* V2.0 — Quiet authority                                                     */
/* Restrained B2B geometry, with palette tokens defined above. */
/* ========================================================================== */

html { background: var(--cb-paper); }

body.cb-theme,
body.cb-theme.neon-page,
body.cb-theme.cb-metodo {
  color: var(--cb-ink) !important;
  background:
    radial-gradient(circle at 86% 2%, rgba(47,120,183,.055), transparent 31rem),
    linear-gradient(180deg, #fafbfb 0, var(--cb-paper) 48rem) !important;
  background-size: auto !important;
}

body.cb-theme::before,
body.cb-theme.neon-page::before {
  opacity: .28;
  background: linear-gradient(90deg, transparent 0 7%, rgba(37,49,59,.025) 7% 7.08%, transparent 7.08% 93%, rgba(37,49,59,.025) 93% 93.08%, transparent 93%) !important;
}

body.cb-theme h1,
body.cb-theme h2,
body.cb-theme .section-title,
body.cb-theme .hero-copy h1,
body.cb-theme .step-heading h2,
body.cb-theme .teaser-copy h2,
body.cb-theme.cb-metodo main > section:first-child h1 {
  color: var(--cb-ink) !important;
  font-weight: 650 !important;
  letter-spacing: -.035em !important;
}

body.cb-theme .gradient-text,
body.cb-theme h1 em,
body.cb-theme h2 em,
body.cb-theme .hero-copy h1 em,
body.cb-theme .step-heading h2 em,
body.cb-theme .teaser-copy h2 em {
  color: var(--cb-blue-text) !important;
  -webkit-text-fill-color: var(--cb-blue-text) !important;
  font-style: normal !important;
  font-weight: 650 !important;
}

/* Navigation: architectural, quiet and consistent. */
body.cb-theme > .site-shell > .sticky.top-0,
body.cb-theme > .sticky.top-0,
body.cb-theme.neon-page .sticky.top-0,
body.cb-theme .site-header {
  background: rgba(250,251,251,.94) !important;
  border-bottom: 1px solid rgba(37,49,59,.12) !important;
  box-shadow: 0 8px 24px rgba(37,49,59,.045) !important;
  backdrop-filter: blur(20px) saturate(.75) !important;
}

body.cb-theme header > div > a:first-child span:first-child,
body.cb-theme .brand-mark {
  border-color: rgba(37,49,59,.18) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  transform: none !important;
}

body.cb-theme header > div > a:first-child:hover span:first-child,
body.cb-theme .brand:hover .brand-mark { transform: translateY(-1px) !important; }

body.cb-theme .nav-link::after,
body.cb-theme .site-nav a:not(.nav-cta)::after,
body.cb-theme .site-header .nav-menu-trigger::after {
  bottom: -8px;
  height: 1px;
  background: var(--cb-blue) !important;
}

body.cb-theme #servicesMenu,
body.cb-theme #resourcesMenu,
body.cb-theme .nav-dropdown,
body.cb-theme #mobileMenu,
body.cb-theme .site-header .mobile-menu {
  background: rgba(255,255,255,.98) !important;
  border-color: rgba(37,49,59,.16) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 45px rgba(37,49,59,.14) !important;
}

body.cb-theme #servicesMenu a:hover,
body.cb-theme #resourcesMenu a:hover,
body.cb-theme .nav-dropdown a:hover {
  background: var(--cb-paper) !important;
}

body.cb-theme .site-header .mobile-menu-btn {
  border-color: rgba(37,49,59,.22) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

/* ========================================================================== */
/* V2.1 — One navigation, one footer, smarter interaction                     */
/* ========================================================================== */

body.cb-theme header.cb-unified-header {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--cb-ink) !important;
  background: rgba(250,251,251,.92) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(37,49,59,.11) !important;
  box-shadow: 0 8px 28px rgba(37,49,59,.035) !important;
  backdrop-filter: blur(22px) saturate(.85) !important;
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.cb-theme header.cb-unified-header.is-scrolled {
  background: rgba(255,255,255,.97) !important;
  border-bottom-color: rgba(37,49,59,.16) !important;
  box-shadow: 0 12px 34px rgba(37,49,59,.075) !important;
}

body.cb-theme div:has(> .cb-unified-header) {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
}

body.cb-theme div:has(> .cb-unified-header) > .cb-unified-header {
  position: relative !important;
}

body.cb-theme .cb-unified-header__inner {
  display: flex;
  align-items: center;
  width: min(100%, 80rem);
  min-height: 72px;
  margin: 0 auto;
  padding: 0 2rem;
  gap: 24px;
  box-sizing: border-box;
}

body.cb-theme .cb-unified-brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  color: var(--cb-ink) !important;
  text-decoration: none;
}

body.cb-theme .cb-unified-brand__mark {
  display: block;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  overflow: hidden;
  color: transparent !important;
  font-size: 0 !important;
  background: #fff url('/favicon.png?v=4') center / contain no-repeat !important;
  border: 1px solid rgba(37,49,59,.16) !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  transform: none !important;
  transition: transform .2s ease, border-color .2s ease;
}

body.cb-theme .cb-unified-brand:hover .cb-unified-brand__mark {
  border-color: rgba(47,120,183,.5) !important;
  transform: translateY(-1px) !important;
}

body.cb-theme .cb-unified-brand__copy { display: grid; line-height: 1.08; }
body.cb-theme .cb-unified-brand__copy strong {
  color: var(--cb-ink) !important;
  font-size: .92rem;
  font-weight: 650;
  letter-spacing: -.015em;
}
body.cb-theme .cb-unified-brand__copy small {
  margin-top: 4px;
  color: var(--cb-muted) !important;
  font-size: .62rem;
  font-weight: 650;
  letter-spacing: .105em;
  text-transform: uppercase;
}

body.cb-theme .cb-unified-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 21px;
  margin-left: auto;
}

body.cb-theme .cb-unified-nav > a,
body.cb-theme .cb-smart-nav-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 26px 0 24px;
  color: var(--cb-ink-soft) !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: inherit;
  font-size: .82rem !important;
  font-weight: 550 !important;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

body.cb-theme .cb-unified-nav > a::after,
body.cb-theme .cb-smart-nav-trigger::after {
  content: "";
  position: absolute;
  right: 50%;
  bottom: 17px;
  left: 50%;
  height: 1px;
  background: var(--cb-blue) !important;
  transition: right .22s ease, left .22s ease;
}

body.cb-theme .cb-unified-nav > a:hover,
body.cb-theme .cb-unified-nav > a.is-current,
body.cb-theme .cb-smart-nav-trigger:hover,
body.cb-theme .cb-smart-nav-trigger.is-current,
body.cb-theme .cb-smart-nav-trigger.is-open { color: var(--cb-ink) !important; }

body.cb-theme .cb-unified-nav > a:hover::after,
body.cb-theme .cb-unified-nav > a.is-current::after,
body.cb-theme .cb-smart-nav-trigger:hover::after,
body.cb-theme .cb-smart-nav-trigger.is-current::after,
body.cb-theme .cb-smart-nav-trigger.is-open::after { right: 0; left: 0; }

body.cb-theme .cb-smart-nav-trigger svg {
  width: 14px !important;
  height: 14px !important;
  opacity: .65;
  transition: transform .2s ease;
}
body.cb-theme .cb-smart-nav-trigger.is-open svg { transform: rotate(180deg); }

body.cb-theme .cb-smart-nav-group { position: relative; }
body.cb-theme .cb-smart-menu[hidden],
body.cb-theme .cb-unified-mobile[hidden] { display: none !important; }

body.cb-theme .cb-smart-menu {
  position: absolute;
  top: calc(100% - 5px);
  z-index: 120;
  padding: 14px;
  max-height: calc(100dvh - 100px);
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.985) !important;
  border: 1px solid rgba(37,49,59,.13) !important;
  border-radius: 10px !important;
  box-shadow: 0 24px 60px rgba(37,49,59,.15) !important;
  opacity: 0;
  transform: translateY(-7px) scale(.99);
  transform-origin: top;
  transition: opacity .17s ease, transform .17s ease;
}

body.cb-theme .cb-smart-menu.is-open { opacity: 1; transform: translateY(0) scale(1); }
body.cb-theme .cb-smart-menu--services {
  left: -88px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(650px, calc(100vw - 32px));
  gap: 12px;
}
body.cb-theme .cb-smart-menu--resources {
  right: -115px;
  display: grid;
  width: min(440px, calc(100vw - 32px));
}

body.cb-theme .cb-smart-menu__group { min-width: 0; }
body.cb-theme .cb-smart-menu__label {
  padding: 7px 10px 6px;
  color: var(--cb-blue-text) !important;
  font-size: .64rem;
  font-weight: 750;
  letter-spacing: .105em;
  text-transform: uppercase;
}

body.cb-theme .cb-smart-menu a {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  color: var(--cb-ink) !important;
  border: 1px solid transparent;
  border-radius: 7px;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
body.cb-theme .cb-smart-menu a:hover,
body.cb-theme .cb-smart-menu a:focus-visible {
  background: var(--cb-paper) !important;
  border-color: rgba(47,120,183,.13);
  transform: translateX(2px);
}
body.cb-theme .cb-smart-menu a strong {
  color: var(--cb-ink) !important;
  font-size: .77rem;
  font-weight: 650;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.cb-theme .cb-smart-menu a small {
  color: var(--cb-muted) !important;
  font-size: .68rem;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}
body.cb-theme .cb-smart-menu a.cb-smart-menu__all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
  color: var(--cb-blue-text) !important;
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.13);
  font-size: .74rem;
  font-weight: 700;
}

body.cb-theme .cb-unified-header__cta {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  padding: 10px 14px;
  color: #fff !important;
  background: var(--cb-blue) !important;
  border: 1px solid var(--cb-blue) !important;
  border-radius: 6px !important;
  box-shadow: 0 7px 18px rgba(47,120,183,.16) !important;
  font-size: .78rem;
  font-weight: 650;
  text-decoration: none;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.cb-theme .cb-unified-header__cta:hover {
  background: var(--cb-ink) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 0 10px 22px rgba(37,49,59,.17) !important;
  transform: translateY(-1px);
}

body.cb-theme .cb-unified-menu-toggle { display: none; }

body.cb-theme .cb-unified-mobile {
  width: min(calc(100% - 28px), 80rem);
  max-height: calc(100vh - 88px);
  margin: 0 auto 14px;
  padding: 10px;
  overflow-y: auto;
  background: rgba(255,255,255,.985) !important;
  border: 1px solid rgba(37,49,59,.13) !important;
  border-radius: 10px !important;
  box-shadow: 0 22px 50px rgba(37,49,59,.14) !important;
  opacity: 0;
  transform: translateY(-7px);
  transition: opacity .17s ease, transform .17s ease;
}
body.cb-theme .cb-unified-mobile.is-open { opacity: 1; transform: translateY(0); }
body.cb-theme .cb-unified-mobile > a,
body.cb-theme .cb-unified-mobile summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  color: var(--cb-ink) !important;
  border-radius: 7px;
  font-size: .87rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  list-style: none;
}
body.cb-theme .cb-unified-mobile > a:hover,
body.cb-theme .cb-unified-mobile summary:hover { background: var(--cb-paper) !important; }
body.cb-theme .cb-unified-mobile details {
  margin: 2px 0;
  background: transparent !important;
  border: 1px solid rgba(37,49,59,.1) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
body.cb-theme .cb-unified-mobile details[open] { border-color: rgba(47,120,183,.25) !important; }
body.cb-theme .cb-unified-mobile details summary::-webkit-details-marker { display: none; }
body.cb-theme .cb-unified-mobile details[open] summary span { transform: rotate(45deg); }
body.cb-theme .cb-unified-mobile summary span { transition: transform .2s ease; }
body.cb-theme .cb-unified-mobile details > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3px;
  padding: 0 8px 9px;
}
body.cb-theme .cb-unified-mobile details a {
  padding: 9px;
  color: var(--cb-ink-soft) !important;
  border-radius: 6px;
  font-size: .78rem;
  text-decoration: none;
}
body.cb-theme .cb-unified-mobile details a:hover { color: var(--cb-ink) !important; background: var(--cb-paper) !important; }
body.cb-theme .cb-unified-mobile a.cb-unified-mobile__cta {
  justify-content: center;
  margin-top: 7px;
  color: #fff !important;
  background: var(--cb-blue) !important;
}

/* Canonical footer shared verbatim by every public page. */
body.cb-theme .cb-unified-footer {
  position: relative;
  color: #e8ecec !important;
  background: var(--cb-ink) !important;
  border: 0 !important;
  overflow: hidden;
}
body.cb-theme .cb-unified-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0 68%, rgba(47,120,183,.08) 68% 68.08%, transparent 68.08%), radial-gradient(circle at 84% 18%, rgba(47,120,183,.3), transparent 28rem);
}
body.cb-theme .cb-unified-footer__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(240px, 1.45fr) repeat(3, minmax(0, .72fr));
  width: min(calc(100% - 40px), 80rem);
  margin: 0 auto;
  padding: 58px 0 46px;
  gap: 46px;
}
body.cb-theme .cb-unified-footer .cb-footer-logo {
  width: min(285px, 100%);
  height: auto;
  margin: 0 0 19px;
  padding: 9px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 5px !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.16) !important;
}
body.cb-theme .cb-unified-footer__brand p {
  max-width: 34rem;
  margin: 0;
  color: #cbd3d6 !important;
  font-size: .86rem;
  line-height: 1.65;
}
body.cb-theme .cb-unified-footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 20px;
}
body.cb-theme .cb-unified-footer__social a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  color: #edf1f2 !important;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 5px;
  font-size: .75rem;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
body.cb-theme .cb-unified-footer__social a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.085);
  border-color: rgba(255,255,255,.28);
  transform: translateY(-1px);
}
body.cb-theme .cb-unified-footer__column { display: grid; align-content: start; gap: 9px; }
body.cb-theme .cb-unified-footer__column strong {
  margin-bottom: 7px;
  color: #fff !important;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.cb-theme .cb-unified-footer__column a {
  width: fit-content;
  color: #cbd3d6 !important;
  font-size: .79rem;
  line-height: 1.45;
  text-decoration: none;
  transition: color .18s ease, transform .18s ease;
}
body.cb-theme .cb-unified-footer__column a:hover { color: #fff !important; transform: translateX(2px); }
body.cb-theme .cb-unified-footer__column small {
  margin-top: 5px;
  color: #93a0a6 !important;
  font-size: .69rem;
  line-height: 1.45;
}
body.cb-theme .cb-unified-footer__bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(calc(100% - 40px), 80rem);
  margin: 0 auto;
  padding: 20px 0 24px;
  color: #9ba8ad !important;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: .69rem;
  letter-spacing: .02em;
}
body.cb-theme .cb-unified-footer__bottom span { color: inherit !important; }

/* Smart interaction layer: restrained motion and live page feedback. */
body.cb-theme .cb-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 250;
  width: var(--cb-scroll, 0%);
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, var(--cb-blue), #6ca2cb 70%, var(--cb-orange)) !important;
  box-shadow: 0 0 12px rgba(47,120,183,.3);
  transition: width .08s linear;
}

/* Backward-compatible with cached JS: the content never depends on a reveal. */
body.cb-theme .cb-reveal,
body.cb-theme .cb-reveal.is-visible { opacity: 1; transform: none; }

body.cb-theme .cb-reactive-panel {
  --cb-pointer-x: 50%;
  --cb-pointer-y: 50%;
  background-image: radial-gradient(circle at var(--cb-pointer-x) var(--cb-pointer-y), rgba(47,120,183,.14), transparent 34%) !important;
  background-color: var(--cb-paper-deep) !important;
  transition: background-position .08s linear, box-shadow .25s ease;
}
body.cb-theme .visual-stage.cb-reactive-panel { background-color: transparent !important; }

@media (max-width: 1279px) {
  body.cb-theme .cb-unified-header__inner { min-height: 68px; padding-inline: 1.5rem; }
  body.cb-theme .cb-unified-nav,
  body.cb-theme .cb-unified-header__cta { display: none !important; }
  body.cb-theme .cb-unified-menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-left: auto;
    padding: 9px 11px;
    color: var(--cb-ink) !important;
    background: rgba(255,255,255,.65) !important;
    border: 1px solid rgba(37,49,59,.18) !important;
    border-radius: 6px !important;
    box-shadow: none !important;
    font-size: .78rem;
    font-weight: 650;
  }
  body.cb-theme .cb-unified-menu-toggle i,
  body.cb-theme .cb-unified-menu-toggle i::before,
  body.cb-theme .cb-unified-menu-toggle i::after {
    display: block;
    width: 15px;
    height: 1px;
    background: currentColor;
    transition: transform .2s ease, opacity .2s ease;
  }
  body.cb-theme .cb-unified-menu-toggle i { position: relative; }
  body.cb-theme .cb-unified-menu-toggle i::before,
  body.cb-theme .cb-unified-menu-toggle i::after { content: ""; position: absolute; left: 0; }
  body.cb-theme .cb-unified-menu-toggle i::before { top: -5px; }
  body.cb-theme .cb-unified-menu-toggle i::after { top: 5px; }
  body.cb-theme .cb-unified-menu-toggle.is-open i { background: transparent; }
  body.cb-theme .cb-unified-menu-toggle.is-open i::before { top: 0; transform: rotate(45deg); }
  body.cb-theme .cb-unified-menu-toggle.is-open i::after { top: 0; transform: rotate(-45deg); }
}

@media (max-width: 820px) {
  body.cb-theme .cb-unified-header__inner { padding-inline: 14px; }
  body.cb-theme .cb-unified-brand__copy small { display: none; }
  body.cb-theme .cb-unified-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(calc(100% - 28px), 80rem);
    padding: 44px 0 36px;
    gap: 34px 26px;
  }
  body.cb-theme .cb-unified-footer__brand { grid-column: 1 / -1; }
  body.cb-theme .cb-unified-footer__bottom {
    width: min(calc(100% - 28px), 80rem);
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

@media (max-width: 560px) {
  body.cb-theme .cb-unified-brand__mark { width: 34px; height: 34px; flex-basis: 34px; }
  body.cb-theme .cb-unified-brand__copy strong { font-size: .84rem; }
  body.cb-theme .cb-unified-mobile details > div { grid-template-columns: 1fr; }
  body.cb-theme .cb-unified-footer__inner { grid-template-columns: 1fr; }
  body.cb-theme .cb-unified-footer__brand { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  body.cb-theme .cb-reveal,
  body.cb-theme .cb-reveal.is-visible { opacity: 1; transform: none; }
  body.cb-theme .cb-smart-menu,
  body.cb-theme .cb-unified-mobile { transition: none; }
}

/* V2.2 — deterministic CTA contrast and one title scale across inner pages. */
body.cb-theme:not(.cb-home) main h1 {
  max-width: 62rem;
  font-size: clamp(2.15rem, 1.35rem + 3vw, 3.75rem) !important;
  line-height: 1.03 !important;
  letter-spacing: -.04em !important;
  text-wrap: balance;
}

body.cb-theme.cb-home main h1 {
  font-size: clamp(2.55rem, 5.6vw, 4.35rem) !important;
  line-height: 1.01 !important;
}

body.cb-theme:not(.cb-home) main .report-intro h1 {
  font-size: clamp(2.15rem, 1.35rem + 3vw, 3.25rem) !important;
  line-height: 1.02 !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta {
  color: #fff !important;
  background: linear-gradient(135deg, #2a4050, var(--cb-blue)) !important;
  border-color: rgba(255,255,255,.18) !important;
  border-radius: 12px !important;
  box-shadow: 0 22px 52px rgba(37,49,59,.17) !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta h2,
body.cb-theme.cb-consult-page .cb-consult-cta p {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow: none !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta a:first-of-type {
  color: var(--cb-ink) !important;
  background: #fff !important;
  border: 1px solid #fff !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.14) !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta a:last-of-type {
  color: #fff !important;
  background: #2a4050 !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  box-shadow: none !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta a:first-of-type:hover {
  color: #fff !important;
  background: var(--cb-blue) !important;
  border-color: #fff !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta a:last-of-type:hover {
  color: var(--cb-ink) !important;
  background: #fff !important;
}

/* Buttons: no sticker shadows, no jumpy geometry. */
body.cb-theme .btn-primary,
body.cb-theme .nav-cta,
body.cb-theme .site-header .nav-cta,
body.cb-theme .button--dark,
body.cb-theme main .bg-zinc-900,
body.cb-theme header .bg-zinc-900,
body.cb-theme .cb-talk-cta .cb-talk-primary {
  color: #fff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-blue) !important;
  border-radius: 6px !important;
  box-shadow: 0 7px 18px rgba(47,120,183,.18) !important;
}

body.cb-theme .btn-primary:hover,
body.cb-theme .nav-cta:hover,
body.cb-theme .site-header .nav-cta:hover,
body.cb-theme .button--dark:hover,
body.cb-theme main .bg-zinc-900:hover,
body.cb-theme header .bg-zinc-900:hover,
body.cb-theme .cb-talk-cta .cb-talk-primary:hover {
  color: #fff !important;
  background: var(--cb-ink) !important;
  border-color: var(--cb-ink) !important;
  box-shadow: 0 10px 24px rgba(37,49,59,.2) !important;
  transform: translateY(-1px) !important;
}

body.cb-theme .btn-secondary,
body.cb-theme .button--ghost,
body.cb-theme main a[class*="border-zinc-200"],
body.cb-theme .cb-talk-cta .cb-talk-secondary {
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.72) !important;
  border-color: rgba(37,49,59,.28) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.cb-theme .btn-secondary:hover,
body.cb-theme .button--ghost:hover,
body.cb-theme main a[class*="border-zinc-200"]:hover,
body.cb-theme .cb-talk-cta .cb-talk-secondary:hover {
  color: var(--cb-ink) !important;
  background: var(--cb-paper) !important;
  border-color: var(--cb-blue) !important;
  transform: translateY(-1px) !important;
}

/* Panels and cards: measured depth and tighter radii. */
body.cb-theme .glass,
body.cb-theme .glass-soft,
body.cb-theme main .rounded-3xl.border,
body.cb-theme main .rounded-2xl.border,
body.cb-theme main .rounded-\[2rem\].border,
body.cb-theme main details.border,
body.cb-theme.neon-page main .bg-white,
body.cb-theme.neon-page main .bg-zinc-50,
body.cb-theme.neon-page main details,
body.cb-theme.neon-page main article,
body.cb-theme.cb-metodo .rounded-3xl.border.border-zinc-200,
body.cb-theme.cb-metodo .rounded-2xl.border.border-zinc-200,
body.cb-theme.cb-metodo details.rounded-2xl,
body.cb-theme.cb-metodo details.rounded-xl {
  background: rgba(255,255,255,.9) !important;
  border-color: rgba(37,49,59,.14) !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 38px rgba(37,49,59,.065) !important;
}

body.cb-theme .card-hover,
body.cb-theme .service-card:nth-child(3n+2),
body.cb-theme .case-article:nth-child(even) { transform: none !important; }

body.cb-theme .card-hover:hover,
body.cb-theme.neon-page main .rounded-3xl:hover,
body.cb-theme.neon-page main article:hover,
body.cb-theme.neon-page main a.rounded-3xl:hover,
body.cb-theme.neon-page main details:hover {
  border-color: rgba(47,120,183,.42) !important;
  box-shadow: 0 18px 44px rgba(37,49,59,.10) !important;
  transform: translateY(-2px) !important;
}

body.cb-theme .pill,
body.cb-theme main span[class*="rounded-full"][class*="border"] {
  color: var(--cb-ink-soft) !important;
  background: var(--cb-paper-deep) !important;
  border-color: rgba(37,49,59,.15) !important;
}

body.cb-theme .icon-badge,
body.cb-theme .journey-title > span,
body.cb-theme .callout-index,
body.cb-theme .node-heading > span,
body.cb-theme .outcome-list label > span,
body.cb-theme .report-card__head > span:first-child,
body.cb-theme .priority-row__index,
body.cb-theme .data-card__head > span {
  color: var(--cb-blue-text) !important;
  background: var(--cb-sand) !important;
  border-color: rgba(37,49,59,.18) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

body.cb-theme .section-line::after,
body.cb-theme.cb-metodo main > section:first-child h1::after {
  height: 2px !important;
  background: var(--cb-orange) !important;
}

body.cb-theme main > section[class*="bg-white"] { background: rgba(229,233,236,.42) !important; }

/* Hero decoration becomes typographic and structural, not illustrative. */
body.cb-theme.neon-page main section:first-child::before,
body.cb-theme.neon-page main section:first-child::after,
body.cb-theme.cb-metodo main > section:first-child::before,
body.cb-theme.cb-metodo main > section:first-child::after { display: none !important; }

@media (min-width: 1025px) {
  body.cb-theme.cb-metodo main > section:first-child .max-w-3xl {
    max-width: 56rem !important;
    padding-right: 0 !important;
  }
}

body.cb-theme.cb-metodo main > section:first-child .text-sm:first-child,
body.cb-theme.cb-metodo main > section:first-child div.text-sm {
  color: var(--cb-blue-text) !important;
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.2) !important;
}

body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl {
  color: #fff !important;
  background: linear-gradient(135deg, #2a4050, var(--cb-blue)) !important;
  border-color: rgba(37,49,59,.22) !important;
  box-shadow: 0 22px 52px rgba(37,49,59,.16) !important;
}

body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl::before,
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl::after { opacity: .08 !important; }

/* Home strategy visual: precise dashboard, no tilted notes or toy-like tokens. */
body.cb-theme .visual-stage { min-height: 420px; }
body.cb-theme .visual-stage::before {
  content: "STRATEGIA DIGITALE / QUADRO OPERATIVO";
  inset: 18px 6% 28px 6%;
  color: rgba(255,255,255,.74);
  background: linear-gradient(145deg, #2a4050, var(--cb-blue)) !important;
  border: 1px solid rgba(37,49,59,.22) !important;
  border-radius: 10px !important;
  box-shadow: 0 24px 54px rgba(37,49,59,.18) !important;
  font-weight: 650;
  letter-spacing: .16em;
  transform: none !important;
}

body.cb-theme .visual-orbit { display: none !important; }

body.cb-theme .visual-laptop {
  left: 14%;
  top: 72px;
  width: 68%;
  background: #fafbfb !important;
  border-color: rgba(37,49,59,.2) !important;
  border-radius: 7px !important;
  box-shadow: 0 20px 38px rgba(37,49,59,.24) !important;
  transform: none !important;
}

body.cb-theme .visual-laptop::after {
  content: "ANALISI  ·  PRIORITÀ  ·  RISULTATI";
  color: var(--cb-blue-text) !important;
  font-weight: 700;
}

body.cb-theme .bars span,
body.cb-theme .case-bars span,
body.cb-theme .mini-bars span {
  background: var(--cb-blue) !important;
  border: 0 !important;
  border-radius: 1px 1px 0 0 !important;
}

body.cb-theme .bars span:nth-child(even),
body.cb-theme .case-bars span:nth-child(even),
body.cb-theme .mini-bars span:nth-child(even),
body.cb-theme .case-bars span:nth-child(3),
body.cb-theme .mini-bars span:nth-child(3) { background: var(--cb-orange) !important; }

body.cb-theme .float-cube {
  width: 62px;
  height: 62px;
  color: var(--cb-blue-text) !important;
  background: var(--cb-paper) !important;
  border-color: rgba(37,49,59,.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 24px rgba(37,49,59,.12) !important;
  transform: none !important;
}

body.cb-theme .cube-c { color: #fff !important; background: var(--cb-blue) !important; }

/* Illustrations use one restrained material system. */
body.cb-theme .case-visual,
body.cb-theme .consult-visual,
body.cb-theme .resource-visual,
body.cb-theme .contact-visual,
body.cb-theme .faq-visual {
  background: linear-gradient(145deg, var(--cb-paper), var(--cb-paper-deep)) !important;
  border-color: rgba(37,49,59,.15) !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 42px rgba(37,49,59,.09) !important;
}

body.cb-theme .case-visual::before,
body.cb-theme .consult-visual::before,
body.cb-theme .resource-visual::before,
body.cb-theme .contact-visual::before,
body.cb-theme .faq-visual::before {
  background-image: linear-gradient(rgba(37,49,59,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(37,49,59,.035) 1px, transparent 1px) !important;
  opacity: .42 !important;
}

body.cb-theme .case-dashboard,
body.cb-theme .strategy-screen,
body.cb-theme .resource-card-visual,
body.cb-theme .message-card {
  border-color: rgba(37,49,59,.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 34px rgba(37,49,59,.16) !important;
  transform: none !important;
}

body.cb-theme .case-card-float,
body.cb-theme .flow-node,
body.cb-theme .strategy-float,
body.cb-theme .floating-resource,
body.cb-theme .contact-bubble,
body.cb-theme .question-card {
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(37,49,59,.18) !important;
  border-radius: 7px !important;
  box-shadow: 0 10px 25px rgba(37,49,59,.11) !important;
  transform: none !important;
}

body.cb-theme .case-card-b,
body.cb-theme .flow-node-bottom,
body.cb-theme .float-note-b,
body.cb-theme .resource-b,
body.cb-theme .bubble-b,
body.cb-theme .question-b { background: var(--cb-paper-deep) !important; }

body.cb-theme .case-card-float:first-of-type,
body.cb-theme .flow-node-left,
body.cb-theme .float-note-a,
body.cb-theme .resource-a,
body.cb-theme .bubble-a,
body.cb-theme .question-a { background: var(--cb-sand) !important; }

body.cb-theme .case-orbit,
body.cb-theme .contact-orbit,
body.cb-theme .question-orbit { display: none !important; }

body.cb-theme .message-card::after {
  background: var(--cb-blue) !important;
  box-shadow: -1.25rem 0 0 #8eb5d3, -2.5rem 0 0 #d5a17e !important;
}

body.cb-theme .question-main,
body.cb-theme .flow-node-main { color: #fff !important; background: var(--cb-blue) !important; }
body.cb-theme .question-d { color: #fff !important; background: var(--cb-muted) !important; }

/* Forms, Audit and interactive choices. */
body.cb-theme input,
body.cb-theme textarea,
body.cb-theme select {
  background: #fff !important;
  border-color: rgba(37,49,59,.24) !important;
  border-radius: 6px !important;
  box-shadow: inset 0 1px 1px rgba(37,49,59,.025) !important;
}

body.cb-theme input:focus,
body.cb-theme textarea:focus,
body.cb-theme select:focus {
  border-color: var(--cb-blue) !important;
  outline: 3px solid rgba(47,120,183,.12) !important;
}

body.cb-theme .compass-preview,
body.cb-theme .workbench,
body.cb-theme .live-panel,
body.cb-theme .report-card,
body.cb-theme .executive-card,
body.cb-theme .strategy-cta,
body.cb-theme .contact-minimal,
body.cb-theme .compact-contact-card,
body.cb-theme .preview-modal__dialog,
body.cb-theme .report-hero,
body.cb-theme .action-card,
body.cb-theme .cb-talk-cta {
  color: var(--cb-ink) !important;
  background: rgba(255,255,255,.94) !important;
  border-color: rgba(37,49,59,.15) !important;
  border-radius: 10px !important;
  box-shadow: 0 18px 44px rgba(37,49,59,.08) !important;
}

body.cb-theme .choice-card:has(input:checked),
body.cb-theme .outcome-list label:has(input:checked),
body.cb-theme .constraint-grid label:has(input:checked) {
  color: var(--cb-ink) !important;
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.55) !important;
  box-shadow: inset 3px 0 0 var(--cb-blue) !important;
}

body.cb-theme .answer-pills label:has(input:checked) span,
body.cb-theme .segmented-choice button.selected,
body.cb-theme .node-options button.selected,
body.cb-theme .confidence-scale button.selected,
body.cb-theme .score-dots button.selected,
body.cb-theme .channel-picker label:has(input:checked) span,
body.cb-theme .page-picker label:has(input:checked) span,
body.cb-theme .scenario-button.selected {
  color: #fff !important;
  background: var(--cb-blue) !important;
  border-color: var(--cb-blue) !important;
  box-shadow: none !important;
}

body.cb-theme .article-toc {
  border-left: 3px solid var(--cb-blue) !important;
  box-shadow: 0 12px 30px rgba(37,49,59,.07) !important;
}

body.cb-theme .article-callout,
body.cb-theme .article-check {
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.22) !important;
  border-radius: 7px !important;
}

body.cb-theme main [class*="bg-gradient-to-"] {
  background: linear-gradient(135deg, #2a4050, var(--cb-blue)) !important;
  border-color: rgba(37,49,59,.18) !important;
  box-shadow: 0 22px 52px rgba(37,49,59,.17) !important;
}

body.cb-theme .cb-talk-cta,
body.cb-theme .strategy-cta { background: #fff !important; }

body.cb-theme .strategy-cta .button--light,
body.cb-theme .strategy-cta .button--light span {
  color: #fff !important;
  background: var(--cb-blue) !important;
}

body.cb-theme .strategy-cta .button--light {
  border-color: var(--cb-blue) !important;
  box-shadow: 0 7px 18px rgba(47,120,183,.18) !important;
}

/* Dark footer remains the visual anchor, now quieter and more corporate. */
body.cb-theme footer {
  color: #e8ecec !important;
  background: var(--cb-ink) !important;
  border-color: var(--cb-ink) !important;
}

body.cb-theme footer a { text-decoration-color: #b7c5cf !important; }
body.cb-theme footer a:hover,
body.cb-theme footer a:focus-visible { color: #fff !important; }

body.cb-theme footer .cb-footer-logo {
  width: min(280px, calc(100% - 2rem));
  padding: 10px;
  border-color: rgba(255,255,255,.18) !important;
  border-radius: 5px !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.16) !important;
}

body.cb-theme :focus-visible {
  outline-color: var(--cb-blue) !important;
  outline-width: 2px !important;
}

@media (max-width: 768px) {
  body.cb-theme,
  body.cb-theme.neon-page,
  body.cb-theme.cb-metodo { background-size: auto !important; }
  body.cb-theme .visual-stage { min-height: 340px; }
  body.cb-theme .visual-stage::before { inset: 10px 3% 18px; }
  body.cb-theme .visual-laptop { left: 10%; top: 58px; width: 80%; }
}

/* Neutralize the last saturated legacy accents inside diagrams and callouts. */
body.cb-theme .bg-\[\#7867ff\],
body.cb-theme main [class*="bg-gradient-to-"] a[class*="bg-white"] { box-shadow: none !important; }

body.cb-theme .consult-glow {
  background: radial-gradient(circle at 28% 24%, rgba(47,120,183,.09), transparent 17rem), radial-gradient(circle at 78% 76%, rgba(184,106,60,.07), transparent 16rem) !important;
}

body.cb-theme .strategy-screen::after,
body.cb-theme .mini-lines { background: linear-gradient(180deg, rgba(47,120,183,.07), transparent) !important; }
body.cb-theme .resource-line:nth-child(even) { background: rgba(47,120,183,.075) !important; }

body.cb-theme .decision-note,
body.cb-theme .leak-readout,
body.cb-theme .teaser-diagnosis,
body.cb-theme .teaser-next,
body.cb-theme .data-trust {
  background: rgba(47,120,183,.055) !important;
  border-color: rgba(47,120,183,.2) !important;
}

body.cb-theme.cb-metodo main > section:nth-of-type(2) .rounded-3xl.border.border-zinc-200::after {
  background: radial-gradient(circle, rgba(47,120,183,.07), transparent 66%) !important;
}

body.cb-theme.cb-metodo main > section:nth-of-type(3) .rounded-3xl.border.border-zinc-200::before,
body.cb-theme.cb-metodo main > section:nth-of-type(3) > div.mt-4.rounded-3xl::before {
  background: var(--cb-orange) !important;
}

body.cb-theme .cb-talk-cta .cb-talk-icon {
  color: var(--cb-blue-text) !important;
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.2) !important;
  box-shadow: none !important;
}

/* Final azure, gray and copper component colours. */
body.cb-theme .cb-unified-nav > a::after,
body.cb-theme .cb-smart-nav-trigger::after,
body.cb-theme .section-line::after,
body.cb-theme.cb-metodo main > section:first-child h1::after {
  background: var(--cb-orange) !important;
}

body.cb-theme .cb-smart-menu__label,
body.cb-theme .roadmap article > span { color: var(--cb-orange-text) !important; }

body.cb-theme .cb-scroll-progress {
  background: linear-gradient(90deg, var(--cb-blue), #6ca2cb 68%, var(--cb-orange)) !important;
  box-shadow: 0 0 12px rgba(47,120,183,.28) !important;
}

body.cb-theme .cb-reactive-panel {
  background-image: radial-gradient(circle at var(--cb-pointer-x) var(--cb-pointer-y), rgba(47,120,183,.15), transparent 34%) !important;
  background-color: var(--cb-paper-deep) !important;
}
body.cb-theme .visual-stage.cb-reactive-panel { background-color: transparent !important; }

body.cb-theme .visual-stage::before,
body.cb-theme.cb-metodo main > section:last-of-type > div.rounded-3xl,
body.cb-theme main [class*="bg-gradient-to-"] {
  background: linear-gradient(135deg, #2a4050, var(--cb-blue)) !important;
  border-color: rgba(37,49,59,.18) !important;
  box-shadow: 0 22px 52px rgba(37,49,59,.16) !important;
}

body.cb-theme.cb-consult-page .cb-consult-cta {
  color: #fff !important;
  background: linear-gradient(135deg, #2a4050, var(--cb-blue)) !important;
  border-color: rgba(255,255,255,.2) !important;
  box-shadow: 0 22px 52px rgba(37,49,59,.17) !important;
}

body.cb-theme .consult-glow {
  background: radial-gradient(circle at 28% 24%, rgba(47,120,183,.11), transparent 17rem), radial-gradient(circle at 78% 76%, rgba(184,106,60,.09), transparent 16rem) !important;
}
body.cb-theme .strategy-screen::after,
body.cb-theme .mini-lines { background: linear-gradient(180deg, rgba(47,120,183,.08), transparent) !important; }
body.cb-theme .resource-line:nth-child(even) { background: rgba(47,120,183,.08) !important; }

body.cb-theme .decision-note,
body.cb-theme .leak-readout,
body.cb-theme .teaser-diagnosis,
body.cb-theme .teaser-next,
body.cb-theme .data-trust {
  background: rgba(47,120,183,.06) !important;
  border-color: rgba(47,120,183,.22) !important;
}

body.cb-theme.cb-metodo main > section:nth-of-type(2) .rounded-3xl.border.border-zinc-200::after {
  background: radial-gradient(circle, rgba(47,120,183,.08), transparent 66%) !important;
}

body.cb-theme .cb-talk-cta .cb-talk-icon {
  color: var(--cb-blue-text) !important;
  background: var(--cb-acid) !important;
  border-color: rgba(47,120,183,.22) !important;
}

body.cb-theme .cb-unified-footer,
body.cb-theme footer {
  color: #edf1f3 !important;
  background: var(--cb-ink) !important;
  border-color: var(--cb-ink) !important;
}
body.cb-theme .cb-unified-footer::before {
  background: linear-gradient(90deg, transparent 0 68%, rgba(184,106,60,.09) 68% 68.08%, transparent 68.08%), radial-gradient(circle at 84% 18%, rgba(47,120,183,.28), transparent 28rem) !important;
}
body.cb-theme .cb-unified-footer__social a:hover { border-color: rgba(184,106,60,.58) !important; }

/* V2.4 — readable states and responsive consistency, including the Audit app. */
body.cb-theme,
body.cb-theme.neon-page,
body.cb-theme.cb-metodo {
  color-scheme: light;
  background:
    radial-gradient(circle at 86% 2%, rgba(47,120,183,.075), transparent 31rem),
    linear-gradient(180deg, #fafbfb 0, var(--cb-paper) 48rem) !important;
}

body.cb-theme header.cb-unified-header *,
body.cb-theme .cb-unified-footer * { box-sizing: border-box; }

body.cb-theme header.cb-unified-header .cb-unified-nav { gap: 21px !important; }
body.cb-theme header.cb-unified-header .cb-unified-nav > a,
body.cb-theme header.cb-unified-header .cb-smart-nav-trigger {
  color: var(--cb-ink) !important;
  font-size: .82rem !important;
  font-weight: 550 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body.cb-theme header.cb-unified-header .cb-smart-nav-trigger svg {
  width: 14px !important;
  height: 14px !important;
}
body.cb-theme header.cb-unified-header .cb-smart-menu a,
body.cb-theme header.cb-unified-header .cb-unified-mobile a {
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
body.cb-theme header.cb-unified-header .cb-smart-menu a strong { font-weight: 600 !important; }
body.cb-theme header.cb-unified-header .cb-smart-menu a small { font-weight: 400 !important; }
body.cb-theme header.cb-unified-header .cb-unified-header__cta,
body.cb-theme header.cb-unified-header .cb-unified-header__cta span { color: #fff !important; }
body.cb-theme .cb-unified-mobile { max-height: calc(100dvh - 88px); overscroll-behavior: contain; }
body.cb-theme .cb-smart-menu a.is-current,
body.cb-theme .cb-unified-mobile a.is-current {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--cb-orange);
}

body.cb-theme .cb-unified-footer__inner > * { min-width: 0; }
body.cb-theme .cb-unified-footer__column a { max-width: 100%; overflow-wrap: anywhere; }
body.cb-theme .cb-unified-footer__column small,
body.cb-theme .cb-unified-footer__bottom { color: #b7c5cf !important; }
@media (min-width: 561px) and (max-width: 1024px) {
  body.cb-theme .cb-unified-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
  body.cb-theme .cb-unified-mobile { display: none !important; }
}

/* Small labels need a deeper colour than the decorative brand accents. */
body.cb-theme .prose a,
body.cb-theme .article-toc a:hover,
body.cb-theme .button--link:hover,
body.cb-theme .session-button:hover { color: var(--cb-blue-text) !important; }
body.cb-theme .question-d { color: var(--cb-ink) !important; background: var(--cb-sand) !important; }
body.cb-theme input::placeholder,
body.cb-theme textarea::placeholder { color: var(--cb-muted) !important; opacity: 1; }
body.cb-theme :focus-visible {
  outline: 2px solid var(--cb-blue-text) !important;
  outline-offset: 4px !important;
}
body.cb-theme footer :focus-visible { outline-color: #e4eef6 !important; }
body.cb-theme label:has(input:focus-visible) {
  outline: 2px solid var(--cb-blue-text);
  outline-offset: 4px;
}

/* Light panels: include the secondary labels generated during the Audit. */
body.cb-theme :is(.compass-preview, .workbench, .live-panel, .report-view, .preview-modal__dialog) :is(p, small, label, span, i),
body.cb-theme .journey-title small,
body.cb-theme .journey-track__meta,
body.cb-theme .journey-track__meta b,
body.cb-theme .teaser-copy > p,
body.cb-theme .teaser-diagnosis p,
body.cb-theme .teaser-next p,
body.cb-theme .track-labels,
body.cb-theme .live-copy,
body.cb-theme .focus-intro { color: var(--cb-ink-soft) !important; }
body.cb-theme :is(.compass-preview, .workbench, .live-panel, .report-view, .preview-modal__dialog) :is(b, strong) {
  color: var(--cb-ink) !important;
}
body.cb-theme .choice-card .choice-code,
body.cb-theme .preview-modal__eyebrow,
body.cb-theme .channels-none-active .channel-picker::after,
body.cb-theme .optional-company-data summary::before { color: var(--cb-blue-text) !important; }
body.cb-theme .mode-badge {
  color: var(--cb-blue-text) !important;
  background: var(--cb-acid) !important;
  border-color: var(--cb-line-strong) !important;
}
body.cb-theme .delivery-status {
  color: #176b4d !important;
  background: #e4f4ec !important;
  border-color: #72a58e !important;
}
body.cb-theme .delivery-status :is(b, small, span) { color: #176b4d !important; }
body.cb-theme .toast { color: #fff !important; background: var(--cb-ink) !important; border-color: var(--cb-line-strong) !important; }

/* Selected answers and button contents stay white on an azure surface. */
body.cb-theme :is(.segmented-choice, .node-options, .confidence-scale, .score-dots) button.selected *,
body.cb-theme .scenario-button.selected *,
body.cb-theme .answer-pills label:has(input:checked) span *,
body.cb-theme .channel-picker label:has(input:checked) span *,
body.cb-theme .page-picker label:has(input:checked) span *,
body.cb-theme .page-picker label:has(input:checked) span,
body.cb-theme .channel-picker label:has(input:checked) span,
body.cb-theme .answer-pills label:has(input:checked) span,
body.cb-theme .funnel-connector span,
body.cb-theme .strategy-cta .button--light *,
body.cb-theme .button--dark :is(span, small, b, strong, svg, i),
body.cb-theme .btn-primary :is(span, small, b, strong, svg, i),
body.cb-theme .cb-talk-cta .cb-talk-primary * {
  color: #fff !important;
  -webkit-text-fill-color: currentColor !important;
}
body.cb-theme .button--ghost :is(span, small, b, strong, svg, i) { color: var(--cb-ink) !important; }
body.cb-theme :is(.preview-score-row, .live-score-row, .score-card, .potential-number, .simulator-result) strong {
  color: var(--cb-blue-text) !important;
}
body.cb-theme .strategy-cta .button--light span { background: transparent !important; }
body.cb-theme .cb-talk-cta :is(h2, p) { color: var(--cb-ink) !important; -webkit-text-fill-color: currentColor !important; }
body.cb-theme.cb-consult-page .cb-consult-cta > .absolute { display: none; }

/* Inline diagrams share the palette without changing their accessible markup. */
body.cb-theme main svg [fill="#2557e0"] { fill: var(--cb-blue); }
body.cb-theme main svg [fill="#d7ef66"] { fill: #8eb5d3; }
body.cb-theme main svg [fill="#e8572f"] { fill: var(--cb-orange); }
body.cb-theme main svg [stroke="#2557e0"] { stroke: var(--cb-blue); }
body.cb-theme main svg [stroke="#e8572f"] { stroke: var(--cb-orange); }
body.cb-theme main svg [stroke="rgba(255,255,255,.08)"] { stroke: var(--cb-line); }
body.cb-theme main svg stop[stop-color="#2557e0"] { stop-color: var(--cb-blue); }
body.cb-theme main svg stop[stop-color="#d7ef66"] { stop-color: #8eb5d3; }
body.cb-theme main svg stop[stop-color="#e8572f"] { stop-color: var(--cb-orange); }

@media print {
  body.cb-theme .cb-unified-header,
  body.cb-theme .cb-unified-footer,
  body.cb-theme .cb-scroll-progress { display: none !important; }
}
