/* CreaLabs CMS Theme System v0.2.2 */
:root {
    --cms-container: min(1440px, calc(100vw - 48px));
    --cms-radius: 26px;
    --cms-border: color-mix(in srgb, var(--cl-border-color) 68%, transparent);
    --cms-muted: var(--cl-muted);
    --cl-bg: var(--cl-background);
    --cl-bg-2: var(--cl-background-alt);
    --cl-panel: color-mix(in srgb, var(--cl-surface) 82%, transparent);
    --cl-panel-solid: var(--cl-surface);
    --cl-line: color-mix(in srgb, var(--cl-border-color) 62%, transparent);
    --cl-line-strong: color-mix(in srgb, var(--cl-primary) 52%, transparent);
    --cl-blue: var(--cl-primary);
    --cl-blue-2: var(--cl-gradient-from);
    --cl-purple: var(--cl-gradient-to);
    --cl-purple-2: var(--cl-secondary);
}

html { background: var(--cl-background); }
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] { color-scheme: light; }
body.cl-body {
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 16% 4%, color-mix(in srgb, var(--cl-primary) 15%, transparent), transparent 30%),
        radial-gradient(circle at 86% 7%, color-mix(in srgb, var(--cl-secondary) 14%, transparent), transparent 31%),
        linear-gradient(180deg, var(--cl-background), var(--cl-background-alt) 54%, var(--cl-background)) !important;
    transition: background .28s ease, color .28s ease;
}

html[data-theme="light"] .cl-page-noise { opacity: .08; }
html[data-theme="dark"] .cl-page-noise { opacity: .24; }

/* Header */
.cl-header {
    color: var(--cl-text);
    border-bottom-color: color-mix(in srgb, var(--cl-border-color) 22%, transparent);
}
.cl-header.is-scrolled,
.cl-header-type-solid .cl-header,
.cl-header-type-floating .cl-header.is-scrolled {
    background: var(--cl-header-bg) !important;
    border-color: color-mix(in srgb, var(--cl-border-color) 42%, transparent) !important;
    box-shadow: 0 14px 40px var(--cl-shadow-color);
    backdrop-filter: blur(22px) saturate(145%);
}
.cl-brand strong, .cl-nav__link:hover, .cl-nav__link.is-active { color: var(--cl-text); }
.cl-brand small, .cl-nav__link, .cl-header__login { color: var(--cl-muted); }
.cl-nav__link.is-active::after { background: linear-gradient(90deg, var(--cl-gradient-from), var(--cl-gradient-to)); }
.cl-mega,
.cl-mobile-menu {
    color: var(--cl-text);
    background: color-mix(in srgb, var(--cl-surface) 95%, transparent) !important;
    border-color: color-mix(in srgb, var(--cl-border-color) 55%, transparent) !important;
}
.cl-mega__intro { background: linear-gradient(145deg, color-mix(in srgb, var(--cl-primary) 16%, transparent), color-mix(in srgb, var(--cl-secondary) 11%, transparent)); }
.cl-mega__links > a:hover, .cl-mobile-menu__children a { background: color-mix(in srgb, var(--cl-primary) 10%, var(--cl-surface)); }

.cl-theme-toggle {
    width: 40px;
    height: 40px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--cl-border-color) 65%, transparent);
    border-radius: 12px;
    color: var(--cl-text);
    background: color-mix(in srgb, var(--cl-surface) 72%, transparent);
    cursor: pointer;
    box-shadow: inset 0 1px rgba(255,255,255,.06);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.cl-theme-toggle:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--cl-primary) 68%, transparent); }
.cl-theme-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme="dark"] .cl-theme-toggle__moon { display: none; }
html[data-theme="light"] .cl-theme-toggle__sun { display: none; }
.cl-mobile-menu__head-actions { display:flex; align-items:center; gap:8px; }

