/* Journal uses the project pages' shared dark shell, branding and navigation. */
body.journal-page { min-height: 100vh; }
.journal-page .site-shell { min-height: 100vh; }
body.journal-page .site-header { display: flex; justify-content: space-between; }
.journal-page .site-title { margin: 0; }
.journal-page .site-nav a[aria-current] { color: rgba(255,255,255,.96); }
.journal-page .site-projects-panel { background: #050505; }
.journal-page main { display: grid; grid-template-columns: minmax(220px,255px) minmax(0,1fr); gap: var(--project-layout-gap); padding-top: clamp(6.1rem,7.4vw,7.8rem); padding-right: var(--project-nav-reserve); min-height: calc(100vh - 9rem); align-items: start; }
.journal-intro { max-width: 225px; }
.journal-intro h1 { margin: 0 0 1.15rem; font-family: 'Instrument Sans',sans-serif; font-size: clamp(.85rem,1vw,1rem); font-weight: 440; letter-spacing: .18em; text-transform: uppercase; line-height: 1.25; color: rgba(244,241,232,.86); }
.journal-intro h1 span { display: none; }
.journal-intro > .journal-kicker { display: none; }
.journal-deck { margin: 0; font-family: 'Afacad',sans-serif; font-size: clamp(.78rem,.9vw,.88rem); font-weight: 200; letter-spacing: .015em; line-height: 1.35; color: rgba(244,241,232,.56); max-width: 23rem; }
.journal-stories { min-width: 0; width: min(100%,var(--project-board-width)); margin: 0 auto; }
.journal-empty { max-width: 440px; padding-top: 0; }
.journal-empty h2 { margin: 0 0 1rem; font-family: 'Instrument Sans',sans-serif; font-size: clamp(1.25rem,1.96vw,1.95rem); font-weight: 500; line-height: 1.22; letter-spacing: -.01em; color: rgba(255,255,255,.7); }
.journal-empty > .journal-kicker { display: none; }
.journal-empty p, .journal-card p { font-family: 'Afacad',sans-serif; font-size: clamp(.78rem,.9vw,.88rem); font-weight: 200; line-height: 1.35; letter-spacing: .015em; color: rgba(244,241,232,.56); }
.journal-kicker,.journal-read,.journal-back { font-family: 'Instrument Sans',sans-serif; font-size: clamp(.66rem,.78vw,.78rem); font-weight: 440; line-height: 1.4; letter-spacing: .18em; text-transform: uppercase; color: rgba(244,241,232,.62); }
.journal-kicker { margin: 0 0 1rem; }
.journal-read { display: inline-block; margin-top: 1.25rem; transition: color .25s,transform .25s; }
.journal-read:hover,.journal-read:focus-visible,.journal-back:hover { color:#fff; transform: translateX(3px); }
.journal-card { margin: 0 0 4rem; max-width: 58rem; }
.journal-card-image { display: block; overflow: hidden; margin-bottom: 1.3rem; }
.journal-card img { width:100%; height:auto; display:block; transition: opacity 500ms ease; }
.journal-card-image:hover img { opacity:.88; }
.journal-card h2 { max-width: 38rem; margin: 0 0 1rem; font-family: 'Instrument Sans',sans-serif; font-size: clamp(1.25rem,1.96vw,1.95rem); font-weight: 500; line-height: 1.22; letter-spacing:-.01em; color:rgba(255,255,255,.7); }
.journal-card p { max-width: 35rem; }
.journal-back { grid-column: 1; grid-row: 1; display:inline-block; }
.journal-article { grid-column: 2; grid-row: 1; width: min(100%,var(--project-board-width)); margin:0 auto; min-width:0; }
.journal-article header { max-width: 42rem; }
.journal-article h1 { margin: 0 0 1.25rem; font-family:'Instrument Sans',sans-serif; font-size:clamp(1.5rem,2.4vw,2.4rem); font-weight:500; line-height:1.22; letter-spacing:-.01em; color:rgba(255,255,255,.7); }
.journal-article .journal-deck { max-width:38rem; }
.journal-byline,.journal-article figcaption { font-size:.72rem; line-height:1.5; color:rgba(244,241,232,.48); }
.journal-article figure { margin:2rem 0; }
.journal-article figure img { display:block; width:100%; height:auto; max-height:85vh; object-fit:contain; object-position:left; }
.journal-article figcaption { margin-top:.65rem; }
.journal-prose { max-width:38rem; font-size:.94rem; font-weight:200; line-height:1.65; color:rgba(244,241,232,.65); }
.journal-prose h2 { margin:2rem 0 1rem; font-family:'Instrument Sans',sans-serif; font-size:.7rem; font-weight:440; letter-spacing:.18em; text-transform:uppercase; }
.journal-prose p a { text-decoration:underline; text-underline-offset:.2em; }
body.journal-page .site-footer { position:static; display:flex; transform:none; width:100%; margin:3rem auto 0; font-family:'Instrument Sans',sans-serif; font-size:clamp(.66rem,.78vw,.78rem); font-weight:440; line-height:1.25; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.68); }
.journal-page .site-footer span::after { content:none; }
.journal-skip { position:absolute; left:-9999px; }
.journal-skip:focus { left:1rem; top:1rem; padding:1rem; background:#050505; color:#fff; z-index:100; }
.js .journal-intro,.js .journal-back { opacity:0; transform:translateX(var(--project-entry-offset)); }
.js .journal-stories,.js .journal-article { opacity:0; transform:translateY(6px); }
.js .journal-page.page-ready .journal-intro,.js .journal-page.page-ready .journal-back { animation:projectTextEnter var(--project-entry-duration) var(--project-entry-easing) 90ms forwards; }
.js .journal-page.page-ready .journal-stories,.js .journal-page.page-ready .journal-article { animation:journalContentEnter 860ms var(--project-entry-easing) 150ms forwards; }
.js .journal-page .site-footer { opacity:0; }
.js .journal-page.page-ready .site-footer { animation:journalContentEnter 920ms var(--project-entry-easing) 740ms forwards; }
@keyframes journalContentEnter { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:980px) { .journal-page main { grid-template-columns:1fr; padding-right:0; padding-top:3rem; min-height:calc(100vh - 13rem); } .journal-intro { max-width:23rem; } .journal-stories,.journal-article { margin:0; width:100%; } .journal-back,.journal-article { grid-column:1; grid-row:auto; } }
@media(max-width:768px) { .journal-page main { padding-top:3rem; align-content:start; row-gap:2.5rem; } body.journal-page .site-header { min-height:3.5rem; flex-direction:row; } body.journal-page .site-nav { position:absolute; top:0; right:0; width:auto; gap:.36rem; } .journal-card { margin-bottom:3rem; } body.journal-page .site-footer { font-size:.62rem; white-space:normal; } }
@media(prefers-reduced-motion:reduce) { .js .journal-page .journal-intro,.js .journal-page .journal-back,.js .journal-page .journal-stories,.js .journal-page .journal-article,.js .journal-page .site-footer { opacity:1; transform:none; animation:none; } .journal-page *, .journal-page *::before,.journal-page *::after { transition:none!important; } }
body.journal-page .site-footer { flex-wrap: wrap; column-gap: 1rem; row-gap: .5rem; white-space: normal; }
