/* Marketing-only brand contract. Official assets and semantic status colours are not recoloured. */
:root{
 --ax-accent:#8b77b6;--ax-soft:#f3f1f8;--ax-panel:#ebeaf9;
 --ax-ink:#242424;--ax-muted:#444444;--ax-link:#444444;--ax-on-accent:#171717;
 --ax-line:#ebeaf9;--ax-wash:linear-gradient(135deg,#f3f1f8,#ebeaf9);
 --primary-50:var(--ax-soft);--primary-100:var(--ax-panel);--primary-200:var(--ax-line);
 --primary-300:var(--ax-accent);--primary-400:var(--ax-accent);--primary-500:var(--ax-link);--primary-600:var(--ax-link);
 --primary-700:var(--ax-link);--primary-800:var(--ax-ink);--primary-900:var(--ax-ink);
 --gradient-primary:linear-gradient(135deg,#8b77b6,#8b77b6);--gradient-dark:var(--ax-wash);
 --brand-primary:var(--ax-link);--brand-secondary:var(--ax-link);--brand-accent:var(--ax-panel);
 --bg-light:var(--ax-soft);--border-light:var(--ax-line);--text-primary:var(--ax-ink);--text-secondary:var(--ax-muted);
 --primary:var(--ax-link);--primary-dark:var(--ax-ink);--bg-soft:var(--ax-soft);--border:var(--ax-line);
 --gray-50:var(--ax-soft);--gray-100:var(--ax-panel);
 --xp-ink:var(--ax-ink);--xp-muted:var(--ax-muted);--xp-purple:var(--ax-link);--xp-line:var(--ax-line);--xp-soft:var(--ax-soft);
 --lx-ink:var(--ax-ink);--lx-muted:var(--ax-muted);--lx-purple:var(--ax-link);--lx-line:var(--ax-line);
}
/* Hero surfaces and primary calls to action. */
.page-hero,.xp-hero,.lx-hero,.ed-hero,.ed-blog .ed-article-hero{background:var(--ax-wash)}
.page-hero h1,.page-hero .hero-badge,.page-hero .hero-tagline,.page-hero .page-hero-tagline{color:var(--ax-ink)}
.page-hero p{color:var(--ax-muted)}
.page-hero .hero-badge{background:#fff;border-color:var(--ax-line)}
.page-hero .btn-hero-ghost,.page-hero .btn-hero-outline{color:var(--ax-link);border-color:var(--ax-accent);background:transparent}
.page-hero .btn-hero-ghost:hover,.page-hero .btn-hero-outline:hover{background:var(--ax-panel)}
.step-num,.how-step .step-num{background:var(--ax-accent);color:var(--ax-on-accent);box-shadow:0 8px 24px #8b77b626}
.xp-button,.lx-cta,.btn-primary,.submit-btn,.form-submit{box-shadow:0 8px 24px #8b77b626}
.xp-button-white,.lx-cta-light{background:#fff;color:var(--ax-link)}
.xp-button-white:hover,.lx-cta-light:hover{background:var(--ax-panel)}
.section-label,.feat-icon,.diff-icon,.product-icon,.credential-icon,.stat-card,.highlight{background:var(--ax-wash);border-color:var(--ax-line);color:var(--ax-link)}
.story-copy,.story-copy strong:first-of-type{background:var(--ax-soft);border-color:var(--ax-line)}
.section-alt,.benefits-section,.form-section,.ax-stack,.lx-surface{background:var(--ax-soft)}
.ax-stack-compact{background:#fff}
/* Product screens and native charts use the same lavender family. */
.xp-inline-link,.xp-preview-top,.xp-preview-source,.xp-pair b,.xp-link-list b,.xp-link-list span,.xp-data-map small,.xp-data-map>i,.xp-tags span,.xp-steps article>span,.xp-examples small,.ax-stack-eyebrow{color:var(--ax-link)}
.xp-preview-mark{background:var(--ax-accent);color:var(--ax-on-accent)}
.xp-preview-action>span,.xp-pair b,.xp-preview-source,.xp-insight-stages div,.xp-call header{background:var(--ax-panel);color:var(--ax-link)}
.xp-customer{background:var(--ax-panel)}
.xp-agent,.xp-insight-graph,.xp-preview-wave{background:var(--ax-soft)}
.xp-insight-line,.xp-insight-point{stroke:var(--ax-accent)}
.xp-insight-graph-note i,.xp-preview-wave i{background:var(--ax-accent)}
.xp-insight-graph stop{stop-color:var(--ax-accent)}
.xp-preview-end,.xp-data-map .xp-data-result{background:var(--ax-panel);color:var(--ax-ink);border-color:var(--ax-line)}
.xp-data-result small,.xp-data-result span{color:var(--ax-link)!important}
.xp-examples article{border-top-color:var(--ax-accent)}
.xp-dark,.xp-core{background:var(--ax-wash);color:var(--ax-ink)}
.xp-dark h2,.xp-dark p,.xp-core h2,.xp-core p{color:var(--ax-ink)}
.xp-dark .xp-eyebrow,.xp-core .xp-eyebrow{color:var(--ax-link)}
.xp-illustration{background:#fff;border-color:var(--ax-line);color:var(--ax-ink)}
.xp-illustration>div{border-color:var(--ax-line)}
.xp-illustration>small{color:var(--ax-muted)}
.xp-illustration span{background:var(--ax-panel);color:var(--ax-link)}
/* Lens keeps recognisable WhatsApp UI and functional signals; platform scenes adopt brand surfaces. */
.lx-rail,.lx-note,.lx-dialogue,.lx-resolution-path{background:var(--ax-soft)}
.lx-rail-inner b,.lx-note,.lx-conversation>small,.lx-dialogue strong,.lx-resolution-path span{color:var(--ax-link)}
.lx-note,.lx-resolution-path{border-color:var(--ax-accent)}
.lx-analysis,.lx-final{background:var(--ax-wash);color:var(--ax-ink)}
.lx-analysis h2,.lx-analysis p,.lx-final h2,.lx-final p{color:var(--ax-ink)}
.lx-analysis .lx-kicker,.lx-analysis-row small{color:var(--ax-link)}
.lx-analysis-map{background:#fff;border-color:var(--ax-line)}
.lx-analysis-row{border-color:var(--ax-line)}
.lx-analysis-row>span{background:var(--ax-panel);color:var(--ax-link)}
.lx-analysis-caveat{color:var(--ax-muted)}
/* Editorial, company, partners and legal surfaces. */
.ed-kicker,.ed-industry a,.ed-article-footer a,.ed-blog-breadcrumb:hover,.ed-blog .ed-article-hero h1 span{color:var(--ax-link)}
.ed-blog-eyebrow,.ed-article-callout{background:var(--ax-soft);color:var(--ax-link);border-color:var(--ax-accent)}
.ed-blog-topics span{border-color:var(--ax-line);color:var(--ax-muted)}
.ed-blog .ed-article-body h2::before{background:var(--ax-accent)}
.ed-blog .ed-article-callout{background:var(--ax-soft);border-color:var(--ax-accent);color:var(--ax-ink)}
.ed-blog-aside,.ed-blog .ed-article-footer{background:var(--ax-soft)}
.ed-blog-aside a:hover,.ed-blog .ed-article-callout a{color:var(--ax-link)}
.ed-cta,.cta-section:not(:has(.demo-form)){background:var(--ax-wash);color:var(--ax-ink)}
.ed-cta h2,.ed-cta p,.cta-section:not(:has(.demo-form)) h2,.cta-section:not(:has(.demo-form)) p{color:var(--ax-ink)}
.partner-showcase{background:var(--ax-ink)}
.partner-showcase .section-label{background:var(--ax-panel);color:var(--ax-link)}
.footer,.footer-sa{background:var(--ax-ink)}
.intro{border-left-color:var(--ax-accent)}
.how-step::before,.product-mini-icon{background:var(--ax-accent);color:var(--ax-on-accent)}
.product-mini-icon svg{color:var(--ax-on-accent)}
.ax-capability-page .ax-inline-callout{background:var(--ax-panel);border-color:var(--ax-line);color:var(--ax-ink)}
.ax-capability-page .ax-eyebrow{color:var(--ax-link)}
.ax-capability-page{--ax-purple:#8b77b6;--ax-deep:#444444;--ax-ink:#242424;--ax-muted:#444444}
.lx-floating small,.lx-avatar{color:var(--ax-link)}
/* Keep focus visible on both white and pale lavender surfaces. */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--ax-link)}
.ax-journey-node.is-core{color:var(--ax-on-accent)}
.nx-language>div>span{color:var(--ax-link)}
/* Primary actions: shade the approved lavender with existing ink for white-text
   contrast. Keep secondary/light actions separate; never invert on hover. */
:root{
 --ax-cta-bg:color-mix(in srgb,var(--ax-accent) 80%,var(--ax-ink));
 --ax-cta-hover:color-mix(in srgb,var(--ax-accent) 70%,var(--ax-ink));
 --ax-cta-active:color-mix(in srgb,var(--ax-accent) 65%,var(--ax-ink));
}
:is(.hx-button,.nx-header .nx-demo,.nx-mobile .nx-demo,.nx-header .nx-mobile-offer,
 .xp-button:not(.xp-button-white),.lx-cta:not(.lx-cta-light),.btn-primary,
 .submit-btn,.form-submit,.nx-home-page .demo-form .btn-white,.cx-page .cx-button,
 .ed-cta a,.ax-capability-page .ax-btn:not(.ax-btn-secondary)){
 background:linear-gradient(#24242433,#24242433),var(--ax-accent);
 background:var(--ax-cta-bg);
 color:#fff!important;
 transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
:is(.hx-button,.nx-header .nx-demo,.nx-mobile .nx-demo,.nx-header .nx-mobile-offer,
 .xp-button:not(.xp-button-white),.lx-cta:not(.lx-cta-light),.btn-primary,
 .submit-btn,.form-submit,.nx-home-page .demo-form .btn-white,.cx-page .cx-button,
 .ed-cta a,.ax-capability-page .ax-btn:not(.ax-btn-secondary)):is(:hover,:focus-visible):not(:disabled):not([aria-disabled=true]){
 background:linear-gradient(#2424244d,#2424244d),var(--ax-accent);
 background:var(--ax-cta-hover);
 color:#fff!important;
 opacity:1;
}
:is(.hx-button,.nx-header .nx-demo,.nx-mobile .nx-demo,.nx-header .nx-mobile-offer,
 .xp-button:not(.xp-button-white),.lx-cta:not(.lx-cta-light),.btn-primary,
 .submit-btn,.form-submit,.nx-home-page .demo-form .btn-white,.cx-page .cx-button,
 .ed-cta a,.ax-capability-page .ax-btn:not(.ax-btn-secondary)):active:not(:disabled):not([aria-disabled=true]){
 background:var(--ax-cta-active);
}
:is(.hx-button,.nx-demo,.nx-mobile-offer,.xp-button,.lx-cta,.btn-primary,
 .submit-btn,.form-submit,.nx-home-page .demo-form .btn-white,.cx-button,.ed-cta a,.ax-btn):focus-visible{
 outline:2px solid var(--ax-ink);outline-offset:4px;
}
/* Legacy shine overlays can wash out white labels mid-hover. */
.btn-primary::before,.nx-home-page .demo-form .btn-white::before{content:none}
@media(prefers-reduced-motion:reduce){
 :is(.hx-button,.nx-demo,.nx-mobile-offer,.xp-button,.lx-cta,.btn-primary,
 .submit-btn,.form-submit,.nx-home-page .demo-form .btn-white,.cx-button,.ed-cta a,.ax-btn){transition:none}
}
/* Lavender remains the visual accent; small labels need neutral text contrast. */
.nx-panel-foot a,.nx-mobile .nx-mobile-language{color:var(--ax-link)!important}
.hx-step,.hx-chat-agent>span,.hx-human-message>span,
.hx-message-in>span:first-child,.hx-message-out>span:first-child,
.hx-memory-event small,.hx-photo-product i{color:var(--ax-link)}
