.journal-hero { padding: 165px 0 62px; border-bottom: 1px solid var(--line); }
.journal-hero .ghost { color: #9b9b96; }
.journal-hero h1 { max-width: 19ch; margin: 25px 0; font-size: clamp(42px,5.2vw,74px); font-weight: 500; line-height: 1.04; letter-spacing: -.05em; }
.journal-deck { max-width: 60ch; font-size: clamp(18px,2vw,23px); line-height: 1.5; color: #555550; }
.journal-meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 28px; color: #666; font-size: 12px; }
.journal-crumbs { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: #666; }
.journal-crumbs a:hover { color: var(--ink); }
.journal-layout { display: grid; grid-template-columns: 200px minmax(0,760px); gap: 65px; padding-block: 64px 100px; }
.journal-toc { position: sticky; top: 110px; align-self: start; border-top: 1px solid var(--line); padding-top: 18px; }
.journal-toc a { display: block; padding: 8px 0; font-size: 13px; line-height: 1.4; color: #666; }
.journal-toc a:hover { color: #111; }
.journal-body { min-width: 0; font-size: 17px; line-height: 1.75; letter-spacing: -.01em; }
.journal-body section { scroll-margin-top: 110px; }
.journal-body section + section { margin-top: 48px; border-top: 1px solid var(--line); padding-top: 36px; }
.journal-body h2 { font-size: clamp(26px,3vw,36px); font-weight: 500; line-height: 1.16; letter-spacing: -.035em; margin: 0 0 20px; }
.journal-body h3 { font-size: 21px; line-height: 1.3; font-weight: 600; margin: 30px 0 12px; letter-spacing: -.02em; }
.journal-body p { margin: 0 0 20px; }
.journal-body a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #b8b8b0; }
.journal-body a:hover { text-decoration-color: var(--amber); }
.journal-body ul,.journal-body ol { padding-left: 24px; }
.journal-body li { padding-left: 4px; margin-block: 9px; }
.journal-answer { background: #f0efeb; border-left: 3px solid var(--amber); padding: 24px 28px; margin-bottom: 40px; border-radius: 0 12px 12px 0; }
.journal-answer p:last-child { margin-bottom: 0; }
.journal-label { display: block; margin-bottom: 12px; font: 11px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #69675e; }
.journal-table { overflow-x: auto; margin: 24px 0; border: 1px solid var(--line); border-radius: 12px; }
.journal-table table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.journal-table th,.journal-table td { text-align: left; vertical-align: top; padding: 14px 16px; border-bottom: 1px solid var(--line); min-width: 130px; }
.journal-table th { background: #efefeb; font-weight: 600; }
.journal-table tr:last-child td { border-bottom: 0; }
.journal-body pre { overflow-x: auto; background: #191b1d; color: #eee; padding: 24px; border-radius: 12px; font: 13px/1.7 var(--mono); }
.journal-note { color: #6b6b64; font-size: 14px; }
.journal-cta { padding: 32px; border: 1px solid var(--line); border-radius: 16px; background: #fff; margin-top: 48px; }
.journal-cta .pill-button { text-decoration: none; font-size: 14px; }
.journal-related { border-top: 1px solid var(--line); padding-block: 60px 90px; }
.journal-related h2 { font-size: 30px; font-weight: 500; letter-spacing: -.035em; }
.journal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.journal-card { display: block; padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: #fff; transition: border-color .2s; }
.journal-card:hover { border-color: var(--amber); }
.journal-card h2,.journal-card h3 { font-size: clamp(24px,2.3vw,32px); line-height: 1.15; letter-spacing: -.04em; font-weight: 500; margin: 16px 0; }
.journal-card p { color: #666; line-height: 1.55; margin-bottom: 24px; }
.journal-card > span:last-child { font-size: 13px; }
.journal-index { padding-block: 52px 100px; }
.journal-index-intro { max-width: 64ch; margin: 0 0 32px; font-size: 18px; line-height: 1.6; }
:focus-visible { outline: 2px solid var(--amber); outline-offset: 5px; }
@media(max-width:900px) { .journal-layout { grid-template-columns: 1fr; gap: 35px; } .journal-toc { position: static; } .journal-hero { padding-top: 125px; } }
@media(max-width:620px) { .journal-grid { grid-template-columns: 1fr; } .journal-card { padding: 24px; } .journal-answer,.journal-cta { padding: 22px; } .journal-body { font-size: 16px; } .journal-layout { padding-top: 35px; } }
