.journal{padding-bottom:var(--space-3xl)}.journal-hero{padding:var(--space-2xl) var(--gutter) var(--space-xl);border-bottom:1px solid var(--line)}.journal-breadcrumbs{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-lg);color:var(--ink-mute);font-size:max(14px, var(--fs-xs));display:flex}.journal-breadcrumbs a{align-items:center;min-height:40px;display:inline-flex}.journal-kicker{color:var(--ink-mute);font-size:max(12px, var(--fs-label));letter-spacing:var(--track-label);text-transform:uppercase}.journal-hero h1{max-width:20ch;margin-top:var(--space-md);letter-spacing:var(--track-tight);text-wrap:balance;font-size:clamp(36px,4.2vw,72px);font-weight:400;line-height:1.08}.journal-meta{align-items:center;gap:var(--space-xs) var(--space-md);margin-top:var(--space-md);color:var(--ink-mute);font-size:max(14px, var(--fs-xs));flex-wrap:wrap;display:flex}.journal-meta a{color:var(--ink);align-items:center;min-height:40px;display:inline-flex}.journal-grid{gap:var(--space-xl);padding:var(--space-xl) var(--gutter);grid-template-columns:minmax(200px,1fr) minmax(0,3fr);display:grid}.journal-aside{min-width:0}.journal-toc{top:var(--space-lg);max-width:280px;position:sticky}.journal-toc summary{cursor:pointer;align-items:center;min-height:40px;display:flex}.journal-toc summary:after{content:"+";margin-left:auto;font-size:20px}.journal-toc[open] summary:after{content:"−"}.journal-toc summary::-webkit-details-marker{display:none}.journal-toc ol{margin-top:var(--space-sm)}.journal-toc a{color:var(--ink-mute);font-size:max(14px, var(--fs-xs));padding:10px 0;line-height:1.45;transition:color .15s;display:block}.journal-toc a:hover{color:var(--ink)}.journal-copy{min-width:0;max-width:72ch;color:var(--ink-dim);font-size:max(18px, var(--fs-body));overflow-wrap:break-word;line-height:1.7}.journal-copy :is(p,li){text-wrap:pretty}.journal-copy p+p,.journal-copy p+ul,.journal-copy ul+p{margin-top:var(--space-sm)}.journal-copy h2{color:var(--ink);font-size:max(26px, var(--fs-h3));letter-spacing:var(--track-snug);text-wrap:balance;margin:var(--space-xl) 0 var(--space-sm);scroll-margin-top:var(--space-lg);font-weight:400;line-height:1.2}.journal-copy strong{color:var(--ink);font-weight:600}.journal-copy a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--ink-mute);text-underline-offset:.2em}.journal-copy a:hover{text-decoration-color:var(--ink)}.journal-copy ul{padding-left:1.3em;list-style:outside}.journal-copy li+li{margin-top:var(--space-3xs)}.journal-copy blockquote{margin:var(--space-md) 0;border-left:3px solid var(--accent);padding:var(--space-sm) var(--space-md);color:var(--ink);background:#ffffff0a}.journal-copy img{width:100%;height:auto;margin-top:var(--space-md);outline:1px solid #ffffff1a}.journal-copy p:has(>em:only-child){font-size:max(14px, var(--fs-xs));color:var(--ink-mute)}.journal-next{gap:var(--space-md);margin:0 var(--gutter);padding-top:var(--space-md);border-top:1px solid var(--line);font-size:max(16px, var(--fs-body));flex-wrap:wrap;justify-content:space-between;display:flex}.journal-next a{align-items:center;min-height:40px;display:inline-flex}.journal-intro{max-width:52ch;margin-top:var(--space-md);font-size:max(20px, var(--fs-lead));color:var(--ink-dim);text-wrap:pretty}.journal-posts{padding:var(--space-xl) var(--gutter)}.journal-post{max-width:1000px;padding-bottom:var(--space-xl)}.journal-post h2{margin:var(--space-md) 0 var(--space-sm);font-size:max(28px, var(--fs-h2));letter-spacing:var(--track-tight);text-wrap:balance;font-weight:400;line-height:1.15}.journal-post h2 a:hover{color:var(--ink-dim)}.journal-post>p:not(.journal-kicker){max-width:64ch;color:var(--ink-dim);font-size:max(18px, var(--fs-body))}.journal :is(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:5px}@media (width<=1040px){.journal-grid{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.journal-toc{max-width:none;padding-bottom:var(--space-md);border-bottom:1px solid var(--line);position:static}.journal-toc ol{gap:0 var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.journal-copy{max-width:none}}@media (width<=600px){.journal-toc ol{grid-template-columns:minmax(0,1fr)}.journal-hero h1{font-size:36px}.journal-meta{gap:var(--space-xs) var(--space-sm)}}
