:root { --nd-ink:#17233f; --nd-muted:#5b6882; --nd-blue:#4259e8; --nd-line:#e2e7f2; --nd-bg:#f7f9fd; }
html[data-website-id="91"] { scroll-behavior:smooth; }
html[data-website-id="91"] body { color:var(--nd-ink); background:var(--nd-bg); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
html[data-website-id="91"] #wrapwrap { background:var(--nd-bg); }
.nd-shell { max-width:1240px; margin:auto; padding:0 32px; }
.nd-header { background:#ffffffed; border-bottom:1px solid var(--nd-line); position:relative; z-index:30; }
.nd-top { min-height:88px; display:flex; align-items:center; gap:32px; }
.nd-brand { display:flex; align-items:center; gap:12px; color:var(--nd-ink)!important; text-decoration:none!important; flex-shrink:0; }
.nd-mark { width:43px; height:46px; display:grid; place-items:center; color:#fff; border-radius:14px; background:linear-gradient(145deg,#536af1,#8c61de); font-size:31px; line-height:1; font-weight:300; box-shadow:0 6px 16px #536af125; }
.nd-logo { width:54px; height:54px; object-fit:contain; display:block; flex-shrink:0; }
.nd-brand strong { display:block; font-size:15px; letter-spacing:.05em; }
.nd-brand small { font-size:11px; color:var(--nd-muted); letter-spacing:.08em; }
.nd-nav { display:flex; flex-wrap:wrap; align-items:center; gap:3px; }
.nd-nav a,.nd-nav summary { font-size:12px; padding:11px 9px; color:var(--nd-muted); cursor:pointer; text-decoration:none; border-radius:9px; list-style:none; font-weight:600; }
.nd-nav summary::after { content:'⌄'; margin-left:7px; }
.nd-nav summary::-webkit-details-marker { display:none; }
.nd-nav a:hover,.nd-nav summary:hover { color:var(--nd-blue); background:#f1f3ff; }
.nd-nav details { position:relative; }
.nd-dropdown { position:absolute; top:100%; left:0; width:260px; padding:9px; border:1px solid var(--nd-line); border-radius:15px; background:white; box-shadow:0 15px 40px #1a2a4a15; }
.nd-dropdown a { display:block; }
.nd-account { margin-left:auto; white-space:nowrap; padding:10px 15px!important; border:1px solid var(--nd-line); font-size:12px; color:var(--nd-ink)!important; border-radius:12px; text-decoration:none!important; }
.nd-mobile { display:none; }
.nd-breadcrumb { font-size:12px; color:var(--nd-muted); padding-top:32px; }
.nd-breadcrumb a { color:var(--nd-muted); text-decoration:none; }
.nd-main a:focus-visible,.nd-header a:focus-visible,.nd-header summary:focus-visible,.nd-main input:focus-visible,.nd-footer a:focus-visible { outline:3px solid #6783ff; outline-offset:4px; }
.nd-hero { position:relative; overflow:hidden; padding:76px 0 56px; background:radial-gradient(ellipse at 85% 10%,#e4e6ff 0,transparent 49%),radial-gradient(ellipse at 5% 90%,#e6f7f9 0,transparent 45%); }
.nd-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:60px; align-items:center; }
.nd-eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:750; color:var(--nd-blue); display:flex; align-items:center; gap:8px; margin-bottom:22px; }
.nd-spark { width:21px; height:21px; display:inline-grid; place-items:center; border-radius:6px; background:#e6eaff; color:var(--nd-blue); font-size:15px; }
.nd-hero h1 { font-size:clamp(36px,4.1vw,59px); font-weight:760; line-height:1.1; letter-spacing:-.055em; margin-bottom:24px; color:var(--nd-ink); }
.nd-gradient { background:linear-gradient(110deg,#4259e8,#9671d5); background-clip:text; -webkit-background-clip:text; color:transparent; }
.nd-lead { font-size:16px; line-height:1.85; color:var(--nd-muted); max-width:510px; }
.nd-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.nd-button { display:inline-flex; gap:12px; align-items:center; justify-content:center; padding:13px 19px; border-radius:12px; background:var(--nd-blue); color:white!important; text-decoration:none!important; font-size:13px; font-weight:650; border:1px solid var(--nd-blue); transition:transform .18s,box-shadow .18s; }
.nd-button:hover { background:#354bce; transform:translateY(-2px); box-shadow:0 8px 18px #4259e826; }
.nd-button-secondary { background:white; color:var(--nd-ink)!important; border-color:var(--nd-line); }
.nd-button-secondary:hover { background:#f0f3ff; }
.nd-hero-meta { display:flex; flex-wrap:wrap; gap:16px; margin-top:35px; color:var(--nd-muted); font-size:11px; }
.nd-hero-meta span { display:flex; align-items:center; gap:6px; }
.nd-hero-meta i { color:var(--nd-blue); }
.nd-command { border-radius:24px; background:#fff; border:1px solid #dce1f3; padding:25px; box-shadow:0 22px 60px #46599116; position:relative; }
.nd-command::before { content:''; position:absolute; z-index:-1; inset:20px -14px -14px 20px; border:1px solid #e1e3f3; border-radius:25px; transform:rotate(3deg); background:#f0f1fc; }
.nd-command-top { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:var(--nd-muted); margin-bottom:27px; }
.nd-pill { display:inline-flex; gap:6px; align-items:center; border:1px solid #e3e8f4; padding:5px 9px; border-radius:20px; background:#f9faff; font-size:10px; font-weight:650; color:#5a6b90; }
.nd-command h2 { font-size:24px; letter-spacing:-.035em; font-weight:720; margin-bottom:9px; }
.nd-command p { color:var(--nd-muted); font-size:12px; line-height:1.6; }
.nd-search { display:flex; align-items:center; gap:10px; background:#f7f8fd; border:1px solid #d9e0f0; border-radius:12px; padding:13px 15px; margin:19px 0 15px; color:#7282ac; }
.nd-search input { width:100%; min-width:0; border:0; background:transparent; color:var(--nd-ink); font-size:13px; outline:none; }
.nd-search label { margin:0; display:flex; align-items:center; width:100%; gap:10px; }
.nd-search input::placeholder { color:#71809c; }
.nd-chips { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0 22px; }
.nd-chip { border:1px solid #e3e8f3; border-radius:8px; padding:6px 9px; background:white; color:#596b8e!important; font-size:10px; text-decoration:none!important; }
.nd-result { display:flex; align-items:center; gap:12px; padding:11px 3px; border-top:1px solid #edf0f7; text-decoration:none!important; color:var(--nd-ink)!important; }
.nd-result:hover { background:#f7f8ff; }
.nd-icon { display:inline-grid; place-items:center; width:37px; height:37px; border-radius:11px; color:var(--nd-blue); background:#eef0ff; flex-shrink:0; }
.nd-result strong { font-size:12px; display:block; }
.nd-result small { display:block; font-size:10px; color:var(--nd-muted); margin-top:3px; }
.nd-result-arrow { margin-left:auto; color:#7c89ac; font-size:13px; }
.nd-search-note { font-size:10px!important; margin:15px 0 0; color:#71809c!important; }
.nd-trust { border-top:1px solid #e4e9f3; border-bottom:1px solid #e4e9f3; background:#ffffff9c; }
.nd-trust .nd-shell { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:18px; padding-bottom:18px; font-size:11px; color:var(--nd-muted); }
.nd-trust strong { font-size:12px; color:#35486b; font-weight:650; }
.nd-section { padding:66px 0; }
.nd-section-head { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:26px; }
.nd-section h2 { font-size:32px; letter-spacing:-.04em; font-weight:730; color:var(--nd-ink); }
.nd-section .nd-eyebrow { margin-bottom:11px; }
.nd-section-desc { color:var(--nd-muted); font-size:13px; line-height:1.8; margin:10px 0 0; max-width:600px; }
.nd-text-link { color:var(--nd-blue)!important; font-size:12px; text-decoration:none; font-weight:650; white-space:nowrap; }
.nd-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; }
.nd-card { display:flex; flex-direction:column; border:1px solid var(--nd-line); border-radius:18px; padding:23px; background:#fff; color:var(--nd-ink)!important; text-decoration:none!important; transition:transform .18s,box-shadow .18s; }
a.nd-card:hover { transform:translateY(-4px); box-shadow:0 14px 25px #1c315610; border-color:#c4cdef; }
.nd-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:23px; }
.nd-card-number { font-size:10px; color:#7d89a3; font-family:ui-monospace,monospace; }
.nd-card h3 { font-size:17px; line-height:1.4; letter-spacing:-.025em; font-weight:680; margin-bottom:9px; }
.nd-card p { font-size:12px; line-height:1.85; color:var(--nd-muted); margin-bottom:18px; }
.nd-card-link { margin-top:auto; font-size:11px; color:var(--nd-blue); font-weight:650; display:flex; justify-content:space-between; }
.nd-mint { background:#e9f8f3; color:#258774; }.nd-peach { background:#fff0e8; color:#c57647; }.nd-lilac { background:#f1eaff; color:#8961c7; }
.nd-feature-grid { display:grid; grid-template-columns:1.35fr 1fr; gap:22px; }
.nd-feature { border-radius:22px; background:#eef1ff; border:1px solid #e0e6fc; padding:34px; position:relative; overflow:hidden; }
.nd-feature h2 { font-size:29px; line-height:1.25; max-width:390px; }
.nd-feature p { color:var(--nd-muted); font-size:13px; line-height:1.9; max-width:400px; }
.nd-faith-links { display:flex; gap:10px; margin-top:26px; }
.nd-faith-links a { padding:10px 14px; background:white; border:1px solid #dce2f5; border-radius:11px; font-size:12px; color:var(--nd-blue); text-decoration:none; font-weight:600; }
.nd-updates { padding:29px; background:white; border-radius:22px; border:1px solid var(--nd-line); }
.nd-updates h3 { font-size:20px; letter-spacing:-.03em; font-weight:700; }
.nd-empty-state { border:1px dashed #d4dced; border-radius:13px; padding:19px; margin-top:22px; background:#fafbff; }
.nd-empty-state p { color:var(--nd-muted); font-size:12px; line-height:1.8; margin:8px 0 0; }
.nd-empty-state strong { font-size:13px; font-weight:650; }
.nd-cta { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:36px 40px; background:linear-gradient(110deg,#253b85,#5367bd); border-radius:22px; color:white; }
.nd-cta h2 { color:white; font-size:27px; margin:0 0 9px; }
.nd-cta p { color:#dbe3ff; font-size:13px; margin:0; }
.nd-cta .nd-button { background:white; color:#354d9a!important; border-color:white; white-space:nowrap; }
.nd-footer { background:white; border-top:1px solid var(--nd-line); padding:42px 0 0; color:var(--nd-muted); }
.nd-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding-bottom:30px; }
.nd-footer p { font-size:12px; line-height:1.9; max-width:330px; margin-top:17px; }
.nd-footer h3 { font-size:12px; font-weight:700; margin-bottom:17px; color:var(--nd-ink); }
.nd-footer a:not(.nd-brand) { display:block; color:var(--nd-muted); font-size:12px; text-decoration:none; padding:5px 0; }
.nd-footer a:hover { color:var(--nd-blue); }
.nd-footer-bottom { border-top:1px solid var(--nd-line); display:flex; justify-content:space-between; gap:20px; padding:17px 0; font-size:10px; }
.nd-page-hero { padding:48px 0 50px; background:radial-gradient(ellipse at 90% 20%,#e7e6ff,transparent 60%); border-bottom:1px solid var(--nd-line); }
.nd-page-hero h1 { font-size:clamp(32px,4.4vw,49px); letter-spacing:-.05em; font-weight:750; max-width:820px; margin:0 0 17px; }
.nd-page-hero .nd-lead { max-width:740px; font-size:15px; }
.nd-page-grid { display:grid; grid-template-columns:2fr 1fr; gap:30px; }
.nd-content { border-radius:20px; padding:33px; background:white; border:1px solid var(--nd-line); }
.nd-content h2 { font-size:24px; }.nd-content p,.nd-content li { font-size:14px; line-height:1.9; color:var(--nd-muted); }
.nd-content ul { padding-left:20px; }.nd-content li { margin-bottom:10px; }
.nd-content .nd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.nd-note { padding:17px 19px; background:#f4f6ff; border-left:3px solid #8c9bec; border-radius:0 11px 11px 0; margin-top:25px; font-size:12px; color:#57698f; line-height:1.85; }
.nd-aside { align-self:start; border:1px solid var(--nd-line); border-radius:20px; padding:27px; background:white; }
.nd-aside h2 { font-size:17px; margin-bottom:18px; }.nd-aside a { display:flex; justify-content:space-between; font-size:12px; color:var(--nd-muted); padding:12px 0; border-bottom:1px solid #edf0f6; text-decoration:none; }
.nd-columns { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:25px; }
.nd-column { border:1px solid var(--nd-line); border-radius:14px; padding:20px; background:#fbfcff; }.nd-column h3 { font-size:15px; margin:0; }
[data-nd-result][hidden] { display:none!important; }
@media(min-width:1101px) and (max-width:1300px) { .nd-top { gap:18px; }.nd-nav a,.nd-nav summary { padding:10px 7px; font-size:11px; }.nd-account { padding:9px 12px!important; }.nd-brand strong { font-size:13px; } }
@media(max-width:1100px) { .nd-desktop-nav { display:none; }.nd-mobile { display:block; margin-left:auto; }.nd-mobile>summary { cursor:pointer; list-style:none; border:1px solid var(--nd-line); border-radius:10px; padding:9px 13px; font-size:12px; }.nd-mobile-panel { position:absolute; left:20px; right:20px; top:80px; background:white; border:1px solid var(--nd-line); border-radius:15px; padding:15px; max-height:70vh; overflow-y:auto; box-shadow:0 15px 35px #18294a18; }.nd-mobile-panel .nd-nav { display:block; }.nd-mobile-panel .nd-nav>a,.nd-mobile-panel summary { display:block; }.nd-mobile-panel .nd-dropdown { position:static; box-shadow:none; width:auto; margin:0 8px 8px; }.nd-account { margin-left:0; }.nd-hero-grid { gap:35px; }.nd-hero h1 { font-size:45px; }.nd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .nd-shell { padding:0 20px; }.nd-top { min-height:78px; gap:13px; }.nd-mark { width:36px; height:40px; font-size:28px; }.nd-brand { gap:9px; }.nd-brand strong { font-size:12px; }.nd-brand small { font-size:9px; }.nd-account { display:none; }.nd-hero { padding:44px 0 38px; }.nd-hero-grid,.nd-feature-grid,.nd-page-grid { grid-template-columns:1fr; gap:30px; }.nd-hero h1 { font-size:43px; }.nd-lead { font-size:14px; }.nd-command { padding:23px; border-radius:19px; }.nd-trust .nd-shell { flex-wrap:wrap; gap:10px; font-size:10px; }.nd-trust strong { font-size:10px; }.nd-section { padding:43px 0; }.nd-section-head { display:block; }.nd-section h2 { font-size:27px; }.nd-section-head>.nd-text-link { display:inline-block; margin-top:16px; }.nd-grid { gap:12px; }.nd-card { padding:19px; }.nd-card h3 { font-size:15px; }.nd-card p { font-size:11px; }.nd-feature { padding:27px; }.nd-cta { padding:27px; display:block; }.nd-cta .nd-button { margin-top:22px; }.nd-footer-grid { grid-template-columns:1fr 1fr; gap:25px; }.nd-footer-grid>div:first-child { grid-column:1/-1; }.nd-footer-bottom { display:block; line-height:1.9; }.nd-page-hero { padding:30px 0 35px; }.nd-content { padding:24px; }.nd-columns { grid-template-columns:1fr; }.nd-breadcrumb { padding-top:22px; } }
@media(prefers-reduced-motion:reduce) { html[data-website-id="91"] { scroll-behavior:auto; }.nd-button,.nd-card { transition:none; } }
@media(max-width:767px) { .nd-logo { width:45px; height:45px; } }
.nd-brand strong { max-width:230px; white-space:normal; font-size:13px; line-height:1.45; letter-spacing:0; }
@media(max-width:767px) { .nd-brand strong { max-width:190px; font-size:12px; } }

/* ND_EDITOR_COMPAT: expose all search cards only in the Website Editor. */
body.editor_enable [data-nd-result][hidden] { display:flex!important; }

/* Ecclesiastical AI: applied only to this website's independent stylesheet. */
html[data-website-id="91"] {
    --nd-ink:#30163F;
    --nd-muted:#614B70;
    --nd-blue:#6F0C99;
    --nd-accent:#A540D3;
    --nd-soft:#E9D5FF;
    --nd-line:#E9D5FF;
    --nd-bg:#FCF9FF;
    --bs-primary:#6F0C99;
    --bs-primary-rgb:111,12,153;
    --bs-link-color:#6F0C99;
    --bs-link-hover-color:#6F0C99;
}
.nd-hero { background:radial-gradient(ellipse at 85% 10%,#E9D5FF 0,transparent 49%),radial-gradient(ellipse at 5% 90%,#A540D31A 0,transparent 45%); }
.nd-page-hero { background:radial-gradient(ellipse at 90% 20%,#E9D5FF,transparent 60%); }
.nd-gradient { background-image:linear-gradient(110deg,#6F0C99,#A540D3); }
.nd-mark { background:linear-gradient(145deg,#6F0C99,#A540D3); box-shadow:0 6px 16px #6F0C9925; }
.nd-nav a:hover,.nd-nav summary:hover { color:#6F0C99; background:#F6EEFF; }
.nd-button:hover { background:#6F0C99; box-shadow:0 8px 18px #6F0C9926; }
.nd-button-secondary:hover { background:#F6EEFF; }
.nd-spark,.nd-icon,.nd-mint,.nd-peach,.nd-lilac { color:#6F0C99; background:#E9D5FF; }
.nd-main a:focus-visible,.nd-header a:focus-visible,.nd-header summary:focus-visible,.nd-main input:focus-visible,.nd-footer a:focus-visible { outline:3px solid #A540D3; }
.nd-command { border-color:#E9D5FF; box-shadow:0 22px 60px #6F0C9916; }
.nd-command::before { border-color:#E9D5FF; background:#F6EEFF; }
.nd-pill { border-color:#E9D5FF; background:#FCF9FF; color:#614B70; }
.nd-search { background:#FCF9FF; border-color:#E9D5FF; color:#6F0C99; }
.nd-search:focus-within { border-color:#A540D3; box-shadow:0 0 0 3px #A540D31F; }
.nd-search input::placeholder { color:#70567E; }
.nd-chip { border-color:#E9D5FF; color:#614B70!important; }
.nd-result { border-top-color:#F1E6FA; }
.nd-result:hover { background:#FCF9FF; }
.nd-result-arrow { color:#6F0C99; }
.nd-search-note { color:#614B70!important; }
.nd-trust { border-color:#E9D5FF; }
.nd-trust strong { color:#4A285A; }
a.nd-card:hover { border-color:#A540D3; box-shadow:0 14px 25px #6F0C9914; }
.nd-card-number { color:#70567E; }
.nd-feature { background:#F6EEFF; border-color:#E9D5FF; }
.nd-faith-links a { border-color:#E9D5FF; color:#6F0C99; }
.nd-empty-state { border-color:#D5AFE9; background:#FCF9FF; }
.nd-cta { background:linear-gradient(110deg,#6F0C99,#A540D3); }
.nd-cta p { color:#FFFFFF; }
.nd-cta .nd-button { color:#6F0C99!important; }
.nd-note { background:#F6EEFF; border-left-color:#A540D3; color:#614B70; }
.nd-aside a { border-bottom-color:#F1E6FA; }
.nd-column { background:#FCF9FF; }
html[data-website-id="91"] .btn-primary { --bs-btn-bg:#6F0C99; --bs-btn-border-color:#6F0C99; --bs-btn-hover-bg:#6F0C99; --bs-btn-hover-border-color:#A540D3; --bs-btn-active-bg:#6F0C99; --bs-btn-active-border-color:#6F0C99; background-color:#6F0C99; border-color:#6F0C99; color:#FFFFFF; }
html[data-website-id="91"] .text-primary { color:#6F0C99!important; }
/* Long original narratives must remain readable on narrow screens. */
.nd-hero-grid > div,.nd-command,.nd-page-grid > * { min-width:0; }
.nd-hero h1 { overflow-wrap:break-word; }
.nd-result > span:not(.nd-icon):not(.nd-result-arrow) { min-width:0; }
@media(max-width:767px) {
    .nd-hero h1 { font-size:clamp(34px,8.7vw,43px); }
    .nd-card,.nd-faith-links a { overflow-wrap:break-word; }
    .nd-faith-links { flex-wrap:wrap; }
}
