/* Souljah Journal: parchment, midnight ink, and copper. System type works offline. */
:root{--green:#202d31;--ink:#202d31;--ivory:#f5f0e7;--muted:#5c6260;--gold:#a75c3b;--line:#d9d2c6}
body{background:#f5f0e7;color:var(--ink);font-family:Calibri,'Segoe UI',sans-serif}body:before,body:after{display:none}p{color:var(--muted)}
header{max-width:1320px;width:calc(100% - 80px);margin:0 auto;padding:25px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;backdrop-filter:none}.wordmark{letter-spacing:2.3px;font-size:19px}.wordmark small{color:#6b716d;font-size:8px}.wordmark img{width:40px;height:46px}nav{font-size:13px;color:#515b5a}header>.outline{border-radius:0;border-color:#263b3d;font-size:12px;padding:12px 21px}
h1,h2,h3,.start-options strong{font-family:Georgia,'Times New Roman',serif;font-weight:400}em{color:#a65d40}h2{font-size:48px;line-height:1.12;letter-spacing:-1.8px}.eyebrow{font-size:10px;letter-spacing:2px;color:#a2593d}.solid{background:#263b3d;border-radius:2px;padding:17px 24px;font-size:14px}.solid:hover{background:#3c5351}.plain{font-size:13px;border-color:#929c93}.outline,.light{border-radius:2px}.section{max-width:1210px;width:calc(100% - 100px);margin:0 auto;padding:80px 0;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.hero{max-width:1320px;min-height:0;grid-template-columns:1.02fr 1fr;gap:55px;margin:0 auto;padding:64px 40px 72px;align-items:center}.hero-copy{padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.hero h1{font-size:clamp(49px,5.15vw,76px);line-height:1.08;letter-spacing:-3px;margin:24px 0}.hero-copy>p{font-size:17px;line-height:1.8;max-width:480px;color:#58635f}.hero-note{font-size:9px;letter-spacing:1.5px;color:#6e7770;margin-top:35px}.hero-note b{margin:0 8px}.hero-art{height:570px;min-height:0;position:relative;align-self:center;isolation:isolate}.hero-landscape{display:block;width:100%;height:100%;object-fit:cover;object-position:60% center;border-radius:46% 46% 2px 2px}.hero-art:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#142c29c9);z-index:0;pointer-events:none}.landscape-caption{position:absolute;bottom:38px;left:35px;z-index:1;color:#fff2d7}.landscape-caption>span{font-size:9px;letter-spacing:1.8px}.landscape-caption p{font:27px/1.35 Georgia;color:#fff2d7;margin:16px 0 0}.hero-seal{position:absolute;right:-22px;top:46%;width:86px;height:110px;z-index:2;filter:drop-shadow(0 6px 10px #0003)}
.start{border-top:1px solid var(--line);padding-top:48px;padding-bottom:65px}.start-heading{text-align:center}.start-heading h2{font-size:38px;margin:14px 0}.start-heading p{font-size:15px}.start-heading .eyebrow{justify-content:center}.start-options{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border:1px solid var(--line)}.start-options button{position:relative;text-align:left;padding:30px 29px 35px;background:#eee8dc;color:var(--ink);border-right:1px solid var(--line);transition:background .2s}.start-options button:last-child{border:0}.start-options button:hover{background:#e6ddcd}.start-options .route-number{display:block;color:#9a583e;font-size:10px;letter-spacing:1.6px;margin-bottom:20px}.start-options strong{font-size:28px;line-height:1.2;display:block;margin-bottom:15px}.start-options button>span:not(.route-number){font-size:13px;display:block;max-width:90%;color:#60695f;line-height:1.6}.start-options b{position:absolute;bottom:25px;right:22px;font-size:23px;font-weight:400}
.reading-trail{background:#253b3c;color:#f9f2e2;width:100%;max-width:none;padding:60px max(50px,calc((100vw - 1210px)/2));display:grid;grid-template-columns:1fr 1fr;gap:70px}.reading-trail h2{color:#f9f2e2;font-size:43px}.reading-trail .eyebrow{color:#dcac79}.reading-trail p{color:#c3cdc1;font-size:15px;max-width:390px}.reading-trail ol{list-style:none;padding:0;margin:0;align-self:center}.reading-trail li{border-bottom:1px solid #ffffff24}.reading-trail button{display:flex;align-items:center;gap:22px;width:100%;text-align:left;background:transparent;color:#f9f2e2;padding:22px 0}.reading-trail button:hover{color:#edc99d}.reading-trail button>span{font:20px Georgia;color:#c69d75}.reading-trail button strong{display:block;font:22px Georgia}.reading-trail small{display:block;color:#bec8be;margin-top:6px;font-size:12px}.reading-trail b{margin-left:auto;font-size:20px;font-weight:400}
.training{padding-top:85px}.sectionhead p{font-size:14px}.filters{margin-top:30px;gap:12px}.filters button{font-size:12px;border-radius:2px;padding:10px 17px;color:#5f6b63}.filters button.active{background:#263b3d}.sessions{gap:28px}.session{border:0;border-radius:0;background:transparent;box-shadow:none!important}.session-art.subject-art{height:210px;aspect-ratio:auto;border-radius:3px;overflow:hidden}.session-body{padding:23px 0 8px}.session-body .tag{font-size:9px;color:#a45d3e;letter-spacing:1.7px}.session h3{font-size:29px;line-height:1.15;margin:12px 0}.session p{font-size:15px;line-height:1.7;color:#5d685f}.session-meta{font-size:10px;color:#6b756c;padding-top:15px}.session-meta button{font-size:13px;color:#273d3b}.fine{font-size:12px}.rhythm{border-top:1px solid var(--line);gap:90px}.rhythm p,.steps p{font-size:15px}.steps h3{font-size:25px}.steps article{padding:22px 0}.steps article>span{color:#a75c3b}
.welcome{width:calc(100% - 80px);max-width:1320px;background:linear-gradient(90deg,#263b3cf5,#263b3cba),url('illustrations/prodigal-son-wide-v4.png') center/cover;padding:65px 25px;color:#fff3dd}.welcome-symbol{width:65px;height:80px;margin:auto}.welcome-symbol img{width:60px;height:75px}.welcome>p{font-size:16px;color:#e3e3d2;max-width:630px}.welcome h2{font-size:50px}.welcome .solid{background:#edca9c}.welcome .light{color:#fff3dd}.quiet-panel p{color:#263b3d}.vic{grid-template-columns:260px 1fr;gap:75px}.vic-icon{background:#e5dfd1;aspect-ratio:1;border-radius:50%;border:0;width:230px}.vic-icon img{align-self:center;margin:0;transform:none;border-radius:20px;box-shadow:0 10px 25px #263b3d20;width:105px;height:105px}.vic p{font-size:16px}.invitation{border-top:1px solid var(--line)}.invitation p{font-size:16px}.section:has(>.eyebrow:first-child){border-color:var(--line)!important}.article-page{background:#faf7ef;border:0;border-radius:0;box-shadow:none;padding:50px 55px}.article-page p,.article-page li{font-size:17px;line-height:1.9;color:#58645d}footer{max-width:1320px;width:calc(100% - 80px);margin:0 auto;padding:35px 0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;backdrop-filter:none}footer p,footer a:not(.wordmark){font-size:12px}
#lessonDialog{width:min(820px,94vw);padding:32px 54px;border:0;border-radius:5px}#lessonContent h2{font-size:46px;line-height:1.12;margin-top:30px}.session-introduction{font:22px/1.7 Georgia;color:#425348!important;padding-bottom:25px;border-bottom:1px solid var(--line)}.lesson-passage{font:17px/1.6 Georgia}.passage-context p{font-size:15px;line-height:1.9}.lesson-copy{font-size:18px;line-height:1.95}.lesson-copy h3{font-size:28px;margin-top:35px}.lesson-copy p{color:#4c6054!important}.question button{font-size:16px;line-height:1.6;padding:16px}.feedback{font-size:16px}.lesson-footnote{font-size:12px}.lesson-top{position:sticky;top:-32px;background:#fcf8ed;z-index:3;padding:10px 0}.lesson-top button{min-width:44px;min-height:44px}
@media(max-width:1000px){header{width:calc(100% - 48px)}nav{gap:15px}.hero{gap:30px;padding:48px 24px}.hero h1{font-size:57px}.hero-art{height:500px}.section{width:calc(100% - 64px)}.reading-trail{width:100%;padding:45px 32px;gap:35px}.session-art.subject-art{height:170px}.session h3{font-size:25px}.welcome{width:calc(100% - 48px)}}
@media(max-width:740px){header{width:calc(100% - 40px);padding:18px 0;gap:14px}.wordmark{font-size:15px}.wordmark small{font-size:6px}.wordmark img{width:32px;height:38px}header>.outline{padding:10px 12px}nav{padding-top:14px}.hero{padding:35px 22px 40px;gap:30px}.hero h1{font-size:53px;letter-spacing:-2px}.hero-copy>p{font-size:17px}.hero-art{height:360px;width:100%;max-width:480px}.hero-landscape{border-radius:42% 42% 2px 2px;object-position:center 60%}.hero-seal{width:65px;height:85px;right:-5px;top:35%}.landscape-caption{left:25px;bottom:26px}.landscape-caption p{font-size:24px}.section{width:calc(100% - 44px);padding:45px 0}.start-heading h2{font-size:33px}.start-options{grid-template-columns:1fr}.start-options button{border-right:0;border-bottom:1px solid var(--line);padding:25px}.start-options strong{font-size:27px}.start-options strong br{display:none}.start-options .route-number{margin-bottom:12px}.reading-trail{width:100%;padding:40px 25px;grid-template-columns:1fr;gap:15px}.reading-trail h2{font-size:38px}.reading-trail button strong{font-size:21px}.sectionhead h2,h2{font-size:38px}.sectionhead p{font-size:14px}.sessions{gap:32px}.session{display:flex}.session-art.subject-art{height:auto;aspect-ratio:3/2}.session-body{padding:20px 0 0}.session h3{font-size:29px}.rhythm{gap:15px}.welcome{width:100%;padding:45px 25px}.welcome h2{font-size:40px}.vic{gap:25px;grid-template-columns:1fr}.vic-icon{width:155px;aspect-ratio:1}.vic-icon img{width:90px;height:90px}.article-page{padding:30px 22px}.article-page h1{font-size:42px}footer{width:calc(100% - 44px);padding:30px 0}#lessonDialog{padding:22px}#lessonContent h2{font-size:35px}.session-introduction{font-size:20px}.lesson-copy{font-size:17px}.lesson-top{top:-22px}.passage-context{padding-left:15px}.filters{gap:6px}.filters button{padding:9px 11px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* The native session button extends over the whole card, including artwork. */
.session{position:relative;isolation:isolate;cursor:pointer}.session-open::after{content:"";position:absolute;inset:0;z-index:2;cursor:pointer}.session:focus-within{outline:3px solid var(--gold);outline-offset:7px}.session-open:focus-visible{outline:none}

#lessonDialog[data-session="church"]{background:radial-gradient(ellipse at 100% 0,#e8cba434,transparent 55%),#fcf8ed}

/* Rounded session rubrics. */
.session{border-radius:16px;overflow:hidden}.session-art.subject-art{border-radius:16px}.session-open::after{border-radius:16px}


/* Chapter symbols: a coherent set of emblems, alongside the restored artwork. */
.session-art.subject-art{position:relative}.subject-art img.chapter-badge{position:absolute;right:14px;bottom:14px;width:47px;height:47px;object-fit:contain;background:#fcf7eb;padding:6px;border-radius:50%;border:1px solid #d6c9ad}.session[data-subject="gospel"] .session-art{background:#eee6d6}.session[data-subject="gospel"] .subject-art>img{object-fit:contain;padding:25px}.chapter-emblem{width:58px;height:58px;display:block;margin:20px 0 0}.symbol-note{font-size:13px;color:#6b624f;line-height:1.8}.reading-trail ol button{min-height:76px}

.session[data-subject="gospel"] .subject-art>img{object-fit:cover;padding:0}

/* Kneeling Souljah rests directly on the parchment, without a picture frame. */
.hero-art.hero-devotion{height:auto;min-height:0;align-self:center;background:transparent;overflow:visible;isolation:auto}.hero-art.hero-devotion:after{display:none}.hero-knight{display:block;width:100%;height:auto;max-height:590px;object-fit:contain;border:0;border-radius:0;background:transparent}.hero-devotion:before{display:none}@media(max-width:740px){.hero-art.hero-devotion{height:auto;min-height:0;margin-top:12px}.hero-knight{max-height:440px}}

/* Bring the illustration into the parchment palette rather than a framed scene. */
.hero-art.hero-devotion{isolation:isolate}.hero-devotion .hero-knight{mix-blend-mode:multiply;filter:saturate(.86);background:transparent;box-shadow:none}

/* A landscape wash fades into the page; no frame or visible corners. */
.hero-art.hero-devotion{isolation:isolate}
.hero-art.hero-devotion:before{content:'';display:block;position:absolute;inset:-6% -2% -3%;z-index:0;pointer-events:none;background:url('landscape-v2.png') 75% center/cover no-repeat;opacity:.48;filter:saturate(.68);-webkit-mask-image:radial-gradient(ellipse at 56% 51%,#000 20%,#000b 43%,transparent 71%);mask-image:radial-gradient(ellipse at 56% 51%,#000 20%,#000b 43%,transparent 71%)}
.hero-devotion .hero-knight{position:relative;z-index:1;mix-blend-mode:normal;filter:saturate(.86)}
@media(max-width:740px){.hero-art.hero-devotion:before{inset:-4% 0;opacity:.4}}

/* User-provided cross and mountain emblem, without lettering. */
.hero-art.hero-cross-emblem:before,.hero-art.hero-cross-emblem:after{display:none}.hero-cross-emblem .hero-knight{width:100%;max-width:540px;max-height:510px;margin:0 auto;filter:none;mix-blend-mode:normal;object-fit:contain}@media(max-width:740px){.hero-cross-emblem .hero-knight{max-width:390px;max-height:370px}}
