/* The journal uses normal document scrolling; every chapter works without JavaScript. */
.journal-page { --paper: #f5ecdc; --ink: #292522; --muted: #5a514a; --line: #d6c9b7; background: var(--paper); }
.journal-page .section-container { width: min(100% - 80px, 1160px); }
.journal-page .navbar { max-width: none; }
.journal-label, .entry-date { font-size: .75rem; letter-spacing: .06em; color: var(--muted); }
.journal-label { text-transform: uppercase; }
.journal-intro { padding-block: 88px 110px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 90px; align-items: center; }
.journal-intro h1 { font-family: var(--serif); font-size: clamp(3.8rem, 7.8vw, 7.5rem); font-weight: 400; line-height: .98; margin-block: 24px; letter-spacing: -.055em; }
.journal-intro h1 em { color: var(--maroon); }
.intro-note { font-family: var(--serif); font-size: clamp(1.3rem, 2vw, 1.7rem); font-style: italic; color: var(--maroon); }
.journal-lede { font-size: 1.05rem; max-width: 470px; margin-block: 24px 16px; line-height: 1.85; }
.journal-portrait { max-width: 350px; padding: 12px 12px 18px; background: #fffaf1; transform: rotate(3deg); box-shadow: 1px 6px 16px #29252212; border: 1px solid #e0d4c2; }
.journal-portrait img { width: 100%; height: auto; aspect-ratio: .88; object-fit: cover; object-position: top; }
.journal-portrait figcaption { margin-top: 15px; font-family: var(--serif); color: var(--muted); font-size: 1.15rem; font-style: italic; text-align: center; }
.journal-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); column-gap: 70px; align-items: start; }
.chapter-nav { position: sticky; top: 34px; padding-bottom: 30px; }
.chapter-nav > p { margin-bottom: 18px; }
.chapter-nav a { display: flex; align-items: baseline; gap: 14px; min-height: 46px; font-size: .8rem; color: var(--muted); border-left: 2px solid var(--line); padding: 10px 0 10px 16px; }
.chapter-nav a span { font-size: .77rem; }
.chapter-nav a:hover, .chapter-nav a[aria-current] { color: var(--maroon); border-color: var(--maroon); }
.chapter-nav a[aria-current] { font-weight: 700; }
.chapter-nav .chapter-index { margin-top: 24px; border-left: 0; padding-left: 0; text-decoration: underline; text-underline-offset: 5px; }
.journal-timeline { border-left: 1px solid var(--line); padding-left: 42px; min-width: 0; }
.journal-entry { position: relative; padding-block: 0 85px; scroll-margin-top: 36px; }
.journal-entry::before { content: ''; position: absolute; left: -47px; top: 6px; width: 9px; height: 9px; border-radius: 50%; background: var(--maroon); box-shadow: 0 0 0 6px var(--paper); }
.journal-entry h2, .journal-end h2 { font-family: var(--serif); font-size: clamp(2rem, 3.4vw, 3.2rem); font-weight: 400; line-height: 1.13; margin-block: 16px 14px; letter-spacing: -.035em; text-wrap: balance; }
.journal-entry > p:not(.entry-date), .journal-end > p:not(.journal-label) { font-size: 1rem; line-height: 1.85; margin-top: 18px; max-width: 660px; }
.journal-entry > .entry-role { color: var(--maroon); font-size: .85rem !important; margin-block: 0 24px; }
.journal-entry .text-link { margin-top: 16px; }
.journal-entry > .margin-note { border-left: 2px solid #a68258; padding-left: 20px; font-family: var(--serif); font-size: 1.22rem !important; font-style: italic; margin-block: 30px; color: #665039; }
.journal-photo { padding: 10px 10px 0; background: #fffaf1; border: 1px solid var(--line); margin-block: 30px 8px; }
.journal-photo img { width: 100%; height: auto; aspect-ratio: 1.75; object-fit: cover; }
.journal-photo figcaption { font-family: var(--serif); font-size: .95rem; font-style: italic; padding: 12px 4px; color: var(--muted); }
.journal-inset { border-block: 1px solid var(--line); padding-block: 24px; margin-top: 28px; }
.journal-inset h3 { font-family: var(--serif); font-size: 2rem; font-weight: 400; margin-block: 10px; }
.journal-inset p { font-size: .92rem; }
.journal-project { padding-top: 38px; margin-top: 30px; border-top: 1px solid var(--line); }
.project-caption { display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; align-items: center; }
.project-caption h3 { font-size: 1.4rem; font-weight: 600; }
.access-note { color: var(--muted); font-size: .72rem; line-height: 1.6; }
.journal-project > p { margin-block: 12px 20px; font-size: .94rem; line-height: 1.75; }
.project-capture { border: 1px solid var(--line); background: #fffaf1; min-width: 0; }
.capture-image { display: block; cursor: zoom-in; }
.project-capture img { width: 100%; height: auto; aspect-ratio: 1280 / 860; object-fit: contain; background: #fff; }
.project-capture figcaption { display: flex; align-items: center; justify-content: space-between; gap: 8px 18px; padding: 10px 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; }
.project-capture button { flex-shrink: 0; cursor: pointer; min-height: 44px; border: 1px solid #b9a58e; border-radius: 3px; padding: 5px 12px; background: transparent; color: var(--ink); font-size: .76rem; }
.project-capture button:hover { background: #ece0ce; }
.project-capture button:disabled { opacity: .65; cursor: wait; }
.journal-all-projects { display: flex; flex-direction: column; gap: 8px; border-block: 1px solid var(--line); margin-top: 45px; padding-block: 25px; }
.journal-all-projects > span { font-family: var(--serif); font-style: italic; color: var(--muted); font-size: 1.2rem; }
.journal-all-projects strong { color: var(--maroon); font-size: .95rem; }
.journal-end { padding-bottom: 90px; }
.journal-end .text-link { margin-top: 22px; }
.journal-page .site-footer { background: #eee2d0; }
.notebook-heading { padding-block: 48px 65px; }
.notebook-heading > .journal-label { margin-top: 45px; }
.notebook-heading h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(3rem, 7vw, 6rem); margin-block: 18px 24px; }
.notebook-heading > p:not(.journal-label) { max-width: 650px; font-size: 1.08rem; }
.notebook-heading .notebook-key { font-size: .85rem !important; margin-top: 18px; }
.captured-project { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 50px; padding-block: 44px 55px; border-top: 1px solid var(--line); scroll-margin-top: 28px; align-items: center; }
.captured-project h2 { font-family: var(--serif); font-size: clamp(2rem, 3vw, 3rem); font-weight: 400; margin-block: 10px 20px; }
.captured-project > div > p:not(.access-note) { line-height: 1.8; font-size: .96rem; }
.captured-project .text-link { margin-top: 20px; }
.notebook-index { padding-block: 65px 90px; }
.notebook-index h2 { font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; margin-block: 16px 36px; }
.notebook-row { display: grid; grid-template-columns: 1fr 190px; gap: 40px; border-top: 1px solid var(--line); padding-block: 26px; scroll-margin-top: 28px; }
.notebook-row h3 { font-size: 1.15rem; font-weight: 600; letter-spacing: -.025em; }
.notebook-row p { max-width: 640px; margin-top: 8px; font-size: .9rem; }
.notebook-destination { display: flex; flex-direction: column; align-items: flex-start; }
.notebook-destination .text-link { font-size: .8rem; }
.archive-note { font-size: .8rem; margin-top: 24px; max-width: 650px; }
.notebook-row:target { background: #fff4e2; outline: 2px solid var(--maroon); outline-offset: 8px; }
@media (max-width: 900px) {
  .journal-intro { gap: 45px; }
  .journal-layout { grid-template-columns: 140px minmax(0, 1fr); column-gap: 30px; }
  .chapter-nav a { flex-wrap: wrap; gap: 0 10px; }
  .captured-project { gap: 28px; grid-template-columns: 1fr; }
  .captured-project > div > p { max-width: 650px; }
}
@media (max-width: 650px) {
  .journal-page .section-container { width: calc(100% - 40px); }
  .journal-page .navbar { flex-wrap: wrap; padding: 18px 20px; gap: 12px; }
  .journal-page .navbar nav { width: 100%; flex-wrap: wrap; gap: 10px 18px; }
  .journal-page .navbar nav a { font-size: .8rem; }
  .journal-intro { padding-block: 45px 65px; grid-template-columns: 1fr; gap: 35px; }
  .journal-intro h1 { font-size: clamp(2.8rem, 15vw, 3.8rem); }
  .journal-portrait { width: 220px; justify-self: center; }
  .journal-layout { display: block; }
  .chapter-nav { position: static; display: flex; flex-wrap: wrap; gap: 4px 16px; padding-bottom: 38px; }
  .chapter-nav > p { width: 100%; margin-bottom: 5px; }
  .chapter-nav a { border-left: 0; border-bottom: 1px solid var(--line); padding: 8px 0; gap: 6px; }
  .chapter-nav .chapter-index { margin: 0; }
  .journal-timeline { padding-left: 24px; margin-left: 4px; }
  .journal-entry::before { left: -29px; }
  .journal-entry { padding-bottom: 60px; }
  .entry-date { font-size: .7rem; }
  .project-capture figcaption { flex-wrap: wrap; padding: 10px; }
  .notebook-row { grid-template-columns: 1fr; gap: 16px; }
  .notebook-destination { flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; }
  .notebook-heading { padding-block: 28px 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .journal-portrait { transform: none; }
}