/* CMS page hero */
.cl-cms-page-hero {
    min-height: clamp(600px, 64vw, 790px) !important;
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 72% 22%, color-mix(in srgb, var(--cl-secondary) 30%, transparent), transparent 34%),
        radial-gradient(circle at 20% 8%, color-mix(in srgb, var(--cl-primary) 20%, transparent), transparent 34%),
        linear-gradient(118deg, var(--cl-background) 0%, var(--cl-background-alt) 48%, color-mix(in srgb, var(--cl-secondary) 18%, var(--cl-background)) 100%) !important;
}
.cl-cms-page-hero--compact { min-height: 440px !important; }
.cl-cms-page-hero__content {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, .76fr);
    gap: clamp(40px, 6vw, 100px);
    align-items: center;
    padding-block: 170px 100px !important;
}
.cl-cms-page-hero--compact .cl-cms-page-hero__content { grid-template-columns: 1fr; padding-block: 150px 80px !important; }
.cl-cms-page-hero__copy { position: relative; z-index: 3; }
.cl-cms-page-hero__media { opacity: .42; }
.cl-cms-page-hero__overlay {
    background: linear-gradient(90deg, color-mix(in srgb, var(--hero-overlay) calc(var(--hero-opacity) * 100%), transparent) 0%, var(--cl-hero-overlay) 52%, color-mix(in srgb, var(--cl-background) 32%, transparent) 100%) !important;
}
.cl-cms-page-hero__grid {
    opacity: .34 !important;
    background-image: radial-gradient(var(--cl-grid-dot) 1px, transparent 1.2px) !important;
    background-size: 30px 30px !important;
}
.cl-cms-page-hero__glow { position:absolute; border-radius:999px; filter:blur(110px); opacity:.18; pointer-events:none; }
.cl-cms-page-hero__glow--blue { width:520px;height:520px;left:-170px;top:40px;background:var(--cl-primary); }
.cl-cms-page-hero__glow--purple { width:560px;height:560px;right:-160px;top:30px;background:var(--cl-secondary); }
.cl-cms-breadcrumb, .cl-cms-breadcrumb span { color: color-mix(in srgb, var(--cl-muted) 84%, transparent) !important; }
.cl-cms-breadcrumb a { color: color-mix(in srgb, var(--cl-primary) 80%, var(--cl-text)) !important; }
.cl-cms-eyebrow {
    border-color: color-mix(in srgb, var(--cl-primary) 45%, transparent) !important;
    background: color-mix(in srgb, var(--cl-primary) 13%, transparent) !important;
    color: color-mix(in srgb, var(--cl-primary) 52%, var(--cl-text)) !important;
}
.cl-cms-eyebrow i { width:6px;height:6px;border-radius:99px;background:var(--cl-accent);box-shadow:0 0 12px var(--cl-accent); }
.cl-cms-page-hero h1 {
    max-width: 900px !important;
    color: var(--cl-text) !important;
    font-size: clamp(52px, 6.3vw, 96px) !important;
    text-wrap: balance;
}
.cl-cms-page-hero p { color: var(--cl-muted) !important; }

.cl-cms-page-hero__visual { position:relative; min-height:500px; display:grid; place-items:end center; isolation:isolate; }
.cl-cms-page-hero__robot { position:relative; z-index:4; width:min(370px,82%); max-height:510px; object-fit:contain; filter:drop-shadow(0 28px 34px rgba(0,8,26,.65)) drop-shadow(0 0 35px color-mix(in srgb,var(--cl-primary) 24%,transparent)); animation:clCmsRobotFloat 5.2s ease-in-out infinite; }
.cl-cms-page-hero__orbit { position:absolute; left:50%; top:48%; border:1px solid color-mix(in srgb,var(--cl-primary) 35%,transparent); border-radius:50%; transform:translate(-50%,-50%); }
.cl-cms-page-hero__orbit::before,.cl-cms-page-hero__orbit::after { content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cl-accent);box-shadow:0 0 16px var(--cl-accent); }
.cl-cms-page-hero__orbit::before { left:15%;top:10%; }.cl-cms-page-hero__orbit::after { right:7%;bottom:20%;background:var(--cl-secondary);box-shadow:0 0 16px var(--cl-secondary); }
.cl-cms-page-hero__orbit--one { width:500px;height:500px; }.cl-cms-page-hero__orbit--two { width:385px;height:385px;border-color:color-mix(in srgb,var(--cl-secondary) 34%,transparent);transform:translate(-50%,-50%) rotate(19deg); }
.cl-cms-page-hero__platform { position:absolute;z-index:1;left:50%;bottom:28px;width:440px;height:92px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(ellipse,color-mix(in srgb,var(--cl-primary) 68%,transparent),color-mix(in srgb,var(--cl-secondary) 26%,transparent) 46%,transparent 72%);filter:blur(8px); }
.cl-cms-page-hero__tag { position:absolute;z-index:5;padding:9px 13px;border:1px solid color-mix(in srgb,var(--cl-primary) 42%,transparent);border-radius:9px;background:color-mix(in srgb,var(--cl-surface) 86%,transparent);color:var(--cl-text);font-size:11px;font-weight:800;box-shadow:0 12px 34px var(--cl-shadow-color);backdrop-filter:blur(16px); }
.cl-cms-page-hero__tag--one { left:1%;top:42%; }.cl-cms-page-hero__tag--two { right:0;top:19%; }.cl-cms-page-hero__tag--three { right:-2%;bottom:20%; }
@keyframes clCmsRobotFloat { 50% { transform:translateY(-12px) rotate(1deg); } }

