/* Mungu.Me: brand colour belongs in the whole experience, with calm reading surfaces. */
:root{--brand_deep:#1A3A5C;--brand_deep_text:#fff;--primary_readable:var(--primary);--secondary_readable:var(--secondary);--accent_readable:#92400e;--primary_soft:var(--bg);--secondary_soft:var(--bg);--accent_soft:#fff6e5;--primary_shade:var(--primary);--surface_text:var(--text);--muted_readable:var(--muted)}
body.public-shell,body.workspace-shell{
 background-color:var(--bg);
 background-image:radial-gradient(circle at 7% 14%,color-mix(in srgb,var(--primary) 8%,transparent) 0 96px,transparent 97px),radial-gradient(circle at 7% 14%,transparent 0 130px,color-mix(in srgb,var(--primary) 7%,transparent) 131px 132px,transparent 133px),radial-gradient(circle at 96% 48%,color-mix(in srgb,var(--accent) 12%,transparent) 0 120px,transparent 121px),radial-gradient(circle at 96% 48%,transparent 0 160px,color-mix(in srgb,var(--accent) 11%,transparent) 161px 162px,transparent 163px),radial-gradient(ellipse at 42% 92%,color-mix(in srgb,var(--secondary) 7%,transparent),transparent 50%);
 background-size:1600px 1200px;background-position:center top;background-repeat:repeat-y;
}
.workspace-body,.workspace-main,.public-main{background-color:transparent}
h1,h2,h3,.empty strong,summary{color:var(--heading,var(--primary_readable))}
.eyebrow,.site-kicker{color:var(--secondary_readable)}
.icon-button,.navbar-search button,.stat strong{color:var(--primary_readable)}
.avatar{background:var(--primary);color:var(--primary_text)}
.button.secondary{background:var(--surface);color:var(--link);border-color:var(--border)}
.button.secondary:hover{background:var(--primary_soft);color:var(--primary_readable);border-color:var(--primary_readable)}
.button.amber{background:var(--accent);color:var(--accent_text)}
.sidebar{background:var(--brand_deep);color:var(--brand_deep_text)}
.sidebar a,.sidebar summary,.sidebar .context-form label,.sidebar .nav-label,.sidebar-foot small{color:var(--brand_deep_text)}
.sidebar .nav-label,.sidebar-foot small{opacity:.76}
.sidebar .brand-identity[data-logo-surface=auto]{background:#fff}
.sidebar .brand-name{color:var(--brand_deep_text)}
.sidebar .brand-identity[data-logo-surface=auto] .brand-name,.sidebar .brand-identity[data-logo-surface=light] .brand-name{color:#172b40}
.sidebar nav a.active{background:#ffffff20;box-shadow:inset 3px 0 0 var(--accent)}
.sidebar nav a:hover,.sidebar summary:hover{background:#ffffff12;color:#fff}
.sidebar .nav-search input[type=search]{color:#fff;background:#ffffff13}
.sidebar .nav-search input::placeholder{color:#ffffffbf}
.sidebar .nav-search button{color:#fff}
.sidebar .context-form select{color:#fff;border-color:#ffffff40;background:#ffffff13}
.sidebar .context-form option{background:var(--brand_deep);color:#fff}
.free-badge{color:var(--accent_text);background:var(--accent);border-color:transparent}
.public-header,.topbar{border-top:3px solid var(--accent);box-shadow:0 6px 28px color-mix(in srgb,var(--brand_deep) 5%,transparent)}
.public-nav a[aria-current=page],.public-nav a:hover{color:var(--primary_readable)}
.public-footer{background:var(--surface);border-top:1px solid var(--border);position:relative;isolation:isolate;overflow:hidden}
.public-footer:after{content:"";position:absolute;z-index:-1;right:-90px;bottom:-170px;width:360px;height:360px;border:40px solid color-mix(in srgb,var(--accent) 7%,transparent);border-radius:50%;pointer-events:none}
.page-head{position:relative;padding-inline-start:20px;margin-bottom:30px}
.page-head:before{content:"";position:absolute;inset-inline-start:0;top:5px;bottom:5px;width:4px;border-radius:20px;background:linear-gradient(var(--primary),var(--accent))}
.page-head .eyebrow{font-size:10px;letter-spacing:.13em}
.page-head h1{letter-spacing:-.035em}
.panel,.card,.stat,.table-wrap{background-color:var(--surface);color:var(--surface_text)}
.stat{border-top:3px solid var(--primary);background:linear-gradient(135deg,var(--surface),var(--primary_soft))}
.stat:nth-child(3n+2){border-top-color:var(--accent);background:linear-gradient(135deg,var(--surface),var(--accent_soft))}
.stat:nth-child(3n){border-top-color:var(--secondary);background:linear-gradient(135deg,var(--surface),var(--secondary_soft))}
.welcome-banner{background:linear-gradient(120deg,var(--primary),var(--primary_shade));color:var(--primary_text);position:relative;isolation:isolate;overflow:hidden}
.welcome-banner h1,.welcome-banner h2,.welcome-banner h3,.welcome-banner p,.welcome-banner .eyebrow{color:var(--primary_text)}
.welcome-banner:after{content:"";position:absolute;inset:auto -60px -120px auto;width:330px;height:330px;border:45px solid color-mix(in srgb,var(--primary_text) 8%,transparent);border-radius:50%;z-index:-1;pointer-events:none}
th{background:var(--primary_soft);color:var(--muted_readable)}
tbody tr:hover{background:var(--secondary_soft)}
body[data-page-transition=none] .workspace-main>*,body[data-page-transition=none] .public-main>*{animation:none}
body[data-page-transition=fade] .workspace-main>*{animation-name:mungu-page-fade}
@keyframes mungu-page-fade{from{opacity:.2}to{opacity:1}}
/* Community photography stays visible around a solid, readable introduction. */
.site-hero{border-bottom:1px solid var(--border)}
.site-hero-inner{gap:clamp(30px,5vw,90px)}
.site-hero-copy{padding:clamp(28px,3.4vw,54px);border:0;border-radius:var(--brand-radius,28px);background:transparent;box-shadow:none;position:relative}
.site-hero-copy:before{content:"";display:block;width:64px;height:5px;border-radius:100px;background:var(--accent);margin-bottom:25px}
.site-hero h1{color:var(--heading);font-size:clamp(39px,4.45vw,68px)}
.site-hero-description,.site-hero-description p{color:var(--surface_text)}
.site-small-note{color:var(--muted_readable)}
.site-hero-trust{background:var(--surface);border-top-color:var(--border)}
.site-community-panel{background:var(--surface);transform:rotate(1deg);border-color:var(--border)}
.site-community-orbit{background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent) 24%,transparent),transparent 70%),linear-gradient(135deg,var(--primary),var(--primary_shade))}
.site-community-orbit>span{color:var(--primary_text)}
.site-feature{position:relative;overflow:hidden;border-top:3px solid var(--primary);background:linear-gradient(155deg,var(--primary_soft),var(--surface) 65%)}
.site-feature:nth-child(3n+2){border-top-color:var(--accent);background:linear-gradient(155deg,var(--accent_soft),var(--surface) 65%)}
.site-feature:nth-child(3n){border-top-color:var(--secondary);background:linear-gradient(155deg,var(--secondary_soft),var(--surface) 65%)}
.site-feature-icon{background:var(--primary);color:var(--primary_text);box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 14%,transparent)}
.site-feature:nth-child(3n+2) .site-feature-icon{background:var(--accent);color:var(--accent_text)}
.site-feature:nth-child(3n) .site-feature-icon{background:var(--secondary);color:var(--secondary_text)}
.site-how{background:var(--surface);border:1px solid var(--border);position:relative;overflow:hidden}
.site-steps article>span{background:var(--primary);color:var(--primary_text)}
.site-steps article:nth-child(2)>span{background:var(--accent);color:var(--accent_text)}
.site-card-art,.site-empty-state>span,.site-event-date{background:var(--primary_soft);color:var(--primary_readable)}
.site-tinted{background:linear-gradient(145deg,var(--primary_soft),var(--accent_soft))}
.site-final-cta{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--primary_text) 9%,transparent),transparent 70%),linear-gradient(125deg,var(--primary),var(--primary_shade));color:var(--primary_text);position:relative;overflow:hidden}
.site-final-cta h2,.site-final-cta h3,.site-final-cta p,.site-final-cta .site-kicker,.site-final-cta .site-cta-link{color:var(--primary_text)}
.site-faq summary{color:var(--heading)}
/* A dark hue derived from the selected brand keeps sign-in words readable over every image. */
.auth-story{background-color:var(--brand_deep);color:#fff;position:relative;isolation:isolate}
.auth-story:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--brand_deep) 94%,transparent),color-mix(in srgb,var(--brand_deep) 80%,transparent));z-index:-1;pointer-events:none}
.auth-story:after{content:"";position:absolute;z-index:-1;right:-100px;bottom:-110px;width:360px;height:360px;border:1px solid #ffffff28;box-shadow:0 0 0 45px #ffffff05,0 0 0 90px #ffffff04;border-radius:50%;pointer-events:none}
.auth-story h1,.auth-story h2,.auth-story h3,.auth-story .eyebrow,.auth-story p,.auth-story small,.auth-story a{color:#fff!important}
.auth-story p{opacity:.92}
.auth-story .eyebrow:before{background:var(--accent)}
.auth-form{background:var(--surface);color:var(--surface_text)}
/* Animated artwork is a progressive enhancement: the indicator is hidden without JavaScript. */
.mungu-loader[hidden]{display:none!important}
.mungu-loader{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:24px;pointer-events:none}
.mungu-loader-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(7px)}
.mungu-loader-card{position:relative;text-align:center;width:min(400px,calc(100vw - 48px));padding:28px 22px 22px;border:1px solid var(--border);border-radius:32px;background:var(--surface);color:var(--surface_text);box-shadow:0 28px 100px color-mix(in srgb,var(--brand_deep) 13%,transparent);pointer-events:auto;animation:mungu-loader-enter .2s ease-out both}
.mungu-loader-art{width:234px;height:216px;max-width:100%;margin:0 auto 8px;display:grid;place-items:center;position:relative;isolation:isolate}
.mungu-loader-art:before{content:"";position:absolute;width:166px;height:166px;background:radial-gradient(circle,var(--accent_soft),var(--primary_soft) 72%);border-radius:50%;z-index:-1}
.mungu-loader-orbit{position:absolute;width:205px;height:205px;border:3px solid var(--primary_soft);border-top-color:var(--primary);border-right-color:var(--accent);border-radius:50%;animation:mungu-orbit 1.65s cubic-bezier(.6,.18,.4,.82) infinite}
.mungu-loader-orbit.is-inner{width:180px;height:180px;border-width:1px;border-color:var(--border);border-bottom:3px solid var(--secondary);animation:mungu-orbit 2.8s linear infinite reverse}
.mungu-loader-spark{position:absolute;width:205px;height:205px;animation:mungu-orbit 4.5s linear infinite}
.mungu-loader-spark:before{content:"";display:block;width:11px;height:11px;background:var(--accent);border:3px solid var(--surface);box-shadow:0 0 0 4px var(--accent_soft);border-radius:50%;position:absolute;left:calc(50% - 5px);top:-4px}
.mungu-loader-emblem{position:relative;display:flex;align-items:center;justify-content:center;width:156px;min-height:70px;padding:12px 8px;background:#fff;border-radius:18px;box-shadow:0 6px 22px color-mix(in srgb,var(--primary) 8%,transparent)}
.mungu-loader-logo{width:100%;max-width:150px;max-height:74px;height:auto;object-fit:contain}
.mungu-loader-name{font:750 23px/1.2 system-ui,sans-serif;color:#172b40;overflow-wrap:anywhere}
.mungu-loader-name[hidden]{display:none}
.mungu-loader-label{font-size:15px;font-weight:700;color:var(--heading);margin:10px 0 7px}
.mungu-loader-note{font-size:12px;line-height:1.6;margin:0 0 16px;color:var(--muted_readable)}
.mungu-loader-dismiss{appearance:none;background:transparent;border:0;border-radius:8px;color:var(--link);font:inherit;font-size:12px;font-weight:600;line-height:1.6;padding:8px 12px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.mungu-loader-dismiss:focus-visible{outline:3px solid var(--primary_readable);outline-offset:3px}
.mungu-loader-bar{display:none;height:4px;background:var(--primary_soft);border-radius:100px;overflow:hidden;margin:22px auto;width:190px;max-width:100%}
.mungu-loader-bar>span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:100px;animation:mungu-loading-bar 1.2s ease-in-out infinite}
body[data-loading-style=bar] .mungu-loader:not([data-preview-style=orbit]) .mungu-loader-orbit,body[data-loading-style=bar] .mungu-loader:not([data-preview-style=orbit]) .mungu-loader-spark,.mungu-loader[data-preview-style=bar] .mungu-loader-orbit,.mungu-loader[data-preview-style=bar] .mungu-loader-spark{display:none}
body[data-loading-style=bar] .mungu-loader:not([data-preview-style=orbit]) .mungu-loader-art,.mungu-loader[data-preview-style=bar] .mungu-loader-art{height:110px}
body[data-loading-style=bar] .mungu-loader:not([data-preview-style=orbit]) .mungu-loader-art:before,.mungu-loader[data-preview-style=bar] .mungu-loader-art:before{width:115px;height:115px}
body[data-loading-style=bar] .mungu-loader:not([data-preview-style=orbit]) .mungu-loader-bar,.mungu-loader[data-preview-style=bar] .mungu-loader-bar{display:block}
.mungu-loader.is-reduced *{animation:none!important;transition:none!important}
.mungu-loader.is-reduced .mungu-loader-bar>span{width:100%}
.brand-loader-preview{display:flex;align-items:flex-start;gap:20px;margin:22px 0;padding:22px;border:1px solid var(--border);border-radius:var(--brand-radius,18px);background:var(--primary_soft)}
.brand-loader-preview .button{flex-shrink:0}
.brand-loader-preview p{margin:0 0 8px;font-size:13px;line-height:1.75}
.brand-loader-preview small{font-size:11px;line-height:1.7;color:var(--muted_readable)}
@keyframes mungu-orbit{to{transform:rotate(360deg)}}
@keyframes mungu-loading-bar{from{transform:translateX(-110%)}to{transform:translateX(360%)}}
@keyframes mungu-loader-enter{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){body.public-shell,body.workspace-shell{background-size:760px 1100px;background-position:30% top}.site-hero-copy{padding:28px 24px}.site-hero h1{font-size:clamp(34px,9vw,47px)}.page-head{padding-inline-start:15px}.brand-loader-preview{display:block}.brand-loader-preview .button{margin-bottom:16px}.mungu-loader-card{padding:22px 16px 16px}.mungu-loader-art{height:200px}}
@media(prefers-reduced-motion:reduce){.mungu-loader *{animation:none!important;transition:none!important}.mungu-loader-bar>span{width:100%}.site-community-panel{transform:none}.site-feature:hover{transform:none}.mungu-public-motion [data-reveal]{transition:none!important}}
body[data-motion=none] .site-community-panel{transform:none}
body[data-motion=none] .mungu-loader *{animation:none!important;transition:none!important}
body[data-appearance=contrast]{background-image:none}
body[data-appearance=contrast] .mungu-loader-backdrop{background:#fff}
body[data-appearance=contrast] .mungu-loader-card{border:2px solid #000;box-shadow:none}
@media print{body.public-shell,body.workspace-shell{background:#fff!important}.mungu-loader{display:none!important}.site-hero-copy,.auth-form,.public-footer{background:#fff!important;box-shadow:none}.public-header,.topbar{border-top:0}}

.mungu-loader-emblem[data-logo-surface=dark]{background:var(--brand_deep)}
.mungu-loader-emblem[data-logo-surface=dark] .mungu-loader-name{color:#fff}
.mungu-loader-emblem[data-logo-surface=transparent]{background:transparent;box-shadow:none}
.mungu-loader-emblem[data-logo-surface=transparent] .mungu-loader-name{color:var(--surface_text)}
/* Shared directory and ministry components use the same palette names. */
body{--brand-primary:var(--primary_readable);--brand-tint:var(--primary_soft);--brand-accent:var(--accent);--brand-secondary:var(--secondary_readable)}
.brand-preview-frame h2,.brand-preview-frame h3{color:var(--heading)}
.brand-preview-frame .brand-preview-hero{background-color:var(--surface);position:relative;isolation:isolate}
.brand-preview-frame .brand-preview-hero:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 96%,transparent);z-index:-1}
.brand-identity[data-logo-surface=dark]{background:var(--brand_deep);color:var(--brand_deep_text)}
.brand-identity[data-logo-surface=dark] .brand-name{color:var(--brand_deep_text)}
