/* Soft Lavender + Mist Blue brand layer. Loaded after existing styles. */
:root {
  --color-bg:#FAF9FC; --color-surface:#FFFFFF; --color-surface2:#FAF9FC;
  --color-border:#E7E2EF; --color-accent:#6D5B9A; --color-accent2:#456D82;
  --color-text:#302B45; --color-text-muted:#5D5A6D;
  --nx-blue:#6D5B9A; --nx-blue2:#456D82; --nx-ink:#302B45;
  --nx-muted:#5D5A6D; --nx-line:#E7E2EF; --nx-soft:#FAF9FC;
  --z-blue:#6D5B9A; --z-blue2:#456D82; --z-cyan:#6794A8;
  --z-ink:#302B45; --z-muted:#5D5A6D; --z-line:#E7E2EF; --z-soft:#FAF9FC;
}
body, .public-page, .app-page { background-color:#FAF9FC; color:#302B45; }
.site-nav, .app-topbar { background:rgba(250,249,252,.96); border-color:#E7E2EF; }
.site-brand, .app-brand, .footer-brand { display:inline-flex; align-items:center; padding:0; line-height:1; }
.site-brand .brand-wordmark, .app-brand .brand-wordmark, .footer-brand .brand-wordmark {
  width:154px; height:auto; max-width:100%; display:block; object-fit:contain;
}
.app-brand .brand-wordmark { width:148px; }
.footer-brand .brand-wordmark { width:168px; filter:brightness(0) invert(1); }
.site-links a:hover, .site-links a[aria-current=page], .text-link:hover { color:#6D5B9A; }
.btn-primary, .zen-button { background:#6D5B9A; color:#FFFFFF!important; }
.btn-primary:hover, .zen-button:hover { background:#584784; box-shadow:0 10px 24px rgba(109,91,154,.22); }
.zen-hero, .z-home-hero, .public-hero { background:radial-gradient(ellipse at 88% 15%,#DDECF1,transparent 50%),#FAF9FC; border-color:#E7E2EF; }
.zen-hero h1 em, .zen-compact h1 em, .zen-eyebrow { color:#6D5B9A!important; }
.zen-soft, .soft-section, .z-section-soft { background:#F4F0F8; border-color:#E7E2EF; }
.zen-card, .z-card, .form-card { border-color:#E7E2EF; }
.zen-visual, .z-hero-visual { background:#DDECF1; }
.app-menu-item.active { background:#ECE7F6; color:#584784; }
.app-menu-item:hover { background:#F2EFF8; color:#584784; }
.auth-page .site-main { background:radial-gradient(circle at 50% 0,rgba(109,91,154,.12),transparent 36%),#FAF9FC; }
.form-control:focus { border-color:#9784BF!important; box-shadow:0 0 0 4px rgba(109,91,154,.12)!important; }
.z-footer, .z-footer-readable { background:#302B45!important; }
.public-page a:focus-visible, .public-page button:focus-visible { outline-color:#6D5B9A; }
@media(max-width:520px) { .site-brand .brand-wordmark { width:132px; } }

/* Readable light surfaces and clear heading hierarchy. */
.public-page, .public-page .site-main { color:#302B45; background:#FAF9FC; }
.public-page .site-nav { background:#FFFFFF; border-bottom:1px solid #E7E2EF; }
.public-page .zen-hero { background:radial-gradient(ellipse at 88% 15%,#DDEBF0,transparent 50%),#F5F2FA; }
.public-page .zen-hero h1, .public-page .zen-heading h2,
.public-page .zen-compact h1, .public-page .zen-card h3,
.public-page .zen-process h3 { color:#302B45; }
.public-page .zen-hero h1 em, .public-page .zen-compact h1 em { color:#584784!important; }
.public-page .zen-lead, .public-page .zen-card p,
.public-page .zen-process p, .public-page .zen-prose p { color:#555267; }
.public-page .zen-soft { background:#F3F0F8; border-color:#E7E2EF; }
.public-page .zen-card { background:#FFFFFF; border-color:#E7E2EF; }
.public-page .zen-process article { border-top-color:#9F8EC4; }
.public-page .zen-section pre { background:#302B45; color:#F3F0FA; }
.public-page .zen-table th { background:#F0ECF7; }
.public-page .zen-button { background:#584784; }
/* Strong contrast on the dark footer, including visited links. */
.public-page .z-footer-readable, .public-page .z-footer { background:#302B45!important; color:#F7F4FC; }
.public-page .z-footer-readable .z-footer-grid b { color:#D8CAE9; }
.public-page .z-footer-readable .z-footer-grid a:not(.footer-brand),
.public-page .z-footer-readable .z-footer-grid a:visited { color:#EAE4F4; }
.public-page .z-footer-readable .z-footer-grid a:hover,
.public-page .z-footer-readable .z-footer-grid a:focus-visible { color:#FFFFFF; text-decoration:underline; }
.public-page .z-footer-readable .z-footer-brand p { color:#E4DBF0; }
.public-page .z-footer-readable .z-footer-brand small { color:#D7CDE5; }
.public-page .z-footer-readable .z-footer-bottom { color:#D7CDE5; border-top-color:rgba(255,255,255,.20); }
.public-page .z-footer-readable .footer-brand .brand-wordmark { filter:brightness(0) invert(1); }