/* CMS sections and blocks */
.cl-cms-section,
.cl-cms-intro {
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 50% -10%, color-mix(in srgb, var(--cl-primary) 8%, transparent), transparent 40%),
        var(--cl-background) !important;
}
.cl-cms-section:nth-of-type(even) {
    background:
        radial-gradient(circle at 84% 20%, color-mix(in srgb, var(--cl-secondary) 9%, transparent), transparent 36%),
        var(--cl-background-alt) !important;
}
.cl-cms-section h2,.cl-cms-section h3,.cl-cms-prose h2,.cl-cms-prose h3 { color:var(--cl-text) !important; }
.cl-cms-section-lead,.cl-cms-prose,.cl-cms-card p,.cl-cms-stats-grid p,.cl-cms-step p,.cl-cms-faq-answer,.cl-cms-form label { color:var(--cl-muted) !important; }
.cl-cms-card,
.cl-cms-metric,
.cl-cms-stats-grid article,
.cl-cms-reference-grid article,
.cl-cms-team-grid article,
.cl-cms-pricing-grid article,
.cl-cms-step,
.cl-cms-faq-list details,
.cl-cms-dashboard-frame,
.cl-cms-form,
.cl-cms-logo-grid a {
    color:var(--cl-text) !important;
    border-color:color-mix(in srgb,var(--cl-border-color) 62%,transparent) !important;
    background:linear-gradient(145deg,color-mix(in srgb,var(--cl-surface) 94%,transparent),color-mix(in srgb,var(--cl-surface-alt) 88%,transparent)) !important;
    box-shadow:0 24px 70px var(--cl-shadow-color);
}
.cl-cms-card:hover { border-color:color-mix(in srgb,var(--cl-primary) 65%,transparent) !important; }
.cl-cms-form input,.cl-cms-form textarea,.cl-cms-form select {
    color:var(--cl-text) !important;
    border-color:color-mix(in srgb,var(--cl-border-color) 70%,transparent) !important;
    background:color-mix(in srgb,var(--cl-background) 62%,var(--cl-surface)) !important;
}
.cl-cms-form input::placeholder,.cl-cms-form textarea::placeholder { color:color-mix(in srgb,var(--cl-muted) 72%,transparent); }
.cl-cms-cta-card { border-color:color-mix(in srgb,var(--cl-primary) 44%,transparent) !important; background:linear-gradient(105deg,color-mix(in srgb,var(--cl-primary) 28%,var(--cl-background)),color-mix(in srgb,var(--cl-secondary) 30%,var(--cl-background))) !important; }
.cl-cms-image-frame { background:linear-gradient(145deg,color-mix(in srgb,var(--cl-primary) 16%,var(--cl-surface)),color-mix(in srgb,var(--cl-secondary) 15%,var(--cl-surface))) !important; }
.cl-cms-card a,.cl-cms-prose a { color:color-mix(in srgb,var(--cl-primary) 65%,var(--cl-text)) !important; }
.cl-cms-checklist li { color:color-mix(in srgb,var(--cl-text) 88%,var(--cl-muted)) !important; }

