/* Mucurabwenge Brand Kit application layer. */
.brand-lockup { display:block; width:188px; height:auto; max-height:46px; object-fit:contain; object-position:left center; }
.brand-lockup-dark { display:none; }
.auth-illustration .brand-lockup-light { display:none; }
.auth-illustration .brand-lockup-dark { display:block; width:190px; }
.dashboard-brand .brand-lockup, .workspace-sidebar .brand-lockup { width:160px; max-height:38px; }
.inline-brand-emblem { display:inline-block; width:1.15em; height:1.15em; vertical-align:-.22em; object-fit:contain; }
.mini-mark, .assistant-symbol, .welcome-emblem, .research-graphic { font-size:0; }
.mini-mark:before, .assistant-symbol:before, .welcome-emblem:before, .research-graphic:before { content:''; display:block; width:70%; height:70%; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-terracotta.996db3e53366.svg") center/contain no-repeat; }
.auth-stars { font-size:0; display:block; width:52px; height:52px; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-terracotta.996db3e53366.svg") center/contain no-repeat; }
.story-ornament { font-size:0; width:76px; height:100px; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-white.1d8a78ad5316.svg") center/contain no-repeat; }
.story-banner:after { content:''; width:300px; height:300px; bottom:-95px; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-white.1d8a78ad5316.svg") center/contain no-repeat; }
.tiny-spark, .composer-spark { font-size:0; width:18px; height:18px; display:inline-block; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-terracotta.996db3e53366.svg") center/contain no-repeat; }
.dash-welcome h1 span { font-size:0; display:inline-block; width:25px; height:25px; vertical-align:-.15em; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-terracotta.996db3e53366.svg") center/contain no-repeat; }
.mini-mark:before, .assistant-symbol:before, .welcome-emblem:before, .research-graphic:before { display:none; }
.mini-mark, .assistant-symbol, .welcome-emblem, .research-graphic, .auth-stars, .tiny-spark, .composer-spark, .dash-welcome h1 span { background:none; }
.mini-mark .inline-brand-emblem { width:18px; height:18px; }
.assistant-symbol .inline-brand-emblem { width:22px; height:22px; }
.welcome-emblem .inline-brand-emblem { width:42px; height:42px; }
.research-graphic .inline-brand-emblem { width:30px; height:30px; }
.auth-stars .inline-brand-emblem { width:52px; height:52px; }
.tiny-spark .inline-brand-emblem, .composer-spark .inline-brand-emblem { width:18px; height:18px; }
.dash-welcome h1 span .inline-brand-emblem { width:25px; height:25px; }
.brand-mark { background:var(--muc-terracotta); }
.theme-toggle { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--muted); }
.theme-toggle:hover { color:var(--primary); border-color:var(--primary); }
.theme-toggle svg { width:16px; height:16px; }
.assistant-avatar img { width:20px; height:20px; object-fit:contain; }
.hero { background-image:url("../Mucurabwenge_Brand_Kit/patterns/hero-line-art.d10d6e201919.svg"); background-position:right 8% top 24px; background-repeat:no-repeat; background-size:min(520px,48%); }
.hero .eyebrow { display:none; }
.site-header { position:sticky; top:0; background:color-mix(in srgb, var(--cream) 92%, transparent); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.site-footer { padding-top:34px; border-top:1px solid var(--line); }
.site-footer .brand-lockup { width:205px; max-height:50px; }
.site-footer .footer-links { gap:15px 24px; flex-wrap:wrap; }
.site-footer .footer-links a { color:var(--muted); transition:color .2s; }
.site-footer .footer-links a:hover { color:var(--primary); }
.research-intro { background-image:url("../Mucurabwenge_Brand_Kit/patterns/diamond-grid.347ed06b97df.svg"); background-position:right center; background-repeat:no-repeat; background-size:280px; }
.standard-main .page-hero { background:url("../Mucurabwenge_Brand_Kit/patterns/weave-light.0bda9dfaad94.svg") right top/220px repeat-y; padding-right:60px; }
.empty-collection, .list-placeholder { background-image:url("../Mucurabwenge_Brand_Kit/patterns/weave-light.0bda9dfaad94.svg"); background-repeat:repeat; background-size:180px; }
.site-footer { position:relative; }
.site-footer:after { content:''; position:absolute; right:0; bottom:18px; width:120px; height:44px; opacity:.28; background:url("../Mucurabwenge_Brand_Kit/patterns/weave-light.0bda9dfaad94.svg") center/contain no-repeat; pointer-events:none; }
[data-theme="dark"] { --ink:var(--muc-cream); --muted:#c7bbb4; --cream:#24211F; --warm:#302824; --line:#55453d; --surface:#302b28; --sidebar:#2d2825; --shadow:0 12px 30px rgba(0,0,0,.24); color-scheme:dark; }
[data-theme="dark"] .brand-lockup-light { display:none; }
[data-theme="dark"] .brand-lockup-dark { display:block; }
[data-theme="dark"] body, [data-theme="dark"] .app-page { background:var(--cream); color:var(--ink); }
[data-theme="dark"] .site-header, [data-theme="dark"] .chat-header, [data-theme="dark"] .dashboard-header { border-color:var(--line); }
[data-theme="dark"] .desktop-nav a, [data-theme="dark"] .nav-text, [data-theme="dark"] .breadcrumb { color:#c7bbb4; }
[data-theme="dark"] .preview-card, [data-theme="dark"] .library-card, [data-theme="dark"] .dash-card, [data-theme="dark"] .composer, [data-theme="dark"] .auth-card { background:var(--surface); border-color:var(--line); }
[data-theme="dark"] .workspace-sidebar, [data-theme="dark"] .dashboard-sidebar { background:var(--sidebar); border-color:var(--line); }
[data-theme="dark"] .new-chat-button, [data-theme="dark"] .message-block.user .message-body, [data-theme="dark"] .ref-tag { background:#3a332f; border-color:var(--line); color:var(--ink); }
[data-theme="dark"] .hero { background-image:url("../Mucurabwenge_Brand_Kit/patterns/hero-line-art.d10d6e201919.svg"); opacity:.98; }
[data-theme="dark"] .empty-collection, [data-theme="dark"] .list-placeholder, [data-theme="dark"] .site-footer:after { background-image:url("../Mucurabwenge_Brand_Kit/patterns/weave-dark.7c90db671dbb.svg"); }
[data-theme="dark"] .form-fields input:not([type=checkbox]):not([type=file]), [data-theme="dark"] .form-fields textarea, [data-theme="dark"] .form-fields select { background:#3a332f; border-color:var(--line); color:var(--ink); }
@media (prefers-color-scheme: dark) { html:not([data-theme="light"]) { color-scheme:dark; } }
@media (max-width:510px) { .brand-lockup { width:174px; max-height:42px; } .dashboard-brand .brand-lockup, .workspace-sidebar .brand-lockup { width:150px; } }

/* Auth pages use one explicit dark wordmark and a quiet emblem; no decorative emoji. */
.auth-illustration:after { content:none !important; }
.auth-brand .brand-lockup { width:190px; }
.auth-emblem { display:block; width:52px; height:52px; background:url("../Mucurabwenge_Brand_Kit/logo/emblem-terracotta.996db3e53366.svg") center/contain no-repeat; }

/* Rich, structured public footer. */
.site-footer { display:block; padding-top:42px; padding-bottom:28px; }
.footer-main { display:grid; grid-template-columns:minmax(240px,1.7fr) repeat(3,minmax(120px,.7fr)); gap:42px; padding-bottom:38px; }
.footer-brand-column { max-width:310px; }
.footer-brand-column .brand-lockup { width:205px; }
.footer-brand-column p { color:var(--muted); line-height:1.75; max-width:270px; }
.footer-status { display:flex; align-items:center; gap:8px; margin-top:20px; color:var(--muted); font-size:11px; }
.footer-status span { width:7px; height:7px; border-radius:50%; background:#6ea57d; box-shadow:0 0 0 4px #6ea57d20; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.footer-column a { color:var(--muted); font-size:12px; transition:color .2s, transform .2s; }
.footer-column a:hover { color:var(--primary); transform:translateX(2px); }
.footer-heading { color:var(--ink); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:4px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
@media (max-width:780px) { .footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; } .footer-brand-column { grid-column:1/-1; max-width:none; } .footer-bottom { flex-direction:column; gap:7px; } }
@media (max-width:510px) { .footer-main { grid-template-columns:1fr 1fr; } .footer-column { gap:9px; } }
.service-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.service-directory-card { display:block; padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface); transition:transform .2s,border-color .2s,box-shadow .2s; }
.service-directory-card:hover { transform:translateY(-3px); border-color:var(--primary); box-shadow:var(--shadow); }
.service-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.verified-badge { display:inline-flex; align-items:center; gap:4px; color:#648b68; font-size:10px; font-weight:800; }
.verified-badge svg { width:14px; height:14px; }
.service-directory-card h2 { font-size:22px; margin-top:23px; }
.service-directory-card p { color:var(--muted); font-size:13px; line-height:1.75; margin:12px 0 20px; }
.service-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; align-items:start; }
.service-action-card { padding:24px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.service-action-card h2 { font-size:21px; margin:12px 0 7px; }
.service-action-card p { color:var(--muted); font-size:12px; line-height:1.7; margin-bottom:20px; }
.detail-reading ol { margin:12px 0 28px; padding-left:24px; color:var(--muted); line-height:1.9; }
.detail-reading h2 { font-size:22px; margin-top:25px; }
.verified-notice { display:flex; align-items:center; gap:8px; padding:14px; border-radius:10px; background:#eef6ef; color:#5c8063; font-size:12px; }
.verified-notice svg { width:16px; }
.chat-service-card { margin-top:12px; padding:15px; background:var(--surface); border:1px solid var(--line); border-radius:12px; display:grid; gap:8px; }
.chat-service-card strong { font-size:14px; }
.chat-service-card p { color:var(--muted); font-size:12px; line-height:1.6; }
@media (max-width:780px) { .service-directory,.service-detail-grid { grid-template-columns:1fr; } }
.service-home-callout { display:flex; justify-content:space-between; align-items:center; gap:28px; padding:34px 38px; margin-bottom:88px; border:1px solid var(--line); border-radius:17px; background:var(--surface); }
.service-home-callout h2 { font-size:29px; margin-top:10px; }
.service-home-callout p { max-width:650px; color:var(--muted); font-size:13px; line-height:1.8; margin-top:9px; }
@media (max-width:780px) { .service-home-callout { display:block; padding:27px 24px; margin-bottom:60px; } .service-home-callout .btn { margin-top:22px; } }
