/* A photographic travel journal with a single north-to-south index. */
.camp-journal .source-hero .mag-cover-shade{background:linear-gradient(180deg,#0009,transparent 30%),linear-gradient(0deg,#000c,transparent)}
.camp-journal .source-hero .mag-cover-title{font-size:clamp(38px,4.2vw,59px);line-height:1.45}
.camp-journal .guide-toc__panel>p{font-size:10px;line-height:1.9;letter-spacing:.04em}
.camp-journal .guide-toc__panel{position:sticky;top:30px;max-height:calc(100vh - 60px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;padding-right:8px}
/* Reveal a quiet hairline only while the index is being used; keep native scrolling. */
.camp-journal .guide-toc__panel:is(:hover,:focus-within){scrollbar-color:#aaa49b transparent}
@supports selector(::-webkit-scrollbar){
 .camp-journal .guide-toc__panel{scrollbar-width:auto;scrollbar-color:auto}
 .camp-journal .guide-toc__panel:is(:hover,:focus-within){scrollbar-color:auto}
 .camp-journal .guide-toc__panel::-webkit-scrollbar{width:8px;height:8px}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-track{background:transparent}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-thumb{background-color:transparent;background-clip:content-box;border:3px solid transparent;border-radius:8px}
 .camp-journal .guide-toc__panel:is(:hover,:focus-within)::-webkit-scrollbar-thumb{background-color:#aaa49b}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-thumb:hover{background-color:#6f6961}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-button{display:none;width:0;height:0}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-corner{background:transparent}
}
@media(forced-colors:active){
 .camp-journal .guide-toc__panel,.camp-journal .guide-toc__panel:is(:hover,:focus-within){scrollbar-width:auto;scrollbar-color:auto}
 .camp-journal .guide-toc__panel::-webkit-scrollbar-thumb{background-color:ButtonText}
 .camp-journal .guide-toc__panel:is(:hover,:focus-within)::-webkit-scrollbar-thumb{background-color:ButtonText}
}
.camp-journal .guide-toc__panel a{font-size:11px;line-height:1.8;min-height:56px;grid-template-columns:24px minmax(0,1fr);gap:8px}
.camp-journal .guide-toc__panel a b>span{display:block;font-size:10px;color:var(--source-muted);font-weight:400;line-height:1.7;margin-top:3px}
.camp-journal .guide-heading h2{font-size:clamp(26px,2.5vw,36px);line-height:1.65}
.camp-locality{display:block;font-size:16px;line-height:1.9;font-weight:400;color:var(--source-muted);margin-top:12px}
.camp-name-phrase{display:inline-block;max-width:100%}
.camp-entry .source-photo{margin:30px 0 32px}
/* Restored photographs retain the journal's full reading-column width. */
.camp-journal.text-led-story .camp-entry>.source-photo{grid-column:1/-1;grid-row:2}
.camp-journal.text-led-story .camp-entry:has(>.source-photo)>.guide-heading{grid-column:1/-1;grid-row:1}
.camp-journal.text-led-story .camp-entry:has(>.source-photo) :is(.camp-entry-copy,.camp-map){grid-column:1/-1;max-width:720px}
.camp-entry-copy{max-width:720px}
.camp-entry-copy .source-copy{margin:22px 0;line-height:2.05}
.camp-entry-copy .camp-facts{border-top:1px solid var(--source-line);padding-top:22px}
.camp-entry-copy .source-link{display:table;width:fit-content;margin-top:20px;font-size:14px}
.camp-map{max-width:720px;border-block:1px solid var(--source-line);margin:26px 0 0}
.camp-map>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 0;min-height:56px;list-style:none;cursor:pointer;font-size:14px;line-height:1.7}
.camp-map>summary::-webkit-details-marker{display:none}
.camp-map>summary::after{content:'＋';font-size:22px;font-weight:300}
.camp-map[open]>summary::after{content:'−'}
.camp-map-frame{display:block;width:100%;height:300px;border:0;margin-bottom:24px;background:#e6e2dc}
.camp-subtitle{font-size:24px;line-height:1.75;font-weight:500;margin:36px 0 18px}
.camp-conclusion{padding:36px 0;margin:32px 0;border-block:1px solid #111}
.camp-conclusion .camp-subtitle{font-size:29px;line-height:1.75;margin:0 0 24px}
.camp-conclusion .source-copy{margin:0}
.camp-journal .brand-cta-title{font-size:34px;line-height:1.7}
/* Introduction: one reading edge, short opening and a separate practical note. */
.camp-journal .camp-introduction>.guide-heading{align-items:baseline;gap:12px 18px;margin-bottom:32px}
.camp-journal .camp-introduction>.guide-heading>div{display:contents}
.camp-journal .camp-introduction>.guide-heading>span{grid-column:1;grid-row:1}
.camp-journal .camp-introduction>.guide-heading p{grid-column:2;grid-row:1;margin:0}
.camp-journal .camp-introduction>.guide-heading h2{grid-column:1/-1;grid-row:2;margin:4px 0 0}
.camp-journal .camp-intro-copy{font-size:17px;max-width:38em}
.camp-journal .source-flow .camp-intro-copy>.source-copy{max-width:none;margin:0 0 1.4em;line-height:2;line-break:strict;text-wrap:pretty}
.camp-journal .source-flow .camp-intro-copy>.camp-intro-lead{font-weight:500}
.camp-journal .camp-planning-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--source-line)}
.camp-journal .camp-planning-note h3{margin:0 0 18px;font-size:16px;font-weight:600;line-height:1.8}
.camp-journal .source-flow .camp-planning-note>.source-copy{max-width:none;margin:0 0 14px;line-height:2;line-break:strict;text-wrap:pretty}
.camp-journal .source-flow .camp-planning-note>.source-copy:last-child{margin-bottom:0}
/* End the reading/TOC row before the wider dark closing panel begins. */
.camp-journal .source-ending{padding-top:64px}
@media(max-width:1200px){
 .camp-journal .source-ending{padding-top:48px}
 .camp-journal .guide-toc__panel{position:static;max-height:none;overflow:visible;padding-right:0}
 .camp-journal .guide-toc__panel>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}
}
@media(max-width:760px){
 .camp-journal .camp-intro-copy{font-size:16px;max-width:100%}
 .camp-journal .camp-introduction>.guide-heading{gap:10px 12px;margin-bottom:26px}
 .camp-journal .camp-planning-note{margin-top:32px;padding-top:22px}
 .camp-journal .source-ending{padding-top:32px}
 .camp-journal .source-hero .mag-cover-title{font-size:30px}
 .camp-journal .guide-toc__panel>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
 .camp-journal .guide-toc__panel a{font-size:11px;padding:14px 0;min-height:76px}
 .camp-journal .guide-heading h2{font-size:26px;line-height:1.65}
 .camp-locality{font-size:14px;line-height:1.9;margin-top:10px}
 .camp-map-frame{height:260px}.camp-entry .source-photo{margin:26px 0 28px}
 .camp-subtitle{font-size:23px}.camp-conclusion .camp-subtitle{font-size:25px}
 .camp-journal .brand-cta-title{font-size:28px;line-height:1.7}
}