/* Buttons */
.cl-button--primary { color:#fff !important;background:linear-gradient(105deg,var(--cl-gradient-from),color-mix(in srgb,var(--cl-gradient-from) 55%,var(--cl-gradient-to)),var(--cl-gradient-to)) !important; }
.cl-button--ghost { color:var(--cl-text) !important;border-color:color-mix(in srgb,var(--cl-primary) 38%,transparent) !important;background:color-mix(in srgb,var(--cl-surface) 60%,transparent) !important; }

/* Footer / utilities */
.cl-footer { color:var(--cl-text);background:var(--cl-background) !important;border-color:color-mix(in srgb,var(--cl-border-color) 38%,transparent) !important; }
.cl-cookie { color:var(--cl-text);background:color-mix(in srgb,var(--cl-surface) 96%,transparent) !important;border-color:color-mix(in srgb,var(--cl-border-color) 60%,transparent) !important; }

/* Light theme refinements */
html[data-theme="light"] .cl-header:not(.is-scrolled) { background:linear-gradient(to bottom,rgba(244,248,255,.82),rgba(244,248,255,.28),transparent); }
html[data-theme="light"] .cl-cms-page-hero { background:radial-gradient(circle at 74% 20%,rgba(113,55,232,.16),transparent 35%),radial-gradient(circle at 18% 8%,rgba(8,120,255,.13),transparent 33%),linear-gradient(118deg,#f8fbff,#eef4ff 50%,#f2edff) !important; }
html[data-theme="light"] .cl-cms-page-hero__overlay { background:linear-gradient(90deg,rgba(248,251,255,.9),rgba(240,246,255,.66),rgba(239,233,255,.38)) !important; }
html[data-theme="light"] .cl-cms-page-hero__robot { filter:drop-shadow(0 28px 38px rgba(47,76,125,.22)) drop-shadow(0 0 34px rgba(8,120,255,.14)); }
html[data-theme="light"] .cl-page-noise { mix-blend-mode:multiply; }

@media (max-width: 1100px) {
    .cl-cms-page-hero__content { grid-template-columns:1fr; padding-block:145px 80px !important; }
    .cl-cms-page-hero__visual { min-height:420px; }
    .cl-cms-page-hero__robot { width:300px; }
    .cl-cms-page-hero__orbit--one { width:410px;height:410px; }.cl-cms-page-hero__orbit--two { width:320px;height:320px; }
}
@media (max-width: 767px) {
    :root { --cms-container: min(100% - 28px, 1440px); }
    .cl-theme-toggle { width:38px;height:38px; }
    .cl-cms-page-hero { min-height:auto !important; }
    .cl-cms-page-hero__content { padding-block:120px 60px !important; gap:28px; }
    .cl-cms-page-hero h1 { font-size:clamp(42px,14vw,66px) !important; }
    .cl-cms-page-hero__visual { min-height:350px; }
    .cl-cms-page-hero__robot { width:240px; }
    .cl-cms-page-hero__orbit--one { width:330px;height:330px; }.cl-cms-page-hero__orbit--two { width:255px;height:255px; }
    .cl-cms-page-hero__tag { font-size:9px;padding:7px 9px; }
    .cl-cms-page-hero__tag--one { left:0; }.cl-cms-page-hero__tag--two { right:0; }.cl-cms-page-hero__tag--three { right:0; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ========================================================================
   CreaLabs Brand, Light Theme & Mega Menu Fidelity Hotfix v0.2.2.1
   The CreaLabs cyan / navy identity is primary. Purple remains a supporting
   digital accent, matching the approved public-site visual language.
   ======================================================================== */

:root {
    --cl-brand-cyan: #12a8d8;
    --cl-brand-cyan-deep: #087ea8;
    --cl-brand-navy: #394567;
    --cl-brand-purple: #7c3aed;
    --cl-brand-white: #f8fbff;
    --cl-bg: var(--cl-background);
    --cl-bg-2: var(--cl-background-alt);
    --cl-panel: color-mix(in srgb, var(--cl-surface) 84%, transparent);
    --cl-panel-solid: var(--cl-surface);
    --cl-line: color-mix(in srgb, var(--cl-border-color) 62%, transparent);
    --cl-line-strong: color-mix(in srgb, var(--cl-primary) 58%, transparent);
    --cl-blue: var(--cl-primary);
    --cl-blue-2: var(--cl-gradient-from);
    --cl-purple: var(--cl-gradient-to);
    --cl-purple-2: var(--cl-secondary);
}

/* Global contrast reset: old public CSS contains several fixed dark colors. */
html,
body.cl-body,
body.cl-body main {
    background-color: var(--cl-background) !important;
}

body.cl-body,
.cl-body main,
.cl-home-band,
.cl-section,
.cl-cms-section,
.cl-cms-intro {
    color: var(--cl-text) !important;
}

.cl-section-heading h2,
.cl-section-heading h3,
.cl-eco-card strong,
.cl-service-card h3,
.cl-benefit-card h3,
.cl-process-step h3,
.cl-cta h2,
.cl-footer h3,
.cl-db-title,
.cl-db-floating-card strong,
.cl-db-bottom-metric strong {
    color: var(--cl-text) !important;
}

.cl-section-heading p,
.cl-eco-card p,
.cl-service-card p,
.cl-benefit-card p,
.cl-process-step p,
.cl-footer p,
.cl-footer a,
.cl-footer span,
.cl-db-description,
.cl-db-bottom-metric small,
.cl-db-floating-card small {
    color: var(--cl-muted) !important;
}

/* Exact brand asset presentation */
.cl-brand {
    color: var(--cl-text) !important;
    gap: 11px !important;
}

.cl-brand img {
    width: 45px !important;
    height: 45px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: contain !important;
    background: transparent !important;
    filter: drop-shadow(0 0 15px color-mix(in srgb, var(--cl-primary) 28%, transparent)) !important;
}

.cl-brand strong {
    color: var(--cl-text) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

.cl-brand small {
    color: color-mix(in srgb, var(--cl-text) 66%, var(--cl-muted)) !important;
}

.cl-hero-robot,
.cl-cta__robot,
.cl-cms-page-hero__robot,
.cl-cms-cta-robot,
.cl-db-hero-robot,
.cl-db-cta-robot {
    object-fit: contain !important;
    object-position: center bottom !important;
}

/* Header & desktop mega menu */
.cl-header {
    overflow: visible !important;
    color: var(--cl-text) !important;
}

.cl-header__inner {
    position: relative !important;
    overflow: visible !important;
}

.cl-nav,
.cl-nav__dropdown {
    overflow: visible !important;
}

.cl-nav__link {
    color: color-mix(in srgb, var(--cl-text) 72%, var(--cl-muted)) !important;
}

.cl-nav__link:hover,
.cl-nav__link.is-active,
.cl-nav__dropdown.is-mega-open > .cl-nav__link,
.cl-nav__dropdown:focus-within > .cl-nav__link {
    color: var(--cl-text) !important;
}

.cl-nav__dropdown::after {
    position: absolute;
    z-index: 1098;
    top: calc(100% - 7px);
    left: 50%;
    width: 96px;
    height: 22px;
    content: "";
    transform: translateX(-50%);
}

.cl-mega {
    position: fixed !important;
    z-index: 1100 !important;
    top: calc(var(--cl-header-height, 84px) - 1px) !important;
    left: 50vw !important;
    width: min(940px, calc(100vw - 40px)) !important;
    max-height: min(650px, calc(100vh - 105px));
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.55fr) !important;
    gap: 14px !important;
    padding: 16px !important;
    border: 1px solid color-mix(in srgb, var(--cl-primary) 28%, var(--cl-border-color)) !important;
    border-radius: 22px !important;
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 9% 10%, color-mix(in srgb, var(--cl-primary) 15%, transparent), transparent 34%),
        radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--cl-secondary) 13%, transparent), transparent 34%),
        color-mix(in srgb, var(--cl-surface) 97%, transparent) !important;
    box-shadow: 0 34px 90px var(--cl-shadow-color), inset 0 1px rgba(255, 255, 255, .06) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    overflow: auto;
    transform: translate(-50%, 14px) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}

.cl-nav__dropdown:hover > .cl-mega,
.cl-nav__dropdown:focus-within > .cl-mega,
.cl-nav__dropdown.is-mega-open > .cl-mega {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
}

.cl-mega__intro {
    position: relative;
    min-height: 238px;
    padding: 26px !important;
    border: 1px solid color-mix(in srgb, var(--cl-primary) 25%, transparent);
    border-radius: 17px !important;
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 20% 0%, color-mix(in srgb, var(--cl-primary) 24%, transparent), transparent 42%),
        linear-gradient(145deg, color-mix(in srgb, var(--cl-surface-alt) 96%, transparent), color-mix(in srgb, var(--cl-secondary) 10%, var(--cl-surface))) !important;
    overflow: hidden;
}

