:root{--bg:#f5efe2;--bg-strong:#ede2c8;--panel:rgba(255,252,245,0.88);--panel-strong:#fffaf0;--text:#221c14;--muted:#675b4a;--line:rgba(62,44,19,0.14);--accent:#9a6a1b;--accent-strong:#7d5310;--accent-soft:rgba(154,106,27,0.12);--danger:#a03d2f;--shadow:0 20px 45px rgba(77,56,25,0.12);--radius-xl:28px;--radius-lg:20px;--radius-md:14px;--content-width:1200px;--sidebar-width:260px;--font-sans:"Avenir Next","Segoe UI",sans-serif;--focus-ring:#7d5310}html[data-appearance=contrast]{--bg:#f2ede3;--bg-strong:#e6dcc6;--panel:rgba(255,255,255,0.98);--panel-strong:#ffffff;--text:#111111;--muted:#38322b;--line:rgba(17,17,17,0.24);--accent:#6f4800;--accent-strong:#4f3200;--accent-soft:rgba(111,72,0,0.14);--danger:#8c2318;--focus-ring:#1f4ba8}*{box-sizing:border-box}html{background:linear-gradient(180deg,#f8f2e6,#efe5d0)}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(255,255,255,.75),transparent 32%),linear-gradient(180deg,#f8f2e6,#efe5d0)}body[data-nav-open=true]{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}button[disabled],input[disabled],select[disabled],textarea[disabled]{opacity:.65;cursor:not-allowed}.shell-page{width:min(100%,var(--content-width));margin:0 auto}.page-section{display:grid;grid-gap:1.25rem;gap:1.25rem}.page-header{display:grid;grid-gap:.5rem;gap:.5rem}.page-header h1{margin:0;font-size:clamp(1.9rem,4vw,2.8rem)}.page-description{margin:0;color:var(--muted);max-width:65ch;line-height:1.6}.responsive-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.responsive-grid.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.two-column-layout{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.status-message{display:grid;grid-gap:.9rem;gap:.9rem}.panel{background:var(--panel);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .72rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.84rem;font-weight:700;letter-spacing:.02em}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:700;color:var(--muted)}.empty-state,.error-state,.loading-state,.status-card{display:grid;grid-gap:.9rem;gap:.9rem;padding:1.5rem;border-radius:var(--radius-lg);border:1px dashed var(--line);background:rgba(255,255,255,.45)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;border-radius:999px;border:1px solid transparent;transition:transform .14s ease,background .14s ease,border-color .14s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent);color:#fff8ef}.button-secondary{background:rgba(255,255,255,.55);border-color:var(--line)}.button-ghost{background:transparent;border-color:var(--line)}.button-ghost:hover,.button-secondary:hover{background:rgba(255,255,255,.74)}.scripture-ref-button{display:inline;padding:0;border:0;background:transparent;color:var(--accent-strong);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.scripture-ref-button:hover{color:var(--accent)}.note-body-content{overflow-wrap:anywhere}.skip-link{position:absolute;left:1rem;top:1rem;z-index:100;transform:translateY(-180%);transition:transform .14s ease}.skip-link:focus-visible{transform:translateY(0)}.marketing-hero{grid-template-columns:1.2fr .8fr}@media (max-width:900px){.marketing-hero,.two-column-layout{grid-template-columns:1fr}}@media (max-width:767px){body{padding-bottom:5.5rem}.cta-row,.cta-row .button{width:100%}.panel{border-radius:18px}}