/* Journal-local reading and navigation. Shared shell deliberately untouched. */
.jl-surface{--jl-ground:#f7f3eb;--jl-text:#354247;--jl-muted:#626057;--jl-rule:#cdc6b8;--jl-link:#704319;--jl-focus:#704319;background:var(--jl-ground);color:var(--ink);font-family:inherit}
.jl-surface [hidden]{display:none!important}
.jl-surface h1,.jl-surface h2,.jl-surface h3{text-wrap:balance;letter-spacing:0;line-height:1.2}
.jl-surface h1{font-size:clamp(2rem,3.4vw,3rem);max-width:26ch;margin:0 0 20px}
.jl-surface h2{font-size:2rem;margin:0 0 20px}
.jl-surface h3{font-size:1.5rem;margin:0 0 12px}
.jl-surface p{color:var(--jl-text);text-wrap:pretty}
.jl-surface a{ text-underline-offset:.2em; text-decoration-thickness:1px }
.jl-surface a:hover{text-decoration:underline}
.jl-surface :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--jl-focus);outline-offset:4px;box-shadow:none}
.jl-surface :is(a,button,input,select,summary,h2,h3,[id]){scroll-margin-top:110px;scroll-margin-bottom:140px}
.jl-surface ::selection{color:var(--ink);background:var(--amber-light)}
.jl-surface input{caret-color:var(--jl-link)}
.jl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jl-library{padding:40px 0 48px}
.jl-library-heading{max-width:900px;margin-bottom:36px}
.jl-library-heading p{max-width:70ch;font-size:1.25rem;line-height:1.6;margin:0 0 8px}
.jl-text-link{display:inline-flex;align-items:center;min-height:48px;padding:8px 0;color:var(--jl-link);font-size:1.0625rem;font-weight:600;text-decoration:underline}
.jl-regions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.jl-regions article{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.jl-surface .regional-photo{width:100%;margin:0 0 20px;background:transparent;overflow:visible;border:0;border-radius:0;position:static}
.jl-surface .regional-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block;border-radius:0}
.jl-surface .regional-photo figcaption{position:static;margin:0;padding:8px 0 0;font-size:.875rem;line-height:1.45;color:var(--jl-muted);background:transparent;text-shadow:none}
.jl-regions h3{font-size:1.875rem;margin-bottom:8px}
.jl-surface .jl-availability{font-size:1rem;line-height:1.5;font-weight:600;color:var(--jl-link);margin:0 0 12px}
.jl-regions article>p:not(.jl-availability){font-size:1.125rem;line-height:1.6;margin:0 0 20px}
.jl-action{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border:1px solid var(--amber);padding:12px 20px;background:var(--amber);color:var(--ink);font-size:1.0625rem;line-height:1.4;font-weight:700;cursor:pointer;border-radius:0;text-decoration:none}
.jl-action:hover{background:var(--amber-light);border-color:var(--amber-light);text-decoration:underline}
.jl-action:active{background:var(--bone-deep)}
.jl-regions .jl-action{margin-top:auto}
.jl-surface .jl-forthcoming{border-top:1px solid var(--jl-rule);padding-top:24px;margin:32px 0 0;font-size:1rem}
.jl-breadcrumb{margin:0 0 24px;font-size:1rem;line-height:1.4}
.jl-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:0 12px;margin:0;padding:0}
.jl-breadcrumb li{display:flex;gap:12px;align-items:center;color:var(--jl-muted)}
.jl-breadcrumb li+li:before{content:'/';color:var(--jl-muted)}
.jl-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--jl-link);text-decoration:underline}
.jl-course{padding:24px 0 64px}
.jl-course-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start;margin:0 0 48px}
.jl-course-intro h1{font-size:clamp(2rem,3.4vw,3rem)}
.jl-course-intro h2{font-size:1.375rem;margin:24px 0 12px}
.jl-course-intro p{font-size:1.25rem;line-height:1.6;max-width:62ch;margin:0 0 24px}
.jl-course-intro .jl-text-link{margin-left:20px}
.jl-course-lessons{border-top:1px solid var(--jl-rule);padding-top:32px;display:grid;grid-template-columns:1fr 2fr;gap:56px}
.jl-course-lessons h2{font-size:1.75rem}
.jl-course-lessons p{font-size:1.125rem;line-height:1.6;margin:0}
.jl-curriculum{list-style:none;margin:0;padding:0;counter-reset:lesson}
.jl-curriculum li{border-top:1px solid var(--jl-rule);margin:0;padding:0}
.jl-curriculum li:first-child{border-top:0}
.jl-curriculum a{display:flex;align-items:baseline;gap:20px;padding:20px 8px;min-height:56px;font-size:1.25rem;line-height:1.5;font-weight:600}
.jl-curriculum a:hover,.jl-course-switch a:hover{background:var(--bone);color:var(--jl-link)}
.jl-number{color:var(--jl-link);font-size:1rem;font-weight:400;font-variant-numeric:tabular-nums;min-width:1.5em}
.jl-course-context{max-width:760px;margin:56px auto 0;border-top:1px solid var(--jl-rule);padding-top:36px}
.jl-course-context h2{font-size:1.75rem;margin-top:32px}
.jl-course-context h3{font-size:1.375rem;margin-top:28px}
.jl-course-context p{font-size:1.25rem;line-height:1.6}
.jl-course-switch{border-top:1px solid var(--jl-rule);padding-top:32px;margin-top:48px;display:flex;gap:12px 28px;flex-wrap:wrap}
.jl-course-switch h2{font-size:1.5rem;flex-basis:100%;margin:0}
.jl-course-switch a{display:inline-flex;align-items:center;min-height:48px;color:var(--jl-link);font-size:1.125rem;text-decoration:underline}
.jl-archive{padding:40px 0 64px;border-top:1px solid var(--jl-rule)}
.jl-archive>.wrap{max-width:1080px}
.jl-archive h2{margin-bottom:12px}
.jl-archive>div>p{font-size:1.125rem;margin:0 0 24px}
.jl-search-controls{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;gap:20px;align-items:end;margin:28px 0 20px}
.jl-search-controls label{font-size:1rem;font-weight:600;display:grid;gap:8px}
.jl-search-controls :is(input,select){width:100%;min-width:0;min-height:48px;padding:10px 12px;background:#fff;color:var(--ink);border:1px solid var(--jl-muted);border-radius:0;font-size:1rem;line-height:1.5}
.jl-search-controls input::placeholder{color:var(--jl-muted);opacity:1}
.jl-search-controls button{min-height:48px;border:1px solid var(--jl-rule);padding:10px 16px;cursor:pointer;background:transparent;color:var(--jl-link);font-size:1rem;font-weight:600}
.jl-search-controls button:hover{background:var(--bone)}
.jl-archive #jl-count{font-size:1rem;color:var(--jl-muted);margin:20px 0 12px;font-variant-numeric:tabular-nums}
.jl-archive-list{list-style:none;padding:0;margin:0 0 24px}
.jl-archive-item{padding:20px 0;border-top:1px solid var(--jl-rule)}
.jl-archive-meta{display:flex;gap:8px 20px;justify-content:space-between;flex-wrap:wrap;font-size:.9375rem;line-height:1.5;color:var(--jl-muted);margin-bottom:6px}
.jl-archive-item h3{font-size:1.375rem;margin:0 0 4px;max-width:75ch}
.jl-archive-item h3 a{display:inline-block;min-height:44px;padding:6px 0;color:var(--ink)}
.jl-archive-item p{font-size:1.0625rem;line-height:1.6;max-width:90ch;margin:0}
.jl-archive-item .jl-archive-reference{font-size:.875rem;color:var(--jl-muted);margin-top:8px;overflow-wrap:anywhere}
.jl-archive #jl-empty{padding:24px 0;border-top:1px solid var(--jl-rule)}
.jl-reader.article-shell{padding:24px 0 72px}
.jl-reader .article-header{max-width:1080px;padding-bottom:28px}
.jl-reader .article-header h1{font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.18;max-width:34ch;margin:0 0 16px}
.jl-reader .jl-meta{font-size:1rem;line-height:1.5;color:var(--jl-link);font-weight:600;margin:0 0 12px}
.jl-reader .article-deck{font-size:1.25rem;line-height:1.6;margin:0 0 12px;max-width:75ch}
.jl-reader .date-meta{display:flex;gap:8px 24px;flex-wrap:wrap;margin:0;font-size:.9375rem;line-height:1.5;color:var(--jl-muted)}
.jl-reader .date-meta time{display:inline;font-size:inherit;font-weight:400;color:inherit;margin:0}
.jl-reader .article-body-wrap{max-width:1080px;display:grid;grid-template-columns:260px minmax(0,760px);gap:48px;justify-content:start}
.jl-reader .article-body{min-width:0;max-width:760px;font-size:1.25rem;line-height:1.6;overflow-wrap:break-word}
.jl-reader .article-body p,.jl-reader .article-body li{font-size:1.25rem;line-height:1.6;color:var(--jl-text)}
.jl-reader .article-body>p:first-child{margin-top:0;font-size:1.25rem;line-height:1.6}
.jl-reader .article-body h2{font-size:1.75rem;line-height:1.3;margin:40px 0 16px}
.jl-reader .article-body h3{font-size:1.375rem;line-height:1.4;margin:32px 0 12px}
.jl-reader .article-body p{margin:0 0 24px}
.jl-reader .article-body a{color:var(--jl-link);text-decoration:underline}
.jl-reader .article-body img{height:auto;object-fit:contain;max-width:100%}
.jl-reader .article-body :is(table,pre){display:block;max-width:100%;overflow:auto}
.jl-reader-nav{position:sticky;top:104px;align-self:start;max-height:calc(100vh - 220px);overflow:auto;scrollbar-color:var(--jl-rule) var(--jl-ground);padding:4px 8px 12px 4px}
.jl-reader-nav details{border-top:1px solid var(--jl-rule);margin:0 0 16px}
.jl-reader-nav summary{min-height:48px;cursor:pointer;padding:12px 4px;font-weight:700;font-size:1rem;line-height:1.5;color:var(--ink)}
.jl-reader-nav summary:hover{color:var(--jl-link)}
.jl-reader-nav .jl-toc a{display:flex;align-items:center;min-height:44px;padding:10px 4px;font-size:1rem;line-height:1.45;color:var(--jl-link)}
.jl-reader-nav .jl-curriculum a{font-size:1rem;font-weight:400;line-height:1.5;gap:8px;padding:12px 4px;min-height:44px}
.jl-reader-nav .jl-curriculum a[aria-current]{background:var(--bone);font-weight:700}
.jl-current{display:block;font-size:.875rem;font-weight:400;color:var(--jl-link)}
.jl-lesson-next{max-width:1080px;display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--jl-rule);padding-top:32px;margin-top:48px}
.jl-lesson-next>a{font-size:1.25rem;line-height:1.5;min-height:56px;padding:12px 8px;color:var(--jl-link);text-decoration:underline}
.jl-lesson-next>a span{display:block;font-size:1rem;color:var(--jl-muted);margin-bottom:8px;text-decoration:none}
.jl-lesson-next .jl-next{grid-column:2}
.jl-lesson-next h2{font-size:1.5rem;margin:0 0 12px}
.jl-course-end p{font-size:1.125rem;margin:0 0 12px}
.jl-course-end a{display:inline-flex;align-items:center;min-height:48px;color:var(--jl-link);font-size:1.125rem;text-decoration:underline}
@media(max-width:1000px){
 .jl-regions{gap:24px}.jl-course-intro{gap:32px}.jl-course-lessons{grid-template-columns:1fr;gap:24px}
 .jl-reader .article-body-wrap{grid-template-columns:1fr;gap:24px;max-width:760px}
 .jl-reader .article-header{max-width:760px}.jl-reader-nav{position:static;max-height:none;overflow:visible;padding:0}
 .jl-reader-nav details{margin-bottom:0}.jl-reader-nav details+details{border-bottom:1px solid var(--jl-rule)}
 .jl-reader-nav .jl-toc a{padding:12px 4px}.jl-lesson-next{max-width:760px}
}
@media(max-width:700px){
 .jl-library{padding:28px 0 32px}.jl-library-heading{margin-bottom:28px}.jl-library-heading p{font-size:1.125rem;line-height:1.6}
 .jl-surface h1{font-size:2rem}.jl-surface h2{font-size:1.75rem}
 .jl-regions{grid-template-columns:1fr;gap:32px}.jl-regions article{display:grid;grid-template-columns:1fr}.jl-regions h3{font-size:1.75rem}
 .jl-regions .jl-action{justify-self:start}.jl-regions article>p:not(.jl-availability){margin-bottom:16px}
 .jl-surface .regional-photo{margin-bottom:16px}.jl-breadcrumb{margin-bottom:20px}
 .jl-course{padding:16px 0 48px}.jl-course-intro{grid-template-columns:1fr;gap:28px;margin-bottom:32px}
 .jl-course-intro p{font-size:1.125rem;line-height:1.6}.jl-course-intro .jl-text-link{margin-left:16px}
 .jl-course-lessons{padding-top:28px}.jl-curriculum a{gap:16px;font-size:1.125rem;padding:18px 0}
 .jl-course-switch{gap:8px 20px}.jl-course-switch a{font-size:1rem}
 .jl-archive{padding:32px 0 48px}.jl-search-controls{grid-template-columns:minmax(0,1fr);gap:16px}.jl-search-controls button{justify-self:start}
 .jl-archive-meta{font-size:.875rem;gap:4px}.jl-archive-item h3{font-size:1.25rem}.jl-archive-item{padding:16px 0}
 .jl-reader.article-shell{padding-top:16px}.jl-reader .article-header{padding-bottom:24px}.jl-reader .article-header h1{font-size:2rem;line-height:1.2}
 .jl-reader .article-deck{font-size:1.125rem;line-height:1.6}.jl-reader .date-meta{font-size:.875rem}
 .jl-reader .article-body h2{font-size:1.625rem}.jl-reader .article-body h3{font-size:1.375rem}
 .jl-lesson-next{grid-template-columns:1fr;gap:24px}.jl-lesson-next .jl-next{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.jl-surface *{scroll-behavior:auto}}
@media print{.jl-reader-nav,.jl-search-controls,.jl-lesson-next{display:none}.jl-reader .article-body-wrap{display:block}.jl-surface{background:#fff;color:#000}}

/* Keep current related reading in the journal reading column. */
@media (min-width:1001px){.jl-reader .article-body-wrap > .seo-related{grid-column:2;min-width:0}}