.cl-mega__intro::after {
    position: absolute;
    right: -40px;
    bottom: -55px;
    width: 170px;
    height: 170px;
    border: 1px solid color-mix(in srgb, var(--cl-primary) 20%, transparent);
    border-radius: 50%;
    content: "";
    box-shadow: 0 0 50px color-mix(in srgb, var(--cl-secondary) 15%, transparent);
}

.cl-mega__intro > span {
    color: var(--cl-primary) !important;
}

.cl-mega__intro strong {
    color: var(--cl-text) !important;
    font-size: 25px !important;
}

.cl-mega__intro p,
.cl-mega__links small {
    color: var(--cl-muted) !important;
}

.cl-mega__intro a {
    color: color-mix(in srgb, var(--cl-primary) 70%, var(--cl-text)) !important;
}

.cl-mega__links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 2px !important;
}

.cl-mega__links > a {
    position: relative;
    min-height: 76px;
    align-items: flex-start;
    padding: 16px !important;
    border: 1px solid transparent;
    border-radius: 14px !important;
    color: var(--cl-text) !important;
    background: color-mix(in srgb, var(--cl-surface-alt) 44%, transparent);
}

.cl-mega__links > a:hover,
.cl-mega__links > a:focus-visible {
    border-color: color-mix(in srgb, var(--cl-primary) 32%, transparent) !important;
    background: color-mix(in srgb, var(--cl-primary) 10%, var(--cl-surface)) !important;
    transform: translateY(-2px);
}

.cl-mega__links strong {
    color: var(--cl-text) !important;
    font-size: 13px !important;
}

.cl-mega__dot {
    flex: 0 0 auto;
    background: linear-gradient(135deg, var(--cl-primary), var(--cl-secondary)) !important;
    box-shadow: 0 0 13px color-mix(in srgb, var(--cl-primary) 68%, transparent) !important;
}

.cl-mega__arrow {
    width: 15px;
    height: 15px;
    margin-left: auto;
    color: var(--cl-primary);
    opacity: .55;
}

.cl-header__login {
    color: color-mix(in srgb, var(--cl-text) 62%, var(--cl-muted)) !important;
}

.cl-header__login:hover {
    color: var(--cl-primary) !important;
}

/* Home page bands and cards: both modes use the same brand language. */
.cl-home-band,
.cl-section--ecosystem,
.cl-section--services,
.cl-section--benefits,
.cl-section--process,
.cl-section--cta {
    background:
        radial-gradient(circle at 14% 0%, color-mix(in srgb, var(--cl-primary) 8%, transparent), transparent 32%),
        radial-gradient(circle at 86% 0%, color-mix(in srgb, var(--cl-secondary) 7%, transparent), transparent 33%),
        var(--cl-background) !important;
}

.cl-section--services,
.cl-section--process {
    background:
        radial-gradient(circle at 85% 16%, color-mix(in srgb, var(--cl-secondary) 9%, transparent), transparent 36%),
        var(--cl-background-alt) !important;
}

.cl-section-heading > span,
.cl-section-label {
    color: var(--cl-primary) !important;
}

.cl-eco-card,
.cl-service-card,
.cl-benefit-card,
.cl-process-step,
.cl-float-card,
.cl-db-floating-card,
.cl-db-bottom-metric,
.cl-db-stat-card {
    color: var(--cl-text) !important;
    border-color: color-mix(in srgb, var(--cl-border-color) 62%, transparent) !important;
    background:
        radial-gradient(circle at 30% 0%, color-mix(in srgb, var(--cl-primary) 9%, transparent), transparent 44%),
        linear-gradient(145deg, color-mix(in srgb, var(--cl-surface) 96%, transparent), color-mix(in srgb, var(--cl-surface-alt) 92%, transparent)) !important;
    box-shadow: 0 22px 65px var(--cl-shadow-color), inset 0 1px rgba(255, 255, 255, .04) !important;
}

.cl-eco-card:nth-child(n+5),
.cl-service-card:nth-child(3),
.cl-service-card:nth-child(5),
.cl-service-card:nth-child(6) {
    border-color: color-mix(in srgb, var(--cl-secondary) 46%, var(--cl-border-color)) !important;
}

.cl-eco-card__icon,
.cl-service-card__icon,
.cl-benefit-card > span,
.cl-process-step__icon {
    color: var(--cl-primary) !important;
}

.cl-eco-card:nth-child(n+5) .cl-eco-card__icon,
.cl-benefit-card:nth-child(3n) > span,
.cl-process-step:nth-child(even) .cl-process-step__icon {
    color: var(--cl-secondary) !important;
}

/* Public hero and dynamic banner */
.cl-hero,
.cl-db-banner--hero {
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 16% 4%, color-mix(in srgb, var(--cl-primary) 18%, transparent), transparent 32%),
        radial-gradient(circle at 84% 8%, color-mix(in srgb, var(--cl-secondary) 18%, transparent), transparent 34%),
        linear-gradient(118deg, var(--cl-background), var(--cl-background-alt) 53%, color-mix(in srgb, var(--cl-secondary) 14%, var(--cl-background))) !important;
}

.cl-hero h1,
.cl-hero__content > p,
.cl-stats strong,
.cl-stats small,
.cl-float-card,
.cl-float-card header span,
.cl-float-card > strong,
.cl-db-title,
.cl-db-description {
    color: inherit;
}

.cl-hero__content > p,
.cl-stats small,
.cl-float-card header span,
.cl-db-description {
    color: var(--cl-muted) !important;
}

.cl-kicker,
.cl-db-kicker {
    color: color-mix(in srgb, var(--cl-primary) 55%, var(--cl-text)) !important;
    border-color: color-mix(in srgb, var(--cl-primary) 48%, transparent) !important;
    background: color-mix(in srgb, var(--cl-primary) 12%, var(--cl-surface)) !important;
}

.cl-hero h1 span,
.cl-db-title__highlight,
.cl-db-title span,
.cl-cms-hero-copy h2 span {
    background: linear-gradient(92deg, var(--cl-primary), var(--cl-gradient-from) 38%, var(--cl-secondary) 80%, var(--cl-gradient-to)) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}

/* CMS block fidelity and fixed CTA robot overflow */
.cl-cms-cta {
    overflow: visible !important;
}

.cl-cms-cta-card {
    min-height: 390px !important;
    overflow: visible !important;
    isolation: isolate;
}

.cl-cms-cta-copy {
    max-width: min(700px, 58%) !important;
}

.cl-cms-cta-robot-stage {
    position: absolute;
    z-index: 4;
    right: clamp(20px, 6vw, 110px);
    bottom: -88px;
    width: min(420px, 37vw);
    height: calc(100% + 115px);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    pointer-events: none;
}

.cl-cms-cta-robot {
    position: relative !important;
    z-index: 3;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-height: 520px;
    filter: drop-shadow(0 30px 64px rgba(0, 8, 27, .48)) drop-shadow(0 0 32px color-mix(in srgb, var(--cl-primary) 19%, transparent)) !important;
}

.cl-cms-cta-robot-glow,
.cl-cms-cta-robot-ring {
    position: absolute;
    left: 50%;
    bottom: 35px;
    transform: translateX(-50%);
    border-radius: 50%;
}

.cl-cms-cta-robot-glow {
    width: 115%;
    height: 105px;
    background: radial-gradient(ellipse, color-mix(in srgb, var(--cl-primary) 58%, transparent), color-mix(in srgb, var(--cl-secondary) 22%, transparent) 47%, transparent 73%);
    filter: blur(12px);
}

.cl-cms-cta-robot-ring {
    width: 92%;
    height: 70px;
    border: 2px solid color-mix(in srgb, var(--cl-primary) 64%, transparent);
    box-shadow: 0 0 32px color-mix(in srgb, var(--cl-primary) 45%, transparent), inset 0 0 24px color-mix(in srgb, var(--cl-secondary) 28%, transparent);
}

/* Footer */
.cl-footer {
    color: var(--cl-text) !important;
    background:
        radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--cl-primary) 8%, transparent), transparent 31%),
        var(--cl-background) !important;
}

.cl-footer__column h3,
.cl-footer .cl-brand strong {
    color: var(--cl-text) !important;
}

.cl-footer__column a:hover {
    color: var(--cl-primary) !important;
}

/* Light mode: explicit overrides for every public component containing hardcoded
   dark fills in public-site.css, banner-module.css and cms.css. */
html[data-theme="light"] body.cl-body {
    background:
        radial-gradient(circle at 14% 2%, rgba(18, 168, 216, .10), transparent 31%),
        radial-gradient(circle at 88% 4%, rgba(124, 58, 237, .08), transparent 31%),
        linear-gradient(180deg, #f8fbff 0%, var(--cl-background) 48%, #eef4fb 100%) !important;
}

html[data-theme="light"] .cl-header:not(.is-scrolled) {
    background: rgba(250, 252, 255, .82) !important;
    border-bottom-color: rgba(57, 69, 103, .10) !important;
    backdrop-filter: blur(20px) saturate(145%);
}

html[data-theme="light"] .cl-header.is-scrolled,
html[data-theme="light"] .cl-header-type-solid .cl-header {
    background: rgba(250, 252, 255, .94) !important;
    border-color: rgba(57, 69, 103, .13) !important;
    box-shadow: 0 16px 42px rgba(47, 65, 101, .10) !important;
}

html[data-theme="light"] .cl-theme-toggle,
html[data-theme="light"] .cl-mobile-toggle,
html[data-theme="light"] .cl-mobile-menu__head button {
    color: var(--cl-text) !important;
    border-color: rgba(57, 69, 103, .18) !important;
    background: rgba(255, 255, 255, .82) !important;
}

html[data-theme="light"] .cl-mobile-menu {
    background: rgba(245, 249, 255, .98) !important;
}

html[data-theme="light"] .cl-hero,
html[data-theme="light"] .cl-db-banner--hero {
    background:
        radial-gradient(circle at 18% 8%, rgba(18, 168, 216, .17), transparent 34%),
        radial-gradient(circle at 84% 12%, rgba(124, 58, 237, .14), transparent 34%),
        linear-gradient(118deg, #f9fcff 0%, #edf5fc 53%, #f2edff 100%) !important;
}

html[data-theme="light"] .cl-hero::before,
html[data-theme="light"] .cl-hero::after,
html[data-theme="light"] .cl-db-grid-pattern {
    opacity: .28 !important;
}

html[data-theme="light"] .cl-float-card,
html[data-theme="light"] .cl-db-floating-card {
    background: rgba(255, 255, 255, .88) !important;
    border-color: rgba(10, 148, 199, .25) !important;
    box-shadow: 0 22px 54px rgba(47, 69, 110, .14), inset 0 1px rgba(255, 255, 255, .8) !important;
}

html[data-theme="light"] .cl-float-card header em,
html[data-theme="light"] .cl-db-floating-card header em {
    color: #078767 !important;
}

html[data-theme="light"] .cl-home-band,
html[data-theme="light"] .cl-section,
html[data-theme="light"] .cl-section--ecosystem,
html[data-theme="light"] .cl-section--services,
html[data-theme="light"] .cl-section--benefits,
html[data-theme="light"] .cl-section--process,
html[data-theme="light"] .cl-section--cta {
    background:
        radial-gradient(circle at 15% 0%, rgba(18, 168, 216, .08), transparent 34%),
        radial-gradient(circle at 85% 0%, rgba(124, 58, 237, .065), transparent 34%),
        var(--cl-background) !important;
}

html[data-theme="light"] .cl-section--services,
html[data-theme="light"] .cl-section--process {
    background:
        radial-gradient(circle at 84% 12%, rgba(124, 58, 237, .08), transparent 36%),
        var(--cl-background-alt) !important;
}

html[data-theme="light"] .cl-eco-card,
html[data-theme="light"] .cl-service-card,
html[data-theme="light"] .cl-benefit-card,
html[data-theme="light"] .cl-process-step,
html[data-theme="light"] .cl-cms-card,
html[data-theme="light"] .cl-cms-metric,
html[data-theme="light"] .cl-cms-stats-grid article,
html[data-theme="light"] .cl-cms-reference-grid article,
html[data-theme="light"] .cl-cms-team-grid article,
html[data-theme="light"] .cl-cms-pricing-grid article,
html[data-theme="light"] .cl-cms-faq-list article,
html[data-theme="light"] .cl-cms-form,
html[data-theme="light"] .cl-cms-dashboard-frame,
html[data-theme="light"] .cl-db-bottom-metric,
html[data-theme="light"] .cl-db-stat-card {
    color: var(--cl-text) !important;
    border-color: rgba(39, 84, 122, .18) !important;
    background:
        radial-gradient(circle at 22% 0%, rgba(18, 168, 216, .07), transparent 42%),
        linear-gradient(145deg, #ffffff, #f0f5fb) !important;
    box-shadow: 0 20px 55px rgba(47, 69, 110, .11), inset 0 1px #ffffff !important;
}

html[data-theme="light"] .cl-eco-card strong,
html[data-theme="light"] .cl-service-card h3,
html[data-theme="light"] .cl-benefit-card h3,
html[data-theme="light"] .cl-process-step h3,
html[data-theme="light"] .cl-cms-section h2,
html[data-theme="light"] .cl-cms-section h3,
html[data-theme="light"] .cl-cms-card h3,
html[data-theme="light"] .cl-cms-prose h2,
html[data-theme="light"] .cl-cms-prose h3,
html[data-theme="light"] .cl-cms-faq-list button {
    color: var(--cl-text) !important;
}

html[data-theme="light"] .cl-eco-card p,
html[data-theme="light"] .cl-service-card p,
html[data-theme="light"] .cl-benefit-card p,
html[data-theme="light"] .cl-process-step p,
html[data-theme="light"] .cl-cms-prose,
html[data-theme="light"] .cl-cms-section-lead,
html[data-theme="light"] .cl-cms-card p,
html[data-theme="light"] .cl-cms-faq-answer,
html[data-theme="light"] .cl-cms-form label {
    color: var(--cl-muted) !important;
}

html[data-theme="light"] .cl-cta,
html[data-theme="light"] .cl-cms-cta-card,
html[data-theme="light"] .cl-db-cta-card {
    color: #ffffff !important;
    background:
        radial-gradient(circle at 16% 50%, rgba(18, 168, 216, .30), transparent 37%),
        radial-gradient(circle at 88% 40%, rgba(124, 58, 237, .34), transparent 38%),
        linear-gradient(105deg, #086e9e, #174b89 49%, #57218a) !important;
}

html[data-theme="light"] .cl-cta h2,
html[data-theme="light"] .cl-cta p,
html[data-theme="light"] .cl-cms-cta-card h2,
html[data-theme="light"] .cl-cms-cta-card p,
html[data-theme="light"] .cl-cms-cta-card span,
html[data-theme="light"] .cl-db-cta-card h2,
html[data-theme="light"] .cl-db-cta-card p {
    color: #ffffff !important;
}

html[data-theme="light"] .cl-footer {
    background: #eef4fb !important;
    border-color: rgba(57, 69, 103, .14) !important;
}

html[data-theme="light"] .cl-cookie {
    color: var(--cl-text) !important;
    background: rgba(255, 255, 255, .96) !important;
    border-color: rgba(57, 69, 103, .16) !important;
}

html[data-theme="light"] .cl-page-noise {
    opacity: .04 !important;
    mix-blend-mode: multiply;
}

@media (max-width: 1180px) {
    .cl-mega {
        width: min(860px, calc(100vw - 28px)) !important;
        grid-template-columns: 250px minmax(0, 1fr) !important;
    }

    .cl-mega__links {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1050px) {
    .cl-mega {
        display: none !important;
    }
}

@media (max-width: 900px) {
    .cl-cms-cta-copy {
        max-width: 100% !important;
        padding-bottom: 250px;
    }

    .cl-cms-cta-robot-stage {
        right: 50%;
        bottom: -120px;
        width: min(330px, 72vw);
        height: 400px;
        transform: translateX(50%);
    }
}

@media (max-width: 767px) {
    .cl-brand img {
        width: 40px !important;
        height: 40px !important;
    }

    .cl-cms-cta-card {
        min-height: 600px !important;
    }

    .cl-cms-cta-copy {
        padding-bottom: 270px;
    }
}
